github WordPress/gutenberg v15.1.0
15.1.0

latest releases: v19.6.1, @wordpress/widgets@4.8.14, @wordpress/reusable-blocks@5.8.14...
21 months ago

Changelog

Enhancements

Block Library

  • Add Crowdsignal Embed Variation for a new oEmbed endpoint. (47382)
  • Add anchor support for dynamic blocks. (44771)
  • Add box shadow support to blocks (using code editor for now). (46896)
  • Cover block: Add HTML element selection. (46969)
  • Decode entities in page list item title. (47571)
  • Enable image size for featured images in templates. (46848)
  • Gallery Block: Add toolbar button to add a caption. (47325)
  • Make the off-canvas navigation editor the default experience. (46995)
  • Move copy and pasting styles menu items to a separate menu group. (47430)
  • Navigation: Add a manage menus button to the menu selector dropdown. (47005)
  • Navigation: Allow multiple navigations with the same ref. (47453)
  • Navigation: Remove filters disabling tabs for link and submenu. (47593)
  • Navigation: Remove the manage menus button from the selector. (47441)
  • Page List: Swap the positions of the parent page selector and customize button. (47547)
  • Page List: Update the edit/customize copy. (47549)
  • Post excerpt: Add text alignment to the placeholder. (45003)
  • Query Loop Block: Use BlockPatternsList component for Query block patterns modal. (47366)
  • Remove endless spinned for removed navigations. (47578)
  • Remove the list view button from the navigation block. (47032)
  • Table Block: Support rowspan attribute in table HTML, including when pasting. (46629)
  • Update icons for off-canvas navigation. (47337)
  • Migrate from TextControl to InputControl to remove margin overrides. (47161)
  • Multiple blocks: Add missing has-link-color class to the front. (47357)
  • [Navigation]: Update example with no mobile view. (47508)
  • Navigation Block List View: Improve the accessible Name of the Tree Grid inside the component. (47031)

Global Styles

  • Add "Learn more about CSS" help text to Custom CSS control. (47091)
  • Add padding when no tabs in the background panel. (44044)
  • Add validation message to custom CSS input. (47132)
  • Change "Custom" CSS navigation label to "Additional CSS". (47093)
  • Make css input fill remainder of screen by default. (47437)
  • Move custom CSS to ellipsis menu if no custom CSS present yet. (47371)
  • Move custom css to its own inline style generation method and combine with customizer CSS. (47396)
  • ToggleGroupControl: Add new opt-in prop. (47269)
  • Add check for edit CSS capability to overflow menu. (47714)
  • Reselect blocks after pasting styles. (47590)

Site Editor

  • Global Styles: Try per block custom CSS. (46571)
  • Restore the navigation menus in the site editor. (47485)
  • Update resize handle. (47138)
  • Update the site editor for better initialization. (47182)
  • Updates some spacing + dimensions in the Site Hub. (47120)
  • Add: Navigation menus to the browse mode sidebar. (46436)
  • Shadow: Add shadow presets and UI tools in global styles. (46502)
  • TextControl: Remove margin overrides and add new opt-in prop (pt 1/2). (47157)
  • [Webfonts] Rename to Fonts API. (46749)
  • Add layout child sizing to Navigation block. (47584)
  • Add missing controls to flex layouts. (47134)
  • Always pass layout to inner blocks. (47477)
  • Site Hub: Remove the aria-label from the Edit button. (47343)
  • Add ability to open the editor on the selected post on navigation. (47387)
  • Allow clicking the site editor frame to enter edit mode. (47676)
  • Pattern Explorer Modal: Select the first category as the initial category. (47661)
  • [Patterns]: Support the blockTypes prop for patterns fetched from Pattern Directory. (47677)
  • Sticky Position: Fix top position while logged in on mobile. (47665)

Testing

  • Clean up sidebar tab end-to-end test utils. (47097)
  • Components: Refactor more tests to use real timers. (47318)
  • Components: Use real timers where possible. (47056)
  • Migrate Classic block tests to Playwright. (46689)

Block Editor

  • Add custom label to nav block list view appender. (47033)
  • Move Link Control action buttons into lower settings area. (47309)
  • Pattern Inserter: Show insertion indicator when hovering on patterns. (47316)
  • Add clear Apply and Cancel buttons to Link Control. (46933)
  • [Inserter]: Openverse integration. (46251)
  • TextControl: Remove margin overrides and add new opt-in prop (pt 2/2). (47158)
  • [Block editor]: Add setting to disable Openverse integration. (47404)
  • Block Inspector: Make Settings tab the default. (47592)
  • Sticky Position: Hide controls if the block is non-root (has parents). (47334)
  • Block Inspector: Avoid advanced panel only settings tab. (47474)
  • Stabilize the experimental control groups. (47105)
  • Table: Display fixed width table cells option by default. (47536)

