What’s new in Gutenberg 18.0? (27 March)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).


Graphic w/ text: What's new in Gutenberg 18.0

Gutenberg 18.0 has been released and is available for download!

The 180th Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party release comprises a total of 206 closed PRs by 59 contributors and with a record-setting 17 first-time contributors. You’ll find in the release the result of additional Data View work, improvements for featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. and and media+ text blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. . The changelog also lists a ton of bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, performance improvements and about 35 PRs of Documentation updates. 

Table of Contents

Sitewide Color and Typography presets

In addition to Style Variations, the Site view screen is now populated with the controls to set side-wide color and typography choices. This will streamline designers’ workflows.  (59594)

Users can use the Media + Text block in their templates as it now supports the featured image. The design possibilities now opened up beyond a column-bases layout also for single post or page templates. Drop shadow controls expand the design tools for developers, designers and site owner alike. (51491) (59616)

Data Views with improved filters and updated Template index page

The data views screens, which are also prototypes for the future adminadmin (and super admin) list pages, received quite a few intriguing updates. The Templates index page is now very flexible. In addition to the table view, users can now also enable a grid layout with preview cards or a list view that allows for full preview in a three-page window. The list view is available for templates, pages, and template parts. Another enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. is the ability to select multiple criteria for filters. (59610)  (59858) (59792)

Other Notable Highlights

The Grid layout experiments are the next step to consistent responsiveness of posts, pages, and templates.
They are evolving quite a bit. If you haven’t opened them up you might want to start doing so now. This release includes a couple of updates. Blocks can now be grouped as a grid via the transform feature. With Column Start and Row Start controls in the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., the Drag and Drop of blocks around the grid is now possible. (59483) (59853)

Changelog

Full changelog available

Enhancements

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Update method generating plural names. (59881)
  • Expand main content area to viewport when zoomed out. (59512)
  • Update ‘sidebar card’ appearance. (59997)

Data Views

  • Add: Command click to select item on table view. (59563)
  • DataViews: Add AND logic operators to filters. (59953)
  • DataViews: Add default getValue for fields. (59810)
  • DataViews: Implement multiple selection for filters. (59610)
  • DataViews: Make list layout stable. (59858)
  • Pages data view: Update quick-actions. (59551)
  • Reduce visual prominence of primary actions in table data views, and consolidate primary + secondary actions in ellipsis menu. (59128)

Site Editor

  • Patterns: Add a title to the categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. delete flow and increase line height. (59645)
  • Standardize block tools toggle button size to 32px. (59625)
  • Update index page for templates. (59792)
  • [Site Editor]: Move featured image at the top of the inspector controls. (59783)

Block Library

  • Add featured image to Media & Text block. (51491)
  • Social Icons: Update Medium icon. (57073)
  • Table Block: Fixed width table cells on by default. (49672)
  • Update Reddit social icon to latest brand guidelines. (59438)

Components

  • Add typing for date and time typing for TextControl. (59666)
  • Add: Support for menu group to the Dropdown. (59723)
  • Update the line height for components. (60028)

Design Tools

  • Add Box Shadow support for featured image. (59616)
  • Background block supports: Move block support defaults to gutenberg_render_background_support and revert gutenberg_get_background_support_styles. (59889)

Layout

  • Add Column Start and Row Start controls to Grid children. (59483)
  • Allow blocks to be grouped as a Grid. (59853)

Global Styles

  • Remove preset headers. (59504)
  • Try color and typography presets in Site View. (59594)

Block APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Display settings ‘label’ defined by the ‘register_setting’ method. (59243)

Rich Text

  • RichText: Add non-breaking space shortcut on Windows. (43150)

New APIs

  • Support the PluginDocumentSettingPanel slot in the site editor. (59985)
  • Add pre 6.5 compat for viewStyles. (59322)

Bug Fixes

Block Library

  • Add filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for duotone to account for gutenberg_restore_image_outer_container in classic themes. (59764)
  • Add richText identifier to blocks. (59056)
  • Close navigation link ui on escape. (59838)
  • Code block: Preserve newlines. (59627)
  • Do not focus new navigation block menu until loading is finished. (59801)
  • File: Add center alignment editor class for classic themes. (59975)
  • Fix create menu after menu switch. (59630)
  • Fix image layout shift from placeholder to selected placeholder. (59857)
  • Fix overlay issue when empty featured image is used in Cover Block. (59855)
  • Media & Text: Remove the duplicate Media width control. (59776)
  • Prevent default on primary+k to prevent command center from opening on navigation link. (59845)
  • Quote: Show as active when deeply nested child block is selected. (59662)
  • RichText: Document the identifier prop. (60036)
  • Social icons: Only render label container when there’s a label. (60060)
  • Template Parts: Fix typo in translatable string. (59816)
  • Ensure consistent return type in WP_Navigation_Block_Renderer::Get_markup_for_inner_block(). (59820)
  • Return early from saving metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data for the navigation without a $post->ID. (59875)
  • Fix root ID calculation when check if block can be transformed. (60167)
  • Featured Image: Fix overlay rendering in the editor. (60187)
  • Fix self closing navigation overlay. (60130)
  • Navigation: Avoid content loss when only specific entity fields are edited. (60071)

Font Library

  • Avoid auto-removing font families without font faces. (59910)
  • Ensure that errors reported from uploading font files are not duplicated. (59564)
  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. errors when activating or deactivating system fonts. (59935)
  • Fix typo in upload text. (59655)
  • Polish Google Fonts consent box. (59631)
  • Refactors the upload handler in order to check if files being uploaded are valid font files. (59648)
  • Reset notices when navigating away from the collection. (59981)
  • Activate the fonts coming from the backend and not the data from the frontend. (60093)
  • Install fonts in sequence to work around race condition. (60180)

Interactivity API

  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. fixes from Core. (59903)
  • Fix interactivity api end-to-end tests. (59836)
  • Interactivity: Ensure stores are initialized on client. (59842)
  • Interactivity: Restore scope when yielded promise rejects. (59708)
  • Prevent non-object state from being added. (59886)
  • Re-introduce data_wp_context() with _deprecated_function() call. (59834)

Site Editor

  • Don’t display welcome guide in hybrid theme. (55865)
  • Editor: Fix loading templates using a top level pattern block that includes a template part. (59900)
  • Fix opening of save panel when using the save shortcut. (59647)
  • Fix selected featured image when opening media library. (59769)
  • Make the delete navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. confirm dialogs consistent. (59825)
  • Restore the back button when navigating to the template from the home page. (59639)

Block Editor

  • Fix allow mouse users to edit link text when Link UIUI User interface is active. (59635)
  • Fix crash when unmounting an editor iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (59992)
  • Handle when attributes param passed into hasStickyOrFixedPositionValue is nullish. (59800)
  • List view: Fix stuck moving animation on Enter. (59644)
  • Shadow support enable skip serialization for dynamic blocks. (59887)
  • FlatTermSelector: Invalidate optimistic update if term creation fails. (59945)

Global Styles

  • Fix retrieval of referenced preset values in editor. (59811)
  • Global Syles: Apply fallback background color to typography elements. (59347)
  • Presets: Show the default empty variation as well as the other presets. (59717)
  • Remove filter for same number of settings. (59590)
  • Site editor: Find font families for typography presets crashes editor. (59806)
  • Force root min-height of 100% for backgrounds. (59809)
  • Featured Image: Fix block support selectors after shadow support addition. (60184)
  • Fix list of base theme fonts when a theme variation is applied.. (59959)

Patterns

  • Add pattern title in create modal in post editor. (59550)
  • Implement pattern overrides behind IS_GUTENBERG_PLUGIN flag. (59702)
  • Pattern Explorer: Pass ‘rootClientId’ to the pattern list. (60014)
  • Pattern Shuffling: Don’t assume that patterns have categories. (60070)

Data Views

  • Ensure the ‘select all’ checkbox appears on hover. (59799)
  • Fix: Regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.: Default templates and template parts views do not work. (59794)
  • Ignore cmd-click when row not selectable. (59697)
  • [DataViews]: Fix item actions. (59748)

Components

  • DateTimePicker: Change day button size back from 32px to 28px. (59990)
  • Fix unwanted ToggleGroupControl backdrop vertical animation. (59642)
  • PaletteEdit: Fix order numbers. (52212)

Layout

  • Experiments: Fix label typo: “Grid interactivity”. (59796)
  • Show inherit toggle in the absence of settings.layout object. (59580)
  • Use correct layout type to display controls. (59979)

List View

  • Block Bindings: Remove Block Bindings icon from List View, fixes and CSSCSS Cascading Style Sheets. updates. (59477)
  • Heading Block: Show default block name in list view when content is empty. (59827)
  • Blocks: getBlockLabel: Use RichTextData.toPlainText if available. (58524)

Data Layer

  • Fix getEntityRecordsTotalPages when per_page is not provided. (59983)

Icons

  • Fix return icon viewbox. (59669)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Add tooltip to several Back buttons. (59760)
  • Make save panel a dialog with proper labels, fix site editor focus loss after save. (59622)
  • Fix labeling of the navigation links in the list view. (59370)

Documentation

  • Block JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema: Add layout.allowCustomContentAndWideSize field. (59736)
  • Components: Fix headline hierarchy in README. (59726)
  • Components: Hide private READMEs from handbook. (60003)
  • Dataviews: Improve story. (59773)
  • Docs/fix typo in metadata reference guide. (59577)
  • Docs/fix typos and clarify wording in blocks supports guide. (59721)
  • Docs/fix typos in block context. (59575)
  • Docs/fix typos in block registration guide. (59720)
  • Docs/fix typos in block supports. (59919)
  • Docs/fix typos in edit and save reference guide. (59576)
  • Docs: Flex – Fix headline hierarchy. (59686)
  • Docs: List all minor versions on Versions in WordPress page. (58003)
  • Docs: Remove alert callout on block selectors page. (60020)
  • Docs: Update Interactivity API package readme. (59763)
  • Fix broken links in Interactivity API documentation. (59715)
  • Fix sample code on InputControl documentation. (59517)
  • Fix typo in platform-docs. (60042)
  • Fix: Invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. links to getting started with JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.. (59927)
  • Fixes pseudo code doc block to use real PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (60012)
  • HeadingLevelDropdown: Fix JSDoc and documentation. (59727)
  • Improve Gutenberg platform documentation homepage. (59749)
  • InputControl: Make onChange observable in Storybook. (60055)
  • Interactivity API Docs: Clarify that getElement()’s ref can be null. (59868)
  • Platform Docs: Fix JSX error. (59967)
  • Plugin short description less than 150 characters. (59661)
  • RadioControl: Update deprecated suggestion in readme. (60002)
  • Replace screenshots of Radio Control. (60024)
  • Replace “sidebar” with “panel” in README.md. (59664)
  • Update GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ edit URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in docusaurus.config.js. (59969)
  • Update ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. documentation links for forms. (59657)
  • Update api-reference – data-bind–hidden is an incorrrect attribute – should be data-wp-bind–hidden. (59955)
  • Update block supports documentation for WordPress 6.5. (59862)
  • Update dependency-extraction-webpack-plugin documentation. (59973)
  • docs: Fix syntax in block filters example. (59636)
  • theme.json schema: Add settings.color.caption definition. (60017)

