Repository navigation
Upload media: guard processItem against re-entrant dispatch - #83031
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Unlinked AccountsThe following contributors have not linked their GitHub and WordPress.org accounts: @claude. Contributors, please read how to link your accounts to ensure your work is properly credited in WordPress releases. If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
processItem shifted the next operation off an item's pipeline and started its handler without checking whether the item already had one running. QueueItem.currentOperation recorded the running operation, but nothing consulted it. Two callers dispatch processItem for an item that can still be mid-flight: resumeQueue walks the whole queue, and a child sideload whose batch reports as fully uploaded pings its parent, which re-enters the parent when its children span more than one batch id. The same handler then ran twice concurrently, and because each run calls finishOperation, two steps were shifted off the pipeline, so one step was silently skipped. For an item waiting on a concurrency slot that means its file is never uploaded, yet the item is dropped from the queue as complete. Return early when the item already has an operation in flight. The check sits after the item lookup and before any pipeline work, so the legitimate callers that dispatch processItem for an item that is merely queued (the concurrency-pool kicks in finishOperation and cancelItem, and the parent-finalize path) are unaffected; the running handler picks the pipeline back up through finishOperation. An item parked in PendingRetry keeps currentOperation set - that is what keeps it out of the concurrency pools while it waits out the backoff - so the RetryItem reducer case now clears it as the item goes back to Processing, which also lets a retried upload take part in the concurrency pool again instead of stalling when the pool is full. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sr7G5nRsbso744zkruyGHZ
🤖 PR meta 🤖🏷️ LabelsThis pull request needs exactly one label indicating its type, and has 0.
Read more about Type labels in Gutenberg. If you cannot add labels yourself, a reviewer can do it for you. 📦 Bundle sizeSize Change: +11 B (0%) Total Size: 8.21 MB 📦 View Changed
⚡ PerformanceShow the resultsClient side metrics exclude the server response time. front-end-block-theme
front-end-classic-theme
media-processing
media-upload
post-editor
site-editor
|
f7bf304 to
17fb166
Compare
|
Code changes looks fine. I also smoke tested multiple concurrent image uploads in playground on this PR and didn't see any issues. |
#83031 landed the processItem re-entrancy guard, which clears currentOperation when an item is retried. On this branch an item also records the pool its operation took a slot from, so the retry has to release that too: an item still counted against its own pool waits for capacity it is itself holding, and a pool of one never lets it through. The fixtures in the reducer tests gain the pools slice, and the three store test files they sit in come off the tsconfig exclude list: they were excluded for type errors that no longer exist, which is why nothing told CI they had stopped matching the state they describe. The re-entrancy test's first assertion now waits a microtask. Every step goes through the operation runner on this branch, so a failure reaches the item one await later than it did when uploadItem was dispatched directly. Co-authored-by: Pascal Birchler <pascal.birchler@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sr7G5nRsbso744zkruyGHZ
This updates the pinned commit hash of the Gutenberg repository from `5715a61334c4d29f21b67cf34b46061dc1b62502` to `954fe7f9e04631c41aec4552acd627a7203a2aad` (version 24.1.0). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/50ad79ef7ebc5f1d2a75def068887e33a15f2634...954fe7f9e04631c41aec4552acd627a7203a2aad. - Tabs: remove core's duplicate render_block_context filter (https://github.com/WordPress/gutenberg/pull/82610) - Automated Testing: Fix unit test compatibility with Node.js v26 (https://github.com/WordPress/gutenberg/pull/82618) - Test: Drop the jest-dom Vitest entry point from test files (https://github.com/WordPress/gutenberg/pull/82606) - Packages: Replace stale jest types with the Vitest test environment (https://github.com/WordPress/gutenberg/pull/82605) - Editor: Store the finalize response as the attachment record (https://github.com/WordPress/gutenberg/pull/81947) - Update Style Engine block supports documentation (https://github.com/WordPress/gutenberg/pull/82585) - Fix the high-severity sharp audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/82627) - Bump vitest from 4.1.10 to 4.1.11 (https://github.com/WordPress/gutenberg/pull/82629) - Editor: Render change diffs in the post title in revisions (https://github.com/WordPress/gutenberg/pull/82586) - Editor: Derive post-only block list layout from the assigned template (https://github.com/WordPress/gutenberg/pull/82599) - Gallery: Shorten "Use images attached to the post" button, add description (https://github.com/WordPress/gutenberg/pull/82617) - Theme: Enforce active fill contrast (https://github.com/WordPress/gutenberg/pull/82542) - UI: Reset completed calendar ranges by default (https://github.com/WordPress/gutenberg/pull/82612) - Video block: switch to UI Badge (https://github.com/WordPress/gutenberg/pull/82441) - DataViews: Remove obsolete Node 20 timezone test gate (https://github.com/WordPress/gutenberg/pull/82644) - Disabled: keep the consumer className when isDisabled is false (https://github.com/WordPress/gutenberg/pull/82648) - Autocompleters: Consider email address context in user mention (https://github.com/WordPress/gutenberg/pull/47249) - Searchable selects: Hide creatable footer when it is filtered out (https://github.com/WordPress/gutenberg/pull/82566) - Popover storybook: add infotip with link example (https://github.com/WordPress/gutenberg/pull/82653) - Block editor, Components: Stop relying on Disabled class name (https://github.com/WordPress/gutenberg/pull/82651) - FormTokenField: wrap to the last suggestion on ArrowUp with nothing selected (https://github.com/WordPress/gutenberg/pull/82646) - Components: Match the @wordpress/ui disabled styles in form controls (https://github.com/WordPress/gutenberg/pull/82454) - Framework: Update @types/node to v24 (https://github.com/WordPress/gutenberg/pull/82616) - Bump vite from 8.2.1 to 8.2.2 (https://github.com/WordPress/gutenberg/pull/82668) - Site editor v2: Use the canonical fields in the templates list (https://github.com/WordPress/gutenberg/pull/82666) - api-fetch: Resolve to null for a 200 response with an empty body (https://github.com/WordPress/gutenberg/pull/79325) - Site editor v2: Use the canonical wp_block fields in the patterns list (https://github.com/WordPress/gutenberg/pull/82672) - Theme: Remove chroma capacity cache (https://github.com/WordPress/gutenberg/pull/82591) - Remove the content-only inspector fields (block fields) experiment (https://github.com/WordPress/gutenberg/pull/82531) - Site editor v2: templates take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82456) - Post URL: translate the copy permalink button label (https://github.com/WordPress/gutenberg/pull/82642) - UI: Test Calendar raw-offset timezones (https://github.com/WordPress/gutenberg/pull/82658) - DOM: Exclude visibility-hidden elements from focusable results (https://github.com/WordPress/gutenberg/pull/82574) - Test: Update SWC dependencies (https://github.com/WordPress/gutenberg/pull/82660) - Theme, Widget dashboard: Declare the @storybook/addon-docs dependency (https://github.com/WordPress/gutenberg/pull/82676) - Update Playwright to 1.63.0 (https://github.com/WordPress/gutenberg/pull/82654) - Site editor v2: patterns take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82458) - BlockPreview: Assert preview contents are inert (https://github.com/WordPress/gutenberg/pull/82682) - Theme: Add bin-specific tsconfig with nodenext module resolution (https://github.com/WordPress/gutenberg/pull/82622) - Block Editor: Remove the dead Write/Design editor tool plumbing (https://github.com/WordPress/gutenberg/pull/82677) - Create Block: Test package at supported Node.js versions (https://github.com/WordPress/gutenberg/pull/82657) - Update Actions and Octokit dependencies (https://github.com/WordPress/gutenberg/pull/82663) - Theme: Use Node.js native type-stripping for scripts (https://github.com/WordPress/gutenberg/pull/82680) - Build Scripts: Suggest --verbose when a type check fails (https://github.com/WordPress/gutenberg/pull/82604) - e2e-test-utils-playwright: Update Lighthouse and web-vitals (https://github.com/WordPress/gutenberg/pull/81916) - Test: Update Vitest to version 5 (https://github.com/WordPress/gutenberg/pull/82687) - Site editor v2: template parts take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82457) - Theme: Reduce repeated color ramp search work (https://github.com/WordPress/gutenberg/pull/82545) - Media: Only blame the browser's codecs when HEIC really cannot be decoded (https://github.com/WordPress/gutenberg/pull/82265) - Site editor v2: Identity takes its form from the view config endpoint (https://github.com/WordPress/gutenberg/pull/82692) - Storybook: Include stories in docgen TypeScript project (https://github.com/WordPress/gutenberg/pull/82694) - Test: Root the Vitest browser project where its dependencies are declared (https://github.com/WordPress/gutenberg/pull/82699) - Build: Fix regular CSS injection in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/82154) - Workflow: Replace cmdk with the @wordpress/ui Autocomplete primitive (https://github.com/WordPress/gutenberg/pull/82504) - Add textShadow typography support and UI (https://github.com/WordPress/gutenberg/pull/79584) - Block editor: migrate block-card Badge to UI Badge (https://github.com/WordPress/gutenberg/pull/82503) - Bump github/codeql-action/upload-sarif (https://github.com/WordPress/gutenberg/pull/82339) - Rich text: separate applying the selection from focusing the field (https://github.com/WordPress/gutenberg/pull/82581) - Bump svgo from 3.3.4 to 3.3.5 (https://github.com/WordPress/gutenberg/pull/82631) - Inner Blocks: Support legacy inherit-based layouts (https://github.com/WordPress/gutenberg/pull/82637) - Bump js-yaml from 3.15.1 to 3.15.2 (https://github.com/WordPress/gutenberg/pull/82628) - Bump colord from 2.9.3 to 2.9.4 (https://github.com/WordPress/gutenberg/pull/82625) - Bump @humanfs/node from 0.16.7 to 0.16.8 (https://github.com/WordPress/gutenberg/pull/82352) - Site Editor: Restore Global Styles access on the front page (https://github.com/WordPress/gutenberg/pull/82624) - Bump browserslist from 4.28.4 to 4.28.7 (https://github.com/WordPress/gutenberg/pull/82315) - Bump fast-uri from 3.1.5 to 3.1.7 (https://github.com/WordPress/gutenberg/pull/82351) - DataViews: Label clickable grid media by the item title when the title is hidden (https://github.com/WordPress/gutenberg/pull/82639) - Layout hooks: roll out usage of normalizeLegacyLayout to the block-editor layout hooks (https://github.com/WordPress/gutenberg/pull/82710) - Checkbox: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/82597) - Components: Align CheckboxControl checkmark and disabled styles with UI (https://github.com/WordPress/gutenberg/pull/82555) - Improve Math Inline and Block UI (https://github.com/WordPress/gutenberg/pull/77743) - Widgets: carry declarative `attributes` through the widget pipeline (https://github.com/WordPress/gutenberg/pull/82485) - Editor: Coerce `multiple` to a boolean in the media modal wrapper (https://github.com/WordPress/gutenberg/pull/82715) - Packages: Backport the September 10 npm release metadata to trunk (https://github.com/WordPress/gutenberg/pull/82709) - Update lerna to 10 and markdownlint-cli to 0.49.1 (https://github.com/WordPress/gutenberg/pull/81917) - Navigation: don't force submenus open inside a custom overlay (https://github.com/WordPress/gutenberg/pull/82596) - TextareaAutosize: Replace with native textareas and `field-sizing` (https://github.com/WordPress/gutenberg/pull/64208) - Fields: Show a message in MediaEdit when the user can't upload media (https://github.com/WordPress/gutenberg/pull/82720) - Fix playlist track selector stability (https://github.com/WordPress/gutenberg/pull/81760) - Workflow: Remove deprecated word-wrapping (https://github.com/WordPress/gutenberg/pull/82562) - Post publish panel: replace deprecated word-break with overflow-wrap (https://github.com/WordPress/gutenberg/pull/82495) - CI: Run the required trunk changes check through the pr-baseline action (https://github.com/WordPress/gutenberg/pull/82725) - Stroke icons: 3rd batch, 142 icon updates (https://github.com/WordPress/gutenberg/pull/82540) - AI development tests: Use repository Node version (https://github.com/WordPress/gutenberg/pull/82662) - Components: Clean up legacy focus/button overrides in Snackbar and Notice (https://github.com/WordPress/gutenberg/pull/82640) - Command Palette: Only add the admin bar button when Core does not provide it (https://github.com/WordPress/gutenberg/pull/82733) - Release: Verify SVN deployment after publication (https://github.com/WordPress/gutenberg/pull/82513) - Test: Run rendered browser behavior in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/80995) - DOM: Find focusable image map areas (https://github.com/WordPress/gutenberg/pull/82736) - Add backwards-compatible Y option to provider creator, do not use wp.sync directly in tests (https://github.com/WordPress/gutenberg/pull/82621) - Fields: replace word-break with `overflow-wrap: anywhere` on slug permalink (https://github.com/WordPress/gutenberg/pull/82693) - Env: Preserve complete lifecycle script error output (https://github.com/WordPress/gutenberg/pull/82735) - Remove deprecated word-wrapping Stylelint suppressions (https://github.com/WordPress/gutenberg/pull/82426) - Test: Stabilize Menu iframe listener lifecycle assertions (https://github.com/WordPress/gutenberg/pull/82575) - Media: Stop injecting crossorigin attributes under Document-Isolation-Policy (https://github.com/WordPress/gutenberg/pull/82614) - Global Styles: Retain responsive styles in block style variation partials (https://github.com/WordPress/gutenberg/pull/82403) - Editor: Add a fixedRenderingMode prop for contexts with one mode (https://github.com/WordPress/gutenberg/pull/82711) - Site Editor v2: Show the template on the routes that show the site (https://github.com/WordPress/gutenberg/pull/82712) - Fix: Navigation: block appender button is 26×24 instead of square (https://github.com/WordPress/gutenberg/pull/82718) - Add missing listitem role to ConnectorItem. (https://github.com/WordPress/gutenberg/pull/82664) - Block alignment: List unavailable wide and full alignments instead of hiding them (https://github.com/WordPress/gutenberg/pull/82600) - Test: Make browser tests independent of execution order (https://github.com/WordPress/gutenberg/pull/82743) - Project Management: Exclude private APIs config from CODEOWNERS (https://github.com/WordPress/gutenberg/pull/82750) - Unit Tests: Resolve @ariakit/utils through its dependents (https://github.com/WordPress/gutenberg/pull/82756) - Interface: Convert the package to TypeScript (https://github.com/WordPress/gutenberg/pull/82753) - Grid: Migrate Emotion styles to SCSS Modules (https://github.com/WordPress/gutenberg/pull/82571) - Test: Finish repository Vitest migration and expand Browser Mode coverage (https://github.com/WordPress/gutenberg/pull/82742) - Plugin: Bump minimum required WordPress version to 7.0 (https://github.com/WordPress/gutenberg/pull/82404) - Circular Option Picker: Show focus with button's outline ring (https://github.com/WordPress/gutenberg/pull/82521) - Interface: Fix the ActionItem click handler and selector types (https://github.com/WordPress/gutenberg/pull/82758) - Editor: Remove pass-through more menu Slot wrappers (https://github.com/WordPress/gutenberg/pull/82759) - Upgrade React 19 to 19.3.0 (https://github.com/WordPress/gutenberg/pull/82760) - Edit Post: Fix meta boxes unreachable in Code Editor split view (https://github.com/WordPress/gutenberg/pull/78644) - Docs: Add blank line between `@since` and `@param`/`@return` in block parser (https://github.com/WordPress/gutenberg/pull/82690) - UI: Add statusContent to searchable selects (https://github.com/WordPress/gutenberg/pull/82592) - UI: Add CheckboxGroup form primitive (https://github.com/WordPress/gutenberg/pull/82556) - Notice: add custom icon Storybook example (https://github.com/WordPress/gutenberg/pull/82762) - Test: Remove obsolete internal test setup and transforms (https://github.com/WordPress/gutenberg/pull/82761) - Code Modernization: Use null coalescing operator in `WP_Block_Parser` methods (https://github.com/WordPress/gutenberg/pull/82763) - Global Styles UI: Use UI Menu (https://github.com/WordPress/gutenberg/pull/81921) - Icons: Allow icons to ship to WordPress Core without exposing them in the Icon block (https://github.com/WordPress/gutenberg/pull/82634) - Fix doubly-zipped plugin artifacts in GitHub Actions (https://github.com/WordPress/gutenberg/pull/76857) - Icons: Ship the admin bar and admin menu icons to WordPress Core (https://github.com/WordPress/gutenberg/pull/79451) - Autocomplete: Show focus with design system's focus ring (https://github.com/WordPress/gutenberg/pull/82766) - Keycodes: Add a shared keyboard shortcut representation helper (https://github.com/WordPress/gutenberg/pull/82632) - CI: Scope the required trunk changes refresh to what a move can invalidate (https://github.com/WordPress/gutenberg/pull/82767) - Editor: Honor post types in `post-thumbnails` theme support when registering the featured image field (https://github.com/WordPress/gutenberg/pull/82773) - Docs: Clarify parent behavior during block registration (https://github.com/WordPress/gutenberg/pull/78967) - Cover: Prevent content cutoff when aspect ratio is set in Safari (https://github.com/WordPress/gutenberg/pull/70152) - Docs: Clarify dependency extraction asset filename (https://github.com/WordPress/gutenberg/pull/78968) - Re-enable editableRoot for multi-selection on mobile web (https://github.com/WordPress/gutenberg/pull/81542) - Post Taxonomies: Replace FormTokenField in the flat term selector (https://github.com/WordPress/gutenberg/pull/80967) - E2E: Reset preferences in the post editor preload spec (https://github.com/WordPress/gutenberg/pull/82818) - Fonts: Remove the deprecated Fonts API BC layer and leftovers (https://github.com/WordPress/gutenberg/pull/82813) - Commands: Avoid re-registering command loaders on every render (https://github.com/WordPress/gutenberg/pull/82819) - Data: Remove the unused AsyncModeConsumer export (https://github.com/WordPress/gutenberg/pull/82822) - Tooling: Extract shared TypeScript configs into a `@wordpress/config-tools` workspace (https://github.com/WordPress/gutenberg/pull/82334) - Style states: Improve block inspector UI (https://github.com/WordPress/gutenberg/pull/82649) - Tooling: Add @wordpress/monorepo-tools to root devDependencies (https://github.com/WordPress/gutenberg/pull/82824) - DataViews: replace `word-break` with `overflow-wrap: anywhere` on `DataForm` panel field control (https://github.com/WordPress/gutenberg/pull/82776) - CI: Stop actions/setup-node from invoking the bundled npm (https://github.com/WordPress/gutenberg/pull/82775) - CI: Keep the bundled npm when devEngines is absent (https://github.com/WordPress/gutenberg/pull/82823) - Icons: Move plugin icon registration out of the 7.1 compat directory (https://github.com/WordPress/gutenberg/pull/82832) - Image block: stop interpreting `$`/`\` in img attributes as regex backreferences (https://github.com/WordPress/gutenberg/pull/79369) - CI: Disable setup-node npm caching in the Create Block packed package job (https://github.com/WordPress/gutenberg/pull/82833) - Build: Deduplicate npm dependencies (https://github.com/WordPress/gutenberg/pull/82698) - PaletteEdit: Use @wordpress/ui Menu for palette options (https://github.com/WordPress/gutenberg/pull/82768) - Editor: Use UI Menu for post actions (https://github.com/WordPress/gutenberg/pull/81922) - Block Editor: Use UI Menu for bindings and variation transforms (https://github.com/WordPress/gutenberg/pull/81925) - Select.Positioner: Revert to Base UI alignItemWithTrigger default (https://github.com/WordPress/gutenberg/pull/82043) - API Fetch: Document that requests are meant for the current site's REST API. (https://github.com/WordPress/gutenberg/pull/82373) - UI: Add Select.ItemLabel and ItemDescription (https://github.com/WordPress/gutenberg/pull/82369) - Widgets: Fix the Welcome Guide menu item triggering a preference speak message (https://github.com/WordPress/gutenberg/pull/82395) - UI: Move interaction tests to Browser Mode (https://github.com/WordPress/gutenberg/pull/82838) - Packages: Update Ariakit to 0.4.39 (https://github.com/WordPress/gutenberg/pull/82831) - Block Editor: replace deprecated word-wrap with overflow-wrap in responsive block control (https://github.com/WordPress/gutenberg/pull/82855) - Button: replace deprecated `word-break` with `overflow-wrap: anywhere` (https://github.com/WordPress/gutenberg/pull/82854) - UI: Update Base UI to 1.8.0 (https://github.com/WordPress/gutenberg/pull/82835) - Docs: Document published dependency constraints (https://github.com/WordPress/gutenberg/pull/80631) - Docs: Document page stability convention (https://github.com/WordPress/gutenberg/pull/80632) - Cover Block: Fix resizable handle visibility on mobile when sidebar is opened (https://github.com/WordPress/gutenberg/pull/80355) - Block Inspector: Stabilize display of inherited global styles and keep UI changes behind experiment (https://github.com/WordPress/gutenberg/pull/82840) - Data: optimize store listeners and their execution (https://github.com/WordPress/gutenberg/pull/82842) - Core Data: Fix return types on generated save/delete entity actions (https://github.com/WordPress/gutenberg/pull/77162) - Notes: Use UI Menu for note actions (https://github.com/WordPress/gutenberg/pull/81930) - Widget Dashboard: Use UI Menu for dashboard controls (https://github.com/WordPress/gutenberg/pull/81929) - Media & Text Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82593) - Fields: Hide the date, author and password fields when the user can't publish or reassign (https://github.com/WordPress/gutenberg/pull/82844) - Docs: Guard against ESLint bulk suppression abuse (https://github.com/WordPress/gutenberg/pull/82944) - BorderBoxControl: Restore the split borders layout (https://github.com/WordPress/gutenberg/pull/82939) - Icons: Restore the dimmed box on the side and corner icons (https://github.com/WordPress/gutenberg/pull/82940) - Fields: Show the template field to users who can't create templates (https://github.com/WordPress/gutenberg/pull/82857) - Calendar Block: Use the args array signature of get_calendar() (https://github.com/WordPress/gutenberg/pull/82943) - DataViews README: clarify readOnly vs isDisabled (https://github.com/WordPress/gutenberg/pull/82956) - Template panel: Hide edit and create actions from users who can't create templates (https://github.com/WordPress/gutenberg/pull/82858) - Fix stray fill rule in SelectControl. (https://github.com/WordPress/gutenberg/pull/82949) - Stroke icons: final batch, 96 icons (https://github.com/WordPress/gutenberg/pull/82754) - Fix Stylelint config and coding standards for font weight numeric values and disallow relative weights (https://github.com/WordPress/gutenberg/pull/82778) - Widget Dashboard: Use UI Spinner and remove Components dependency (https://github.com/WordPress/gutenberg/pull/82837) - Fix: Inherit link color for image block anchor elements (https://github.com/WordPress/gutenberg/pull/79401) - Data: Fix the latest changelog entry and structure (https://github.com/WordPress/gutenberg/pull/82959) - Menu: Fix vertical alignment across item combinations (https://github.com/WordPress/gutenberg/pull/82847) - Docs: Fix the dead anchor in the block development environment list (https://github.com/WordPress/gutenberg/pull/82878) - Collaborators Presence: Update to use design system's focus ring in header avatar stack (https://github.com/WordPress/gutenberg/pull/82941) - UI: Fix highlighted item indicator in forced-colors mode (https://github.com/WordPress/gutenberg/pull/82772) - Docs: Fix the broken Query block link in the Interactivity API guide (https://github.com/WordPress/gutenberg/pull/82862) - Fix: Widgets customizer Undo and Redo buttons are disabled and the document tools focus style is not visible (https://github.com/WordPress/gutenberg/pull/82412) - DataForm: Hide the edit button of disabled fields in the panel layout (https://github.com/WordPress/gutenberg/pull/82957) - BoxControl: Migrate the side indicator to an SCSS module (https://github.com/WordPress/gutenberg/pull/82570) - Distraction Free: raise top bar above notices when revealed by hover or keyboard focus (https://github.com/WordPress/gutenberg/pull/80349) - Extensible Site Editor: Use the view config form for Quick Edit (https://github.com/WordPress/gutenberg/pull/82962) - Fix: Query Pagination block ignores the parent block gap in the editor (https://github.com/WordPress/gutenberg/pull/82399) - Customize Widgets: Await asynchronous toolbar updates in history test (https://github.com/WordPress/gutenberg/pull/82963) - Elevation: Migrate from Emotion to SCSS modules (https://github.com/WordPress/gutenberg/pull/82572) - Enable viewport state values for Gallery aspect ratio (https://github.com/WordPress/gutenberg/pull/82233) - Scripts: Switch unit tests to Vitest and deprecate Jest tooling (https://github.com/WordPress/gutenberg/pull/82843) - Speed up collaboration e2e by shortening poll interval (https://github.com/WordPress/gutenberg/pull/78746) - UI: replace deprecated word-wrap with overflow-wrap in `VisuallyHidden` (https://github.com/WordPress/gutenberg/pull/82970) - Block Library: replace deprecated word-wrap with overflow-wrap in screen-reader-text (https://github.com/WordPress/gutenberg/pull/82972) - CustomGradientPicker: Show the control point's focus ring with the design system's outline (https://github.com/WordPress/gutenberg/pull/82834) - Fix: Default block gap is ignored in the editor for themes without block gap support (https://github.com/WordPress/gutenberg/pull/82401) - Remove the zero width space hack from getRectangleFromRange (https://github.com/WordPress/gutenberg/pull/82977) - Block Toolbar: Show the parent selector for blocks inside patterns (https://github.com/WordPress/gutenberg/pull/82912) - Keep the iOS keyboard capitalized after Return inside the editing host (https://github.com/WordPress/gutenberg/pull/82911) - Docs: Say how long a notice can be, in the copy guide (https://github.com/WordPress/gutenberg/pull/81195) - Widget Primitives: add `HostLink` over the `links` capability (https://github.com/WordPress/gutenberg/pull/82952) - Pattern block: Run autoembed() before do_blocks() (https://github.com/WordPress/gutenberg/pull/82860) - Widget Dashboard: default tile padding to `padding-lg` (https://github.com/WordPress/gutenberg/pull/82961) - Upgrade wp-prettier to 3.9.6 (https://github.com/WordPress/gutenberg/pull/82731) - Fix prettier lint issues after prettier upgrade (https://github.com/WordPress/gutenberg/pull/83015) - Widget Dashboard: show a clipped widget title in the header infotip (https://github.com/WordPress/gutenberg/pull/82226) - Post Title: remove the inline-block from the title link (https://github.com/WordPress/gutenberg/pull/80231) - Collaborators Presence & Document Bar: Clean up styles by removing overrides (https://github.com/WordPress/gutenberg/pull/83013) - Docs: document the no-hard-wrap rule for Markdown (https://github.com/WordPress/gutenberg/pull/83017) - Icons: Allow `rect` and `circle` in the registry sanitizer (https://github.com/WordPress/gutenberg/pull/82846) - Upgrade wp-prettier to 3.9.6 final (https://github.com/WordPress/gutenberg/pull/83026) - Fix: Navigation submenu detection leaks between Navigation blocks. (https://github.com/WordPress/gutenberg/pull/82366) - Use `WCSelectControl` alias for legacy SelectControl imports (https://github.com/WordPress/gutenberg/pull/83027) - Upload media: guard processItem against re-entrant dispatch (https://github.com/WordPress/gutenberg/pull/83031) - Math: Source the LaTeX from the MathML annotation (https://github.com/WordPress/gutenberg/pull/82987) - Remove the interactivity-router script module data shim (https://github.com/WordPress/gutenberg/pull/83011) - Data: Add `getResolutionArgs` to share a resolution across selector calls (https://github.com/WordPress/gutenberg/pull/82638) - Code: Add shadow support (https://github.com/WordPress/gutenberg/pull/83014) - Footnotes: Add shadow support (https://github.com/WordPress/gutenberg/pull/83044) - Excerpt: Add shadow support (https://github.com/WordPress/gutenberg/pull/83018) - Content: Add shadow support (https://github.com/WordPress/gutenberg/pull/83016) - Icons: Test the registry sanitizer with a data provider (https://github.com/WordPress/gutenberg/pull/83024) - Heading: Add shadow support (https://github.com/WordPress/gutenberg/pull/83045) - Details: Add shadow support (https://github.com/WordPress/gutenberg/pull/83021) - Post template panel: Remove the dead template read capability check (https://github.com/WordPress/gutenberg/pull/82861) - Dependency Extraction Webpack Plugin: Add global-styles-engine and global-styles-ui as bundled packages (https://github.com/WordPress/gutenberg/pull/82589) - Verse: Add shadow support (https://github.com/WordPress/gutenberg/pull/83057) - Docs: Data: Fix typo in code example for __unstableNormalizeArgs (https://github.com/WordPress/gutenberg/pull/83070) - Icons: Test that the registry sanitizer preserves every library icon (https://github.com/WordPress/gutenberg/pull/83008) - Stylelint: add `custom-property-pattern` to disallow `--_gcd-*` custom properties (https://github.com/WordPress/gutenberg/pull/83025) - Tooling: Add .mts and .cts support (https://github.com/WordPress/gutenberg/pull/83071) - Block Mover: Cleanup focus ring override (https://github.com/WordPress/gutenberg/pull/83068) - Tests: Remove obsolete internal Jest infrastructure (https://github.com/WordPress/gutenberg/pull/82975) - Move the unit-test-date.sh script to workspace, rewrite to JS (https://github.com/WordPress/gutenberg/pull/83066) - Gallery: Skip gap style generation for themes opting out of layout styles (https://github.com/WordPress/gutenberg/pull/81633) - Monorepo tools: Move the experimental API audit out of bin/ (https://github.com/WordPress/gutenberg/pull/83081) - Add category filtering to the start page options patterns modal (https://github.com/WordPress/gutenberg/pull/81396) - UI: Mark Select and SelectControl as recommended (https://github.com/WordPress/gutenberg/pull/83030) - Updated Changelog Entry (https://github.com/WordPress/gutenberg/pull/83037) - Rich text: fix mobile selection hair pin grab at edge of block (https://github.com/WordPress/gutenberg/pull/83041) - Link Control: Only tag pages as the front page or blog home (https://github.com/WordPress/gutenberg/pull/83082) - Tooling: Name the shared tsconfig presets `tsconfig.*.json` (https://github.com/WordPress/gutenberg/pull/83077) - Multi-line text of menu items is not aligned (https://github.com/WordPress/gutenberg/pull/70917) - Fix Connectors and Fonts pages background color and contrast. (https://github.com/WordPress/gutenberg/pull/82827) - Post Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83059) - Page List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83056) - Playlist: Add shadow support (https://github.com/WordPress/gutenberg/pull/83055) - Math: Add shadow support (https://github.com/WordPress/gutenberg/pull/83052) - Latest Posts: Add shadow support (https://github.com/WordPress/gutenberg/pull/83051) - Latest Comments: Add shadow support (https://github.com/WordPress/gutenberg/pull/83047) - Home Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83046) - Login/out: Add shadow support (https://github.com/WordPress/gutenberg/pull/83050) - Excerpt field: Render nothing when the excerpt is empty (https://github.com/WordPress/gutenberg/pull/82423) - No Results: Add shadow support (https://github.com/WordPress/gutenberg/pull/83054) - ESLint: Allow string literal IDs in tests and Storybook (https://github.com/WordPress/gutenberg/pull/83090) - UI: Add RadioGroup form primitive (https://github.com/WordPress/gutenberg/pull/83038) - Components: Deprecate Divider (https://github.com/WordPress/gutenberg/pull/83040) - Data: Stabilize `__unstableNormalizeArgs` as `normalizeArgs` (https://github.com/WordPress/gutenberg/pull/83067) - Stylelint: add `--_wp-*` to `custom-property-pattern` rule (https://github.com/WordPress/gutenberg/pull/83075) - Build: Declare `@wordpress/theme` as a dev dependency of `@wordpress/build` (https://github.com/WordPress/gutenberg/pull/83129) - UI: Tighten Fieldset legend and description gap (https://github.com/WordPress/gutenberg/pull/82729) - Core Data: Fix overwriting scored matches for duplicate ids (https://github.com/WordPress/gutenberg/pull/83113) - Block Editor: Update LinkControl and LinkPicker to use `Badge` from `@wordpress/ui` (https://github.com/WordPress/gutenberg/pull/82684) - Storybook: Remove obsolete manifest extractor render workaround (https://github.com/WordPress/gutenberg/pull/83124) - UI: Add Switch form primitive (https://github.com/WordPress/gutenberg/pull/83039) - Automated Testing: Document and validate expected changelog structure (https://github.com/WordPress/gutenberg/pull/83043) - ESLint: Disallow Storybook build-style side-effect imports (https://github.com/WordPress/gutenberg/pull/82960) - Global Styles: replace experimental ZStack in the palette preview (https://github.com/WordPress/gutenberg/pull/83060) - UI: Place Fieldset description after the legend in stories (https://github.com/WordPress/gutenberg/pull/83144) - Use WCCheckboxControl alias for legacy CheckboxControl imports. (https://github.com/WordPress/gutenberg/pull/83145) - The image dimensions have been removed from the name. (https://github.com/WordPress/gutenberg/pull/82828) - Fix the high-severity adm-zip audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/83170) - Bump adm-zip from 0.6.0 to 0.6.1 (https://github.com/WordPress/gutenberg/pull/83167) - Post Navigation Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83058) - Bump csv-parse from 7.0.1 to 7.0.2 in /test/ai-development (https://github.com/WordPress/gutenberg/pull/82619) - Video block: Remove GIF variation handling (https://github.com/WordPress/gutenberg/pull/82696) - PostLastRevisionPanel: Fix doubled focus ring on the revisions button (https://github.com/WordPress/gutenberg/pull/82955) - Navigation Overlay Close: Add shadow support (https://github.com/WordPress/gutenberg/pull/83053) - Fix typos in comments and test descriptions (https://github.com/WordPress/gutenberg/pull/83172) - Block Editor: Remove the deprecated `__experimentalGroup` prop (https://github.com/WordPress/gutenberg/pull/83171) - Site Tagline: Add fit text support (https://github.com/WordPress/gutenberg/pull/83034) - Block Editor: Highlight the block when its content list item is hovered (https://github.com/WordPress/gutenberg/pull/83049) - Navigation: Fix always-open submenus jumping in width on hover (https://github.com/WordPress/gutenberg/pull/83142) - Post Navigation Link: Add border and spacing support (https://github.com/WordPress/gutenberg/pull/83122) - Preformatted: Add shadow support (https://github.com/WordPress/gutenberg/pull/83174) - Pullquote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83177) - Quote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83178) - Site Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83182) - Post Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83195) - Video: Add shadow support (https://github.com/WordPress/gutenberg/pull/83196) - Read More: Add shadow support (https://github.com/WordPress/gutenberg/pull/83180) - Post Terms: Add shadow support (https://github.com/WordPress/gutenberg/pull/83175) - Query Total: Add shadow support (https://github.com/WordPress/gutenberg/pull/83176) - RSS: Add shadow support (https://github.com/WordPress/gutenberg/pull/83179) - Tab Panel: Add shadow support (https://github.com/WordPress/gutenberg/pull/83183) - Post Time to Read: Add shadow support (https://github.com/WordPress/gutenberg/pull/83194) - Tab Panels: Add shadow support (https://github.com/WordPress/gutenberg/pull/83184) - UI: Document that public --wp-ui-* CSS custom properties are frozen. (https://github.com/WordPress/gutenberg/pull/83147) - Tag Cloud: Add shadow support (https://github.com/WordPress/gutenberg/pull/83188) - Table of Contents: Add shadow support (https://github.com/WordPress/gutenberg/pull/83187) - Tabs: Add shadow support (https://github.com/WordPress/gutenberg/pull/83186) - Term Description: Add shadow support (https://github.com/WordPress/gutenberg/pull/83190) - Term Count: Add shadow support (https://github.com/WordPress/gutenberg/pull/83189) - Site Tagline: Add shadow support (https://github.com/WordPress/gutenberg/pull/83181) - Terms List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83193) - Details: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83222) - Social Icons: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83249) - Accordion Item: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83197) - Post Author Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83200) - Code: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83204) - Comment Author Name: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83207) - Comment Content: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83208) - Comment Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83209) - Term Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83192) - Footnotes: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83224) - Post Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83218) - Comments Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83217) - Gallery: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83225) - Heading: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83226) - Term Name: Add shadow support (https://github.com/WordPress/gutenberg/pull/83191) - Breadcrumbs: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83202) - Comment Reply Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83211) - File: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83223) - Post Author Biography: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83199) - Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83232) - Post Excerpt: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83221) - Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83240) - Accordion Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83201) - Post Comments Count: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83213) - RSS: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83244) - Columns: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83206) - Archives: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83198) - Latest Posts: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83228) - Preformatted: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83239) - Comments Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83220) - Read More: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83245) - Comments Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83219) - Query Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83242) - Post Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83260) - Tag Cloud: Add background and link colour support (https://github.com/WordPress/gutenberg/pull/83264) - Storybook: List every top-level folder in the sidebar order, design system first (https://github.com/WordPress/gutenberg/pull/82429) - Featured image field: support the `editor.PostFeaturedImage` filter in the post summary (https://github.com/WordPress/gutenberg/pull/83133) - Storybook: Fold Foundations, DataViews, Fields, Admin UI and Icons under Design System (https://github.com/WordPress/gutenberg/pull/82430) - Block Editor: replace denylisted layout components in the Duotone filter label (https://github.com/WordPress/gutenberg/pull/83061) - Storybook: Group Widget Primitives, Widget Dashboard and Grid under Widgets (https://github.com/WordPress/gutenberg/pull/82431) - Storybook: Group the editor UI under Editor (https://github.com/WordPress/gutenberg/pull/82432) - Components: Deprecate Elevation (https://github.com/WordPress/gutenberg/pull/83269) - Post Time to Read: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83258) - Buttons: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83203) - Storybook: Group component packages under Components (https://github.com/WordPress/gutenberg/pull/82433) - Terms List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83257) - UI: Add SwitchControl component (https://github.com/WordPress/gutenberg/pull/83146) - Release tools: Move the plugin ZIP build out of bin/ (https://github.com/WordPress/gutenberg/pull/83087) - Storybook: Remove the legacy Tokens pages (https://github.com/WordPress/gutenberg/pull/82434) - Storybook: Show the component status in the sidebar as status-* tags (https://github.com/WordPress/gutenberg/pull/82435) - Storybook: Guard the set of top-level sidebar folders with a test (https://github.com/WordPress/gutenberg/pull/82436) - Storybook: Rewrite the introduction page as the front door of the design system (https://github.com/WordPress/gutenberg/pull/82437) - Workflows: Refine and complete the push and pull_request branch filters (https://github.com/WordPress/gutenberg/pull/82744) - Public API for supporting viewport states in custom controls (https://github.com/WordPress/gutenberg/pull/82741) - Fix: Term Name block skips the term name display filters. (https://github.com/WordPress/gutenberg/pull/82365) - Tag Cloud: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83259) - Comments Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83215) - Comments Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83216) - Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83236) - Comment Edit Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83210) - Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83235) - Column: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83205) - Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83212) - Post Comments Form: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83214) - Latest Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83227) - Home Link: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83230) - Term Description: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83254) - Storybook: Load the media editor package styles in its stories (https://github.com/WordPress/gutenberg/pull/83303) - Site Tagline: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83246) - Media Editor: fix crop canvas handlers and rotation ruler in RTL (https://github.com/WordPress/gutenberg/pull/83304) - Site Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83247) - Query Total: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83243) - Tab Panels: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83250) - Term Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83256) - Term Count: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83253) - Math: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83231) - Tabs: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83252) - Table of Contents: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83251) - Tab Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83248) - Term Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83255) - Page List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83234) - Login/out: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83229) - No Results: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83233) - Post Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83237) - UI: Add RadioGroupControl (https://github.com/WordPress/gutenberg/pull/83143) - Post Terms: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83238) - Components: Deprecate Scrollable (https://github.com/WordPress/gutenberg/pull/83273) - Storybook: Place RadioGroup, Switch, and SwitchControl under @wordpress-ui (https://github.com/WordPress/gutenberg/pull/83314) - Block Editor: Show the in-between inserter on wrapped lines (https://github.com/WordPress/gutenberg/pull/83276) - Docs: Add missing `@since` tags to two functions (https://github.com/WordPress/gutenberg/pull/83116) - Upgrade eslint-plugin-jsdoc to latest version 64. (https://github.com/WordPress/gutenberg/pull/82727) - i18n: add context to breadcrumbs area label (https://github.com/WordPress/gutenberg/pull/78134) - Storybook: Omit the recommended checkmark from the sidebar (https://github.com/WordPress/gutenberg/pull/83309) - Fix: Social Icons: In-between inserter does not work (https://github.com/WordPress/gutenberg/pull/83327) - Storybook: Convert story-only stylesheets to CSS modules (https://github.com/WordPress/gutenberg/pull/83272) - Block Editor: replace experimental ZStack in overlapping color indicators (https://github.com/WordPress/gutenberg/pull/83062) - FocalPointPicker: Fix Sidebar Overflow Issue (https://github.com/WordPress/gutenberg/pull/68915) - Storybook: Reject non-module stylesheet imports (https://github.com/WordPress/gutenberg/pull/83313) - Components: Align CheckboxControl border, hover, and disabled colors with UI (https://github.com/WordPress/gutenberg/pull/83271) - Icons: Move the public property from icons to collections (https://github.com/WordPress/gutenberg/pull/83277) - ESLint Plugin: Check type-only imports for undeclared dependencies (https://github.com/WordPress/gutenberg/pull/83336) - TypeScript: Give each widget its own typecheck project (https://github.com/WordPress/gutenberg/pull/83328) - Components: Deprecate ResponsiveWrapper (https://github.com/WordPress/gutenberg/pull/83347) - Remove npm from package engines (https://github.com/WordPress/gutenberg/pull/83326) - Data: keep a pending listener when store not yet registered (https://github.com/WordPress/gutenberg/pull/83346) - Add Template: Show template descriptions in the template list (https://github.com/WordPress/gutenberg/pull/83064) - Block Editor: Consolidate search ranking into one shared module (https://github.com/WordPress/gutenberg/pull/83312) - DataViews: Let a picker compose its footer from the page select and its actions (https://github.com/WordPress/gutenberg/pull/83281) - Bump the github-actions group across 1 directory with 2 updates (https://github.com/WordPress/gutenberg/pull/83080) - Rich text: Show the format boundary when the canvas root has focus (https://github.com/WordPress/gutenberg/pull/83385) - Rich text: Select an inline image by clicking it, and show the edit UI of the object clicked (https://github.com/WordPress/gutenberg/pull/83370) - Global Styles: Switch the revisions screen to the DataViews pickerActivity layout (https://github.com/WordPress/gutenberg/pull/80856) - Try: Add left border to Notes panel. (https://github.com/WordPress/gutenberg/pull/83330) - Media: Detect HEIC uploads from the file header rather than the file name (https://github.com/WordPress/gutenberg/pull/81737) - Revise block direct dragging to fix adjacent issues (https://github.com/WordPress/gutenberg/pull/72983) - Submenu: Add shadow support (https://github.com/WordPress/gutenberg/pull/83185) - Disable caching when publishing built assets (https://github.com/WordPress/gutenberg/pull/79835) - Tabs: Add border support (https://github.com/WordPress/gutenberg/pull/83361) - Image: Restore alt text and caption when undoing a media editor save (https://github.com/WordPress/gutenberg/pull/82829) - Accordion: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83373) - Navigation Overlay Close: Add border support (https://github.com/WordPress/gutenberg/pull/83362) - Tab Panel: Hide the shadow on closed panels (https://github.com/WordPress/gutenberg/pull/83369) - Preformatted: Add link colour support (https://github.com/WordPress/gutenberg/pull/83386) - Audio: Add link colour support (https://github.com/WordPress/gutenberg/pull/83375) - No Results: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83382) - Comment Content: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83376) - Tab Panel: Add border support (https://github.com/WordPress/gutenberg/pull/83363) - Comments: Add button colour support (https://github.com/WordPress/gutenberg/pull/83378) - Accordion Item: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83371) - Details: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83381) - Media & Text: Add button colour support (https://github.com/WordPress/gutenberg/pull/83380) - Post Comments Form: Add button colour support (https://github.com/WordPress/gutenberg/pull/83377) - Tab Panels: Add button colour support (https://github.com/WordPress/gutenberg/pull/83388) - Post Content: Add button colour support (https://github.com/WordPress/gutenberg/pull/83379) - Components: Stop rendering a hidden drag preview and a media query per draggable (https://github.com/WordPress/gutenberg/pull/83423) - Post Template: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83384) - Table of Contents: Add text align support (https://github.com/WordPress/gutenberg/pull/83430) - Group: Add text columns support (https://github.com/WordPress/gutenberg/pull/83425) - Tabs: Add typography support (https://github.com/WordPress/gutenberg/pull/83431) - Fields: Resolve the MediaEdit picker through the editor.MediaUpload filter (https://github.com/WordPress/gutenberg/pull/82678) - Tab Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83389) - Global Styles: Rank block search results by title match (https://github.com/WordPress/gutenberg/pull/83435) - Post Author Biography: Add text columns support (https://github.com/WordPress/gutenberg/pull/83424) - Block Editor: Avoid a store subscription per inserter item (https://github.com/WordPress/gutenberg/pull/83434) - Home Link: Add border support (https://github.com/WordPress/gutenberg/pull/83360) - Tab Panels: Add typography support (https://github.com/WordPress/gutenberg/pull/83428) - Tab Panel: Add typography support (https://github.com/WordPress/gutenberg/pull/83426) - Storybook: Drop CustomSelectControlV2 stories and the unused WIP tag (https://github.com/WordPress/gutenberg/pull/83349) - Docs: clarify DEWP asset file naming rule (https://github.com/WordPress/gutenberg/pull/80620) - Components: Deprecate ZStack (https://github.com/WordPress/gutenberg/pull/83344) - Media Utils: Stabilize `unstableFeaturedImageFlow` as `featuredImageFlow` (https://github.com/WordPress/gutenberg/pull/83439) - Accordion Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83374) - Terms List: Add text columns support (https://github.com/WordPress/gutenberg/pull/83432) - Enable setting position within viewport states (https://github.com/WordPress/gutenberg/pull/83094) - Term Count: Add text align support (https://github.com/WordPress/gutenberg/pull/83429) - Dependency Extraction Webpack Plugin: Always pretty-print PHP asset files (https://github.com/WordPress/gutenberg/pull/79650) - Block Editor: Drop the O(n) tie-break in orderBy (https://github.com/WordPress/gutenberg/pull/83443) - Cover Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82751) - Admin bar: backport removal of site icon background from 7.1.1 (https://github.com/WordPress/gutenberg/pull/83433) - Tests: Update Testing Library DOM to 10.4.2 (https://github.com/WordPress/gutenberg/pull/83279) - Tabs: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83390) - Icons: Add a core-admin collection for the admin interface (https://github.com/WordPress/gutenberg/pull/83261) - Post Content: Add text align support (https://github.com/WordPress/gutenberg/pull/83427) - Components: Give control labels an explicit foreground color (https://github.com/WordPress/gutenberg/pull/83318) - Radio: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/83275) - Tests: Isolate deprecation warnings between cases (https://github.com/WordPress/gutenberg/pull/83097) - Block Toolbar: Fix parent selector inserter for locked blocks (https://github.com/WordPress/gutenberg/pull/83444) - Icon block: Don't render icons from non-public collections on the frontend (https://github.com/WordPress/gutenberg/pull/82774) - Hide alignment control when nothing available. (https://github.com/WordPress/gutenberg/pull/83265) - Fields: Use the post type labels in the featured image field and drop `mediaUploadProps` (https://github.com/WordPress/gutenberg/pull/83445) - Icons: Rebalance a few, add other new icons. (https://github.com/WordPress/gutenberg/pull/83338) - Docs: Replace retired reduce-motion mixin in animation guidelines (https://github.com/WordPress/gutenberg/pull/83335) - Block Editor: Update block visibility badges to use from @wordpress/ui package (https://github.com/WordPress/gutenberg/pull/82670) - PHP-only blocks: Detect enums in array attributes (https://github.com/WordPress/gutenberg/pull/83394) - Data: Defer async-mode useSelect notification to idle time (https://github.com/WordPress/gutenberg/pull/82821) Developed in https://github.com/WordPress/wordpress-develop/pull/14045. Props wildworks. Fixes #66254. git-svn-id: https://develop.svn.wordpress.org/trunk@64223 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `5715a61334c4d29f21b67cf34b46061dc1b62502` to `954fe7f9e04631c41aec4552acd627a7203a2aad` (version 24.1.0). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/50ad79ef7ebc5f1d2a75def068887e33a15f2634...954fe7f9e04631c41aec4552acd627a7203a2aad. - Tabs: remove core's duplicate render_block_context filter (https://github.com/WordPress/gutenberg/pull/82610) - Automated Testing: Fix unit test compatibility with Node.js v26 (https://github.com/WordPress/gutenberg/pull/82618) - Test: Drop the jest-dom Vitest entry point from test files (https://github.com/WordPress/gutenberg/pull/82606) - Packages: Replace stale jest types with the Vitest test environment (https://github.com/WordPress/gutenberg/pull/82605) - Editor: Store the finalize response as the attachment record (https://github.com/WordPress/gutenberg/pull/81947) - Update Style Engine block supports documentation (https://github.com/WordPress/gutenberg/pull/82585) - Fix the high-severity sharp audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/82627) - Bump vitest from 4.1.10 to 4.1.11 (https://github.com/WordPress/gutenberg/pull/82629) - Editor: Render change diffs in the post title in revisions (https://github.com/WordPress/gutenberg/pull/82586) - Editor: Derive post-only block list layout from the assigned template (https://github.com/WordPress/gutenberg/pull/82599) - Gallery: Shorten "Use images attached to the post" button, add description (https://github.com/WordPress/gutenberg/pull/82617) - Theme: Enforce active fill contrast (https://github.com/WordPress/gutenberg/pull/82542) - UI: Reset completed calendar ranges by default (https://github.com/WordPress/gutenberg/pull/82612) - Video block: switch to UI Badge (https://github.com/WordPress/gutenberg/pull/82441) - DataViews: Remove obsolete Node 20 timezone test gate (https://github.com/WordPress/gutenberg/pull/82644) - Disabled: keep the consumer className when isDisabled is false (https://github.com/WordPress/gutenberg/pull/82648) - Autocompleters: Consider email address context in user mention (https://github.com/WordPress/gutenberg/pull/47249) - Searchable selects: Hide creatable footer when it is filtered out (https://github.com/WordPress/gutenberg/pull/82566) - Popover storybook: add infotip with link example (https://github.com/WordPress/gutenberg/pull/82653) - Block editor, Components: Stop relying on Disabled class name (https://github.com/WordPress/gutenberg/pull/82651) - FormTokenField: wrap to the last suggestion on ArrowUp with nothing selected (https://github.com/WordPress/gutenberg/pull/82646) - Components: Match the @wordpress/ui disabled styles in form controls (https://github.com/WordPress/gutenberg/pull/82454) - Framework: Update @types/node to v24 (https://github.com/WordPress/gutenberg/pull/82616) - Bump vite from 8.2.1 to 8.2.2 (https://github.com/WordPress/gutenberg/pull/82668) - Site editor v2: Use the canonical fields in the templates list (https://github.com/WordPress/gutenberg/pull/82666) - api-fetch: Resolve to null for a 200 response with an empty body (https://github.com/WordPress/gutenberg/pull/79325) - Site editor v2: Use the canonical wp_block fields in the patterns list (https://github.com/WordPress/gutenberg/pull/82672) - Theme: Remove chroma capacity cache (https://github.com/WordPress/gutenberg/pull/82591) - Remove the content-only inspector fields (block fields) experiment (https://github.com/WordPress/gutenberg/pull/82531) - Site editor v2: templates take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82456) - Post URL: translate the copy permalink button label (https://github.com/WordPress/gutenberg/pull/82642) - UI: Test Calendar raw-offset timezones (https://github.com/WordPress/gutenberg/pull/82658) - DOM: Exclude visibility-hidden elements from focusable results (https://github.com/WordPress/gutenberg/pull/82574) - Test: Update SWC dependencies (https://github.com/WordPress/gutenberg/pull/82660) - Theme, Widget dashboard: Declare the @storybook/addon-docs dependency (https://github.com/WordPress/gutenberg/pull/82676) - Update Playwright to 1.63.0 (https://github.com/WordPress/gutenberg/pull/82654) - Site editor v2: patterns take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82458) - BlockPreview: Assert preview contents are inert (https://github.com/WordPress/gutenberg/pull/82682) - Theme: Add bin-specific tsconfig with nodenext module resolution (https://github.com/WordPress/gutenberg/pull/82622) - Block Editor: Remove the dead Write/Design editor tool plumbing (https://github.com/WordPress/gutenberg/pull/82677) - Create Block: Test package at supported Node.js versions (https://github.com/WordPress/gutenberg/pull/82657) - Update Actions and Octokit dependencies (https://github.com/WordPress/gutenberg/pull/82663) - Theme: Use Node.js native type-stripping for scripts (https://github.com/WordPress/gutenberg/pull/82680) - Build Scripts: Suggest --verbose when a type check fails (https://github.com/WordPress/gutenberg/pull/82604) - e2e-test-utils-playwright: Update Lighthouse and web-vitals (https://github.com/WordPress/gutenberg/pull/81916) - Test: Update Vitest to version 5 (https://github.com/WordPress/gutenberg/pull/82687) - Site editor v2: template parts take view config from endpoint (https://github.com/WordPress/gutenberg/pull/82457) - Theme: Reduce repeated color ramp search work (https://github.com/WordPress/gutenberg/pull/82545) - Media: Only blame the browser's codecs when HEIC really cannot be decoded (https://github.com/WordPress/gutenberg/pull/82265) - Site editor v2: Identity takes its form from the view config endpoint (https://github.com/WordPress/gutenberg/pull/82692) - Storybook: Include stories in docgen TypeScript project (https://github.com/WordPress/gutenberg/pull/82694) - Test: Root the Vitest browser project where its dependencies are declared (https://github.com/WordPress/gutenberg/pull/82699) - Build: Fix regular CSS injection in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/82154) - Workflow: Replace cmdk with the @wordpress/ui Autocomplete primitive (https://github.com/WordPress/gutenberg/pull/82504) - Add textShadow typography support and UI (https://github.com/WordPress/gutenberg/pull/79584) - Block editor: migrate block-card Badge to UI Badge (https://github.com/WordPress/gutenberg/pull/82503) - Bump github/codeql-action/upload-sarif (https://github.com/WordPress/gutenberg/pull/82339) - Rich text: separate applying the selection from focusing the field (https://github.com/WordPress/gutenberg/pull/82581) - Bump svgo from 3.3.4 to 3.3.5 (https://github.com/WordPress/gutenberg/pull/82631) - Inner Blocks: Support legacy inherit-based layouts (https://github.com/WordPress/gutenberg/pull/82637) - Bump js-yaml from 3.15.1 to 3.15.2 (https://github.com/WordPress/gutenberg/pull/82628) - Bump colord from 2.9.3 to 2.9.4 (https://github.com/WordPress/gutenberg/pull/82625) - Bump @humanfs/node from 0.16.7 to 0.16.8 (https://github.com/WordPress/gutenberg/pull/82352) - Site Editor: Restore Global Styles access on the front page (https://github.com/WordPress/gutenberg/pull/82624) - Bump browserslist from 4.28.4 to 4.28.7 (https://github.com/WordPress/gutenberg/pull/82315) - Bump fast-uri from 3.1.5 to 3.1.7 (https://github.com/WordPress/gutenberg/pull/82351) - DataViews: Label clickable grid media by the item title when the title is hidden (https://github.com/WordPress/gutenberg/pull/82639) - Layout hooks: roll out usage of normalizeLegacyLayout to the block-editor layout hooks (https://github.com/WordPress/gutenberg/pull/82710) - Checkbox: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/82597) - Components: Align CheckboxControl checkmark and disabled styles with UI (https://github.com/WordPress/gutenberg/pull/82555) - Improve Math Inline and Block UI (https://github.com/WordPress/gutenberg/pull/77743) - Widgets: carry declarative `attributes` through the widget pipeline (https://github.com/WordPress/gutenberg/pull/82485) - Editor: Coerce `multiple` to a boolean in the media modal wrapper (https://github.com/WordPress/gutenberg/pull/82715) - Packages: Backport the September 10 npm release metadata to trunk (https://github.com/WordPress/gutenberg/pull/82709) - Update lerna to 10 and markdownlint-cli to 0.49.1 (https://github.com/WordPress/gutenberg/pull/81917) - Navigation: don't force submenus open inside a custom overlay (https://github.com/WordPress/gutenberg/pull/82596) - TextareaAutosize: Replace with native textareas and `field-sizing` (https://github.com/WordPress/gutenberg/pull/64208) - Fields: Show a message in MediaEdit when the user can't upload media (https://github.com/WordPress/gutenberg/pull/82720) - Fix playlist track selector stability (https://github.com/WordPress/gutenberg/pull/81760) - Workflow: Remove deprecated word-wrapping (https://github.com/WordPress/gutenberg/pull/82562) - Post publish panel: replace deprecated word-break with overflow-wrap (https://github.com/WordPress/gutenberg/pull/82495) - CI: Run the required trunk changes check through the pr-baseline action (https://github.com/WordPress/gutenberg/pull/82725) - Stroke icons: 3rd batch, 142 icon updates (https://github.com/WordPress/gutenberg/pull/82540) - AI development tests: Use repository Node version (https://github.com/WordPress/gutenberg/pull/82662) - Components: Clean up legacy focus/button overrides in Snackbar and Notice (https://github.com/WordPress/gutenberg/pull/82640) - Command Palette: Only add the admin bar button when Core does not provide it (https://github.com/WordPress/gutenberg/pull/82733) - Release: Verify SVN deployment after publication (https://github.com/WordPress/gutenberg/pull/82513) - Test: Run rendered browser behavior in Vitest Browser Mode (https://github.com/WordPress/gutenberg/pull/80995) - DOM: Find focusable image map areas (https://github.com/WordPress/gutenberg/pull/82736) - Add backwards-compatible Y option to provider creator, do not use wp.sync directly in tests (https://github.com/WordPress/gutenberg/pull/82621) - Fields: replace word-break with `overflow-wrap: anywhere` on slug permalink (https://github.com/WordPress/gutenberg/pull/82693) - Env: Preserve complete lifecycle script error output (https://github.com/WordPress/gutenberg/pull/82735) - Remove deprecated word-wrapping Stylelint suppressions (https://github.com/WordPress/gutenberg/pull/82426) - Test: Stabilize Menu iframe listener lifecycle assertions (https://github.com/WordPress/gutenberg/pull/82575) - Media: Stop injecting crossorigin attributes under Document-Isolation-Policy (https://github.com/WordPress/gutenberg/pull/82614) - Global Styles: Retain responsive styles in block style variation partials (https://github.com/WordPress/gutenberg/pull/82403) - Editor: Add a fixedRenderingMode prop for contexts with one mode (https://github.com/WordPress/gutenberg/pull/82711) - Site Editor v2: Show the template on the routes that show the site (https://github.com/WordPress/gutenberg/pull/82712) - Fix: Navigation: block appender button is 26×24 instead of square (https://github.com/WordPress/gutenberg/pull/82718) - Add missing listitem role to ConnectorItem. (https://github.com/WordPress/gutenberg/pull/82664) - Block alignment: List unavailable wide and full alignments instead of hiding them (https://github.com/WordPress/gutenberg/pull/82600) - Test: Make browser tests independent of execution order (https://github.com/WordPress/gutenberg/pull/82743) - Project Management: Exclude private APIs config from CODEOWNERS (https://github.com/WordPress/gutenberg/pull/82750) - Unit Tests: Resolve @ariakit/utils through its dependents (https://github.com/WordPress/gutenberg/pull/82756) - Interface: Convert the package to TypeScript (https://github.com/WordPress/gutenberg/pull/82753) - Grid: Migrate Emotion styles to SCSS Modules (https://github.com/WordPress/gutenberg/pull/82571) - Test: Finish repository Vitest migration and expand Browser Mode coverage (https://github.com/WordPress/gutenberg/pull/82742) - Plugin: Bump minimum required WordPress version to 7.0 (https://github.com/WordPress/gutenberg/pull/82404) - Circular Option Picker: Show focus with button's outline ring (https://github.com/WordPress/gutenberg/pull/82521) - Interface: Fix the ActionItem click handler and selector types (https://github.com/WordPress/gutenberg/pull/82758) - Editor: Remove pass-through more menu Slot wrappers (https://github.com/WordPress/gutenberg/pull/82759) - Upgrade React 19 to 19.3.0 (https://github.com/WordPress/gutenberg/pull/82760) - Edit Post: Fix meta boxes unreachable in Code Editor split view (https://github.com/WordPress/gutenberg/pull/78644) - Docs: Add blank line between `@since` and `@param`/`@return` in block parser (https://github.com/WordPress/gutenberg/pull/82690) - UI: Add statusContent to searchable selects (https://github.com/WordPress/gutenberg/pull/82592) - UI: Add CheckboxGroup form primitive (https://github.com/WordPress/gutenberg/pull/82556) - Notice: add custom icon Storybook example (https://github.com/WordPress/gutenberg/pull/82762) - Test: Remove obsolete internal test setup and transforms (https://github.com/WordPress/gutenberg/pull/82761) - Code Modernization: Use null coalescing operator in `WP_Block_Parser` methods (https://github.com/WordPress/gutenberg/pull/82763) - Global Styles UI: Use UI Menu (https://github.com/WordPress/gutenberg/pull/81921) - Icons: Allow icons to ship to WordPress Core without exposing them in the Icon block (https://github.com/WordPress/gutenberg/pull/82634) - Fix doubly-zipped plugin artifacts in GitHub Actions (https://github.com/WordPress/gutenberg/pull/76857) - Icons: Ship the admin bar and admin menu icons to WordPress Core (https://github.com/WordPress/gutenberg/pull/79451) - Autocomplete: Show focus with design system's focus ring (https://github.com/WordPress/gutenberg/pull/82766) - Keycodes: Add a shared keyboard shortcut representation helper (https://github.com/WordPress/gutenberg/pull/82632) - CI: Scope the required trunk changes refresh to what a move can invalidate (https://github.com/WordPress/gutenberg/pull/82767) - Editor: Honor post types in `post-thumbnails` theme support when registering the featured image field (https://github.com/WordPress/gutenberg/pull/82773) - Docs: Clarify parent behavior during block registration (https://github.com/WordPress/gutenberg/pull/78967) - Cover: Prevent content cutoff when aspect ratio is set in Safari (https://github.com/WordPress/gutenberg/pull/70152) - Docs: Clarify dependency extraction asset filename (https://github.com/WordPress/gutenberg/pull/78968) - Re-enable editableRoot for multi-selection on mobile web (https://github.com/WordPress/gutenberg/pull/81542) - Post Taxonomies: Replace FormTokenField in the flat term selector (https://github.com/WordPress/gutenberg/pull/80967) - E2E: Reset preferences in the post editor preload spec (https://github.com/WordPress/gutenberg/pull/82818) - Fonts: Remove the deprecated Fonts API BC layer and leftovers (https://github.com/WordPress/gutenberg/pull/82813) - Commands: Avoid re-registering command loaders on every render (https://github.com/WordPress/gutenberg/pull/82819) - Data: Remove the unused AsyncModeConsumer export (https://github.com/WordPress/gutenberg/pull/82822) - Tooling: Extract shared TypeScript configs into a `@wordpress/config-tools` workspace (https://github.com/WordPress/gutenberg/pull/82334) - Style states: Improve block inspector UI (https://github.com/WordPress/gutenberg/pull/82649) - Tooling: Add @wordpress/monorepo-tools to root devDependencies (https://github.com/WordPress/gutenberg/pull/82824) - DataViews: replace `word-break` with `overflow-wrap: anywhere` on `DataForm` panel field control (https://github.com/WordPress/gutenberg/pull/82776) - CI: Stop actions/setup-node from invoking the bundled npm (https://github.com/WordPress/gutenberg/pull/82775) - CI: Keep the bundled npm when devEngines is absent (https://github.com/WordPress/gutenberg/pull/82823) - Icons: Move plugin icon registration out of the 7.1 compat directory (https://github.com/WordPress/gutenberg/pull/82832) - Image block: stop interpreting `$`/`\` in img attributes as regex backreferences (https://github.com/WordPress/gutenberg/pull/79369) - CI: Disable setup-node npm caching in the Create Block packed package job (https://github.com/WordPress/gutenberg/pull/82833) - Build: Deduplicate npm dependencies (https://github.com/WordPress/gutenberg/pull/82698) - PaletteEdit: Use @wordpress/ui Menu for palette options (https://github.com/WordPress/gutenberg/pull/82768) - Editor: Use UI Menu for post actions (https://github.com/WordPress/gutenberg/pull/81922) - Block Editor: Use UI Menu for bindings and variation transforms (https://github.com/WordPress/gutenberg/pull/81925) - Select.Positioner: Revert to Base UI alignItemWithTrigger default (https://github.com/WordPress/gutenberg/pull/82043) - API Fetch: Document that requests are meant for the current site's REST API. (https://github.com/WordPress/gutenberg/pull/82373) - UI: Add Select.ItemLabel and ItemDescription (https://github.com/WordPress/gutenberg/pull/82369) - Widgets: Fix the Welcome Guide menu item triggering a preference speak message (https://github.com/WordPress/gutenberg/pull/82395) - UI: Move interaction tests to Browser Mode (https://github.com/WordPress/gutenberg/pull/82838) - Packages: Update Ariakit to 0.4.39 (https://github.com/WordPress/gutenberg/pull/82831) - Block Editor: replace deprecated word-wrap with overflow-wrap in responsive block control (https://github.com/WordPress/gutenberg/pull/82855) - Button: replace deprecated `word-break` with `overflow-wrap: anywhere` (https://github.com/WordPress/gutenberg/pull/82854) - UI: Update Base UI to 1.8.0 (https://github.com/WordPress/gutenberg/pull/82835) - Docs: Document published dependency constraints (https://github.com/WordPress/gutenberg/pull/80631) - Docs: Document page stability convention (https://github.com/WordPress/gutenberg/pull/80632) - Cover Block: Fix resizable handle visibility on mobile when sidebar is opened (https://github.com/WordPress/gutenberg/pull/80355) - Block Inspector: Stabilize display of inherited global styles and keep UI changes behind experiment (https://github.com/WordPress/gutenberg/pull/82840) - Data: optimize store listeners and their execution (https://github.com/WordPress/gutenberg/pull/82842) - Core Data: Fix return types on generated save/delete entity actions (https://github.com/WordPress/gutenberg/pull/77162) - Notes: Use UI Menu for note actions (https://github.com/WordPress/gutenberg/pull/81930) - Widget Dashboard: Use UI Menu for dashboard controls (https://github.com/WordPress/gutenberg/pull/81929) - Media & Text Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82593) - Fields: Hide the date, author and password fields when the user can't publish or reassign (https://github.com/WordPress/gutenberg/pull/82844) - Docs: Guard against ESLint bulk suppression abuse (https://github.com/WordPress/gutenberg/pull/82944) - BorderBoxControl: Restore the split borders layout (https://github.com/WordPress/gutenberg/pull/82939) - Icons: Restore the dimmed box on the side and corner icons (https://github.com/WordPress/gutenberg/pull/82940) - Fields: Show the template field to users who can't create templates (https://github.com/WordPress/gutenberg/pull/82857) - Calendar Block: Use the args array signature of get_calendar() (https://github.com/WordPress/gutenberg/pull/82943) - DataViews README: clarify readOnly vs isDisabled (https://github.com/WordPress/gutenberg/pull/82956) - Template panel: Hide edit and create actions from users who can't create templates (https://github.com/WordPress/gutenberg/pull/82858) - Fix stray fill rule in SelectControl. (https://github.com/WordPress/gutenberg/pull/82949) - Stroke icons: final batch, 96 icons (https://github.com/WordPress/gutenberg/pull/82754) - Fix Stylelint config and coding standards for font weight numeric values and disallow relative weights (https://github.com/WordPress/gutenberg/pull/82778) - Widget Dashboard: Use UI Spinner and remove Components dependency (https://github.com/WordPress/gutenberg/pull/82837) - Fix: Inherit link color for image block anchor elements (https://github.com/WordPress/gutenberg/pull/79401) - Data: Fix the latest changelog entry and structure (https://github.com/WordPress/gutenberg/pull/82959) - Menu: Fix vertical alignment across item combinations (https://github.com/WordPress/gutenberg/pull/82847) - Docs: Fix the dead anchor in the block development environment list (https://github.com/WordPress/gutenberg/pull/82878) - Collaborators Presence: Update to use design system's focus ring in header avatar stack (https://github.com/WordPress/gutenberg/pull/82941) - UI: Fix highlighted item indicator in forced-colors mode (https://github.com/WordPress/gutenberg/pull/82772) - Docs: Fix the broken Query block link in the Interactivity API guide (https://github.com/WordPress/gutenberg/pull/82862) - Fix: Widgets customizer Undo and Redo buttons are disabled and the document tools focus style is not visible (https://github.com/WordPress/gutenberg/pull/82412) - DataForm: Hide the edit button of disabled fields in the panel layout (https://github.com/WordPress/gutenberg/pull/82957) - BoxControl: Migrate the side indicator to an SCSS module (https://github.com/WordPress/gutenberg/pull/82570) - Distraction Free: raise top bar above notices when revealed by hover or keyboard focus (https://github.com/WordPress/gutenberg/pull/80349) - Extensible Site Editor: Use the view config form for Quick Edit (https://github.com/WordPress/gutenberg/pull/82962) - Fix: Query Pagination block ignores the parent block gap in the editor (https://github.com/WordPress/gutenberg/pull/82399) - Customize Widgets: Await asynchronous toolbar updates in history test (https://github.com/WordPress/gutenberg/pull/82963) - Elevation: Migrate from Emotion to SCSS modules (https://github.com/WordPress/gutenberg/pull/82572) - Enable viewport state values for Gallery aspect ratio (https://github.com/WordPress/gutenberg/pull/82233) - Scripts: Switch unit tests to Vitest and deprecate Jest tooling (https://github.com/WordPress/gutenberg/pull/82843) - Speed up collaboration e2e by shortening poll interval (https://github.com/WordPress/gutenberg/pull/78746) - UI: replace deprecated word-wrap with overflow-wrap in `VisuallyHidden` (https://github.com/WordPress/gutenberg/pull/82970) - Block Library: replace deprecated word-wrap with overflow-wrap in screen-reader-text (https://github.com/WordPress/gutenberg/pull/82972) - CustomGradientPicker: Show the control point's focus ring with the design system's outline (https://github.com/WordPress/gutenberg/pull/82834) - Fix: Default block gap is ignored in the editor for themes without block gap support (https://github.com/WordPress/gutenberg/pull/82401) - Remove the zero width space hack from getRectangleFromRange (https://github.com/WordPress/gutenberg/pull/82977) - Block Toolbar: Show the parent selector for blocks inside patterns (https://github.com/WordPress/gutenberg/pull/82912) - Keep the iOS keyboard capitalized after Return inside the editing host (https://github.com/WordPress/gutenberg/pull/82911) - Docs: Say how long a notice can be, in the copy guide (https://github.com/WordPress/gutenberg/pull/81195) - Widget Primitives: add `HostLink` over the `links` capability (https://github.com/WordPress/gutenberg/pull/82952) - Pattern block: Run autoembed() before do_blocks() (https://github.com/WordPress/gutenberg/pull/82860) - Widget Dashboard: default tile padding to `padding-lg` (https://github.com/WordPress/gutenberg/pull/82961) - Upgrade wp-prettier to 3.9.6 (https://github.com/WordPress/gutenberg/pull/82731) - Fix prettier lint issues after prettier upgrade (https://github.com/WordPress/gutenberg/pull/83015) - Widget Dashboard: show a clipped widget title in the header infotip (https://github.com/WordPress/gutenberg/pull/82226) - Post Title: remove the inline-block from the title link (https://github.com/WordPress/gutenberg/pull/80231) - Collaborators Presence & Document Bar: Clean up styles by removing overrides (https://github.com/WordPress/gutenberg/pull/83013) - Docs: document the no-hard-wrap rule for Markdown (https://github.com/WordPress/gutenberg/pull/83017) - Icons: Allow `rect` and `circle` in the registry sanitizer (https://github.com/WordPress/gutenberg/pull/82846) - Upgrade wp-prettier to 3.9.6 final (https://github.com/WordPress/gutenberg/pull/83026) - Fix: Navigation submenu detection leaks between Navigation blocks. (https://github.com/WordPress/gutenberg/pull/82366) - Use `WCSelectControl` alias for legacy SelectControl imports (https://github.com/WordPress/gutenberg/pull/83027) - Upload media: guard processItem against re-entrant dispatch (https://github.com/WordPress/gutenberg/pull/83031) - Math: Source the LaTeX from the MathML annotation (https://github.com/WordPress/gutenberg/pull/82987) - Remove the interactivity-router script module data shim (https://github.com/WordPress/gutenberg/pull/83011) - Data: Add `getResolutionArgs` to share a resolution across selector calls (https://github.com/WordPress/gutenberg/pull/82638) - Code: Add shadow support (https://github.com/WordPress/gutenberg/pull/83014) - Footnotes: Add shadow support (https://github.com/WordPress/gutenberg/pull/83044) - Excerpt: Add shadow support (https://github.com/WordPress/gutenberg/pull/83018) - Content: Add shadow support (https://github.com/WordPress/gutenberg/pull/83016) - Icons: Test the registry sanitizer with a data provider (https://github.com/WordPress/gutenberg/pull/83024) - Heading: Add shadow support (https://github.com/WordPress/gutenberg/pull/83045) - Details: Add shadow support (https://github.com/WordPress/gutenberg/pull/83021) - Post template panel: Remove the dead template read capability check (https://github.com/WordPress/gutenberg/pull/82861) - Dependency Extraction Webpack Plugin: Add global-styles-engine and global-styles-ui as bundled packages (https://github.com/WordPress/gutenberg/pull/82589) - Verse: Add shadow support (https://github.com/WordPress/gutenberg/pull/83057) - Docs: Data: Fix typo in code example for __unstableNormalizeArgs (https://github.com/WordPress/gutenberg/pull/83070) - Icons: Test that the registry sanitizer preserves every library icon (https://github.com/WordPress/gutenberg/pull/83008) - Stylelint: add `custom-property-pattern` to disallow `--_gcd-*` custom properties (https://github.com/WordPress/gutenberg/pull/83025) - Tooling: Add .mts and .cts support (https://github.com/WordPress/gutenberg/pull/83071) - Block Mover: Cleanup focus ring override (https://github.com/WordPress/gutenberg/pull/83068) - Tests: Remove obsolete internal Jest infrastructure (https://github.com/WordPress/gutenberg/pull/82975) - Move the unit-test-date.sh script to workspace, rewrite to JS (https://github.com/WordPress/gutenberg/pull/83066) - Gallery: Skip gap style generation for themes opting out of layout styles (https://github.com/WordPress/gutenberg/pull/81633) - Monorepo tools: Move the experimental API audit out of bin/ (https://github.com/WordPress/gutenberg/pull/83081) - Add category filtering to the start page options patterns modal (https://github.com/WordPress/gutenberg/pull/81396) - UI: Mark Select and SelectControl as recommended (https://github.com/WordPress/gutenberg/pull/83030) - Updated Changelog Entry (https://github.com/WordPress/gutenberg/pull/83037) - Rich text: fix mobile selection hair pin grab at edge of block (https://github.com/WordPress/gutenberg/pull/83041) - Link Control: Only tag pages as the front page or blog home (https://github.com/WordPress/gutenberg/pull/83082) - Tooling: Name the shared tsconfig presets `tsconfig.*.json` (https://github.com/WordPress/gutenberg/pull/83077) - Multi-line text of menu items is not aligned (https://github.com/WordPress/gutenberg/pull/70917) - Fix Connectors and Fonts pages background color and contrast. (https://github.com/WordPress/gutenberg/pull/82827) - Post Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83059) - Page List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83056) - Playlist: Add shadow support (https://github.com/WordPress/gutenberg/pull/83055) - Math: Add shadow support (https://github.com/WordPress/gutenberg/pull/83052) - Latest Posts: Add shadow support (https://github.com/WordPress/gutenberg/pull/83051) - Latest Comments: Add shadow support (https://github.com/WordPress/gutenberg/pull/83047) - Home Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83046) - Login/out: Add shadow support (https://github.com/WordPress/gutenberg/pull/83050) - Excerpt field: Render nothing when the excerpt is empty (https://github.com/WordPress/gutenberg/pull/82423) - No Results: Add shadow support (https://github.com/WordPress/gutenberg/pull/83054) - ESLint: Allow string literal IDs in tests and Storybook (https://github.com/WordPress/gutenberg/pull/83090) - UI: Add RadioGroup form primitive (https://github.com/WordPress/gutenberg/pull/83038) - Components: Deprecate Divider (https://github.com/WordPress/gutenberg/pull/83040) - Data: Stabilize `__unstableNormalizeArgs` as `normalizeArgs` (https://github.com/WordPress/gutenberg/pull/83067) - Stylelint: add `--_wp-*` to `custom-property-pattern` rule (https://github.com/WordPress/gutenberg/pull/83075) - Build: Declare `@wordpress/theme` as a dev dependency of `@wordpress/build` (https://github.com/WordPress/gutenberg/pull/83129) - UI: Tighten Fieldset legend and description gap (https://github.com/WordPress/gutenberg/pull/82729) - Core Data: Fix overwriting scored matches for duplicate ids (https://github.com/WordPress/gutenberg/pull/83113) - Block Editor: Update LinkControl and LinkPicker to use `Badge` from `@wordpress/ui` (https://github.com/WordPress/gutenberg/pull/82684) - Storybook: Remove obsolete manifest extractor render workaround (https://github.com/WordPress/gutenberg/pull/83124) - UI: Add Switch form primitive (https://github.com/WordPress/gutenberg/pull/83039) - Automated Testing: Document and validate expected changelog structure (https://github.com/WordPress/gutenberg/pull/83043) - ESLint: Disallow Storybook build-style side-effect imports (https://github.com/WordPress/gutenberg/pull/82960) - Global Styles: replace experimental ZStack in the palette preview (https://github.com/WordPress/gutenberg/pull/83060) - UI: Place Fieldset description after the legend in stories (https://github.com/WordPress/gutenberg/pull/83144) - Use WCCheckboxControl alias for legacy CheckboxControl imports. (https://github.com/WordPress/gutenberg/pull/83145) - The image dimensions have been removed from the name. (https://github.com/WordPress/gutenberg/pull/82828) - Fix the high-severity adm-zip audit failure in AI development tests (https://github.com/WordPress/gutenberg/pull/83170) - Bump adm-zip from 0.6.0 to 0.6.1 (https://github.com/WordPress/gutenberg/pull/83167) - Post Navigation Link: Add shadow support (https://github.com/WordPress/gutenberg/pull/83058) - Bump csv-parse from 7.0.1 to 7.0.2 in /test/ai-development (https://github.com/WordPress/gutenberg/pull/82619) - Video block: Remove GIF variation handling (https://github.com/WordPress/gutenberg/pull/82696) - PostLastRevisionPanel: Fix doubled focus ring on the revisions button (https://github.com/WordPress/gutenberg/pull/82955) - Navigation Overlay Close: Add shadow support (https://github.com/WordPress/gutenberg/pull/83053) - Fix typos in comments and test descriptions (https://github.com/WordPress/gutenberg/pull/83172) - Block Editor: Remove the deprecated `__experimentalGroup` prop (https://github.com/WordPress/gutenberg/pull/83171) - Site Tagline: Add fit text support (https://github.com/WordPress/gutenberg/pull/83034) - Block Editor: Highlight the block when its content list item is hovered (https://github.com/WordPress/gutenberg/pull/83049) - Navigation: Fix always-open submenus jumping in width on hover (https://github.com/WordPress/gutenberg/pull/83142) - Post Navigation Link: Add border and spacing support (https://github.com/WordPress/gutenberg/pull/83122) - Preformatted: Add shadow support (https://github.com/WordPress/gutenberg/pull/83174) - Pullquote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83177) - Quote: Add shadow support (https://github.com/WordPress/gutenberg/pull/83178) - Site Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83182) - Post Title: Add shadow support (https://github.com/WordPress/gutenberg/pull/83195) - Video: Add shadow support (https://github.com/WordPress/gutenberg/pull/83196) - Read More: Add shadow support (https://github.com/WordPress/gutenberg/pull/83180) - Post Terms: Add shadow support (https://github.com/WordPress/gutenberg/pull/83175) - Query Total: Add shadow support (https://github.com/WordPress/gutenberg/pull/83176) - RSS: Add shadow support (https://github.com/WordPress/gutenberg/pull/83179) - Tab Panel: Add shadow support (https://github.com/WordPress/gutenberg/pull/83183) - Post Time to Read: Add shadow support (https://github.com/WordPress/gutenberg/pull/83194) - Tab Panels: Add shadow support (https://github.com/WordPress/gutenberg/pull/83184) - UI: Document that public --wp-ui-* CSS custom properties are frozen. (https://github.com/WordPress/gutenberg/pull/83147) - Tag Cloud: Add shadow support (https://github.com/WordPress/gutenberg/pull/83188) - Table of Contents: Add shadow support (https://github.com/WordPress/gutenberg/pull/83187) - Tabs: Add shadow support (https://github.com/WordPress/gutenberg/pull/83186) - Term Description: Add shadow support (https://github.com/WordPress/gutenberg/pull/83190) - Term Count: Add shadow support (https://github.com/WordPress/gutenberg/pull/83189) - Site Tagline: Add shadow support (https://github.com/WordPress/gutenberg/pull/83181) - Terms List: Add shadow support (https://github.com/WordPress/gutenberg/pull/83193) - Details: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83222) - Social Icons: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83249) - Accordion Item: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83197) - Post Author Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83200) - Code: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83204) - Comment Author Name: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83207) - Comment Content: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83208) - Comment Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83209) - Term Template: Add shadow support (https://github.com/WordPress/gutenberg/pull/83192) - Footnotes: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83224) - Post Date: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83218) - Comments Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83217) - Gallery: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83225) - Heading: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83226) - Term Name: Add shadow support (https://github.com/WordPress/gutenberg/pull/83191) - Breadcrumbs: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83202) - Comment Reply Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83211) - File: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83223) - Post Author Biography: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83199) - Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83232) - Post Excerpt: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83221) - Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83240) - Accordion Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83201) - Post Comments Count: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83213) - RSS: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83244) - Columns: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83206) - Archives: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83198) - Latest Posts: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83228) - Preformatted: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83239) - Comments Previous Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83220) - Read More: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83245) - Comments Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83219) - Query Title: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83242) - Post Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83260) - Tag Cloud: Add background and link colour support (https://github.com/WordPress/gutenberg/pull/83264) - Storybook: List every top-level folder in the sidebar order, design system first (https://github.com/WordPress/gutenberg/pull/82429) - Featured image field: support the `editor.PostFeaturedImage` filter in the post summary (https://github.com/WordPress/gutenberg/pull/83133) - Storybook: Fold Foundations, DataViews, Fields, Admin UI and Icons under Design System (https://github.com/WordPress/gutenberg/pull/82430) - Block Editor: replace denylisted layout components in the Duotone filter label (https://github.com/WordPress/gutenberg/pull/83061) - Storybook: Group Widget Primitives, Widget Dashboard and Grid under Widgets (https://github.com/WordPress/gutenberg/pull/82431) - Storybook: Group the editor UI under Editor (https://github.com/WordPress/gutenberg/pull/82432) - Components: Deprecate Elevation (https://github.com/WordPress/gutenberg/pull/83269) - Post Time to Read: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83258) - Buttons: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83203) - Storybook: Group component packages under Components (https://github.com/WordPress/gutenberg/pull/82433) - Terms List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83257) - UI: Add SwitchControl component (https://github.com/WordPress/gutenberg/pull/83146) - Release tools: Move the plugin ZIP build out of bin/ (https://github.com/WordPress/gutenberg/pull/83087) - Storybook: Remove the legacy Tokens pages (https://github.com/WordPress/gutenberg/pull/82434) - Storybook: Show the component status in the sidebar as status-* tags (https://github.com/WordPress/gutenberg/pull/82435) - Storybook: Guard the set of top-level sidebar folders with a test (https://github.com/WordPress/gutenberg/pull/82436) - Storybook: Rewrite the introduction page as the front door of the design system (https://github.com/WordPress/gutenberg/pull/82437) - Workflows: Refine and complete the push and pull_request branch filters (https://github.com/WordPress/gutenberg/pull/82744) - Public API for supporting viewport states in custom controls (https://github.com/WordPress/gutenberg/pull/82741) - Fix: Term Name block skips the term name display filters. (https://github.com/WordPress/gutenberg/pull/82365) - Tag Cloud: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83259) - Comments Next Page: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83215) - Comments Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83216) - Pagination: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83236) - Comment Edit Link: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83210) - Page Numbers: Add background gradient support (https://github.com/WordPress/gutenberg/pull/83235) - Column: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83205) - Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83212) - Post Comments Form: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83214) - Latest Comments: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83227) - Home Link: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83230) - Term Description: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83254) - Storybook: Load the media editor package styles in its stories (https://github.com/WordPress/gutenberg/pull/83303) - Site Tagline: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83246) - Media Editor: fix crop canvas handlers and rotation ruler in RTL (https://github.com/WordPress/gutenberg/pull/83304) - Site Title: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83247) - Query Total: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83243) - Tab Panels: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83250) - Term Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83256) - Term Count: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83253) - Math: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83231) - Tabs: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83252) - Table of Contents: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83251) - Tab Panel: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83248) - Term Name: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83255) - Page List: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83234) - Login/out: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83229) - No Results: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83233) - Post Template: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83237) - UI: Add RadioGroupControl (https://github.com/WordPress/gutenberg/pull/83143) - Post Terms: Add background image, size, and gradient support (https://github.com/WordPress/gutenberg/pull/83238) - Components: Deprecate Scrollable (https://github.com/WordPress/gutenberg/pull/83273) - Storybook: Place RadioGroup, Switch, and SwitchControl under @wordpress-ui (https://github.com/WordPress/gutenberg/pull/83314) - Block Editor: Show the in-between inserter on wrapped lines (https://github.com/WordPress/gutenberg/pull/83276) - Docs: Add missing `@since` tags to two functions (https://github.com/WordPress/gutenberg/pull/83116) - Upgrade eslint-plugin-jsdoc to latest version 64. (https://github.com/WordPress/gutenberg/pull/82727) - i18n: add context to breadcrumbs area label (https://github.com/WordPress/gutenberg/pull/78134) - Storybook: Omit the recommended checkmark from the sidebar (https://github.com/WordPress/gutenberg/pull/83309) - Fix: Social Icons: In-between inserter does not work (https://github.com/WordPress/gutenberg/pull/83327) - Storybook: Convert story-only stylesheets to CSS modules (https://github.com/WordPress/gutenberg/pull/83272) - Block Editor: replace experimental ZStack in overlapping color indicators (https://github.com/WordPress/gutenberg/pull/83062) - FocalPointPicker: Fix Sidebar Overflow Issue (https://github.com/WordPress/gutenberg/pull/68915) - Storybook: Reject non-module stylesheet imports (https://github.com/WordPress/gutenberg/pull/83313) - Components: Align CheckboxControl border, hover, and disabled colors with UI (https://github.com/WordPress/gutenberg/pull/83271) - Icons: Move the public property from icons to collections (https://github.com/WordPress/gutenberg/pull/83277) - ESLint Plugin: Check type-only imports for undeclared dependencies (https://github.com/WordPress/gutenberg/pull/83336) - TypeScript: Give each widget its own typecheck project (https://github.com/WordPress/gutenberg/pull/83328) - Components: Deprecate ResponsiveWrapper (https://github.com/WordPress/gutenberg/pull/83347) - Remove npm from package engines (https://github.com/WordPress/gutenberg/pull/83326) - Data: keep a pending listener when store not yet registered (https://github.com/WordPress/gutenberg/pull/83346) - Add Template: Show template descriptions in the template list (https://github.com/WordPress/gutenberg/pull/83064) - Block Editor: Consolidate search ranking into one shared module (https://github.com/WordPress/gutenberg/pull/83312) - DataViews: Let a picker compose its footer from the page select and its actions (https://github.com/WordPress/gutenberg/pull/83281) - Bump the github-actions group across 1 directory with 2 updates (https://github.com/WordPress/gutenberg/pull/83080) - Rich text: Show the format boundary when the canvas root has focus (https://github.com/WordPress/gutenberg/pull/83385) - Rich text: Select an inline image by clicking it, and show the edit UI of the object clicked (https://github.com/WordPress/gutenberg/pull/83370) - Global Styles: Switch the revisions screen to the DataViews pickerActivity layout (https://github.com/WordPress/gutenberg/pull/80856) - Try: Add left border to Notes panel. (https://github.com/WordPress/gutenberg/pull/83330) - Media: Detect HEIC uploads from the file header rather than the file name (https://github.com/WordPress/gutenberg/pull/81737) - Revise block direct dragging to fix adjacent issues (https://github.com/WordPress/gutenberg/pull/72983) - Submenu: Add shadow support (https://github.com/WordPress/gutenberg/pull/83185) - Disable caching when publishing built assets (https://github.com/WordPress/gutenberg/pull/79835) - Tabs: Add border support (https://github.com/WordPress/gutenberg/pull/83361) - Image: Restore alt text and caption when undoing a media editor save (https://github.com/WordPress/gutenberg/pull/82829) - Accordion: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83373) - Navigation Overlay Close: Add border support (https://github.com/WordPress/gutenberg/pull/83362) - Tab Panel: Hide the shadow on closed panels (https://github.com/WordPress/gutenberg/pull/83369) - Preformatted: Add link colour support (https://github.com/WordPress/gutenberg/pull/83386) - Audio: Add link colour support (https://github.com/WordPress/gutenberg/pull/83375) - No Results: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83382) - Comment Content: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83376) - Tab Panel: Add border support (https://github.com/WordPress/gutenberg/pull/83363) - Comments: Add button colour support (https://github.com/WordPress/gutenberg/pull/83378) - Accordion Item: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83371) - Details: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83381) - Media & Text: Add button colour support (https://github.com/WordPress/gutenberg/pull/83380) - Post Comments Form: Add button colour support (https://github.com/WordPress/gutenberg/pull/83377) - Tab Panels: Add button colour support (https://github.com/WordPress/gutenberg/pull/83388) - Post Content: Add button colour support (https://github.com/WordPress/gutenberg/pull/83379) - Components: Stop rendering a hidden drag preview and a media query per draggable (https://github.com/WordPress/gutenberg/pull/83423) - Post Template: Add heading and button colour support (https://github.com/WordPress/gutenberg/pull/83384) - Table of Contents: Add text align support (https://github.com/WordPress/gutenberg/pull/83430) - Group: Add text columns support (https://github.com/WordPress/gutenberg/pull/83425) - Tabs: Add typography support (https://github.com/WordPress/gutenberg/pull/83431) - Fields: Resolve the MediaEdit picker through the editor.MediaUpload filter (https://github.com/WordPress/gutenberg/pull/82678) - Tab Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83389) - Global Styles: Rank block search results by title match (https://github.com/WordPress/gutenberg/pull/83435) - Post Author Biography: Add text columns support (https://github.com/WordPress/gutenberg/pull/83424) - Block Editor: Avoid a store subscription per inserter item (https://github.com/WordPress/gutenberg/pull/83434) - Home Link: Add border support (https://github.com/WordPress/gutenberg/pull/83360) - Tab Panels: Add typography support (https://github.com/WordPress/gutenberg/pull/83428) - Tab Panel: Add typography support (https://github.com/WordPress/gutenberg/pull/83426) - Storybook: Drop CustomSelectControlV2 stories and the unused WIP tag (https://github.com/WordPress/gutenberg/pull/83349) - Docs: clarify DEWP asset file naming rule (https://github.com/WordPress/gutenberg/pull/80620) - Components: Deprecate ZStack (https://github.com/WordPress/gutenberg/pull/83344) - Media Utils: Stabilize `unstableFeaturedImageFlow` as `featuredImageFlow` (https://github.com/WordPress/gutenberg/pull/83439) - Accordion Panel: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83374) - Terms List: Add text columns support (https://github.com/WordPress/gutenberg/pull/83432) - Enable setting position within viewport states (https://github.com/WordPress/gutenberg/pull/83094) - Term Count: Add text align support (https://github.com/WordPress/gutenberg/pull/83429) - Dependency Extraction Webpack Plugin: Always pretty-print PHP asset files (https://github.com/WordPress/gutenberg/pull/79650) - Block Editor: Drop the O(n) tie-break in orderBy (https://github.com/WordPress/gutenberg/pull/83443) - Cover Block: Add a Media section to the block inspector panel (https://github.com/WordPress/gutenberg/pull/82751) - Admin bar: backport removal of site icon background from 7.1.1 (https://github.com/WordPress/gutenberg/pull/83433) - Tests: Update Testing Library DOM to 10.4.2 (https://github.com/WordPress/gutenberg/pull/83279) - Tabs: Add link, heading, and button colour support (https://github.com/WordPress/gutenberg/pull/83390) - Icons: Add a core-admin collection for the admin interface (https://github.com/WordPress/gutenberg/pull/83261) - Post Content: Add text align support (https://github.com/WordPress/gutenberg/pull/83427) - Components: Give control labels an explicit foreground color (https://github.com/WordPress/gutenberg/pull/83318) - Radio: Expand hit target without changing visual size (https://github.com/WordPress/gutenberg/pull/83275) - Tests: Isolate deprecation warnings between cases (https://github.com/WordPress/gutenberg/pull/83097) - Block Toolbar: Fix parent selector inserter for locked blocks (https://github.com/WordPress/gutenberg/pull/83444) - Icon block: Don't render icons from non-public collections on the frontend (https://github.com/WordPress/gutenberg/pull/82774) - Hide alignment control when nothing available. (https://github.com/WordPress/gutenberg/pull/83265) - Fields: Use the post type labels in the featured image field and drop `mediaUploadProps` (https://github.com/WordPress/gutenberg/pull/83445) - Icons: Rebalance a few, add other new icons. (https://github.com/WordPress/gutenberg/pull/83338) - Docs: Replace retired reduce-motion mixin in animation guidelines (https://github.com/WordPress/gutenberg/pull/83335) - Block Editor: Update block visibility badges to use from @wordpress/ui package (https://github.com/WordPress/gutenberg/pull/82670) - PHP-only blocks: Detect enums in array attributes (https://github.com/WordPress/gutenberg/pull/83394) - Data: Defer async-mode useSelect notification to idle time (https://github.com/WordPress/gutenberg/pull/82821) Developed in https://github.com/WordPress/wordpress-develop/pull/14045. Props wildworks. Fixes #66254. Built from https://develop.svn.wordpress.org/trunk@64223 git-svn-id: http://core.svn.wordpress.org/trunk@63374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
What?
Makes
processItemin the client-side upload queue return early when the item it is asked to process already has an operation in flight, so the same handler cannot run twice for one item.Split out of review feedback on #82474 (finding 4). See #82474.
Why?
processItempicks the next operation off an item's pipeline and starts its handler.QueueItem.currentOperationrecords which operation is running (set byOPERATION_START, cleared byOPERATION_FINISH), but nothing consulted it before starting the next step.Two callers dispatch
processItemfor an item that can still be mid-flight:processItemdispatchesprocessItem( parentId ). If the children are spread over more than one batch id, the first batch completing re-enters the parent while the parent's own handler is still awaiting.resumeQueuedispatchesprocessItemfor every item in the queue, including items whose handler is mid-flight. Pausing does not interrupt a running handler, so resuming restarts it.The operation is only shifted off the pipeline when it finishes, so a re-entrant call starts the same operation a second time: the file is uploaded twice, or resized twice. Both runs then call
finishOperation, which shifts two steps off the pipeline, and one step is silently skipped. When the skipped step is gated (waiting on a concurrency slot, or a parent'sFinalizewaiting on its children), the item is dropped from the queue as complete even though that step never ran, so its file is never uploaded.How?
processItemreturns early whenitem.currentOperationis set. The check sits right after the item lookup, before any pipeline work, so the legitimate callers that dispatchprocessItemfor an item that is merely queued are unaffected: the concurrency-pool kicks infinishOperationandcancelItemonly ever target items whose current operation is already cleared, and so does the parent-finalize path. The running handler picks the pipeline back up throughfinishOperationwhen it is done.PendingRetrykeepscurrentOperationset, and that is deliberate: it is what keeps the item out ofgetPendingUploads/getPendingImageProcessing/getPendingVideoProcessingwhile it waits out the backoff, so a freed concurrency slot cannot restart it early. Clearing it atSCHEDULE_RETRYwould bypass the backoff, so instead theRETRY_ITEMreducer case clears it as the item goes back toProcessing.executeRetryand the manualretryItemboth dispatchRETRY_ITEMbeforeprocessItem, so retries still run. As a side effect this also fixes a latent stall: a retried upload used to count itself as an active upload, so when the pool was full it returned early and was never kicked again.resumeQueueneeds nothing beyond the guard: an item whose handler finished while the queue was paused has itscurrentOperationcleared already, so it is picked up as before.Testing Instructions
npm run test:unit:vitest -- packages/upload-mediaNew tests in
packages/upload-media/src/store/test/process-item.tscover the defect. Againsttrunk(without theprocessItemchange) three of them fail:mediaUploadtwice instead of once.[ ResizeCrop, Upload ]is re-entered while the resize is in flight, with the single upload slot held by another item. Both resize runs finish,Uploadis shifted off unrun, and the item is removed from the queue as complete; the test asserts the item is still queued withUploadpending and thatonSuccesshas not fired.The fourth test ("still retries an item parked in PendingRetry") passes both before and after, and is the regression check that the guard does not swallow retries.
Also verified: the whole
packages/upload-mediasuite (393 tests) passes, as do the other suites that touch this store (packages/media-utils,packages/editor'suse-network-reconnect), pluseslint,prettierandtsc -b packages/upload-media/tsconfig.json.Testing Instructions for Keyboard
N/A — no user interface changes.
Screenshots or screencast
N/A.
Follow-up
A companion change belongs on the #82474 branch: its sideload context helper mints a fresh batch id per call, which is what spreads one handler's children across several batches and makes the first batch report as fully uploaded while the handler is still running — the trigger for the re-entrant parent dispatch. The guard here makes that harmless, but the batch ids should still be shared per handler run.
Use of AI Tools
This pull request was authored with Claude Code: it investigated the defect, wrote the failing tests and the fix, and drafted this description. The changes and test results were reviewed before submitting.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Sr7G5nRsbso744zkruyGHZ
Generated by Claude Code