Components

  • AligmentMatrixControl: Update center cell label to 'Center'. (46852)
  • Button: Try improving padding for icon + text buttons. (46764)
  • Fix HStack documentation to show code sample. (47162)

Accessibility

  • Announce when block inserted in Navigation list view. (47034)
  • Navigation block: Fix some off canvas appender accessibility issues. (47047)
  • [Block Editor]: Update text align toolbar control label. (47119)

Themes

  • Make child themes inherit parent's style variations. (46554)
  • Shadow: Rename shadow palette to presets. (47272)

Bug Fixes

Block Library

  • Ensure appropriate fallback menu title in Nav block menu selector. (47073)
  • Fix duplicate template parts logic overriding existing template part. (47128)
  • Fix post featured image scaling on the front. (46838)
  • Nav offcanvas restore click to edit. (47608)
  • Navigation Block: Avoid showing the contrast checker warning twice. (47205)
  • Navigation Block: Fix warning error when no ref. (47479)
  • Page List: Add extra safety around warnings. (47603)
  • Refactor convert links. (46930)
  • Search Block: Apply border color correctly when button is outside or absent. (47067)
  • Template Parts: Avoid duplicate names on conversion from group of blocks. (47082)
  • [Block Editor - Post Template]: Fix layout styles. (47221)
  • Add an alt attribute to the linked featured image if there is no post title. (46830)
  • Post Template: Add default value for offset. (47308)
  • Parse (area-specific) context in template-part block. (47203)
  • Don't use methods with the 'gutenberg_' prefix. (47649)
  • Navigation: Only show the deleted menu warning if a ref is specified. (47699)
  • [Query Loop]: Guard term addtion when the request hasn't resolved. (47688)

Block Editor

  • Fix Link Control action button visuals. (47306)
  • Fix Link UI incorrect text replacement in Rich Text. (45710)
  • In-between inserter: Fix console error when moving mouse in Firefox. (47168)
  • Remove double edit button in LinkUI. (47454)
  • Template parts and Reusable block: Fix multiple selection overlay styles. (47342)
  • Use tertiary variant on Link Control cancel button. (47313)
  • Add back block editor settings filter. (47558)
  • Backport WP_REST_Pattern_Directory_Controller changes from core. (47409)
  • Block Editor: Move component styles needed for iframes to content styles. (47103)
  • Block Inserter: Correctly apply style to the default inserter. (47166)
  • Block editor: iframe: Fix placeholder colors. (47416)
  • Fix react key error with position controls. (47367)
  • Revert "Navigation List View: Remove empty cell when there is no edit button". (47061)
  • [Block Editor]: Fix onHover errors at BlockPattern. (47466)
  • [Block Editor]: Register the store through registerStore. (47488)
  • Avoid erroring when getQueryArgs processes a malformed URL. (45561)
  • MediaUtils: Move window access to function bodies. (46970)
  • Fix and simplify the Modal dialog close button label. (47540)
  • Fix misaligned layout control icons. (47089)
  • Fix/flex controls bugs. (47533)
  • E2E: Improve multiple block moving test stability. (47423)
  • Fix Post Visibility end-to-end tests. (47520)
  • Fix padding and margin visualizer positioning. (47483)
  • Fix padding and margin visualizer styles. (47139)
  • Pattern Inserter: Fix unintended preview panel display when hovering mouse over pattern. (47693)

Site Editor

  • Allow resizing the sidebar in the site editor using keyboard. (47176)
  • Block Editor: Add inert polyfill to iframe. (47398)
  • Browse mode: Add an H2 inside the sidebar navigation screen title. (47241)
  • Force visual editor in browse mode. (47329)
  • Template Sidebar: Fix list of current template part areas to show nested template parts. (47232)
  • useDisabled hook: Fix problem with not working in iframe. (47459)

Global Styles

  • Don't remove Custom CSS for users with the correct caps. (47062)
  • Fix inline block declaration anti-pattern in global styles UI. (47374)
  • Fix param type in Theme_JSON_Resolver DocBlock. (47385)
  • Hide Custom CSS setting for users without 'edit_css' cap. (46815)

Webfonts

  • Add registered fonts to theme JSON AFTER the child and parent data has been merged. (47290)
  • [Fonts API] Remove local() from @font-face styles. (47254)
  • [Webfonts] Use Core's _deprecated_argument() for deprecating data structures. (47125)