Code Quality

  • Add $schema to tsconfig files. (59861)
  • Added @global to PHP documentation Comments. (59725)
  • Consolidate template actions components. (59586)
  • Core Data: Clarify comments for entities’ plural methods. (59946)
  • Fix Code Standards for RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 2 release. (59774)
  • Fix typo in Dataviews and Font Collection packages. (59656)
  • Fix: Typo correction tff to ttf. (59665)
  • Global styles utils: Remove unused vars. (59805)
  • Refactor zoom-out iframe scale. (59618)
  • Refine include/exclude patterns in phpcs.xml.dist. (59712)
  • Typography Presets: Use && rather to avoid a messy nested conditional. (59920)
  • synchronizeBlocksWithTemplate: Extract common functions. (59682)

Block Editor

  • Block tree reducer: Avoid nested update for insertUsage. (59681)
  • Block tree reducer: Avoid repetitive Map.get. (59672)
  • BlockSettingsDropdown: No need to cast ‘clientIds’ to an array. (59940)
  • BlockSettingsMenuControls: Remove ‘__unstableDisplayLocation’ prop. (59942)
  • Don’t memoize callbacks in ‘BlockSettingsDropdown’. (59397)
  • Link dialog: Remove CSS hack. (59746)
  • Pattern Explorer: Remove leftover source filter state handlers. (60019)
  • Fix code formatting in Nav block view file. (60162)

Components

  • Button : Deprecate isSmall prop. (59734)
  • Button: Keep deprecated props in type definitions. (59913)
  • Replace isSmall prop with size in NavigationMenuSelector. (59667)
  • Replace isSmall prop #53560. (59302)
  • TextareaControl: Remove extra closing curly brace in inputStyleNeutral. (59744)
  • Update Snapshots for line height. (60041)

Block Library

  • Add explanatory comment to Nav Link block fix for Command Center. (59864)
  • Enforce @SInCE tags in block-library/src//.php files. (59700)
  • Refactor Enter keypress on Nav Link. (59848)
  • Update Nav block permissions variable naming accuracy. (59882)

Global Styles

  • Fetch the variations inside the component. (59588)
  • Theme JSON: Remove unused vars in layout class. (59938)
  • Use the preivew iframe to preview typography for consistency. (59587)
  • Background block supports: Move size defaults to hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. and block.json. (60008)

Plugin

  • Remove unnecessary ‘IS_GUTENBERG_PLUGIN’ check in ‘load.php’. (59873)
  • Update PHP Sync Issue generation script to ignore PRs with given labels. (59549)

Data Views

  • Update: Dataviews do not use strings on isCustom props passed down. (59609)
  • [Data Views]: Remove separator in item actions. (59822)

Data Layer

  • Data: Deprecate the getIsResolving selector. (59679)

Tools

Build Tooling

  • Add inline comment denoting version for Ruby setup. (59640)
  • Build: Dedupe packages. (57800)
  • GitHub Actions: Fix PHP file change detection logic. (59653)
  • Improve likelihood of Cherry Picking script including all PRs. (59871)
  • Interactive template: Use wp_interactivity_data_wp_context function. (59995)
  • Test: Dynamically detect and set max-workers. (59904)
  • Update docusaurus to the latest version. (59866)

Testing

  • Remove @kevin940726 and @Mamaduka from end-to-end test codeowners. (60067)
  • Upgrade Playwright to v1.42. (59339)
  • Use viewScriptModule block.json field for interactivity end-to-end tests. (59705)
  • end-to-end theme switch: Match incoming theme slug, then optional folder. (59851)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @afragen @ajlende @alexstine @andrewfleming @anton-vlasenko @artemiomorales @bacoords @c4rl0sbr4v0 @carolinan @chrisbellboy @colinduwe @creativecoder @DAreRodz @dcalhoun @draganescu @ellatrix @enejb @enodekciw @flexseth @fluiddot @gaambo @georgestephanis @geriux @getdave @huzaifaalmesbah @inc2734 @J0n-92 @jaclync @jameskoster @jasmussen @Jayanth-Parthsarathy @jeryj @jorgefilipecosta @jsnajdr @kevin940726 @krokodok @luislard @Mamaduka @matiasbenedetto @mattsherman @mcsf @megane9988 @michalczaplinski @mirka @mujuonly @mzahir @ndiego @noisysocks @ntsekouras @oandregal @pbking @ramonjd @rcoll @SahilThakur02 @Sam-Xronn @scruffian @shail-mehta @SiobhyB @sirreal @Soean @Strangehill @sunil25393 @swissspidy @t-hamano @talldan @tellthemachines @TeresaGobble @tjcafferkey @tomepajk @tyxla @vcanales @youknowriad

Props to @greenshady for review, @annezazu for highlights selection ,and @joen for the visuals in this post.

#gutenberg

What’s new in Gutenberg 17.9 (13 March)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg.

Text displaying: "What's new in Gutenberg 17.9?"

Gutenberg 17.9 has been released and is available for download!

As with Gutenberg 17.8, many contributors are still focused on polishing for the upcoming WordPress 6.5 release, so this Gutenberg release continues to prioritize stability and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. Enhancements and new features are highlighted below.

As a reminder, with WordPress 6.5 now in the RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). phase, bug fixes from the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party are backported for inclusion in 6.5 as needed. However, new features in Gutenberg 17.9 will not be included in WordPress 6.5.

Color and typography presets in Global Styles

Screenshot of colors and typography panels in global styles, with preset buttons available.

Color and typography presets that are defined in theme variations are now exposed within the color and typography sections of Global Styles. This new feature allows users to mix and match color presets or typography from different variations, offering greater flexibility for designs from a given theme. (56622)

Indenting List blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. items via the tab key

The List block now supports indenting and outdenting when the selection is at the beginning of the List item. This improves the usability of the List block by allowing indenting via the keyboard, while still preserving existing tabbing behavior in the editor canvas when the selection is elsewhere within the block. (59199)

Shuffle option when choosing patterns

When a pattern is inserted and has categories defined, and where the pattern contains a single top-level block such as a Group block, a shuffle button is exposed in the block toolbar that allows a user to cycle through random patterns. This makes it easier to quickly browse through a variety of available patterns in specific scenarios. (59251)

Swap Template Parts in the Inspector

Screenshot of replace flow for template parts in the block inspector controls.

When selecting a Template Part in the site editor, the replace flow is now more discoverable with previews of alternate Template Parts available to select from the block inspector controls. This allows for a more at-a-glance approach to browsing different options for swapping out headers and footers. (55128)

Other Notable Highlights

  • Background images can now be set in the root of theme.json to provide site-wide background images (59354). There is currently no UIUI User interface for it in Global Styles, and this will be explored in future releases.
  • For container blocks that use allowedBlocks, insert before and after actions are now supported on child blocks (59162).
  • Use drag handles to set row and column span and see a dotted outline of block placement when the new “Grid interactivity” experiment is enabled (59052).

Changelog

Full changelog available

Enhancements

Data Views

  • Apply hover styles to filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. chip while being configured. (59236)
  • Display all checkboxes when a single item is selected. (59233)
  • Pages data view: Make ‘View’ button open a new tab. (59554)
  • Reposition pattern detail icon. (59363)
  • Update ‘Add filter’ button in data views. (59433)
  • Update empty/loading states. (59437)
  • Update filter control position. (59231)
  • Update page selector appearance. (59284)
  • Update pages dataview icons, add ‘drafts’ icon. (59285)
  • Update sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. titles for Template and Page management data views. (59011)

Global Styles

  • Add background image to top-level theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. styles. (59354)
  • Add color and typography presets to Global Styles. (56622)
  • Create a shared component for typography previews. (59503)
  • Enqueue block custom CSSCSS Cascading Style Sheets. only when block renders on the page. (58991)
  • Style Book: Should persist when browsing global styles panels. (59261)

Block Library

  • Introduce the ‘useUploadMediaFromBlobURL’ utility hook. (59350)
  • Remove redundant copy from PanelBody titles. (59278)
  • Template Parts: Add a replace flow to the inspector controls. (55128)

Site Editor

  • Block Theme Previews: Remove “Looking for Template Parts?” hint. (59092)
  • Remove the site editor sidebar navigation edit button. (59335)
  • Scale the zoomed out mode to fit available space. (59342)
  • View full zoomed out mode canvas while inserting patterns. (59337)
  • Add: Shuffle button in zoom out mode. (59573)

Font Library

  • Add option to revoke access to Google Fonts. (59205)
  • Make font collection fields translatable. (59256)
  • Update the spacing in the font collection panel. (59357)

Post Editor

  • Editor: Standardize headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. button size to 32px. (58532)
  • Tweak: Sidebar categories panel. (59495)

Patterns

  • Add Shuffle option to sections via pattern categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (59251)
  • Use block naming for marking blocks as overridable in patterns. (59268)

Components

  • Storybook: Add mechanism to redirect moved stories. (59181)

Nested / Inner Blocks

  • InnerBlocks: Support insert before/after block actions when using allowedBlocks. (59162)

Plugin

  • Update cherry pick script to add Backported to WP Core label for backports. (58970)

Bug Fixes

Block Library

  • Columns: Correctly recalculate column widths when the column count is increased by more than 2 at once. (59301)
  • Group: Fix alignment of Group block placeholder text. (59271)
  • Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Don’t show publicly non-queryable taxonomies. (59458)
  • Image: Remove scrolling of empty image blocks. (59305)
  • Search: Use font size for search icon. (59159)
  • Site Logo: Update URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for site icon settings with fallback for WP coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. versions earlier than 6.5. (59485)
  • Site Logo: Update capitalization of Use as Site Icon toggle. (59383)
  • Title & Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Hide non content controls when block editing mode is ‘contentOnly’. (59295)

