trunk
Revert "Revert "React 19: upgrade standalone Calypso build - final bump (#112…" (#112339)
Remove SCSS prelude feature for better performance - Take II (#111583)
A4A: Remove global button structural overrides (#113140)
Use camelCase syntax for SVG attributes when used in JSX (#100492)
Dependencies: Replace classnames with clsx - v2 (#91408)
client/components: drop findDOMNode in section-nav; migrate docs-example defaultProps (React 19) (#111622)
Devdocs: remove them (#110044)
AsyncLoad: enforce require callback to be static top-level functions (#110273)
Lodash: replace get() with optional chaining (batch 3) (#112053)
Update to Storybook v8 (#101924)
Reader recent section: add consistent keyboard focus indicators and fix menu/hovercard accessibility (#112527)
Badge component: Temporarily wrap old Badge component with the new one (#79303)
Banner: absolutize root-relative hrefs in wp-admin (Odyssey) (#113168)
Add a new banner for blaze on woo express implementation (#85946)
Rename Advertising to Blaze Ads in user-facing strings (#109265)
Jetpack Manage: Add the 'Create a new Bluehost site' button. (#87294)
Untangled plans: don't show underlines on navigational links (#102587)
Rename styles for count component to a8c-count so it wont leak and af… (#109824)
Override number-formatters currency decimal places with endpoint response (#110886)
Theme Showcase: Integrate FilterBarModern into ThemeShowcase (#109019)
React 19 prep: extract type-safe changes that land under React 18 (#112085)
Stats: fix Views/Visitors chart contrast to meet WCAG 1.4.11 (#113210)
Remove presales zendesk code (#108177)
Remove lodash compact and times (#111711)
Replace Enzyme with react-testing-library in the `CloseOnEscape` component test (#63785)
Lodash: replace isEmpty with an @automattic/js-utils helper (#112106)
Settings > Auto Renew: Use core modal + buttons (#103964)
client/components: React 19 forward-compatible (behavior-preserving) (#111556)
Autofix stylelint errors in Calypso (#67568)
Move render-phase side effects into effects/commit phase (#111337)
Analytics: preserve explicit blog IDs in super props (#113389)
STATS-282: Replace summary period pills with the date range picker (#112457)
Date range: double-click a day to select it as both start and end (#112409)
Stats: use the admin accent color for charts, heatmaps, and interactive elements (#112496)
Domain Connection: Redesign the "Use a domain I own" connect/transfer step - (replaces #113342 with core components) (#113363)
Fix more jsdoc/tag-lines ESLint errors (#84148)
Lodash: replace includes() with native Array/String includes (#111860)
Classic Calypso (scattered): typed-@wordpress/i18n migration (#111184)
Update reader menu icons (#103809)
Report failed email confirmations, and say why when the reason is known (#113409)
Theme: replace support cards with ActionList (#112578)
React: add new JSX transform (#56451)
Add dev toolbar helper to override Blackbox test collect keys. (#113335)
Components: Move `ExternalLinkWithTracking` to client (#99670)
Convert component-file-picker to ESM module (#110662)
Foldable FAQ: Fix chevron SVG shrinking (#94771)
Rename .js to .jsx (try 2) (#110347)
Counted textarea: fix double border around the field (#112777)
Remove lodash pick and omit in favor of @automattic/js-utils (#111735)
Lodash: replace map() with native Array.prototype.map (#112102)
Gravatar: Adjust login-related screens for Gravatar-owned services (#105192)
A4A: Consolidate site detail tabs (#112861)
Remove lodash keyBy and shuffle in favor of @automattic/js-utils (#111708)
Update packages to versions which include React 18 as peer dependencies (#77121)
Dashboard: allow pinch-to-zoom by dropping maximum-scale on dashboard sections (#113337)
Lodash: replace debounce/throttle with @wordpress/compose (#111775)
Help Center: fix loading for users who sign up mid-onboarding (#112114)
Docs: Remove unnecessary React import from READMEs (#58353)
Lodash: replace clone(), property(), range() and random() (#111897)
Lodash: replace defer() with native setTimeout( fn, 0 ) (#111822)
Stats: Fix broken docs links in tooltips (#112391)
Calypso: allow more border radii (#105307)
Bump @wordpress/dataviews to 17.2.0 (with editor, components, private-apis, theme, ui) (#112947)
Stats: Use unified header via @wordpress/admin-ui Page component (#109786)
Jetpack Upsell Card: Fix the dead CTA and fabricated US$0.01 price on A4A (#113020)
Lodash: replace find(), findLast() and has() with native equivalents (#111993)
Lodash: replace reject(), flow(), defaults() and concat() (#111937)
Fix loading bar colour (#94385)
Add Loading to signup (#100640)
Remove lodash startsWith/trim/last/flatten in favor of native JS (#111691)
Convert CancelPurchaseForm to TypeScript (#112933)
Cancellation: cancel immediately after the confirmation step (#113270)
Replace lodash memoize with an @automattic/js-utils helper (#112200)
Dashboard v2: Implement Activity Links (#105978)
[RSM-156] Reader: add dark mode support (#110759)
Lodash: replace groupBy/mapKeys with @automattic/js-utils helpers (#111741)
Lodash: replace get() with optional chaining (batches 4–5) (#112070)
fix(stats): Follow admin accent on upload button (#113251)
Reader: Improve comment author urls (#110173)
Code Style: Fix some `jest-dom` ESLint errors (#63540)
React 19: forward-compatible client/ changes (works on React 18 & 19) (#111727)
Apply `rules/jsx-boolean-value` eslint rule (#90499)
Sites: Add the returning user modal and experiment (#113021)
client/components: migrate function-component defaultProps to default params (React 19) (#111566)
Remove lodash `get` in favor of native optional chaining (#112149)
Site Migration: Replace all migration flow links to use /setup/site-migration (#102863)
Hosting Config: Fix anchor scrolling in site management panel (#91252)
Reader discover tags - update scrollable horizontal nav component's button handling (#112438)
Fix typecheck errors (#78096)
Theme Showcase: Refine modern search field behaviours (#109304)
Trim redundant lodash references from js-utils comments (#112267)
Remove deprecated default props on FormattedHeader component (#91482)
SEO: handle non-array title formats (#113310)
Notification Settings: Enable to configure the notifications related to comments (#105903)
Remove lodash keys, values, and size in favor of native JS (#111717)
i18n: number-formatters – transform `client` components/files to use `@automattic/number-formatters` (#102510)
Dashboard v2: support share site link for coming soon sites (#103929)
Fix missing AnalyticsProvider in the Add new site popover (#112730)
ARC-869 PayPal OAuth: Add PayPal OAuth as a login option (#106969)
Fixes Yoast SEO icon (#96504)
Subscriber Importer Improvements (#88861)
Stats: Add blog_id to upsell impression and analytics events (#113364)
Stats: Odyssey Stats should respect the wp-admin colour scheme (#112811)
Components: Remove unused ones (#98971)
Domain Upsell Back Button: Previous Page or Preferred View (#91957)
Complimentary Subscriptions: handle end_date and expiration (#109738)
Help Center: Refactor initialRoute to navigateToRoute (#92899)
calypso-build: trim sass includePaths to what each project actually needs (#110660)
Move state constants to their own module (#85973)
Theme Showcase: Prompt user to choose site when clicking on the "Design your own" theme button (#87660)
Plans: Remove getPathSlug (#111472)
Patch Draft.js for Immutable 4 (#112939)
client/components: migrate tests to @testing-library/react for React 19 (#111597)
Auto-fix ESLint rule react/jsx-curly-brace-presence and start enforcing it (#69071)
Purchases: Convert PurchaseMeta to TypeScript (#76519)
Remove module-boundary types from React components (#63817)
Hosting Dashboard v2: Load dev helpers (#105619)
Lodash: replace single-key get() with optional chaining (#111945)
WooCommerce Logo updates (#98707)
Partner Portal: Change WP Cloud OAuth page (#100919)
Lodash: replace simple lodash get() with optional chaining (round 1) (#111780)
100-year-plan: Embed Calendly Widget Popup (#95291)