Components

  • Fix tab panel initial tab selection. (47100)
  • InputControl: Avoid uncontrolled to controlled warning. (47250)
  • ColorPalette: Use computed color when css variable is passed to ColorPicker. (47181)
  • Tabs focus: Followup for Windows high contrast. (46647)
  • Support private selectors and actions for stores registered via registry.registerStore() and for sub registries. (47421)

Performance

Block Editor

  • Block Editor: Improve getBlockInsertionPoint memoization. (47489)
  • Block Editor: Improve getPatternsByBlockTypes() selector performance. (47450)
  • Block Editor: Memoize getBlockInsertionPoint selector. (47448)
  • Block Editor: Optimize selected blocks in BlockSettingsMenuControls. (47462)
  • Color Palette: Don't use unstable array reference for fallbacks. (47577)
  • Element: Enable concurrent mode by implementing mount/unmount with createRoot. (46467)
  • Lodash: Refactor away from _.setWith(). (47017)
  • Lodash: Refactor block editor away from _.map(). (47214)
  • Lodash: Deprecate _.map(). (47216)
  • Lodash: Refactor core data away from _.map(). (47189)
  • Log frontend perf results in codehealth. (47442)
  • Perf: Rely on more efficient Map for Priority Queue internal state. (47156)
  • Block Editor: Add a new hook for getting a stable block context object. (47028)
  • Fix crash when the first template-parts is deleted width del key. (47227)

Post Editor

  • Lodash: Refactor HierarchicalTermSelector away from _.unescape(). (47567)
  • Lodash: Refactor PageAttributesParent away from _.unescape(). (47565)
  • Lodash: Refactor away from _.clone(). (47315)
  • Lodash: Refactor editor away from _.map(). (47191)
  • Lodash: Refactor flat term selection away from _.unescape(). (47572)
  • Lodash: Refactor post editor away from _.map(). (47193)

Block Library

  • Lodash: Refactor Categories List block away from _.unescape(). (47561)
  • Lodash: Refactor Tag Cloud block away from _.unescape(). (47562)
  • Lodash: Refactor NavigationLinkEdit away from _.unescape(). (47570)
  • Lodash: Refactor block library away from _.map(). (47215)
  • Lodash: Refactor some _.isEmpty() instances. (47353)
  • Lodash: Refactor blocks away from _.map(). (47188)
  • Lodash: Refactor away from _.unescape(). (47613)
  • Lodash: Refactor components away from _.map(). (47192)

Experiments

  • Introduce ExperimentalBlockEditorProvider. (47319)
  • Sharing private APIs with lock() and unlock(). (46131)
  • Use experiment locking/unlocking system for block interface selector and actions. (47375)
  • WP_HTML_Tag_Processor: Rename attribute_updates to lexical_updates. (47053)
  • Fully remove Navigation Editor screen and associated edit-navigation package. (47055)
  • Tag Processor: Only define classes if they don't already exist. (47434)