Font Library

  • Avoid creating font families without font faces. (59436)
  • Avoid loading theme fonts twice and assume they were already resolved by the font face resolver. (59421)
  • Changed installFont to installFonts so that multiple font families can be installed at once. (59451)
  • Fixed the font family modal to open in state when a font is already selected. (59379)
  • Font collection pagination: Add min height to avoid infinite number. (59241)
  • Hide UI elements when user lacks permissions. (59332)
  • Load/Unload the font face in browser when toggling the variants. (59066)
  • Use SearchControl component for search input. (59589)

Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Fix navigate() issues related to initial state merges. (57134)
  • Fix context object proxy references. (59553)
  • Improve context merges using proxies. (59187)
  • Navigation: Add missing empty space to print out valid HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (59255)
  • Prevent unwanted subscriptions to inherited context props. (59273)
  • Rename data_wp_context function. (59465)

Components

  • Button: Fix focus outline in disabled primary variant. (59391)
  • Button: Place children before the icon when iconPosition is “right”. (59489)
  • Fix tooltip font. (59307)
  • HStack, VStack: Stop passing invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. props. (59416)
  • URLPopover: Restore min-width style. (59274)

Block Editor

  • Fix Navigation link control overlapping issue. (59065)
  • Fix: Re-render toolbar when parent block changes. (59234)
  • List: Copy wrapper when multi selecting items. (59460)
  • Refactor: UseBlockTools hook. (58979)
  • Rich text: Fix typing into empty flex element. (59473)
  • URLPopover: Fix a problem with the layout of link settings. (58906)
  • Fix issue with appender jumping when creating a new pattern. (59582)
  • Allow event bubbling even if keydown is passed. (59474)

Custom Fields

  • Block Bindings: Fix console error when selecting a bound block. (59598)
  • Change default “Connected to a custom fieldCustom Field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes.” message in bindings. (59434)
  • Fix inserting button block when pressing enter in a block with bound text attribute. (59361)
  • Fix query loop with block bindings not working in the editor as expected. (59283)

Data Views

  • DataViews: Don’t use combobox when there are few available options. (59341)
  • DataViews: Set color for primary field/a element when focused. (58814)
  • Dataviews: Fix sticky table headers. (59467)

Site Editor

  • Ensure ResizableFrame does not force Cover blocks within the editor to show drag handles. (59262)
  • Iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.: Scale html instead of iframe element for zoomed out mode. (59334)
  • Zoom out mode: Only apply grey background for mode. (59377)
  • Site Editor: Fix Global Styles outdated output. (59628)
  • Fix site editor crashing when not fully loaded. (59658)

Global Styles

  • Dynamically set border panel label based on the controls available. (59358)
  • Shadow: Fix layout collapse when indicator is selected. (59309)
  • Theme JSON: Check for null values to cater for blockGap. (59258)
  • Remove the extra unneeded color variations panel. (59718)

Post Editor

  • Command Palette: Prevent mode switching if only one editor mode is available. (59299)
  • Editor: Fix post type check in isEditingTemplate selector. (59105)
  • Top Toolbar: Fix ‘collapsed’ state synchronization. (59267)

Block hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

  • Display toggle for hooked blocks added via filter. (59396)
  • Navigation Block: Fix erroneous escaping of ampersands. (59561)

Patterns

  • Disable image caption if part of synced pattern. (58916)
  • Disable selection checkbox if no bulk actions are eligible. (58950)

Block bindings

  • Fix Enter on disabled rich text. (59320)

Page Content Focus

  • Fix DisableNonPageContentBlocks behavior. (59297)

Design Tools

  • Cover block: Clear aspect ratio value when toggling full height. (59296)
  • Disable core shadow presets by default, let themes opt-in. (58766)

Layout

  • Fix MarginVisualizer and PaddingVisualizer. (59227)

Block Conversion

  • Preserve bindings metadata in block transforms. (59179)

Typography

  • Fluid typography: Pass theme.json settings to override merged theme data. (58362)

Data Layer

  • Ignore HTML Elements in ReduxDevTools. (57497)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Data Views

  • Conditionally display filter reset button. (59432)
  • Use aria-disabled on disabled checkboxes and add tooltips. (59364)

Design Tools

  • Shadows: Improve accessibility of shadows dropdown. (58828)

Block Editor

  • Fix canvas iframe button accessibility and silent tab stops. (59317)
  • Fix: Disable ‘Open save panel’ when there are no changes to save, while navigating with keyboard. (59543)

Block Library

  • List block: Allow tab to indent/outdent at selection start. (59199)

Custom Fields

  • Add visual indicator if a block is connected to block binding source. (59185)

Performance

Block Editor

  • Block Bindings: Do not use useSource hook conditionally. (59403)
  • Block Preview: Optimize default additional styles. (59556)

Experiments

Layout

  • Add Grid interactivity experiment to allow canvas interaction with grid layout. (59052)

Components

  • Tabs: Rename initialTabId prop to defaultTabId. (59035)

Font Library

  • Fix infinite loop when calling wp_get_upload_dir in a function that’s used to filter font_dir. (58839)

Documentation

  • Add hyperlink to media-upload documentation. (57170)
  • Add title and link for data-wp-each-child. (59505)
  • Adds import statement to code usage example. (59327)
  • Core Block Reference: Add allowedBlocks field. (59424)
  • Core Block Reference: Add ancestor status and refactor generation logic. (59390)
  • Create block interactivity: Fix minimum versions. (59375)
  • Docs: Fix typo in Tutorial. (59581)
  • Docs: Fix typo in blocks attributes guide. (59571)
  • Docs: Remove TOC, update formatting, and fix grammar in Interactivity API reference. (59406)
  • Fix @wordpress/interactivity module ID in documentation. (59419)
  • Fix: Multi line comment format on footnotes block. (59312)
  • Format PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher inline comments correctly. (59452)
  • Interactivity API Docs: Add async actions documentation. (59401)
  • Interactivity API Docs: Add initial version of getContext and getElement. (59293)
  • Interactivity API Docs: Add server functions documentation. (59373)
  • Interactivity API Docs: Add withScope description. (59542)
  • Interactivity API Docs: Fix code not closing. (59395)
  • Interactivity API Docs: Update image with WordPress Make Core source. (59281)
  • Interactivity API Docs: Merge Interactivity documentation to keep consistency with other packages. (59270)
  • Fix comma in block-registration.md. (57248)
  • Update Gutenberg versions in WP for 6.5. (59446)
  • theme.json schema: Fix styles.background definition. (59595)
  • theme.json schema: Update appearanceTools description. (59499)

Code Quality

  • Add @global to PHP doc comments. (59522 and 59287)
  • ESLint: Enable react/jsx-boolean-value for the Gutenberg codebase and fix. (59557)
  • Editor: Remove MoreDropdownMenuComponent. (59096)
  • Interface: Remove unused MoreMenuFeatureToggle component. (59095)
  • Remove old templates list code. (59558)
  • Replace Navigator isSmall prop. (59304)
  • Theme JSON Tests: Refactor base styles to a static variable. (58975)
  • Update: Simplify code and use capture events instead of pointer-events hack. (59565)
  • l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales.: Unify terminology to screen size. (59456)

Block Library

  • BlockPopover: Remove __unstableCoverTarget and __unstableRefreshSize in favour of BlockPopoverCover. (59228)
  • Blocks: Refactor deletion warnings dialog. (58952)
  • Navigation Block: Remove unnecessary @param annotation. (59559)
  • Site Title Block: Rename and move edit file. (56357)

Font Library

  • Replace deprecated isSmall prop with size="small" prop. (59530)
  • Update font collection JSON schema to accommodate the changes made in wp_register_font_collection. (59314)
  • Use NavigatorProvider in Font Library Modal. (59036)

Components

  • CustomSelectControlV2: Remove legacy adapter layer. (59420)
  • Remove unused useLatestRef() hook. (59471)
  • SnackbarList, Snackbar: Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (59157)

Global Styles

  • Create a style preview component. (59498)
  • Global styles variations: Refactor directory structure. (59491)

Post Editor

  • Editor: Use hooks instead of HoCs in DocumentOutline. (59209)
  • EditorInitialization: Fix ESLint warnings for internal hooks. (59118)

Block Editor

  • getDirectInsertBlock: Remove ‘directInsert’ as a callback handler. (59172)
  • mergeBlocks: Remove unused MERGE_BLOCKS action. (59125)

Typography

  • Remove Gutenberg font face tests. (59402)

Site Editor

  • Global styles: Rename typography elements file. (59355)

Synced Patterns

  • Remove unneeded pattern overrides translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (59269)
  • Revert removal of Nav fallback auto embed. (59220)

Tools

Testing

  • Add a fixture for the wp/block pattern block current version with overrides. (59492)
  • E2E: Refactor setup method to support class inheritance in RequestUtils. (59362)
  • Migrate ‘autosave’ end-to-end tests to Playwright. (58171)
  • Playwright: Pass the payload to createPost in data instead of query params to avoid URI too long errors. (59463)
  • Restore patterns end-to-end tests. (59024)
  • Rich text: Run end-to-end tests in Firefox and Webkit. (56030)
  • Writing flow: Add multi select end-to-end test for firefox and webkit. (53513)

Build Tooling

  • Project: Update the ‘.git-blame-ignore-revs’ list. (59615)

Security

Custom Fields

  • Block Bindings: Don’t show protected fields that are bound to blocks. (59326)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@afercia @ajlende @alanjacobmathew @andrewserong @annezazu @arthur791004 @bacoords @c4rl0sbr4v0 @carolinan @chad1008 @creativecoder @DAreRodz @dcalhoun @desrosj @draganescu @ellatrix @fluiddot @getdave @glendaviesnz @huzaifaalmesbah @inc2734 @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanfra @kevin940726 @madhusudhand @Mamaduka @matiasbenedetto @mattgrshaw @michalczaplinski @mikachan @mirka @ndiego @noisysocks @ntsekouras @oandregal @ockham @peterwilsoncc @pbking @ramonjd @retrofox @samueljseay @SantosGuillamot @scruffian @shail-mehta @SiobhyB @sirreal @sunil25393 @t-hamano @talldan @tellthemachines @TeresaGobble @torounit @tyxla @WunderBart @youknowriad

Props to @joen for visual assets and to @annezazu and @aaronrobertshaw for reviewing this post before publishing.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

