trunk
Omnibar: initial construction of home and user nodes from backend response (#110113)
Interim Omnibar: wire up admin menu so the Comments item renders (#113006)
A4A MSD: migrate Migration commissions to shared api-core/api-queries data layer (#112378)
A4A: Add the referral detail view to the multi-site dashboard (#112639)
A4A: Add the Referrals list to the multi-site dashboard (#112638)
A4A WooPayments: migrate the page data layer to the MSD standard (#112324)
A4A Dashboard: Add combined Team screen and agency-team data module (#112310)
A4A MSD: Add the agency Overview tier card and page shell (#113214)
MSD: Add Akismet/Jetpack API keys to purchase settings (#108322)
Onboarding: show AI/manual setup choice after woo-hosting-solutions-flow purchase (#110126)
Fix cancellation offer bugs in multisite dashboard (#108989)
Override number-formatters currency decimal places with endpoint response (#110886)
Remove unused dashboard/v2/es-site-list feature flag (#108259)
Domain Search Rewrite: Always show an available FQDN search at the top of the domain suggestions list (#106529)
Create site redirect section in HD (#106403)
Add restart connection option in domain connection verification page (#107209)
Domains: Add Nominet Contact Verification form (#105853)
Add MSD Domain Diagnostics screen and overview Setting (#107758)
Architecture: Move HD data folder within api-core (#105476)
Hosting Dashboard Emails: Wrong max email forwards error (#106822)
Update MSD domains name-servers form to remove the hardcoded nameservers (#107536)
Hosting Dashboard: Add domain contact details policy protection (#105677)
Add dns propagation status in Domain Connection Verification (#107043)
Domain bundles: share one metadata request and offer inline bundles on FQDN queries (#112880)
Add the hosting dashboard domain transfer setup flow (#106226)
Dashboard: collect the .uk registrant type in domain contact details (#113056)
Dashboard Domains: gate domain management routes while registration is pending (#110587)
Dashboard: Filter CIAB domains listing (#109017)
Emails: restore Titan control panel access in the Multi-Site Dashboard (#113070)
Update the spelling of `GitHub` (#106208)
v2 HD - Scheduled Updates: Reuse `useDeleteSchedules` hook for deletions (#106432)
A4A WooPayments: bring commissions dashboard components up to MSD standard (#112330)
Notifications: log errors to logstash via api-core (#112044)
Multi-Site Dashboard: Add API fetches needed by the purchase cancel flow (#106729)
Hosting Dashboard Plugins: Improve icon handling (#106053)
Hosting Dashboard Plugins: Add plugin logos (#105815)
Hosting Dashboard > Security: Implement Account Recovery for SMS (#105530)
Dashboard v2: User Profile - Account deletion (#105544)
Arcade mode: unlock achievement on Konami code activation (#110762)
SHILL-2201: Render per-jurisdiction tax breakdown on receipts (#112138)
OAuth 2.1 - update connected apps schema (#108067)
Legacy contact: add a private notes field (#112107)
MSD Emails: unblock email forwarding for non-owner administrators (#113141)
[Hosting Dashboard] monetize section (#105695)
Notification Settings: Enable to configure the notifications related to comments (#105903)
Add On This Day notification setting (#111006)
Payment Methods: pre-emptive retire-tolerance for stored-method display surfaces (#110549)
Posts: Add last draft query (#113015)
Dashboard: warn when a security key must be re-registered (#112917)
Ask for a corrected address behind the verification gate (#113414)
Hosting Dashboard: Basic plugin list (#105517)
MSD: Exclude staging sites from targeted dashboard surfaces (#111458)
ARC-869 PayPal OAuth: Add PayPal OAuth as a login option (#106969)
Hosting Dashboard > Security: Implement SSH Key (#105737)
Update @wordpress/theme, dedupe @wordpress/ui, migrate to @wordpress/dataviews 14 (#110933)
Hosting Dashboard > Security: Implement Disable Two-step Authentication & rename queries and mutators (#105705)
Dashboard v2: Account Profile - Update username flow (#105912)
Umbrella PR: Calypso Performance Improvements - Take II (#109735)
Notifications: Enable to turn on/off the browser notification settings (#105571)
Performance Profiler: call new site-profiler assistant endpoint (#111874)
Plans: Remove getPathSlug (#111472)
MSD Plugins: Available on section (#107588)
Reader: migrate post likes to React Query (#110841)
Onboarding: fix post-checkout-onboarding flow getting stuck on loading page (#110172)
Reader: Achievements settings API and visibility gating (#110152)
Reader: show Automattician hire date on the automattician achievement card (#111748)
Reader search - sites column - fix infinite loading placeholders / broken pagination (#112705)
Reader onboarding - add custom source + call new endpoint to flush welcome email on finish. (#111805)
Reader: migrate list items to React Query and drop state.reader.lists (#110299)
Reader: Add unread count on lists (#112469)
Reader: Migrate organizations data fetching to React Query (READ-378) (#110303)
Reader Spaces: Use normalized posts in feed cards (#112395)
Reader: Add profile settings tab to edit identity and tabs visibility (#111734)
Reader: Migrate related posts data fetching to React Query (READ-377) (#110334)
Reader: Migrate seen posts from Redux to TS Query (#111811)
Migrate reader recommended sites to React Query (#111257)
Reader: migrate QueryReaderSite to React Query and remove state.reader.sites (READ-386) (#110594)
Reader Spaces: address spaces by slug in the URL (#112430)
Reader Spaces: wire the Discover tab to the /discover endpoint (#112006)
Reader: migrate QueryReaderTag and tag follow/unfollow to React Query (#110274)
Reader: migrate QueryReaderThumbnails to React Query (READ-376) (#110321)
Reader: render standard.site long-form posts inline in the Atmosphere stream (CM-790) (#111054)
Reader Fediverse: add Notifications tab (CM-744) (#110820)
Reader Social: filter chips, date dividers, and stacking on Notifications tab (#110675)
MSD Backups: add activity type filter to Backups list (#106953)
Activity Log: Surface MCP client attribution in actor display (#109022)
Omnibar: construct site node from new site-specific admin bar endpoint (#110148)
AI Launchpad: drop the client-side AI-onboarded exclusion, no_guidance coming-soon card (#113017)
Marketplace: bound the install wait and give the failure a way out (#113266)
Implement eligibility status (#105465)
Backups Dashboard: Implement granular download (#105991)
Backups Dashboard: add Backup FileBrowser & Granular Restores (#105950)
Switch to the new version of the /all-domains endpoint for all domains lists in the Hosting Dashboard (#106475)
v2 Hosting Dashboard - Flex: Add usage stats card in sites overview section (#106283)
APM: Read plugin span context from the nested `plugins` object (#111062)
Github Deployments: Link to workflow run instead of commit (#106450)
Server cron jobs: Add username and time of the cron job requester (#109705)
MSD: Show version switch progress when changing WordPress version (#109795)
Dashboard v2 Plugins: Scheduled Updates - add jetpack-monitor-settings mutation. wired on post-success creation (#105710)
Add AI assistant email address settings (#111134)
Hosting Dashboard: Allow retries and pageSize changes in v2 site logs downloader (#106273)
SSH Migration: Use the SSH stickers to display the progress (#107443)
Hosting Dashboard: Rough in performance page. (#106163)
Performance v2: Replace useSupportChatLLMQuery with odieAssistantPerformanceProfilerQuery (#106305)
api-core: Add missing types for SiteContextualPlan (#111529)
Scan Dashboard: fix fetchSiteScanHistory to use wpcom/v2 apiNamespace (#106844)
Dashboard: Extract route-agnostic backup components for reuse (#112208)
Trigger error notice on + Add staging site button click when the storage quota is low (#105628)
Omnibar: add Stats sparkline, matching the classic masterbar (#112356)
v2 HD - Scheduled Updates: Implement Active status toggle (#106545)
Fix the "Transfer to another user" screen in the hosting dashboard (#107645)
AI Launchpad: replace My Home and legacy launchpad for eligible sites (#112569)
Reader: Migrate comments to React Query (#111084)
Purchases: allow undefined renew_date (#113241)
data-stores: make types forward-compatible with the @wordpress/* bump (#110972)
WordPress Settings: Show actual beta version from wp.org API (#109386)
Purchases: restore the Remove action for bundled domain connections (#113060)
MSD: check for inaccessible jetpack error more flexibly (#108055)
Bootstrap User: Make bootstrapped user data consistent between v1 and v2 (#106837)
Hosting Dashboard: Implement "Update payment method" page (#106190)
Fix ValidateTaxContactInfoParams (#108758)
Architecture: Rename data package to api-core (#105471)