Documentation

  • Improve gutenberg release documentation to explain the plugin backporting process. (47372)
  • Quick update to the Gutenberg plugin description. (47432)
  • Fix typo in InspectorControls documentation. (47154)
  • QueryControls: Improve onCategoryChange prop documentation in README. (47452)
  • Refactor Button component to TypeScript. (46997)
  • Release docs: Add some extra clarification that no action is required by the coordinator when publishing packages. (47480)
  • Remove extra locking from Block Editor store. (47550)
  • Theme: Exclude readme from public documentation. (47220
  • Toolbar: Unify Storybook examples under one file, migrate from knobs to controls. (47117)

Code Quality

  • Remove ESLint ignore directive documentation. (47096)
  • Remove lodash mapKeys usage. (47600)

Components

  • ColorListPicker: Refactor to TypeScript. (46358)
  • ColorPalette, BorderControl, GradientPicker: Refine types and logic around single vs multiple palettes. (47384)
  • DropdownMenu: Convert Storybook examples from knobs to controls. (47149)
  • KeyboardShortcuts: Convert to TypeScript. (47429)
  • Notice: Refactor to TypeScript. (47118)
  • NumberControl: Clarify deprecation message about hideHTMLArrows prop. (47370)
  • Refactor QueryControls component to TypeScript. (46721)
  • Remove @storybook/addon-knobs from the repository. (47152)
  • Dropdown: Deprecate position prop, use popoverProps instead. (46865)
  • Fix missing hook deps in distraction free mode. (47611)
  • Sync settings from editor store to block-editor store. (47287)

Site Editor

  • Site Hub: Remove the aria-label from the Edit button. (47343)
  • Use variation as a prop instead of variationProp in the global styles UI. (47455)
  • Update theme.json. (47620)
  • Template Parts: Add unit tests for template part creation functions. (47224)
  • Lock browse mode selectors and actions. (47678)

Block Library

  • Export off canvas editor via experiments package. (47465)
  • Image Editor: Merge context provider into editor component. (47171)
  • Mark "post author name" as stable / no longer experimental. (45008)
  • Navigation: Remove the Gutenberg plugin check. (47579)

Global Styles

  • Change 'get_legacy_theme_supports_for_theme_json' compat dir. (47456)
  • GlobalStyles hooks: Do not smart merge presets in useGlobalSetting. (47415)
  • Move Global Styles APIs to @wordpress/block-editor. (47098)
  • Update Global Styles Controller PHPUnit tests. (47502)

Patterns

  • Update Block Patterns Controller PHPUnit tests. (47569)
  • [Patterns]: Remove bundled patterns. (46450)
  • Move Pattern Directory categories endpoint to compat/6.3. (47486)

Plugin

  • No need to remove the 'gutenberg_enqueue_global_styles_assets' action. (47557)
  • Replace 'should_skip_block_supports_serialization' with the core utility method. (47195)

Block Editor

  • HeightControl: Stabilise the height control component in the block editor package. (47475)
  • Replace registerStore() call with register() in the block-editor store. (47447)
  • Stabilise BlockPreview props. (47231)
  • Update eslint-plugin-jsdoc to support Node 18 and 19. (47490)
  • Fix: Avoid using index as JSX key on offsite navigation editor LinkControlTransforms. (47083)
  • Refactores __ExperimentalOffCanvasEditor to OffCanvasEditor. (47553)
  • Rename __unstableInserterMediaCategories to inserterMediaCategories. (47492)
  • Stabilize the clearBlockSelection editor setting. (47627)
  • [Block Editor]: Stabilize __experimentalGetAllowedBlocks. (47210)
  • [Block Editor]: Stabilize __experimentalGetPatternsByBlockTypes. (47183)
  • URLInput test: Use valid URL value to pass through validation. (47444)

Testing

  • Multi-block selection and rich text test: Wait for expected UI to appear. (47173)
  • ESLint: Enable jest/recommended for tests. (47065)
  • Remove old test now migrated to Playwright. (47247)
  • RichText tests: Don't use JSDOM explicitly, it's set up by environment. (47445)
  • Position Block Support: Add PHP tests. (47626)

Tools

Testing

  • Run PHPUnit jobs across multiple PHP versions. (46510)
  • Add codeowners for Playwright tests. (47136)
  • Add end-to-end tests for 'Import widget area' button. (47131)
  • ESLint: Disable jest rules for storybook playwright. (47141)
  • ESLint: Fix jest/expect-expect violations. (47219)
  • Reset default_comment_status to previous value after post comments form end-to-end test. (47481)
  • Tests: Use real timers where fake timers are unnecessary. (47144)
  • WP_HTML_Tag_Processor: Make get_attribute reflect attribute set via set_attribute, even without updating. (46680)
  • core-data: Refactor tests to use real timers. (47218)
  • test: Add separate mobile experiments file. (47513)
  • Migrate a11y end-to-end tests to Playwright. (46038)
  • Copy failing WP_HTML_Tag_Processor_Bookmark_Test tests from Core. (47720)

Build Tooling

  • Add test for experimental/block-editor-settings-mobile endpoint. (46816)
  • Fix GH action warning by upgrading actions/checkout. (47494)
  • Performance suite: Track Time To First Byte in the front-end. (47037)
  • React Native: Remove duplicate metro packages. (47377)
  • Simplify editor.canvas by removing hasIframe. (46986)
  • Storybook: Update storybook-source-link dep. (47425)
  • The prelint:Php script doesn't work as expected when new dev dependencies get added to composer.json. (45468)
  • end-to-end (cover.test.js): Wait for the height input element. (47294)
  • end-to-end (multi-entity-saving.test.js): Wait for the font size picker controls to appear. (47242)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamziel @afercia @ajlende @andrewserong @annezazu @anton-vlasenko @apeatling @audrasjb @brookewp @carolinan @chad1008 @ciampo @dcalhoun @dmsnell @draganescu @ellatrix @fabiankaegy @felixarntz @flootr @fluiddot @geriux @getdave @glendaviesnz @hellofromtonya @jameskoster @jasmussen @jffng @jorgefilipecosta @jsnajdr @kevin940726 @kienstra @kozer @madhusudhand @Mamaduka @mirka @noisysocks @ntsekouras @ntwb @oandregal @ockham @pbking @renatoagds @richtabor @Rodage @scruffian @SiobhyB @Soean @t-hamano @talldan @tellthemachines @tyxla @welenofsky @WunderBart @youknowriad

Don't miss a new gutenberg release

NewReleases is sending notifications on new releases.