A Week in Core – January 15, 2024

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between January 8 and January 15, 2024.

  • 37 commits
  • 64 contributors
  • 51 tickets created
  • 6 tickets reopened
  • 58 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Improve color contrast of the Copy buttons success message – #60140
  • Introduce new_admin_email_subject filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.#59250
  • Remove invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. attribute maxlength on number input – #40610

Bundled Themes

  • Add missing text domain to various blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. patterns. – #60245
  • Twenty Seventeen: Fix wrong text-domain introduced in [57281]#60245
  • Twenty Seventeen: Revert usage of str_contains() in theme files – #60241
  • Twenty Twenty-One: Revert usage of str_contains() in theme files – #60241
  • Twenty Twenty: Revert usage of str_contains() in theme files – #60241

Comments

  • Use post_password_required() for comment capability checks – #59929

Customize

  • Correct a typo in a console warning message – #60222

Docs

  • Add a mention of appearance-tools as a possible value for add_theme_support()#60118
  • Correct some typos in docblocks and inline comments – #60069, #59651
  • Fix wrong inline comment in delete_theme()#60246, #59651
  • Improve wp_admin_notice() function docblockdocblock (phpdoc, xref, inline docs)#59887

Editor

  • Allow default duotone styles if not explicitly disabled in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.#60136
  • Clarify single post and page template descriptions – #60216
  • add CSSCSS Cascading Style Sheets. var parsing for fontSize and fontFamily – #59982
  • add size and repeat to background image support – #60175
  • fix inline comment formatting – #60134
  • output palette presets when appearance tools or border are enabled – #60134
  • update npm packages in trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. for 6.4.3 – #59943, #59943

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Add support for list elements – #60215

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Cache list of language file paths in WP_Textdomain_Registry#58919

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

  • Add new Modules API – #56313

Media

  • Fix handling of multibyte exif description metadata – #58082
  • Fix inaccurate docs for wp_attachment_is()#59698

Modules API

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Check for empty term after DB sanitization in wp_insert_term()#59995

Tests

  • Add hook priority call order tests – #60193
  • Correct the @group annotation in some tests – #59647
  • Fix tests following r57265#60216
  • Move wp_parse_list() tests to their own file – #59647
  • Remove some leftover debugging in WP_REST_Revisions_Controller tests – #59875

Themes

  • Add theme support for appearance tools – #60118

Upgrade/Install

  • Check theme compatibility during bulk upgrades – #59758

Upgrade/Install

  • Fix JavaScript localization on install page – #58696

Users

  • Remove periods in checkbox labels for consistency – #43814

Props

Thanks to the 64 people who contributed to WordPress Core on Trac: @mukesh27 (7), @joedolson (5), @andrewserong (5), @poena (4), @sabernhardt (3), @swissspidy (2), @costdev (2), @audrasjb (2), @wildworks (2), @jonsurrell (2), @mikachan (2), @benniledl (2), @Presskopp (2), @noisysocks (2), @mreishus (1), @NekoJonez (1), @jornp (1), @MadtownLems (1), @johnbillion (1), @alexanderkoledov (1), @shooper (1), @Marc_J (1), @nikmeyer (1), @xlthlx (1), @devmuhib (1), @nuhel (1), @shailu25 (1), @tmatsuur (1), @pratikthink (1), @nirav7707 (1), @Arena94 (1), @afercia (1), @luisherranz (1), @idad5 (1), @neffff (1), @joemcgill (1), @jorbin (1), @flixos90 (1), @gziolo (1), @westonruter (1), @fotodrachen (1), @antpb (1), @mikinc860 (1), @azaozz (1), @nicolefurlan (1), @bernhard-reiter (1), @jayadevankbh (1), @alexstine (1), @isabel_brison (1), @czapla (1), @andraganescu (1), @joen (1), @ellatrix (1), @youknowriad (1), @ntsekouras (1), @hellofromTonya (1), @dd32 (1), @valendesigns (1), @drrobotnik (1), @ramonopoly (1), @salcode (1), @lakshmananphp (1), @fgiannar (1), and @kraftbj (1).

Congrats and welcome to our 8 new contributors of the week: @benniledl, @alexanderkoledov, @Marc_J, @nikmeyer, @xlthlx, @idad5, @fotodrachen, @jayadevankbh ♥️

Core committers: @sergeybiryukov (10), @isabel_brison (6), @audrasjb (5), @joedolson (5), @swissspidy (2), @bernhard-reiter (2), @costdev (2), @jorbin (2), @afercia (1), @dmsnell (1), and @hellofromtonya (1).

#6-5, #core, #week-in-core

What’s new in Gutenberg 17.1 (22 November)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).

Gutenberg 17.1 has been released and is available for download!

The latest release includes several new enhancements, loads of bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and continued work on Phase 3 features.

  1. Improvements to accessibility and writing flow
  2. Design tools: block spacing for Quote block
  3. Other notable highlights
  4. Changelog
  5. First-time contributors
  6. Full contributor list

Improvements to accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and writing flow

There are a few improvements that contribute to a better editing experience:

  • The Image and Media&Text blocks properly show the pressed state for the link button in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. toolbar (56123).
  • The buttons block now mimicks the list behavior: enter twice on the last button goes to the next line (56134).
  • New keyboard shortcut in the list view (CMD+A on Mac, CTRL+A on Windows) to select all blocks (54899).
Video showing how media blocks now show a toggled link button when linked, pressing Enter twice in the buttons block to escape it, and pressing CMD+A successively to expand the selection range.

Design tools: block spacing for Quote block

The Quote block has gained support for layout and so it’s now possible to control the spacing of its inner blocks (56064).

New block spacing control in the quote block.

Other notable highlights

  • Escape on Block Toolbar returns focus to Editor Canvas (55712).
  • Continue polishing the global styles revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: return the user to the editor and global styles panel after a revision is applied (55881), improve copy text (55868), load unsaved revision in the preview (55880).
  • Patterns: in the front-end, they show embeds (55979), and the site editor’s pattern page now shows theme patterns specified in theme.json (55877).

Changelog

See full changelog.

Enhancements

Block Library

  • Navigation block: Fix Inaccurate description of the Show icon button setting. (55429)
  • Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Add accessibility markup at the end of the loop in all cases. (55890)
  • Template Part: Add fallback to the current theme when not provided. (55965)
  • Update components to use __next40pxDefaultSize. (56022)

Components

  • Tabs: Improve focus behavior. (55287)
  • Tabs: Update subcomponents to accept full HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element props. (55860)
  • TextControl: Add opt-in prop for 40px default size. (55471)
  • ToggleGroupControl: Add opt-in prop for 40px default size. (55789)

Patterns

  • Move “Manage patterns” below “Detach pattern”. (56018)
  • Show theme patterns from directory in site editor. (55877)

Global Styles

  • Global Style Revisions: Ensure consistent back button behaviour. (55881)
  • Global Styles Revisions: More descriptive text timeline. (55868)
  • Global styles revisions: Add route for single styles revisions. (55827)

Block Locking

  • Block Quick Navigation: Truncate text. (56142)

Block Editor

  • Button block: Support double enter to skip to default block. (56134)

Design Tools

  • Add block gap support to Quote block. (56064)

Post Editor

  • “Detach” text change in template options. (55870)

Site Editor

  • Site editor: Add edit page slug field. (55767)

Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Server directive processing: Process only root blocks. (55739)

Block settings menu

  • Remove the extraneous template part title in replace control. (55603)

List View

  • Add keyboard shortcut to select all blocks. (54899)

New APIs

  • Download blob: Remove downloadjs dependency. (56024)

Bug Fixes

Block Library

  • Background Image Support: Hide the background image reset button when there’s no image. (55973)
  • Background image support: Fix focus loss when resetting background image. (55984)
  • Custom Link: Decode value in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input field. (55549)
  • Fix lightbox trigger styles. (55859)
  • Form block: Use type="submit" for buttons. (55690)
  • Image block: Add check for lightbox values during image block migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.. (56057)
  • Image block: Don’t show pointer cursor on linked image in the editor. (55882)
  • Lightbox: Fix button misalignment in gallery image. (56060)
  • Lightbox: Fix close button position. (56125)
  • Missing block: Use raw source for originalContent. (56014)
  • Navigation Link block: Register variations on post type / taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. registration. (54801)
  • Pattern: Fix regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. error in post type templates. (55858)
  • Pattern: Process embeds. (55979)
  • Post feature image block: Wrap images with hrefs in an A tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.). (55498)
  • Quote Block: Fix the Quote block layout supports. (55240)
  • Read More block: Reduce text decoration specificity. (56038)

Data Views

  • DataViews: Add missing key to ResetFilters component. (56189)
  • DataViews: Fix issue with irrelevant statuses. (55967)
  • DataViews: Fix nested button tags on sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (56089)
  • DataViews: Fix pagination on manual input. (55940)
  • DataViews: Fix spacing issue in top-level bar. (56151)
  • DataViews: Fix status filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. upon switching the default views from the sidebar. (55856)
  • DataViews: Make items per page an even number. (55906)
  • DataViews: Make used taxonomy private. (55918)
  • DataViews: Reset pagination upon filter change. (55797)
  • Dataviews: Add a missing icon for the side by side view. (55925)

Components

  • DropdownMenu: Remove extra vertical space around the toggle button. (56136)
  • DropdownMenuV2: Prevent default on Escape key presses. (55962)
  • DropdownMenuV2: Use the Icon component to render radio checks. (55964)

Typography

  • Fix fatal error in WP_Fonts_Resolver::Get_settings(). (55981)
  • Font Library: Create fonts dir if a font face needs to use the filesystem. (56120)
  • Font Library: Fix font installation failure. (55893)

Block Editor

  • Iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.: Bubble events from html element instead of body element to fix drag chip positioning. (56099)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Handling correctly when uploading a file without mime type. (56133)
  • Block Editor: Fix Block editor crash. (56051)
  • Move clientId key to BlockContextualToolbar. (56008)

Patterns

  • Add context for translators to any unclear usage of “synced”. (55935)
  • Use existing download function for JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. downloads to fix non-ASCII encoding. (55912)

Inspector Controls

  • Global Styles: Don’t show “Apply Styles Globally” button in non-block based themes. (56033)

Template Editor

  • Templates: Update filter to call all of the individual methods. (55980)

Global Styles

  • Global styles revisions: Load unsaved revision item into the revisions preview. (55880)

Post Editor

  • Edit Post: Fix pattern modal reopening when making the title empty again. (55873)

Data Layer

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. data: Fix wrong store results when page receives less items that what is stored. (55832)

Accessibility

Data Views

  • DataViews: Add labels to “in-filters”. (56001)
  • DataViews: Show actions label. (56027)

Components

  • Fix the image link button pressed state. (56123)

Block Editor

  • Fix mismatching link control action buttons visual order and DOM order. (56042)
  • Escape on Block Toolbar returns focus to Editor Canvas. (55712)

Site Editor

  • Prevent sidebar focus in site editor on small screens. (55934)

Block Library

  • Heading level dropdown: Remove obtrusive tooltips in favor of visible text. (56035)

Performance

Tooling

  • Add a metric to trace template navigation in the site editor. (55796)

List View

  • ListViewBlock: Combine ‘useSelect’ hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (55889)

Block Editor

  • Block Editor: Optimize ‘Block Hooks’ inspector controls. (56101)
  • Block Editor: Optimize BlockListAppender. (56116)

Site Editor

  • Avoid rerendering the sitehub unnecessarily. (55818)

Layout

  • Block Editor: Optimize layout style renderer subscription. (55762)

Experiments

Data Views

  • DataViews: Add ability to create custom views. (55773)
  • DataViews: Add control to reset all filters at once. (55955)
  • DataViews: Add delete and restore actions. (55781)
  • DataViews: Add initial “Side by side” prototype. (55343)
  • DataViews: Add new page size option. (56112)
  • DataViews: Add rename functionality to custom views. (55997)
  • DataViews: Allow users to add filters dynamically. (55992)
  • DataViews: Update ‘All pages’ sidebar heading. (56148)
  • DataViews: Update ‘View’ button. (56144)
  • DataViews: Update all templates page. (55848)
  • DataViews: Update author and title fields in template’s list. (56029)
  • DataViews: Update filters in view configuration. (55735)
  • DataViews: Add filters to table columns. (55508)
  • DataViews: Add: Ability to delete custom views. (55924)
  • DataViews: Add: Custom views headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. indication. (55926)
  • DataViews: Remove unnecessary label when no visible filters exist. (55838)

Documentation

  • Add a first block type page to the platform documentation. (56109)
  • Add new block development “Quick Start Guide” and update the create-block-tutorial-template. (56056)
  • Clean up DataViews docs: filter.id is not used. (55833)
  • DataViews: Document enableSorting and enableHiding. (55988)
  • DataViews: Document actions. (55959)
  • Doc: Corrected + updated links. (56084)
  • Doc: Fixes wrong link in #56084. (56106)
  • Docs: Changes imports from wp.editor to wp.blockEditor for PlainText and RichText. (55841)
  • Fix formatting issue in the “Get started with create-block” doc. (55872)
  • Fix: 404 Link on git workflow docs. (55897)
  • Fix: 404 link in get-started-with-create-block docs. (55932)
  • Fix: Create metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. block link in block attributes documentation. (55804)
  • Fix: Filter duotone link on block-supports documentation. (55896)
  • Fix: Two invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. links on docs/contributors/documentation/README.md. (55843)
  • New additional resource for wp-env. (55987)
  • Update documentation to clarify workflow branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". for release package publishing. (56183)
  • Update jest links to the new site. (55802)

Code Quality

  • Block lib: Remove multiline=false (deprecated). (56113)
  • Delete unused SelectedBlockPopover component. (55821)
  • Fix: Remove unrequired nullish coalescing. (55854)
  • Fix: Use of integer value in a conditional rendering condition on Gradients. (55855)
  • Give nice unique names to block controls HOCs. (55795)
  • Migrating PatternTransformationsMenu. (56122)
  • Migrating block inserter media tab components. (56195)
  • Move document tools motion to header-edit-mode layout level. (55904)
  • Only render block toolbar if blockType has value. (55861)
  • Refactor Edit Widgets Document Tools Navigation to own component. (55778)
  • Refactor Selected Block Tools. (55737)
  • Refactor Site Editor Document Tools Navigation to own component. (55770)
  • Remove BlockStyles.Slot empty component. (55991)
  • Remove obsolete queryContext. (56034)
  • Remove unnecessary empty className. (55998)
  • Rename Unforward to Unforwarded and export the named const. (55820)
  • Render Selected Block Tools in Header when using Top Toolbar. (55787)
  • Reusable Blocks: Unlock a private hook and a component at the file level. (55809)
  • Server directive processing: Improve how block references are saved. (56107)
  • Share the editor settings between the post and site editors. (55970)
  • Site Editor: Fix deprecation console error in top toolbar. (55678)
  • Site Editor: Unlock global styles’ private hooks at the file level. (55800)
  • Site Editor: Update edited entity sync logic. (55928)
  • Site Editor: Use EditorProvider instead of custom logic. (56000)
  • SiteEditor: Optimize BackToPageNotification component. (56102)
  • SiteEditor: Refactor disable non page content blocks. (56103)
  • Unify the PageUrl and PageSlug components between site and post editors. (56203)

Data Views

  • DataViews: Fix translatable string. (56075)
  • DataViews: Remove filter.name. (55834)
  • DataViews: Remove reset values from filters. (55839)
  • DataViews: Remove unnecessary sortingFn prop from field description. (55989)
  • DataViews: Simplify filters API. (55917)
  • DataViews: Update actions API. (56026)

Block Editor

  • Rich text: Remove preserveWhiteSpace serialisation differences. (55999)
  • Rich text: highlight format: Gracefully handle old span format. (56071)
  • Update Link Control labels to use gray-900. (55867)

Components

  • DisclosureContent: Migrate from reakit to @ariakit/react. (55639)
  • Divider: Migrate from reakit to @ariakit/react. (55622)
  • RadioGroup: Migrate from reakit to ariakit. (55580)

Site Editor

  • Core Data: Move the template lookup to core-data selectors/resolvers. (55883)
  • Don’t use ‘useEntityRecord’ to only dispatch actions. (56076)

Block Library

  • Navigation: Refactor the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher render function to make it easier to make changes in the future. (55605)
  • Update blockEditor.__unstableCanInsertBlockType hook namespace. (55845)

Data Layer

  • Data: Fix ESLint warnings for the ‘useSelect’ hook. (55916)

Post Editor

  • Edit Post: Use a single ‘useSelect’ hook for getting selectors. (55902)

Colors

  • Add Unit testing for duotone enhanced pagination. (55542)

Patterns

  • Split up the block editor inserter patterns tab into separate component files. (55315)

Design Tools

  • Block styles: Remove __unstableElementContext in favour of useStyleOverride. (54493)

Tools

  • Issue Templates: Add default type labels to issue templates. (55826)
  • Label enforcer: Make the warning message less scary for new contributors. (55900)
  • Quote feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged. label. (55862)

Testing

  • Disable ‘no-conditional-in-test’ ESLint rule for Playwright. (56088)
  • Fix ‘Block Switcher’ test file name for Playwright end-to-end tests. (55840)
  • Fix flaky ‘Meta boxes’ end-to-end tests. (56083)
  • Migrate ‘CPT locking’ end-to-end tests to Playwright. (55929)
  • Migrate ‘Meta boxes’ end-to-end tests to Playwright. (55915)
  • Migrate ‘Plugins API’ end-to-end tests to Playwright. (55958)
  • Migrate ‘annotations’ end-to-end tests to Playwright. (55966)
  • Migrate ‘container blocks’ end-to-end tests to Playwright. (56141)
  • Migrate ‘inner-blocks-prioritized-inserter-blocks’ end-to-end tests to Playwright. (55828)
  • Migrate ‘inner-blocks-render-appender’ end-to-end tests to Playwright. (55814)
  • Migrate ‘meta-attribute-block’ end-to-end tests to Playwright. (55830)
  • Migrate Child Block Test to Playwright. (55199)
  • Migrate flaky PostPublishButton end-to-end tests to Playwright. (52285)
  • Perf Tests: Stabilise the Site Editor metrics. (55922)
  • Playwright Utils: Fix ‘clickBlockOptionsMenuItem’ helper. (55923)
  • Query block enhanced pagination: Simplify test setup. (55805)
  • Site editor template preview: Add end-to-end test and aria-pressed attribute to template preview toggle. (56096)
  • Upgrade Playwright to 1.39.0. (54051)
  • end-to-end Utils: Add setPreferences and editPost utils. (55099)
  • end-to-end Utils: Add support for web-vitals.js. (55660)

Build Tooling

  • Package @ariakit/test should be a dev dependency. (56091)

First-time contributors

The following PRs were merged by first time contributors:

Full contributor list

The following contributors merged PRs in this release:

@afercia @andrewhayward @andrewserong @anomiex @anton-vlasenko @aristath @artemiomorales @bph @brookewp @c4rl0sbr4v0 @chad1008 @ciampo @DAreRodz @dcalhoun @dsas @ellatrix @flootr @fluiddot @gaambo @glendaviesnz @gziolo @jameskoster @jeryj @jhnstn @joanrodas @jorgefilipecosta @JorgeVilchez95 @jsnajdr @juanmaguitar @kevin940726 @Mamaduka @masteradhoc @matiasbenedetto @ndiego @ntsekouras @oandregal @peterwilsoncc @pooja-muchandikar @priethor @ramonjd @renatho @richtabor @sacerro @scruffian @shimotmk @SiobhyB @Soean @swissspidy @t-hamano @talldan @tellthemachines @torounit @tyxla @WunderBart @youknowriad


Props to @joen for designing the assets and @annezazu for reviewing this draft.

#block-editor#core-editor#gutenberg#gutenberg-new

#gutenberg-new

What’s new in Gutenberg 16.8? (11 October)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).



Gutenberg 16.8 has been released and is available for download!

This latest release includes many enhancements, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, some new experiments, and essential groundwork for the future Phase 3.

  1. Cover block: automatically set overlay color when applying the initial background image
  2. Show template toggle when editing pages
  3. Font Library: add an Uploads tab
  4. Other notable highlights
  5. Changelog
  6. Contributors

Cover blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.: automatically set overlay color when applying the initial background image


The Cover Block just got a bit smarter by setting an Overlay color based on the background image. The Overlay color is extracted from the image via magic (actually, code, which you can see coming into existence here (#54054).

Show template toggle when editing pages


This great new option allows you to see your Pages within the Template context where they’re meant to be displayed while you edit them. As @noisysocks puts it:

Allows users to focus on their content when desired. Moreover, it is small a step towards one day unifying the post editor and site editor.

– @noisysocks (#52674)

Font Library: add an Uploads tab


All about decluttering: font uploads have been moved to a separate tab within the Font Library interface. The team has also worked on improving error messages and their visibility.

Other notable highlights

  • Footnotes now make use of coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. revisioning capabilities when available. Gutenberg PR (#52988) and Trac Ticket (#20564).
  • Experiment: the first version of the pages list in the site editor (#54966). This experiment is one of many pieces of the Data Views work (#55083), crucial for Phase 3.
  • Add template replace flow to template inspector (#54609).

Changelog

Features

Block Editor

  • Adds ‘nofollow’ setting to Button block. (54110)

Site Editor

  • Add ‘Show template’ toggle when editing pages. (52674)

Enhancements

  • Update pattern import menu item. (54782)

Components

  • Adding label/description to BlockEditor/DuotoneControl. (54473)
  • Deprecating isPressed in Button component. (54740)
  • Follow ariakit best practices. (54696)
  • InputControl-based components: Add opt-in prop for next 40px default size. (53819)
  • Modal: Add contentWidth prop to support a selection of preset modal sizes. (54471)
  • Remove unused components from ui/. (54573)
  • Update ariakit to 0.3.3. (54818)
  • Update compact search control metrics. (54663)
  • Wrapped TextareaControl in a forwardRef call. (54975)

Block Library

  • Add a brief description to the Footnotes block. (54613)
  • Footnotes: Use core’s meta revisioning if available. (52988)
  • Login/out: Add spacing support. (45147)
  • Query view.js: Code quality. (54982)
  • Set custom color when applying initial background image. (54054)
  • Use wp_get_inline_script_tag() in build_dropdown_script_block_core_categories(). (54637)

Block Editor

  • Default suggested links to pages. (54622)
  • Remove base URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org from link control search results. (54553)
  • Simplify BlockHTMLConvertButton. (54972)
  • Update strings in blocks ‘RenameModal’ component. (54887)

Post Editor

  • Edit Post: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. instead of HoCs in ‘PostStatus’ components. (54951)
  • Editor: Use hooks instead of HoCs in ‘PostSticky’ components. (54949)
  • Editor: Use hooks instead of HoCs in ‘PostSwitchToDraftButton’. (54695)
  • Show confirmation dialog when moving a post to the trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.. (50219)

Site Editor

  • Add template replace flow to template inspector. (54609)
  • [Site Editor]: Update copy of using the default template in a page. (54728)

Patterns

  • Remove categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. description in inserter panel. (54894)

Typography

  • Font Library: Refactor endpoint permissions. (54829)

Bug Fixes

  • Fix the ShortcutProvider usage. (54851)
  • Fix warning when a template calls a template area twice. (54861)
  • Revert “Fix warning when a template calls a template area twice”. (54926)

Block Library

  • All Nav block items to break long titles. (54866)
  • Fallback to Twitter provider when embedding X URLs. (54876)
  • Fix Deleted Navigation MenuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. warning string. (55033)
  • Fix Search Block not updating in Nav block. (54823)
  • Fix left and right aligmnent in children of Post Template. (54997)
  • Fix output of Navigation block classnames in the editor. (54992)
  • Fix overwriting of published post meta when previewing footnote changes. (54339)
  • Image: Ensure Expand on Click toggle is shown if block-level lightbox setting exists. (54878)
  • Image: Fix layout shift when lightbox is opened and closed. (53026)
  • Media & Text: Fix ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning. (55038)
  • Search block: Allow space for input field only when form expanded. (54846)
  • Search block: Update alignment and icon button width. (54773)

Site Editor

  • Avoid same key warnings in template parts area listings. (54863)
  • Avoid stale navigation block values when parsing entity record. (54996)
  • Don’t display the navigation section in template parts details when a menu is missing. (54993)
  • Fix ToolSelector popover variant. (54840)
  • Reset ‘Show template’ toggle when leaving edit mode. (54679)
  • remove overflow: Hidden from the entity title in the site editor sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (54769)

Components

  • FormTokenField: Add box-sizing reset style and reset default padding. (54734)
  • Popover: Fix the styles for components that use emotion within popovers. (54912)
  • Remove hover style for secondary Button when aria-disabled is set. (54978)
  • Reverting addition of aria-selected style hook in Button. (54931)
  • SlotFill: Pass Component instance to unregisterSlot. (54765)

Block Editor

  • Avoid double-wrapping selectors when transforming the styles. (54981)
  • [Inserter]: Fix reset of registered media categories. (55012)

Typography

  • Font Library: Changed the OTF mime type expected value to be what PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher returns. (54886)
  • Font Library: Move font uploads to a new tab. (54655)

Global Styles

  • Block custom CSSCSS Cascading Style Sheets.: Fix incorrect CSS when multiple root selectors. (53602)
  • Image: Ensure false values are preserved in memory when defined in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (54639)

List View

  • Fix performance issue when selecting all blocks. (54900)

Colors

  • Format Library: Try to fix highlight popover jumping. (54736)

Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Image: Fix duotone not being applied to lightbox image. (54670)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Block Library

  • Footnotes: Add aria-label to return links. (54843)

Components

  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block: Fix accessibility issues on back-end. (54408)
  • Modal: Accessibly hide/show outer modal when nested. (54743)

Patterns

  • Use list role instead of listbox in patterns list. (54884)

Post Editor

  • Editor: Always render the ‘Switch to Draft’ button to avoid focus loss. (54722)

Block Editor

  • Block Switcher: Use a different label for multi-selection. (54692)

Performance

  • Tests: Support the Site Editor’s legacy spinner. (54784)
  • Use instanceOf over property_exists. (54835)

Block Editor

  • Subscribe only to block editor store in useBlockSync. (55041)

Experiments

Site Editor

  • al]: First version of pages list in site editor. (54966)

Block Editor

  • Expose getDuotoneFilter() as private API. (54905)

Documentation

  • Add a documentation page about the block editor settings. (54870)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @alexstine @andrewhayward @andrewserong @annezazu @anton-vlasenko @artemiomorales @aurooba @bangank36 @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @dcalhoun @derekblank @draganescu @ellatrix @fluiddot @fullofcaffeine @geriux @getdave @glendaviesnz @gziolo @jameskoster @jeryj @jsnajdr @juhi123 @kevin940726 @leemyongpakvn @madhusudhand @MaggieCabrera @Mamaduka @matiasbenedetto @michalczaplinski @mirka @mtias @mujuonly @ndiego @noahtallen @noisysocks @ntsekouras @oandregal @ockham @pbking @priethor @ramonjd @richtabor @scruffian @SiobhyB @spacedmonkey @stokesman @swissspidy @t-hamano @tellthemachines @tellyworth @them-es @torounit @tyxla @westonruter @WunderBart @youknowriad

Props to @joen for the visual assets and @annezazu for the help reviewing and collecting highlights!

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Four Weeks in Core – October 9, 2023

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between September 4 and October 9, 2023.

Please note that exceptionally and because of personal vacations, this Week in Core issue covers 4 weeks 😊

  • 269 commits
  • 337 contributors
  • 295 tickets created
  • 43 tickets reopened
  • 277 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Continue reading

#6-4, #core, #week-in-core

Introducing Twenty Twenty-Four

Hey, everyone! It’s that time of the year. A brand new default theme will be featured with the next WordPress 6.4 release: Twenty Twenty-Four.

The Concept

The idea behind Twenty Twenty-Four is to make a default theme that can be used on any type of site, with any topic. Because of that, and contrary to past years, it has no single topic. Instead, three use cases were explored: one more tailored for entrepreneurs and small businesses, one tailored for photographers and artists and one specifically tailored for writers and bloggers. In essence, it’s a collection of templates and patterns which, all combined, make up a theme. These patterns include different Home templates for different use cases such as an About page, project overviews, RSVPs, and landing pages.

Twenty Twenty-Four’s styles and elements are instantly recognizable, inspired by modern design trends. The theme uses Cardo font for headlines, which provides a hint of elegance and a sans-serif system font for paragraphs. The default color palette of Twenty Twenty Four is light, and it also includes a dark style variation that maintains the same typography. Additionally, there are two more sans-serif variations available: one in light mode and another in dark mode.

Twenty Twenty-Four will be a blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme fully compatible with all the site editor tooling and it will surface new design tools like the details block or vertical text. Another key intent for the theme is to properly present whole page patterns and template variations so that users don’t need to assemble whole pages themselves, thus easing up their site building process.

Thanks to Twenty Twenty-Four’s remarkable flexibility and adaptability, a multitude of possibilities open up with just a few adjustments to color and typography. This beautiful theme was designed by Beatriz Fialho.

Development

As part of the 6.4 release, Maggie Cabrera and Jessica Lyschik are leading development. We are looking forward to your involvement and support throughout the process. If you’re interested in contributing, make sure you’re following this blogblog (versus network, site).

There’s a guiding Figma file that will continue to be updated as work progresses.

Theme development will happen on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ and, as usual, once the theme is stable, it will be merged into CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and its GitHub repository will be deprecated. A repository has been created here that you can follow if you’d like:

https://github.com/wordpress/twentytwentyfour

Starting on August 30th at 3:00 PM UTC, there will be weekly SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. meetings in #core-themes to coordinate development of the theme.

Learn more

For information about about previous default themes, you can read the following posts:

If you’re interested in learning more about Block Themes and Full Site Editing, here are some resources for you:

Props @kellychoffman @richtabor @beafialho @annezazu @onemaggie @luminuu @joen for helping co-create this post.

#6-4 #bundled-theme #core-themes #twenty-twenty-four

+make.wordpress.org/themes/

#core-themes

What’s new in Gutenberg 16.5? (23 August)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).

Gutenberg 16.5 has been released and is available for download!

This version is packed with enhancements and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, many focused on enriching the Command Palette and enabling further customization of blocks. It features contributions from 63 contributors across 219 pull requests, including five new contributors! 🥳

Continue reading

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 16.4? (9 August)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg.

What's New In Gutenberg 16.4?

Gutenberg 16.4 has been released and is available for download!

16.4 introduces some exciting new features, including both a new experimental feature and a new component, alongside many enhancements and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. Bug fix highlights include many improvements to the recently added Footnotes blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. and enhancements to Patterns.

This release consists of 184 pull requests authored by 60 contributors, including two new contributors! 🥳

Table of Contents

  1. Auto-Inserting Blocks (Beta)
  2. New Progress Bar Component
  3. New Commands in the Command Palette
  4. New Block Supports for Footnotes Block
  5. Minimum Supported PHP Version Bumped to 7.0
  6. Changelog
  7. First time contributors
  8. Contributors

Auto-Inserting Blocks (BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.)

Activating the new “Auto-inserting blocks” feature on the Gutenberg > Experiments page enables blocks to specify a location in which they will be automatically inserted. This applies both to the frontend and to the Site Editor (via the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.), allowing for further user customization.

See an example in the video below of a “Like button” block that has been auto-inserted after each Comment Template block. You can also see how this block can be re-positioned using the existing block editor tools.

To try this new experimental feature, you can add an __experimentalAutoInsert field to the block.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file of a dynamic block of your liking. You have to specify the “anchor” block and the relative position (before, after, firstChild, or lastChild) for auto-insertion:

"__experimentalAutoInsert": {
    "core/comment-template": "lastChild"
}

Note that the block will only be auto-inserted as long as the containing template or template part doesn’t have any modifications by the user. (This is by design, in order not to override a user’s choice to discard an auto-inserted block in the editor.)

This feature aims to improve the extensibility of block themes through plugins and continues to be actively developed.

For more details please see the tracking issue and the testing instructions in this PR. It would be great to hear your feedback! (#51449)

New Progress Bar Component

A new, horizontal ProgressBar component that can be used in various places. Whilst this new component has been merged with this release, it has not yet been applied in the Site Editor. It will likely replace the Spinner component that is currently used in the Site Editor loading experience. There is another PR for this work in #53032, aiming to introduce an indeterminate progress bar for the Site Editor, and further experimentation in #53399 to change it to a determinate progress bar. In the meantime, this component can be tested in Storybook. (#53030)

New Commands in the Command Palette

Screenshot of the site editor, with "pre" being typed into the command palette

There are three new commands available in the command palette:

  • Show/hide block breadcrumbs
  • Enable/disable pre-publish checklist
  • Preview in a new tab

As well as expanding the functionality available in the new command palette, this effort starts to establish user experience patterns around commands, such as “show/hide” vs. “toggle”, and using snackbar notices more prominently. (#53073)

New Block Supports for Footnotes Block

The Footnotes block now includes support for updating the block’s link color, background color, and text color, as well as controls for typography, dimensions, and borders. The link and text color controls are expanded by default, as they will likely be used more frequently; the other new controls are collapsed by default. (#52897 & #53044)

Minimum Supported PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Version Bumped to 7.0

The Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party’s minimum PHP version has been bumped from 5.6 to 7.0, to maintain parity with WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. (#52982)

Changelog

Features

Components

  • Introduce a basic ProgressBar component. (53030)

Block Editor

  • Link Control: Persist advanced settings toggle state to preferences if available. (52799)

Block Library

  • Behaviors: Extend Global Styles APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to read/write behaviors config. (52370)

Enhancements

Site Editor

  • Add context to the “Reset template” “Delete template” and “Edit template” commands. (52989)
  • Add xhuge breakpoint (1920px) and update pattern grid. (52942)
  • Display keyboard shortcut for command palette in site view. (52841)
  • Make sure only one Site updated notice displays at a time. (53087)
  • Template Descriptions: Tidy up all abbreviations of ‘example’ to be e.g. (52848)
  • Try adding further details to template part panel. (52476)
  • Update the ConfirmDialog that appears when applying a style revision over unsaved changes. (52972)
  • Update: Improve titles of author templates in query title block. (52732)

Post Editor

  • Add common commands (breadcrumbs, live preview, pre-publish checklist). (53073)
  • Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. instead of HoCs for:

Block Library

  • Footnotes: Add link, background, and text color support. (52897)
  • Footnotes: Add typography, dimensions, and border block supports (53044)
  • Preformatted: Add spacing support. (45196)
  • Social Links: Add Threads Icon. (52685)
  • Verse: Enable the line breaks. (52928)

Patterns

  • Align height of save button and patterns pagination. (52764)
  • Allow inserting of unsynced patterns from quick inserter. (52866)
  • Show the default patterns icons for all pattern blocks in inserter. (53208)
  • Update the Manage all my patterns command to redirect to site editor patterns list. (52817)
  • Pattern library: Switch to three column layout on huge screens. (52927)

Interactivity API

  • Use defer loading strategy for frontend view scripts. (52536)
  • [create-block] Refinements to the create-block-interactive-template package. (52801)

Components

  • Settings: Show message when Visual or Code editor are disabled. (52737)
  • TabPanel: Implement Ariakit internally. (52133)

Global Styles

  • Site editor: Conditionally render global styles revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. footer in sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (53204)

Block Editor

  • Remove duplicated display URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in LinkControl. (53167)

Synced Patterns

  • Remove extraneous “Detach” ToolbarButton for synced patterns. (53121)

Icons

  • Add keyboard icon and use in relative commands. (53083)

Plugin

  • Bump plugin minimum supported PHP version to 7.0. (52982)

Data Layer

  • Promisify action creator return type for WP data dispatch. (52530)

Bug Fixes

Block Library

  • AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name.: Fix global border styles generation. (53007)
  • Check if object exists before accessing its properties. (52870)
  • Cover block: Disable contrast checker. (53080)
  • Disambiguate “Import” button string. (52907)
  • Footnotes:
    • Footnotes/RichText: Fix getRichTextValues for deeply nested blocks. (53034)
    • Disable based on post type. (52934)
    • Disable for synced patterns and prevent duplication for pages in site editor. (53003)
    • Fix published preview. (53072)
    • Store in revisions. (52686)
  • Image block: Fix image size at wide and full width. (53184)
  • Navigation Sidebar: Fetch the blocks from the content when trying to load navigations. (52899)
  • Navigation: Load the raw property on the navigation fallback. (52758)
  • Remove block tools back compatback compat Backward compatibility - a desire to ensure that plugins and themes do not break under new releases - is a driving philosophy of WordPress. While it is a commonly accepted software development practice to break compatibility in major releases, WordPress strives to avoid this at all costs. Any backward incompatible change is carefully considered by the entire core development team and announced, with affected plugins often contacted. It should be noted that external libraries, such as jQuery, do have backward incompatible changes between major releases, which is often going to be a greater concern for developers. component schedule for deprecated in 6.3. (53115)
  • Verse: Disable line breaks. (52783)
  • Video: Fixing styles that vertical alignment of the video. (53131)

Site Editor

  • Add navigation type to title labels map. (53074)
  • Command Palette:
    • Add Open styles revisions command conditionally. (52945)
    • Command Palette: Remove double border on results pages. (52873)
    • CommandPalette: Fixed to not execute commands in IME composition. (52844)
    • Defer to preceding handlers in command palette keyboard shortcut. (53001)
    • [Core Commands]: Handle navigation commands based on access of site editor. (52987)
  • Fix block top toolbar artifact in navigation isolation. (53110)
  • Fix canvas mode sync with URL. (52996)
  • Fix the template parts link on the list page. (52891)
  • Open template parts from the list page in canvas view mode. (52916)
  • Fix the typo in the title label map. (53071)
  • Fix: Block toolbar obscuring document tools when Top Toolbar is enabled. (52722)
  • ResizableFrame: Account for window resizing. (52697)
  • Sidebar: Restore Back button ‘go to parent’ functionality. (52910)
  • Top toolbar: Fix issues with save button overlap and plugin buttons. (53101)
  • Update document title buttons radius. (53221)

Patterns

  • Add id to pattern inserted notice to stop multiple notices stacking. (52746)
  • Allow orphaned template parts to appear in “general” categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (52961)
  • Correctly color code unsynced patterns titles in Site Editor. (52958)
  • Fix auto-size patterns triggering scrollbar flickering on certain size. (52921)
  • Fix color and behavior of unsynced patterns in block inserter when searching for reusable. (53205)
  • Fix editor crashing on certain search filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. combinations. (52956)
  • Fix empty general template parts in Patterns. (52747)
  • Fix not expanding pattern in page editor. (53169)
  • Fix: Snack bar not fixed on certain pages in the Site Editor. (53207)
  • Pattern: Add getBlockRootClientId call. (53206)
  • Patterns Browse Screen: Fix back button when switching between categories. (52964)
  • Reset current page when search filters change. (52933)
  • Site Editor: Fix site link accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues. (52744)
  • Site Editor: Use the correct icon for Patterns in sidebar card. (52931)

Post Editor

  • Allow styles to be changed dynamically through editor settings. (52767)
  • Distraction Free: Fix conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with showListViewByDefault preference. (52914)
  • Editor: Set default parameter for ‘__unstableSaveForPreview’. (53079)
  • Fix toolbar when previewing devices in post editor. (52770)
  • I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add missing Gettext wrapper on strings in Edit Post overview sidebar. (52971)
  • shimAttributeSource: Don’t run outside the registerBlockType filter. (53015)

Global Styles

  • Global styles revisions: Display text if no revisions are found. (52865)
  • Spacing presets: Fix bug with select control adding undefined preset values. (53005)
  • Style Engine: Switch off optimize by default. (53085)

Block Editor

  • Fix spacing for LinkControl actions. (53055)
  • List: Allow ENTER on multi-selection. (52947)
  • List: Fix merging nested lists. (52949)

Design Tools

  • Borders: Prevent console error when clearing custom border color. (52963)
  • Check if spacing tool is defined before displaying controls. (53008)

Distraction Free

  • Add missing command in Site Editor. (52868)
  • Distraction Free Keyboard Shortcut: Fix notices in Site Editor. (52867)

Layout

  • Prevent the Dimensions UIUI User interface from being displayed when the block does not support Dimensions. (53092)

List View

  • Ensure onBlockDrop does not fire if there is no target. (52959)

Template Editor

  • Site Editor: Don’t navigate to the patterns in Template Parts mode. (52884)

Navigation Menus

  • Navigation: Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. Core changes for the navigation fallback. (52878)

REST API

  • Global styles revisions: Update private methods to protected. (52748)

Block API

  • Parser / Site Editor: Ensure autop is not run when freeform block is set to core/htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (52716)

Accessibility

  • Fix regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. with Edit site Navigate regions. (52940)
  • Return focus more from focus return hook. (52710)
  • [Commands]: Add aria-activedescendant attribute to suggestions. (52930)
  • ColorPalette, BorderControl: Don’t hyphenate HEX value in aria-label. (52932)
  • Modal: Fix loss of focus when clicking outside. (52653)
  • My Patterns page: Increase color contrast for the toggle group. (52678)
  • Improve consistency of the Post Editor and Site Editor Document actions. (52246)

Performance

  • Replace array_key_exists() with isset() check. (53098)
  • Footnotes: Use static closures when not using ‘$this’. (52781)

Experiments

Block Library

  • Set freeform handler only if Classic block exists. (52936)
  • Backend handle freeform blocks with TinyMCE removal. (52938)
  • Fix TinyMCE removal for heartbeat requests. (52935)

Interactivity API

  • Improve the Interactivity API priority levels logic. (52323)
  • Remove the wp-show directive temporarily. (53240)

Block API

  • Auto-inserting blocks on the frontend and in the editor (via REST API). (51449)

Documentation

  • API Reference documentation for Interactivity API. (52948)
  • Adding description of the –no-watch option. (53139)
  • Adds documentation about selectors. (52941)
  • Add Block API Version 3. (53046)
  • Added missing images via developer.wp.org site. (53051)
  • Clarify that blockGap support depends on layout support. (53254)
  • Interactivity API > Getting Started Guide – minor adjustments. (52786)
  • Update Appearance Tools. (52785)
  • Open “docs” folder for the Interactivity API package and Getting Started Guide. (52462)
  • Update the Gutenberg release process documentation. (52955)

Code Quality

Block Editor

  • Block Editor: Fix ESLint warning for the useBlockEditingMode hook. (53218)
  • Block Editor: Simplify check in ‘withBlockControls’ styles hook. (53227)
  • BlockVariationPicker: Remove unused withSelect. (53100)
  • Improve the efficiency of the useDebouncedInput hook. (53263)
  • Refactor useShowMoversGestures hook. (52792)

Block Library

  • Add PHP since annotations. (52820)
  • Footnotes: Add missing _ in revision field filter. (53135)
  • Refactor navigation title usage. (52807)
  • Template Part Block: Use get_block_file_template for rendering. (52892)

Site Editor

  • Site Editor: Remove unnecessary hook from ‘PageTemplates’. (52903)

Global Styles

  • Don’t use named arguments for sprintf. (52782)
  • Remove experimental setting for interactivity API and behaviors. (52833)
  • Site editor: Update function name. (52869)
  • Update PHP unit tests. (52819)

Format Library

  • Remove withSpokenMessages HoC from the Link format. (53106)

Interactivity API

  • Move Store’s data encoding to the echo call. (51974)
  • Update the block.json schema to include Behavior supports. (52895)
  • [Create Block] Add support for the example property and add template defaults. (52803)

Typography

  • Fluid typography: Rename viewport variables. (53082)

Components

  • Update framer-motion to 10.13.0. (52804)

Themes

  • Behaviors – Lightbox: Update theme.json schema. (51156)

Tools

  • Add GH action to enforce PR labels. (52760)
  • Changelog automation:
    • Make Accessibility a top-level section. (52900)
    • Update to work with consolidated a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) labels. (52896)
    • Use the correct label to filter Mobile app PRs. (53024)
  • Enforce PR labels:
    • Change permissions to read. (52980)
    • Fully re-enabling the pre-merge check. (52990)
    • Make PR label checks non-blocking to merge while trying a different GH token setting. (52975)
    • Try using a different token. (52979)
    • Use pull_request_target trigger to work with PRs coming from forks. (52981)
  • Use proper casing on PR template. (52999)
  • Enforce checks against redeclaration for functions and classes. (52696)

Testing

  • Add end-to-end tests for Behaviors in the site editor. (52809)
  • Ignore local test theme folders created by wp-env. (53031)
  • Improve slug generation & matching in request utils. (52414)
  • Migrate ‘iframed inline styles’ end-to-end tests to Playwright. (53269)
  • Migrate Allowed Block Test to Playwright. (53171)
  • Patterns: Reinstate template parts mode spec. (52780)
  • Route to published post instead of homepage on navigation end-to-end tests. (52802)
  • Temporarily skip widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. import end-to-end test. (53226)
  • Update end-to-end tests that use code editor. (52788)
  • Image block: Fix flaky tests. (52442)
  • Add options for debugging PHP unit tests in package.json. (52778)

First time contributors

The following PRs were merged by first time contributors:

  • @Armondal: Adding description of the –no-watch option. (53139)
  • @lunaluna: Video: Fixing styles that vertical alignment of the video. (53131)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @andrewserong @anton-vlasenko @Armondal @artemiomorales @audrasjb @bph @c4rl0sbr4v0 @carolinan @chad1008 @danielbachhuber @DAreRodz @dcalhoun @derekblank @draganescu @ellatrix @fluiddot @geriux @getdave @glendaviesnz @hellofromtonya @jameskoster @jasmussen @jeherve @jeryj @jordesign @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @luisherranz @lunaluna @Mamaduka @mburridge @michalczaplinski @mikachan @mirka @ndiego @noahtallen @noisysocks @ntsekouras @ockham @pedro-mendonca @pooja-muchandikar @priethor @ramonjd @richtabor @ryanwelcher @scruffian shimotmk @Soean @stokesman @swissspidy @t-hamano @tellthemachines @torounit @tyxla @westonruter @WunderBart

Props to @joen and @richtabor for the visual assets; @bernhard-reiter, @tyxla, @priethor, @mburridge, and @matveb for peer review; @bernhard-reiter, @youknowriad, and @dmsnell for helping get the release published to WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/; and @karmatosed and @siobhyb for riding along during the release process.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

A Week in Core – July 24, 2023

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between July 17 and July 24, 2023.

  • 44 commits
  • 83 contributors
  • 83 tickets created
  • 13 tickets reopened
  • 56 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • Add a missing closing span tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) for column sorting indicators – #32170, #57839
  • Update dashboard welcome panel for 6.3 – #58545

Build/Test Tools

  • Remove outmoded jsvalidate task from Gruntfile – #58645, #26615

Bundled Themes

  • Twenty Twenty-One: Enable Dark Mode in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.#58835
  • Twenty Twenty-Three: Remove the perPage attribute where the query inherits from the global query. The global attribute should be used instead – #58581
  • Twenty Twenty-Three: Revert [55898]#58485

Code Modernization

  • Use str_contains() in a few more places – #58206

Coding Standards

  • Always use parentheses for class instantiation – #58831
  • Correct alignment in wp-includes/media.php#58831
  • Correct equals sign alignment in various files – #58831
  • Remove trailing tabs in wp-admin/about.php#58831, #58067
  • Use strict comparison for static strings in wp-admin/includes/class-wp-list-table.php#32170, #57839

Docs

  • Add a missing word in maybe_create_table() description – #58841
  • Fix indentation issue in WP_REST_Global_Styles_Revisions_Controller class – #57840, #58524
  • Fix various incorrect @since mentions – #58834
  • Various docblocks corrections – #57840

Editor

  • Add test for context setting in Comment Template block – #58839
  • Fix a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notice appearing when adding a new template part – #57851
  • Fix abbreviations of “Example” in block-template-utils.php#58879
  • Fix bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where it was not possible to style custom block elements in theme.json#57868
  • fix popover positioning – #58847
  • load title on navigation fallback – #58557
  • update npm packages with bug fixes for 6.3 RC2 – #58804

External Libraries

  • Update deprecated jQuery code in Farbtastic lib – #57946

General

  • Commit changes after running precommit:css#57856, #58869
  • Rename wp_in_development_mode() to wp_is_development_mode()#57487

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Change wp infix in test classes to Wp#58899
  • Introduce minimal HTML Processor – #58517

Help/About

  • Add illustrations to the Get Involved tab – #23348
  • String changes in the Contribute screen – #23348
  • Update the About page for 6.3 – #58067
  • Updates to About page – #58067

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Add missing translator comment in WP_Upgrader::generic_strings()#58831

Media

  • Adjust PDF upload handling to remove non-opaque alpha channels from previews – #39216
  • Fix Image rotation button overflow in translations – #58877
  • Fix height max value in image scaling – #50523
  • Stop using and deprecate set_imagick_time_limit(). Seems it causes more problems than it solves – #58202

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Update Global styles revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. private methods to protected – #58846

Script Loader

  • Improve test coverage for wp_print_scripts()#58648

Upgrade/Install

  • Add correct parameters to add_option in upgrade_630 – #58821

Props

Thanks to the 83 (!) people who contributed to WordPress Core on Trac last week:

@costdev (11), @audrasjb (7), @joemcgill (7), @ramonopoly (6), @mukesh27 (6), @jrf (5), @peterwilsoncc (5), @azaozz (4), @flixos90 (4), @markoserb (4), @oglekler (4), @richtabor (4), @swissspidy (3), @spacedmonkey (3), @joedolson (3), @sergeybiryukov (3), @jorbin (2), @poena (2), @desrosj (2), @dmsnell (2), @dunhakdis (2), @huzaifaalmesbah (2), @westonruter (2), @peterwilson (1), @ryelle (1), @andrewserong (1), @gudmdharalds (1), @glendaviesnz (1), @oandregal (1), @TobiasBg (1), @Malae (1), @sabernhardt (1), @Presskopp (1), @mrinal013 (1), @Rahmohn (1), @mikachan (1), @robinwpdeveloper (1), @onemaggie (1), @dsar (1), @antpb (1), @hberberoglu (1), @mtxz (1), @densityapps (1), @ekazda (1), @matt_fw (1), @jameskoster (1), @soulseekah (1), @mikeschroder (1), @wildworks (1), @davidbaumwald (1), @annezazu (1), @saxonafletcher (1), @mwtsn (1), @hasanuzzamanshamim (1), @Ankit K Gupta (1), @get_dave (1), @scruffian (1), @nekojonez (1), @jordesign (1), @bhrugesh12 (1), @kebbet (1), @isabel_brison (1), @zieladam (1), @gitlost (1), @launchinteractive (1), @emirpprime (1), @ceer (1), @joen (1), @maysi (1), @madejackson (1), @6adminit (1), @crstauf (1), @james0r (1), @jpantani (1), @dansoschin (1), @mikinc860 (1), @priethor (1), @marybaum (1), @eidolonnight (1), @clarkeemily (1), @cbringmann (1), @meher (1), and @youknowriad (1).

Congrats and welcome to our 7 new contributors of the week: @mwtsn, @launchinteractive, @ceer, @maysi, @madejackson, @6adminit, @james0r ♥️

Core committers: @audrasjb (10), @sergeybiryukov (9), @isabel_brison (4), @ryelle (4), @bernhard-reiter (3), @joedolson (2), @davidbaumwald (2), @azaozz (2), @joemcgill (2), @desrosj (1), @antpb (1), @mikeschroder (1), @spacedmonkey (1), @flixos90 (1), and @kadamwhite (1).

#6-3, #core, #week-in-core