Core Editor Improvement: Upgrade your designs

These “CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Improvement…” posts (labeled with the #core-editor-improvement 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.)) are a series dedicated to highlighting various new features, improvements, and more from Core Editor related projects. 

Important design tools have shipped in the last few 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/ releases, with additional ways to take advantage of the creative flexibility already available with 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. themes. Here’s a closer look at what these tools unlock ahead of the next major WordPress release.

Mix & match style variations

Style variations bundled with block themes allow you to seamlessly transform your site’s look and feel fast, all while using the same theme. Now, you can mix and match the color and typography styles of each style variation—a powerful upgrade to the existing functionality. For example, take the Twenty Twenty-Four Theme, which launched with eight carefully curated, community-created style variations. These included six typography presets and eight color presets. With this recent PR available since Gutenberg 17.9, you now have 48 combinations to choose from. You can stick with the original options defined by the theme author or add your own typography choices through the Font Library. As a bonus, this option works for any existing block themes with style variations—no additional configuration needed!

You can use this Playground instance to dive in and try it yourself. Going forward, there are some technical details to iron out, along with potentially evolving the experience to better support themes with a large set of variations. For a greater view of this general area, dive into the Colors and typeset presets from theme style variations overview issue and see the latest. 

Create overlapping designs with negative margins

Previously, you could only create overlapping designs with negative margins. As of Gutenberg 18.3, you can add negative margins right in the Site Editor for all blocks that support margin controls. The negative values need to be manually entered to balance some UXUX User experience considerations and add some guardrails, meaning they can’t be selected by dragging. 

Want to share something you create with this new option in the next WordPress release? Share it in the Pattern Directory! For now, enjoy exploring.

Embrace the Grid

Grid is a new layout variation for the Group block stabilized in Gutenberg 17.8 that allows you to display the blocks within the group using CSSCSS Cascading Style Sheets. grid. Of note, any block can use this new grid layout thanks to the supports key in block.json. There are two options for the grid layout:

  • “Auto” generates the grid rows and columns automatically using a minimum width for each item. 
  • “Manual” lets you specify the exact number of columns.

This is just the beginning. Efforts are underway to let you drag and drop, andresize blocks on the grid, providing a more visual and intuitive experience. Work is also in progress to improve how folks create layouts in general. If you want to follow how this feature evolves, check out this tracking issue, watch the recent demo, and join the dedicated #feature-grid 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/. channel. 

Thanks to @richtabor and @laurlittle for help with editing this post.

#core-editor, #core-editor-improvement, #gutenberg

What’s new in Gutenberg 18.2? (24 April)

“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).

Gutenberg 18.2 is ready and available for download!

The latest release includes 234 pull requests from 54 contributors, and generally focuses on polishing features, and addressing bugs. Significant activity has also been directed towards improving documentation and code quality.

We extend a warm welcome and thanks to four new first-time contributors! 🎉

Improve Pattern Overrides Experience

Gutenberg 18.2 refines the flow of turning pattern overrides on and off. It introduces a new DisallowOverridesModal for easier interaction. The solution removes complexity by focusing on a more intuitive workflow, including a modal confirmation when disallowing overrides and pre-populated names for quicker re-enablement. Through consistent interaction, we aim to simplify the user experience. (60769)

Enabling Template Preview in the Post Editor for Non-Administrators

We aim to enhance collaboration and flexibility in WordPress. By changing the rules for template previews, we now allow users with lower roles, like Editor, to view and switch between templates. This update resolves a previous issue by permitting non-administrators to see templates while editing content. (60447)

Site Editor: Support Starter Patterns

When creating a new post or page in the site editor, a modal window allows users to choose a pattern to kickstart their layout and design flow. This feature was previously only available in the post editor. (60745)

Simplify Template Reset Language

A frequent observation from previous outreach: 

Why are “clear customizations” for a template in a different place (in the title area) and named differently from “reset defaults” for styles?

The term “Clear customizations” was changed to “Reset,” with label updates to maintain consistency across the Site Editor and Command Palette. This change aims to improve clarity and reduce confusion for users performing template resets. The updated terminology aligns with other languages throughout the editorial experience, making the process more intuitive. (60256)

Other Notable Highlights

  • Animation improvements – subtle easing can make a huge impact
    • Adjust frame animation profile. (60589)
    • Animate the radius of the frame. (60415)
    • Improve the 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. animation. (60408)
    • Editor: Animate opening and closing editor right 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.. (60561)
    • Editor: Animate the inserter and list view panels. (60665)
  • Post Editor: Update publish flow (60456)

Changelog

Full changelog available
  • Bump minimum required PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher version to 7.2 (60714)

Enhancements

Site Editor

  • Add rename and 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. actions to page panel. (60232)
  • Adjust frame animation profile. (60589)
  • Animate the radius of the frame. (60415)
  • Create router adapter for sidebar. (60466)
  • Improve the header animation. (60408)
  • Index view for Templates & Parts: Use grid layout as default. (60069)
  • Pages: Display content frame in mobile when canvas is not edit. (60409)
  • Simplify template reset language. (60256)
  • Template parts in patterns page: Add author field. (60372)
  • Template parts: Set backpath to patterns page. (60667)
  • Update hub markup and animation. (60410)
  • Update site hub action positioning. (60511)

Components

  • CustomSelectControlV2: Support disabled in item types. (60896)
  • ExternalLink: Replace icon with unicode arrow. (60255)
  • InputBase: Simplify focus styles. (60226)
  • ProgressBar: Moved width to css var for perf. (60388)
  • SlotFill: Replace valtio with custom ObservableMap. (60879)
  • Tabs: Fallback to first enabled tab if no active tab Id. (60681)
  • Text: Add text-wrap: Pretty. (60164)
  • Try: Reduce checkbox size in data views. (60475)

Post Editor

  • Confirm dialog: Use more descriptive text for the confirm button. (60364)
  • Editor: Add wordcount and reading time info in post card. (60672)
  • Editor: Animate opening and closing editor right sidebar. (60561)
  • Editor: Animate the inserter and list view panels. (60665)
  • Editor: Update post URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org component. (60632)
  • Editor: Use the ‘ConfirmDialog’ component in template validation notice. (60385)
  • Enable template preview in post editor for non administrators. (60447)
  • Support insert before/after keyboard shortcuts when focus is within the list view. (60651)
  • Update publish flow. (60456)

Patterns

  • Add a “All Template Parts” section. (60775)
  • 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.: Add Patterns submenu for WordPress 6.4. (60804)
  • Patterns page: Add edit & view revision actions to parts. (60659)
  • Remove “Template parts” sidebar group. (60359)
  • Site Editor: Support starter patterns. (60745)

Synced Patterns

  • Adjust allow pattern overrides UXUX User experience flow. (60769)
  • Consolidate “bound 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.” color and “synced” colors. (60617)
  • Improve override indication for editable blocks in synced patterns. (60599)
  • Refine rename flow for blocks with overrides. (60234)

Zoom Out

  • Adjust block selection button. (60348)
  • Animation: Avoid fixed width when animating the secondary sidebar. (60693)
  • Introduce section container selection when assembling patterns (zoom out mode). (59249)
  • Update zoom out scale. (60618)

Block Library

  • Add loading state on image upload in 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., Site logo and Cover blocks. (59519)
  • File: Use 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. to update the PDF preview label. (60494)
  • Navigation block: Add current-menu-item class for post type archive. (57808)
  • Remove block renaming control from advanced inspector controls group. (60453)

Data Views

  • Add ability to display fields as a badge in grid layout. (60284)
  • Data views table row: Make checkboxes and actions visible on touch devices. (60829)
  • DataViews: Make the experiment about custom views. (60813)

Layout

  • Add a Row control to grid layout in manual mode. (60652)
  • Apply negative margins for alignfull children of blocks with custom padding set. (60716)
  • Try reducing specificity of layout style selectors. (60228)

Block Editor

  • Remove animation from InlineLinkUI. (60575)
  • Remove root appender. (60697)
  • Try: Add new textAlign block support. (59531)

Global Styles

  • Background image: Display default background size value in global styles. (60490)
  • Background UIUI User interface control labels. (60264)
  • Use text and button background color for color indicators. (59514)

Font Library

  • Change Spinner to ProgressBar component. (60570)

Interactivity API

  • Include preact/debug when SCRIPT_DEBUG is enabled. (60514)

New APIs

Extensibility

  • Editor: Support PluginPostStatusInfo Slot in the site editor. (60814)
  • Editor: Unify PluginMoreMenuItem API between post and site editors. (60778)
    • Fix: Use coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. instead of core/editor on normalizeComplementaryAreaScope. (60821)
  • Editor: Unify PluginSidebarMoreMenuItem. (60853)
  • Editor: Unify the PluginSidebar slot between post and site editors. (60815)

Bug Fixes

  • Fix: Add types to useSuspenseSelect. (60733)
  • Fix experimental useHasRecursion deprecation. (60451)
  • Fix translatable string in pagination modal. (60742)
  • Interactivity: Return useMemo and useCallback 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.. (60474)
  • Only show block icon in toolbar for contentOnly blocks when block is a synced block. (60647)
  • Patterns: Guard for unknown pattern in server-side resolver. (60464)
  • Snackbar: Make the explicitDismiss string translatable. (60368)
  • Update standardisation of ‘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.’ to have both words capitalised in user-facing menus. (60262)
    • Standardise capitalisation of Navigation Menu in sidebar. (60527)

Block Library

  • Embed: Avoid retrying valid URLs. (60655)
  • File: Mark update for setting default label as non-persistent. (60492)
  • Fix don’t close overlay menu when focus leaves submenu. (60406)
  • Fix pattern block recursion handling. (60452)
  • Image: Fix cropper resize on align change (reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-easy-crop upgrade). (60581)
  • Latest Posts: Remove wrapper div and apply consistent class. (60728)
  • List: Disable edit as HTML support. (55656)
  • Media & Text: Hide the alt text option for featured images. (60496)
  • Post title: Re-add the paragraph level (without UI). (60548)
  • Pullquote: Reduce specificity of padding rule to avoid conflicts with global styles. (60649)
  • Separator block: Reduce default border styles to avoid conflicts with global styles. (60740)

Site Editor

  • Chore: Fix missing comma on welcome guide styles. (60596)
  • Fallback to URL when site title is empty. (60885)
  • Fix activating a theme in site editor when previewing. (60699)
  • Fix site icon animation. (60419)
  • Fix small 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. on the resize handle. (60427)
  • Fix the removePropertyFromObject function throws an error if the object is null. (60831)
  • Fix: Style issue on page actions button. (60592)
  • Pattern page: Fix deps for onActionPerformed useCallback. (60784)
  • Remove outdated border radius animation. (60454)
  • Router: Load proper sidebar for /wp_template. (60850)
  • [Site Editor]: Fix ability to edit trashed pages. (60236)

Post Editor

  • Editor: Do not render publish time and post status panels in design post types. (60857)
  • Editor: Fix post status label styles for low-capability users. (60854)
  • Fix display of shortcut to add non breaking space in the post editor. (60625)
  • Fix: Action button alignment on details panel. (60773)
  • Fix: Action order is different from inspector and dataviews. (60877)
  • Fix: Do not show pattern and template actions on the post editor. (60568)
  • Fix: Missing items parameter and or missing onActionPerformed calls. (60753)
  • Fix: Trash Post action and permanently delete post action do not show errors on single item. (60597)
  • Post Editor Header: Make block toolbar toggle button focus visible. (59781)

Block Editor

  • Avoid errors when a block variation icon is an object. (60766)
  • Fix external link indicator in Link Control. (60439)
  • Fix for isPossibleTransformForSource handling selecting inexistent block. (59410)
  • Fix stuck dragging mode in UI in Firefox when dealing with deeply nested lists. (60845)
  • Prevents delete key from undoing automatic changes. (60858)
  • Raw Handling – msListIgnore – Check attributes are valid. (60375)

Data Views

  • DataViews: Fix typing in combobox 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.. (60819)
  • Fix default layout configuration in pages list. (60407)
  • Fix pattern titles. (60640)

Zoom Out

  • Don’t allow shuffle for locked patterns. (60381)
  • Prevent exiting Zoom Out mode from stealing focus. (60441)
  • Respect reduced motion when engaging zoom out mode. (60808)

Font Library

  • Avoid overriding custom settings on font library save. (60438)
  • Fix modal scrollbar. (60641)
  • 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 context to ‘Library’ string. (60520)

Components

  • Fix link control link preview when it displays long URLs. (60890)
  • ProgressBar: Fix CSSCSS Cascading Style Sheets. variable with 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. value. (60576)

Layout

  • Always add semantic classes. (60668)
  • Don’t output base flow and constrained layout rules on themes without 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.. (60764)
  • Fix responsive column span logic on the front end. (60976)
  • Restore classic auto margin rule to its previous specificity. (60802)

Interactivity API

  • Allow multiple event handlers for the same type with data-wp-on. (60661)
  • Update the query block to permit non-core interactive blocks. (60006)

Templates API

  • Fix static posts page setting resolved template. (60608)
  • Fix: Honor ‘template_hierarchy’ filters on template fallbacks. (60377)

Distraction Free

  • Only show inserter in document tools if DFM is off. (60426)
  • Remove alpha from edit post header. (60431)

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/.

  • Fix PHP notice triggered by ‘gutenberg_update_initial_settings’. (60862)

Global Styles

  • Editor styles: Delete duplicate backwards compat CSS custom properties. (60400)
  • Fix browser warning regarding highlight colors. (60555)

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)

  • Details Block: remove overflow:Hidden style. (60270)
  • Do not render pattern aria description if not button is rendered. (60653)
  • Fix inserter pattern pagination focus loss. (60620)
  • Make sure Social icons links aren’t empty and improve UI clarity. (60047)

Performance

  • Add null check to prevent errors in get_block_template filter. (60491)
  • Block preview: Build in async rendering. (60425)
  • Editor canvas: Reduces resize listeners. (60682)
  • Layout support: Avoid two block editor store subs. (60612)
  • Optimize the rendering of the EditorStyles component. (60493)
  • Post Title: Avoid accidental types requests. (60531)
  • Preview: Skip rendering rich text. (60544)
  • Previews: Avoid unneeded block selectors. (60543)
  • Site Editor: Close the editor sidebar by default. (60820)
  • Zoom-out: Scale should be stable function. (60580)
  • getEntityRecords: Batch actions. (60591)

Block Library

  • Avoid calling getBlocks selector for navigation link blocks. (60458)
  • Image cropper: Remove clientWidth prop with useResizeObserver. (60674)
  • Navigation block: Avoid selector + style recalc on mount. (60572)
  • Pattern block: Avoid fetching all reusable blocks on mount. (60310)
  • Post Featured Image: Optimize store subscriptions. (60770)

Site Editor

  • Optimize the AddTemplate component used in data views pages. (60586)
  • Sidebar slide animation: Replace motion.div with CSS animation. (60849)

Documentation

  • Add AutosaveMonitor component JSDoc and populate README with auto-gen documentation. (60882)
  • Add documentation for disableLineBreaks property of RichText. (56284)
  • Added Documentation for PostExcerptCheck. (60864)
  • Added links to related components. (60726)
  • Correct link to the theme json reference. (60517)
  • DimensionControl: Fix story configuration. (60703)
  • Docs: Fix typos in interactivity API reference. (60870)
  • Docs: Update wording in Block Editor Handbook to reflect that all examples now use JSX. (56315)
  • Fix: Grammar typo on packages/dataviews/src/search-widget.js. (60588)
  • Fix: Link to the block building tutorial. (60518)
  • Fixes a link to the getEntityRecord documentation. (60823)
  • Improve documentation for block variation isActive property. (60801)
  • Update: Hardcoded documentation link to a 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". that does not exist. (60671)
  • Update: Reference editor scope instead of edit-site, edit-post on interface package documentation. (60818)
  • [Create Block] Adding documentation for the transformer property. (60445)

Code Quality

  • Added @return after @global in php doc. (60611)
  • Blocks: Remove client-side polyfill for ‘selectors’. (60846)
  • [Block Bindings] Don’t use hooks. (60724)
  • Chore: Fix: Wrong JSDOC for an action return. (60786)
  • Chore: Simplify some CSS margin rules. (60816)
  • Editor: Serve as a proxy for the interface package. (60748)
  • Editor: Unify the auto-switch sidebars behavior. (60869)
  • Editor: Unify the keyboard shortcuts modal. (60866)
  • Editor: Unify the names of the sidebars between edit post and edit site. (60856)
  • Editor: Unify the preferences modal name. (60871)
  • Fix: Remove unused CSS for TemplatePartHint. (60852)
  • Fix: Remove unused css from page panels styles. (60774)
  • Fix: Font Library typo. (60751)
  • Fix: Remove unused CSS code from the site editor. (60662)
  • Interactivity API refactor to TypeScript (utils & kebabToCamelCase). (60149)
  • Reexport createSelector from data package. (60370)
  • Refactor: UseBlockTools cleanup. (59450)
  • Remove comment that no longer applies about appearance-tools support. (60844)
  • Reuse and unify post and page actions, accross the different use cases. (60486)
  • Test: Validate block & theme json. (57374)
  • Tests: Shard JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. unit tests. (60045)
  • Tests: Share 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/. build assets across PHP workflows. (60428)
  • Update: Avoid two useSelect calls on PostActions. (60752)
  • Update: Make content locking related selectors private. (60827)
  • Update: Move template actions to the editor store. (60395)
  • Update: Remove keyCode usage from dataviews package. (60585)
  • Update: Use util getVariationClassName instead of computing the variation inline. (60664)

Components

  • Deprecate reduceMotion util. (60839)
  • Navigation: Soft deprecate component. (59182)
  • NavigatorProvider: Move the same-location check to the goTo function. (60767)
  • ObservableMap: Optimize unsubscribe and add unit tests. (60892)
  • Remove CSS hack for Internet Explorer 11. (60727)

Post Editor

  • Editor: Optimize the ‘PostSlug’ component. (60422)
  • Editor: Use hook instead of HoC in ‘ThemeSupportCheck’. (60807)
  • Editor: Use hooks instead of HoCs in ‘PostTrashCheck’. (60380)
  • [Editor]:Get post content in PostContentInfo component. (60743)

Data Views

  • DataViews: Remove onDetailsChange event. (60387)
  • Rename displayAsColumnFields to columnFields API. (60504)
  • Simplify visually hidden label. (60835)

Block Editor

  • Refactor Link UI States. (59762)
  • Switching pattern categories inserter to Tabs component with arrow key navigation. (60257)

Tools

  • Update @talldan in codeowners file, remove from edit-widgets package. (60800)

Testing

  • Add end-to-end test for activating themes in site editor. (60707)
  • Automated Testing: Update end-to-end test npm commands. (60376)
  • Fix flaky Site Editor URL navigation end-to-end test. (60675)
  • PHP 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. workflow: Try removing 7.0 and 7.1. (60686)
  • Perf: Improve way we measure template loading by adding posts. (60516)
  • Performance Tests: I’m tired of doing head math 😊. (60509)
  • Upgrade Playwright to v1.43. (60635)
  • tip: Remove unecessary delay in tests except where needed. (60897)

Build Tooling

  • Dependencies: Upgrade babel. (57311)
  • Upgrade simple-git dependency. (59915)
  • Update Typescript to 5.4.5. (60793)

First-time contributors

The following PRs were merged by first-time contributors 👏

  • @asheshmagar 🏅 Font library: Fix typo. (60751)
  • @DaniGuardiola 🏅ProgressBar: Moved width to CSS var for performance. (60388)
  • @garridinsi 🏅 Interactivity API refactor to TypeScript (utils & kebabToCamelCase). (60149)
  • @xhemals 🏅 Update standardization of ‘Navigation Menu’ to have both words capitalized in user-facing menus. (60262), Standardise capitalization of the Navigation Menu in the sidebar. (60527)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @andrewserong @arthur791004 @artpi @asheshmagar @atachibana @carolinan @colinduwe @colorful-tones @DaniGuardiola @DAreRodz @draganescu @ellatrix @fabiankaegy @flexseth @garridinsi @geriux @getdave @ixkaito @jameskoster @jasmussen @jeryj @johnhooks @jorgefilipecosta @jsnajdr @kevin940726 @Mamaduka @matiasbenedetto @mhkuu @mikachan @mirka @noisysocks @ntsekouras @oandregal @ocean90 @okmttdhr @prajapatisagar @ramonjd @richtabor @ryanwelcher @scruffian @shail-mehta @shimotmk @simonhammes @sirreal @Soean @sunil25393 @t-hamano @talldan @tellthemachines @tyxla @xhemals @youknowriad

Props to @joen, @priethor and @bph for assisting with the preparation of this post and @vcanales, @mcsf, and @dmsnell for supporting me through my first Gutenberg release.

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

Agenda, Dev Chat, Wednesday April 24, 2024

The next WordPress Developers Chat will take place on  Wednesday April 24, 2024 at 20:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections, as below. If you have ticketticket Created for both bug reports and feature development on the bug tracker. requests for help, please do continue to post details in the comments section at the end of this agenda.

Announcements

An update for the 6.6 release squad has been posted, please note that the release squad is looking for one or two CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Leads to focus on triaging TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and a Documentation Lead with previous experience for the role.

Also, a reminder that the WordPress 6.5 retrospective post has been published, please fill in the survey if you would like to leave feedback or suggestions for improvements to the release process. The form and comments will be open until April 26th, 2024

There was also a recent discussion in the #core-editor channel around several topics linked to how we can improve how contributors follow along with editor updates and improve communication within the project. There were several potential actions discussed, including:

  • Create more high-level tracking issues that are not tied to a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope..
  • Create 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/. channels for high-level features, such as navigation (#feature-website-navigation) and the grid 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. (#feature-grid).
  • Create teams 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/ for high-level features to create an easy point-of-contact and discussion space for these features.

Forthcoming releases

Next major release: 6.6

We are currently in the WordPress 6.6 release cycle.

Next maintenance release: 6.5.3

There are currently 15 open tickets in the 6.5.3 release milestone. There is more information about this release in this post, including the 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. scrub schedule and how you can get involved.

Next 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/ release: 18.2

Gutenberg 18.2 is scheduled for April 24 and will include these issues.

Discussions

We are planning on discussing the following topics:

Feel free to suggest additional topics in the comments.

Highlighted posts

Core Editor Updates

Props to @annezazu for putting together these updates.

Tickets for assistance

Tickets for 6.6 will be prioritized.

Please include detail of tickets / PR and the links into comments, and if you intend to be available during the meeting if there are any questions or will be async.

Open floor

Items for this can be shared in the comments.

Props to @joemcgill for reviewing.

#agenda, #core, #dev-chat

Providing more clarity in the Gutenberg GitHub Repo

For a while now, the 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/ 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/ repo has had a few high level labels (Overview, Tracking, Iteration) that have gotten a bit convoluted over time. Sometimes the issue is no longer relevant, is incorrectly labeled, has been updated so many times that the comments don’t follow what’s there, or double labeled. This has led to reported concerns and confusion around what work is truly active, what areas are being explored, and more. To begin to clean this up, a few things were done over the last week or so to make these labels more reliable, more consistent, and easier to follow:

  • Updating the descriptions of these labels to be concise, more descriptive, and show how they are tied to each other.
  • Changing Epic to Iteration for clarity as Epic holds different connotations for folks and is harder to grasp.
  • Triaging older issues and closing out when necessary aka the work is no longer relevant or has been completed.
  • Ensuring the labels that remain are accurate, either by not labeling the work as one of the above labels or adding/removing labels.
  • Pinging the folks who opened different issue when needed to ask for updates to ensure what’s there aligns.
  • Opening any needed overview issues related to phase 3 (this is in progress by @priethor). 

How can I use or interact with these labels? 

For context, here’s a sense of how each label should work and how you might want to use them or follow them:

  • Overview issues contain more context/strategy and narrative, often including multiple tracking issues to accomplish an area of work and existing across numerous releases. Here’s an example from phase 2.
  • Tracking issues are more tactical, broken down into individual tasks and areas of work, and exist across a few releases. It should ideally be part of a breakdown from an Overview issue. Here’s an example for layout support.
  • Iteration issues are to define iterations of a project in smaller deliverable packages, including when possible the minimum requirements to ship the iteration as a whole in a WordPress release. Expect these issues to be regularly updated and curated. They reflect more active work and often is pulled out of a list of items in a tracking issue unless the scope is small and it can pull work directly from an Overview. Here’s an example with overrides in synced patterns for 6.6.

This means if you don’t have a ton of time to pay attention to the releases or overarching work, you can use these labels to narrow your focus and stay up to date at the level you’d like. 

Label description updates

This is just a quick rundown of what’s changed, description wise, to tighten up the approach. 

Before:

  • Epic: A large body of work shaping an iteration that can be broken down into a number of smaller issues.
  • Tracking: For issues used to track large changes across the codebase
  • Overview: Offers a comprehensive breakdown of a specific area of work to act as a guidepost

After:

  • Iteration: Scoped iteration of an effort from a tracking issue or overview issue ideally for a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope..
  • Tracking: Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
  • Overview: Comprehensive, high level view of an area of focus often with multiple tracking issues.

Let’s keep iterating

This system isn’t perfect but, just like with WordPress itself, it’s an iteration and you can expect more to come. This will be focused on for the WordPress 6.6 cycle on the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor side and likely iterated upon once more after going through a full cycle with a more tightened workflow. If done well, very little extra work should be created for contributors and those who want to contribute or follow along the efforts can do so with greater ease. Ultimately, communication around what’s gone into a release happens already and this just seeks to formalize where it happens with clearly high level labels and norms within them. 

Thank you to @richtabor and @priethor for reviewing this post. 

#core-editor, #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

What’s new in Gutenberg 17.8? (28 February)

“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 17.8

Gutenberg 17.8 has been released and is available for download!

With many contributors focused on the upcoming WordPress 6.5 release, this Gutenberg release prioritizes 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. Still, there are some new features worth noting below!

As a reminder, with WordPress 6.5 now in the 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. 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 to be included in 6.5, as needed. But new features in Gutenberg 17.8 will not be included in WordPress 6.5.

Grid layout variation

Grid is a new layout variation for the Group 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. that allows you to display the blocks within the group as a grid. There are two options for the grid layout. “Auto” generates the grid rows and columns automatically using a minimum width for each item. “Manual” allows specifying the exact number of columns.

Grid child sizing

A grid of 9 images in the post editor with the first image taking up 2 rows and 2 columns, while the other images all occupy 1 row and 1 column.
Using row and column span to resize a grid item

Grid children can be resized to a specific number of rows/columns by changing the “Column Span” and “Row Span” settings under Styles > Dimensions in the block inspector.

Bulk export your patterns

A grid of patterns with three that are selected. A menu is open under "Edit 3 Items" with the "Export as JSON" option highlighted.
Bulk export selected patterns

Multiple patterns can now be exported at the same time. After selecting the patterns you’d like to export in the Patterns section of the Site Editor, choose “Export as 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.” from the Bulk Edit menu to download a zip archive containing JSON export files for all of the selected patterns.

Browse and try alternative templates 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 Blog Home template is open in the editor, with the Template tab visible in the sidebar. A list of pattern previews shows under the heading "Transform Into:"
Browsing alternative templates in the sidebar

Templates and template parts now show similar, related templates in the sidebar. You can switch to an alternative template or template part in a single click!

Other Notable Highlights

  • 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)
    • Enter editing mode via Enter or Spacebar. (58795)
    • Font Library: display font collected with pagination instead of infinite scrolling. (58794)
  • Performance Improvements
    • Pattern Block: Batch replacing actions. (59075)
    • Block Editor: Move StopEditingAsBlocksOnOutsideSelect to Root. (58412)
  • The repository specific code of conduct has been removed in favor of using a shared code of conduct for all WordPress repositories. (59027)

Changelog

Full changelog available

Changelog

Features

  • Patterns: add bulk export patterns action. (58897)
  • Template editor/inspector: show and select related patterns. (55091)

Layout

  • Add toggle for grid types and stabilise Grid block variation. (59051 and 59116)
  • Add support for column and row span in grid children. (58539)

Enhancements

  • Patterns Page: Make categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. action button compact. (59203)
  • Block Editor: 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 HoC in ‘SkipToSelectedBlock’. (59202)
  • Font Library: Adds the ability to use generic() in font family names. (59103 and 59037)
  • 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/. 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. Controller: Return single revision only when it matches the parent id. (59049)
  • CSSCSS Cascading Style Sheets. & Styling: Tweak link focus outline styles in HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. anchor and custom CSS. (59048)
  • Data Views: Make ‘All pages’ view label consistent with template and patterns. (59009)
  • Script Modules 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.: Script Modules add deregister option. (58830)
  • Block Hooks: Add help text to Plugins panel. (59371)

Custom Fields

  • Block Bindings: Lock editing of blocks by default. (58787)
  • Style engine: Rename at_rule to rules_groups and update test/docs. (58922)

Block Library

  • Gallery: Set the ‘defaultBlock’ setting for inner blocks. (59168)
  • Remove the navigation edit button because it leads to a useless screen. (59211)
  • Set the ‘defaultBlock’ setting for Columns & List blocks. (59196)
  • Update: Increase footnotes 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. priority and separate footnotes meta registration. (58882)

Site Editor

  • Editor: Hide template part and post content blocks in some site editor contexts. (58928)
  • Tweak save hub button. (58917 and 59200)

Components

  • CustomSelect: Adapt component for legacy props. (57902)
  • Use Element.scrollIntoView() instead of dom-scroll-into-view. (59085)

Global Styles

  • Global style changes: Refactor output for a more flexible UIUI User interface and grouping. (59055)
  • Style theme variations: Add property extraction and merge utils. (58803)

Bug Fixes

  • Distraction Free Mode: fix ui toggling bugs. (59061)
  • Layout: Refactor responsive logic for grid column spans. (59057)
  • Interactivity API: Only add proxies to plain objects inside the store. (59039)
  • Cover Block: Restore overflow: Clip rule to allow border radius again. (59388)

List View

  • Editor: Do not open list view by default on mobile. (59016)
  • Create Block: Add missing viewScriptModule field. (59140)
  • Ignore the ‘twentytwentyfour’ test theme dir created by wp-env. (59072)
  • useEntityBlockEditor: Update ‘content’ type check. (59058)

Block Library

  • Author, Author Bio, Author Name: Add a fallback for Author Archive Template. (55451)
  • Fix Spacer orientation when inside a block with default flex layout. (58921)
  • Fix WP 6.4/6.3 compat for navigation link variations. (59126)
  • Interactivity API: Fix server side rendering for Search block. (59029)
  • Navigation: Avoid using embedded record from fallback API. (59076)
  • Pagination Numbers: Add data-wp-key to pagination numbers if enhanced pagination is enabled. (58189)
  • Revert “Navigation: Refactor mobile overlay breakpoints to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. (#57520)”. (59149)
  • Spacer block: Fix null label in tooltip when horizontal layout. (58909)

Data Views

  • DataViews: Add loading/no results message in grid view. (59002)
  • DataViews: Correctly display 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. that don’t have image sizes. (59111)
  • DataViews: Fix pages list back path. (59201)
  • DataViews: Fix patterns, templates and template parts pagination z-index. (58965)
  • DataViews: Fix storybook. (58842)
  • DataViews: Remove second reset filter button in 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. dialog. (58960)
  • Revert footer in pages list with DataViews. (59151)

Block Hooks

  • Fix in Navigation block. (59021)
  • Take controlled blocks into account for toggle state. (59367)

Block Editor

  • After Enter transform, skip other onEnter actions like splitting. (59064)
  • Close link preview if collapsed selection when creating link. (58896)
  • Editor: Limit spotlight mode to the editor. (58817)
  • Fix incorrect useAnchor positioning when switching from virtual to rich text elements. (58900)
  • Inserter: Don’t select the closest block with ‘disabled’ editing mode. (58971)
  • Inserter: Fix title condition for media tab previews. (58993)

Site Editor

  • Fix navigation on mobile web. (59014)
  • Fix: Don’t render the Transform Into panel if there are no patterns. (59217)
  • Fix: Logical error in filterPatterns on template-panel/hooks.js. (59218)
  • Make command palette string transatables. (59133)
  • Remove left margin on Status help text. (58775)

Patterns

  • Allow editing of image block alt and title attributes in content only mode. (58998)
  • Avoid showing block removal warning when deleting a pattern instance that has overrides. (59044)
  • Block editor: Pass patterns selector as setting. (58661)
  • Fix pattern categories on import. (58926)
  • Site editor: Fix start patterns store selector. (58813)

Global Styles

  • Fix console error in block preview. (59112)
  • Revert “Use all the settings origins for a block that consumes paths with merge #55219” (58951 and 59101)
  • Shadows: Don’t assume that coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. provides default shadows. (58973)

Font Library

  • Fixes installed font families not rendering in the editor or frontend. (59019)
  • Font Library: Add missing translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. functions. (58104)
  • Show error message when no fonts found to install. (58914)
  • Font Library: Create post types on init hook. (59333)

Synced Patterns

  • Fix missing source for binding attributes. (59194)
  • Fix resetting individual blocks to empty optional values for Pattern Overrides. (59170)
  • Fix upload button on overridden empty image block in patterns. (59169)

Design Tools

  • Background image support: Fix issue with background position keyboard entry. (59050)
  • Cover block: Clear the min height field when aspect ratio is set. (59191)
  • Elements: Fix block instance element styles for links applying to buttons. (59114)

Components

  • Modal: Add box-sizing reset style. (58905)
  • ToolbarButton: Fix text centering for short labels. (59117)
  • Upgrade Floating UI packages, fix nested 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. positioning bug. (58932)

Post Editor

  • Editor: Fix ‘useHideBlocksFromInserter’ hook filename. (59150)
  • Fix layout for non viewable post types. (58962)

Rich Text

  • Fix link paste for internal paste. (59063)
  • Revert “Rich text: Pad multiple spaces through en/em replacement”. (58792)

Custom Fields

  • Block Bindings: Add block context needed for bindings in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (58554)
  • Block Bindings: Fix disable bindings editing when source is undefined. (58961)

Accessibility

  • Enter editing mode via Enter or Spacebar. (58795)
  • Block Bindings > Image Block:Mark connected controls as ‘readonly’. (59059)
  • Details Block: Try double enter to escape inner blocks. (58903)
  • Font Library: Replace infinite scroll by pagination. (58794)
  • Global Styles: Remove menubar role and improve complementary area 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. semantics. (58740)

Block Editor

  • Block Mover: Unify visual separator when show button label is on. (59158)
  • Make the custom CSS validation error message accessible. (56690)
  • Restore default border and focus style on image 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. (58505)

Performance

  • Pattern Block: Batch replacing actions. (59075)
  • Block Editor: Move StopEditingAsBlocksOnOutsideSelect to Root. (58412)

Documentation

  • Add contributing guidlines around Component versioning. (58789)
  • Clarify the performance reference commit and how to pick it. (58927)
  • DataViews: Update documentation. (58847)
  • Docs: Clarify the status of the wp-block-styles theme support, and its intent. (58915)
  • Fix move interactivity schema to supports property instead of selectors property. (59166)
  • Storybook: Show badges in sidebar. (58518)
  • Theme docs: Update appearance-tools documentation to reflect opt-in for backgroundSize and aspectRatio. (59165)
  • Update richtext.md. (59089)

Interactivity API

  • Interactivity API: Fix WP version, update new store documentation. (59107)
  • Interactivity API: Update documentation guide with new wp-interactivity directive implementation. (59018)
  • Add interactivity property to block supports reference documentation. (59152)

Schemas

  • Block JSON schema: Add viewScriptModule field. (59060)
  • Block JSON schema: Update shadow definition. (58910)
  • JSON schema: Update schema for background support. (59127)

Code Quality

  • Create Block: Remove deprecated viewModule field. (59198)
  • Editor: Remove the ‘all’ rendering mode. (58935)
  • Editor: Unify the editor commands between post and site editors. (59005)
  • Relocate ‘ErrorBoundary’ component 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. folders. (59031)
  • Remove obsolete wp-env configuration from package.json (#58877). (58899)
  • Design Tools > Elements: Make editor selector match theme.json and frontend. (59167)
  • Global Styles: Update sprintf calls using _n. (59160)
  • Block API: Revert “Block Hooks: Set ignoredHookedBlocks metada attr upon insertion”. (58969)
  • Editor > Rich Text: Remove inline toolbar preference. (58945)
  • Style Variations: Remove preferred style variations legacy support. (58930)
  • REST API > Template Revisions: Move from experimental to compat/6.4. (58920)

Block Editor

  • Block-editor: Auto-register block commands. (59079)
  • BlockSettingsMenu: Combine ‘block-editor’ store selectors. (59153)
  • Clean up link control CSS. (58934)
  • HeadingLevelDropdown: Remove unnecessary isPressed prop. (56636)
  • Move ‘ParentSelectorMenuItem’ into a separate file. (59146)
  • Remove ‘BlockSettingsMenu’ styles. (59147)

Components

  • Add Higher Order Function to ignore Input Method Editor (IME) keydowns. (59081)
  • Add lint rules for theme color CSS var usage. (59022)
  • ColorPicker: Style without accessing InputControl internals. (59069)
  • CustomSelectControl (v1 & v2): Fix errors in unit test setup. (59038)
  • CustomSelectControl: Hard deprecate constrained width. (58974)

Post Editor

  • DocumentBar: Fix browser warning error. (59193)
  • DocumentBar: Simplify component, use framer for animation. (58656)
  • Editor: Remove unused selector value from ‘PostTitle’. (59204)
  • Editor: Unify Mode Switcher component between post and site editor. (59100)

Interactivity API

  • Refactor to use string instead of an object on wp-data-interactive. (59034)
  • Remove data-wp-interactive object for core/router. (59030)
  • Use data_wp_context helper in core blocks and remove data-wp-interactive object. (58943)

Site Editor

  • Add stylelint rule to prevent theme CSS vars outside of wp-components. (59020)
  • Don’t memoize the canvas container title. (59000)
  • Remove old patterns list code and styles. (58966)

Tools

  • Remove reference to CODE_OF_CONDUCT.md in documentation. (59206)
  • Remove repository specific Code of Conduct. (59027)
  • env: Fix mariadb version to LTS. (59237)

Testing

  • Components: Add sleep() before all Tab() to fix flaky tests. (59012)
  • Components: Try fixing some flaky Composite and Tabs tests. (58968)
  • Migrate change-detection to Playwright. (58767)
  • Tabs: Fix flaky unit tests. (58629)
  • Update test environment default theme versions to latest. (58955)
  • Performance tests: Make site editor performance test backwards compatible. (59266)
  • Performance tests: Update selectors in site editor pattern loading tests. (59259)
  • Fix failing Dropdown Menu e2e tests. (59356)

Build Tooling

  • Add test:e2e:playwright:debug command to debug Playwright tests. (58808)
  • Updating Storybook to v7.6.15 (latest). (59074)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @alexstine @andrewhayward @andrewserong @brookewp @c4rl0sbr4v0 @chad1008 @ciampo @creativecoder @DAreRodz @derekblank @desrosj @draganescu @ellatrix @fabiankaegy @gaambo @glendaviesnz @jameskoster @janboddez @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanfra @kevin940726 @Mamaduka @MarieComet @matiasbenedetto @mirka @noisysocks @ntsekouras @oandregal @ockham @pbking @ramonjd @SantosGuillamot @scruffian @shreyash3087 @t-hamano @talldan @tellthemachines @tyxla @youknowriad

Props to @saxonafletcher for assisting with visual assets and to @mikachan and @jorbin for reviewing this post before publishing.

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

Recap Hallway Hangout: What’s next for the outreach program?

A group of contributors came together to discuss the Proposal: What’s next for the Outreach program.

Participants were @fabiankaegy @ndiego @greenshady, @poena and @bph (facilitator).

We recorded the discussion and it’s available on YouTube.

The meeting discussed ways to improve the WordPress outreach program and user feedback processes.

Key points included:

Renaming the FSC Outreach channel to “Outreach” to broaden its scope beyond experiments.

The channel was renamed #outreach. Big Thank You to the #meta team. Come and join us.

Creating a 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/ team for contributors to provide early feedback on features through calls for testing.

During the discussion the problem came up how to connect developer working on WordPress features with extenders or agency developers. One suggested way is to create a new subteam in the WordPress GitHub organization called “Outreach”. This team is public and allows anyone on GitHub to use the @wordpress/outreach handle to pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” the people in the listed there and ask them for feedback or testing. Similar groups are already available for “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. Themers” “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)”.  If you are interested in being part of the group, notice that in the comment and share your GitHub account.

This handle should be used to raise any issues or pull requests where someone is looking for feedback / testing. So if you are working on a feature and are hoping to get so me additional insights from a diverse set of users from different backgrounds, please don’t hesitate to ping this group.

Working with the testing team to organize smaller, more manageable calls for testing.

The two test team reps, @webtechpooja and @ankit-k-gupta will add a discussion to their next meeting of the test team on Feb 27, at 11 UTC. If you are a contributor interested in putting user call for testings together, you might want to join in the meeting.

Encouraging engineers to use the Outreach channel for feedback on new features earlier in development.

Contributors felt that sometimes soliciting input before a feature is fully merged and pushed to a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., it could use additional feedback from extenders and agencies. As example: Pattern overrides that don’t have a theme component and don’t alleviate the pain point that there is no way for theme developers to bundle synch patterns with overrides with their themes.

The information around new features or enhancements is not always easy accessible. There is a need to have an ongoing exchange between the engineering teams, test team and outreach contributors to determine the right timing for calls for testing.

Creating a wishlist for each upcoming release to gather input on user priorities.

This is referring to a post made before WordPress 6.4 WordPress 6.4: What’s on your wishlist? More research is required. It also overlaps with the Extensibility Issues Triage initiative that meets once a month to look at issues that concern extensibility and could be pushed forward. Next meeting March 14, 2024, at 12:00 UTC in #core-editor channel

The goal is to make the outreach program more accessible and sustainable, improve collaboration across teams, and help guide WordPress development through early and ongoing user and contributor input.

Props for co-writing to @fabiankaegy and for review to @greenshady and @ndiego.

#outreach

What’s new in Gutenberg 17.7? (14th February)

“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.

Gutenberg 17.7 has been released and is available for download!

This cycle 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 ahead of the next WordPress 6.5 release. Multiple performance improvements, refinement of the Link Control UIUI User interface, Shadow support for the columns, and image blocks are good examples of what this new Gutenberg release is bringing.

Table of contents

Shadow support for more blocks

The effects panel is now available for the Columns, Column, and Image blocks, allowing users to add shadow effects to them. 

Now, users can effortlessly apply shadow effects to these blocks, building upon the functionality previously exclusive to the Button 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.. This opens up new creative possibilities, empowering designers to improve their layouts directly from the Editor. (57982)

Data views enhancements 

This release marks the continuation of the Dataviews project, which will become a part of WordPress 6.5 for managing patterns and templates. 

The release has introduced the ability to select multiple items on the grid view and execute bulk actions such as reverting user templates or deleting user-created patterns and templates. Together with filters, it makes it possible to quickly revert all user template changes or delete all user-created patterns. 

Additionally, a new primary filter API has been included, allowing main filters to be visible at all times in the UI. This makes it easy to switch between viewing and managing sync or unsync patterns.

This release includes a few enhancements to the Link Control UI. A notable addition to the interface allows the user to insert a new block instead of a link from the context of the Navigation block. Combined with the fixes from #55551, the Navigation block now will work to allow the insertion of third-party blocks, opening a new range of possibilities (57756, 57986, 58744)

Making Font Library ready for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

The Font Library had some important changes under the hood to prepare for its journey into WordPress Core, including security improvements and standardizing some of the code structure. Some important (and ongoing) 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) improvements came to the Font Library Management UI in the Site Editor.

Other Notable Highlights

  • A proposal has been put forward to include Core blocks in the directory developed within the Gutenberg repository for convenience. Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. would maintain the blocks but would be standalone instead of bundled with the block library. Please contribute to the discussion in the open issue.
  • Drag and Drop has been improved, allowing dragging from the block inserter into template parts (and within) and allowing dragging from the desktop to template parts (58589, 58423)
  • This release also comes packed with a bunch of performance improvements (58356, 58349, 58556, 58372, 58244, 57232, 58575, 58348, 58513, 58245, 58734, 58146, 58355, 58393, 58405, 58354)

Changelog

Full changelog available

Enhancements

  • Improve translators comments for wp.date.setSettings in compat file. (58488)
  • Interactive Template: Use viewScriptModule. (58211)

Components

  • Adding constrainTabbing prop to useDialog hook. (57962)
  • Allow limiting the number of maximum visible Snackbars. (58559)
  • ConfirmDialog: Add __next40pxDefaultSize to buttons. (58421)
  • Expand theming support in COLORS. (58097)
  • FocalPointPicker: Apply modern styling. (58459)
  • Implement Tabs in 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. editor settings. (57886)
  • Implement Tabs in site-editor settings. (56959)
  • Implementing useCompositeState with Ariakit. (57304)
  • InputBase: Add isBorderless prop. (58750)
  • Replace TabPanel with Tabs in the editor Document Overview 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.. (57082)
  • SearchControl: Refactor to use InputControl internally. (56524)
  • Show borders for disabled secondary buttons. (58606)

Data Views

  • Add outline to template preview in table layout. (58738)
  • Add: Delete bulk action to patterns. (58747)
  • Add: Selection and bulk actions to grid view. (58144)
  • DataViews: Add primary 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. 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.. (58427)
  • DataViews: In patterns page, show sync status filter by default. (58367)
  • DataViews: Redesign of filters. (58569)
  • Remove min-width style on table cells. (58204)
  • Update ‘Rows per page’ view option label to account for Grid layout. (58457)
  • Update dataviews search input placeholder. (58742)
  • Update spacing around title in grid layout. (58739)

Interactivity API

  • Add block supports for clientNavigation and interactive properties on 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. (58132)
  • Image block: Refactor and remove data-wp-body. (58835)
  • Interactivity Router: Fix initial page cache. (58496)
  • Interactivity Router: Move ARIA live region and loading bar to the Interactivity Router. (58377)
  • Limit the exported APIs. (58864)
  • Mark all core block stores as private. (58722)
  • Server Directive Processor for data-wp-each. (58498)
  • Support setting a namespace using a string in data-wp-interactive. (58743)
  • Allow global configs for namespaces. (58749)

Block Library

  • Follow up on the Post navigation link 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. filters. (57949)
  • Home Link: Render Home text if there is no attribute label present. (58387)
  • Organize gallery controls. (58407)
  • Pattern: Use the ‘__experimentalLabel’ method to get a title. (58646)
  • Social Icons: Update Patreon icon. (56951)
  • Try: Disable text selection for post content placeholder block. (58169)
  • Update pattern block copy in light of pattern overrides. (58231)
  • Add shadow support for column, columns and image. (57982)

Global Styles

  • Add style engine support for nested at-rules. (58867)
  • Move Shadow controls to Border panel. (58466)
  • Shadow: Update shadow support to allow explicit skipping of serialization. (58306)
  • Try: Remove shadow preset overflow. (58663)
  • Update return values from getGlobalStylesChanges(). (58707)
  • Add support for transform and letter spacing controls in Global Styles > Typography > Elements. (58142)

Block Editor

  • Drag and drop: Allow dragging from inserter or desktop to template parts. (58589)
  • Drag and drop: Allow dropping within template parts. (58423)
  • Implement “Add block” UI for Nav block Link UI. (57756)
  • Implementing new UXUX User experience for invoking rich text Link UI. (57986)
  • Remove open in new tab from link preview. (58744)
  • Use consistent labels, remove additional settings, and copySmall icon LinkControl. (58183)

Site Editor

  • Apply 40px across summary panel. (58730)
  • Apply custom scroll style to fixed 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. block toolbar. (57444)
  • Improve SiteIcon display and transition. (58472)
  • Only show ‘Back’ button when user came from an editor canvas. (58710)
  • Update “focus mode” to consistently use the Document Bar’s Back button. (58528)

Patterns

  • Add a confirmation dialog when a user tries to delete a synced pattern with overrides. (58796)
  • Add the block name to the pattern content data. (58715)
  • Flash editable block outlines instead of always showing them. (58159)

Design Tools

  • Background image support: Add background position controls. (58592)
  • Tweak metrics and labels for background size controls. (58854)

Post Editor

  • Editor: Limit visible Snackbars from the consumers. (58598)
  • Save entities panel: Update styles. (58706)

Font Library

  • Add sanitize from schema util. (58571)
  • Font Collections: Update registration function signature and add caching. (58363)
  • Font Library: Show ‘Add fonts’ button when there are no fonts installed. (58580)

Inspector Controls

  • Tweak FocalPointPicker inspector controls. (58448)
  • Tweak Media & Text inspector controls. (58447)

Custom Fields

  • Block Bindings: Ensure to pass bound attributes. (58844)

Commands

  • Try debouncing search for post-type navigation. (58810)

Document Settings

  • Tweak 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. panel for improved scanning. (58751)

Synced Patterns

  • Support button’s link settings for Pattern Overrides. (58587)

Block API

  • 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.: Set ignoredHookedBlocks metada attr upon insertion. (58553)

List View

  • Add keyboard clipboard events for cut, copy, paste. (57838)

New APIs

Block API

  • Blocks: Add handling for block.json viewScriptModule. (58731)

Bug Fixes

  • Core data: useEntityBlockEditor: Fix parsed blocks cache. (58841)
  • Footnotes: Fix anchor order replacing. (58791)

Block Editor

  • Block Switcher: Use consistent labels. (58240)
  • Don’t move focus within the toolbar if it is already focused. (58570)
  • Don’t show Link preview when no selection. (58771)
  • Fix Link UI popover anchor in rich text. (58282)
  • Fix empty link preview after creating link from empty selection. (58863)
  • Hide the ‘Content’ panel for locked blocks when there’s no content. (58259)
  • ImageURLInputUI: Fix focus loss when settings are changed. (58647)
  • Link UI: Polish lightbox pieces. (58666)
  • Media Replace Flow: Vertically align the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (58621)
  • MediaReplaceFlow: Restore popover width. (58597)
  • Rich Text: Only apply focus to elements, not selection. (58745)
  • Rich text: Preserve white space should strip \r. (58805)
  • Settings may be undefined. (58658)
  • useOnBlockDrop: Fix the Gallery block check. (58711)

Components

  • Add a timezone offset value for display purposes. (56682)
  • Fix Placeholder component padding when body text font size is changed. (58323)
  • Fix URLPopover preview overflow. (58741)
  • Fix the Snackbar auto-dismissal timers. (58604)
  • Popover: Add box-sizing reset style. (58871)
  • Set post editor sidebar tabs to manual activation. (58041)
  • Tabs: Delay activeId updates until focus can be properly detected. (58625)
  • Tabs: Fix infinite 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. in useEffect. (58861)
  • Tabs: Improve Controlled Mode Focus Handling. (57696)
  • Try: Fix lightbox URL popover position. (58600)

Block Library

  • Fix #54352 prevents php 8.1 fatal when template parts are not found in non-debug environments. (54354)
  • Fix Query pagination not working in template parts and patterns. (58602)
  • Fix URL escaping for array parameters in Navigation links. (58068)
  • Fix missing data in email submissions. (55691)
  • Fix: Removing footnotes from the allowed blocks does not remove footnotes. (58855)
  • Navigation Link: Use get_block_type_variations to register variations. (58389)
  • Prevent usage of gutenberg_url in block-library. (58242)
  • Template Part: Reflect name updates without saving changes. (58644)
  • Try: Make gallery randomization work when nested. (58733)

Data Views

  • DataViews: Fix applied default layout props. (58400)
  • DataViews: Fix nested buttons and placeholder text in list layout. (58304)
  • DataViews: Fix some small issues with 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.. (58371)
  • DataViews: Make it possible to toggle Author field in templates and template parts. (58609)
  • DataViews: Remove test artifact (status filter was set as primary). (58682)
  • DataViews: Use chips for filter summary. (58816)
  • Fix double scrollbar in grid layout. (58536)
  • Fix: Dataviews selection on patterns grid view. (58726)

Site Editor

  • Add context for the All translatable string and enforce 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. best practices. (58196)
  • Break long URL in page sidebar. (58763)
  • Editor: Fix block context defined for template parts. (58807)
  • Fix line-height in block card. (58246)
  • Hide export button if non-block-based theme. (58346)
  • Mobile site editor header toolbar button bugfix. (58852)

Post Editor

  • Editor: Don’t hide authors’ Combobox if the current author is missing. (58719)
  • Fix permalink input field text overflow ellipsis for Firefox. (57310)
  • Fix the position and size of the Options menu,. (57515)
  • Fix: Use old template panel if user doesn’t have access to view templates. (58485)
  • Template editing: Update fullscreen WP back functionality. (58534)

Interactivity API

  • Add supports.interactivity to the Query block. (58316)
  • Fix state intialization for asynchronous private stores. (58754)
  • Remove non-default suffix data wp context processing. (58664)
  • Use compat versions of HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIs. (58846)

Global Styles

  • Block Styles: Fix block style variation selector generation. (58051)
  • Fix Global styles text settings bleeding into placeholder component. (58303)
  • Global styles revisions: Fix is-selected rules from affecting other areas of the editor. (58228)
  • Site Editor: Prevent classic theme from accessing global style menu. (58345)

List View

  • Fix error when switching between template preview modes. (58533)
  • Navigation Submenu Block: Make block name affect list view. (58296)
  • Template Part: Fix site editor error when loading with list view set to always display. (58868)

Font Library

  • Avoid mutating fontface data. (58473)
  • Avoid running init functions when font library is available in core. (58793)
  • Fix size of demo text. (58849)

Typography

  • Fix font library modal dialog translatable strings. (58256)
  • Font Library: Change referenced tab name on Google Fonts confirmation dialog. (58584)
  • Font size: Allow for custom font size handling. (58422)

Script Modules API

  • Add import map polyfill. (58263)
  • Import Maps: Only emit CDATA wrappers for inline scripts for 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/.. (58818)

Extensibility

  • Fix broken list markup in navigation block when 3rd party blocks are used as decendants of navigation block. (55551)
  • Navigation block: Check Block Hooks API callback hasn’t already been added. (58772)

Synced Patterns

  • Disable overriding links of images inside pattern instances. (58660)
  • Fix nested pattern overrides and disable editing inner pattern. (58541)

Inspector Controls

  • Add missing PanelBody title for the columns block inspector. (58452)
  • Add spacing between input controls with custom values. (58410)

Custom Fields

  • Block Bindings: Update bindings registry with latest changes. (58843)

History

  • Columns: Batch vertical alignment updates. (58801)

Document Settings

  • Editor: Ensure the current author is included in the dropdown. (58716)

Rich Text

  • Add aria-readonly attribute to Rich Text component. (58687)

Navigation Menus

  • Navigation: Update the fallback block list to avoid a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Warning. (58588)

Patterns

  • Update the bindings attribs of blocks added during experimental phase. (58483)

Distraction Free

  • Add default restoration of UI when exiting distraction free mode. (58455)

Accessibility

  • Escape as Select/Edit mode Toggle. (58637)
  • Global styles revisions: Update text color contrast. (58340)

Components

  • CustomSelect: Disable virtualFocus to fix issue for screenreaders. (58585)
  • Font Library modal: Try to improve checkbox labelling. (58339)
  • PaletteEdit: Fix palette item accessibility. (58214)

Font Library

  • Buttons position and accessibility. (58212)
  • Fix focus loss when update/install button is pressed. (58364)
  • Removed and elements from Font Library Modal. (58221)

Block Library

  • Fix image link preset suggestions arrow key navigation. (58615)

CSSCSS Cascading Style Sheets. & Styling

  • Font Library: Fix font preview vertical alignment and respect reduce motion preference. (58451)

Widgets Editor

  • Widget Editor: Don’t disable the Save button. (58365)

Typography

  • Fix fonts modal dialog buttons accessibility. (58309)

Commands

  • Fix labeling of the command palette. (56718)

Performance

  • Block editor: Optimise getGlobalBlockCount/getClientIdsWithDescendants. (58356)
  • Block editor: Prevent isSubtreeDisabled call if not needed. (58349)
  • Block editor: Reduce appender sync! subscriptions. (58556)
  • Block editor: selectors: Avoid has() or double get() on Maps. (58372)
  • Block preview: Prevent recalculating editor styles if additional styles is empty. (58244)
  • Image block: Remove a block editor store sub. (57232)
  • Inner blocks: Don’t re-render list when controlled blocks change. (58575)
  • InnerBlocks: Fix continuous re-rendering on inner blocks change. (58348)
  • Navigation: Fix performance 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.. (58513)
  • Post template: Don’t fetch taxonomies if not needed. (58245)
  • Site editor: Add pattern/template load performance test with TT4. (58734)
  • Site editor: Avoid double post content parse (alternative). (58146)
  • Unmemoize Block component selectors. (58355)
  • core-data: Memoize getEntitiesConfig selector. (58393)
  • getBlockSettings: Avoid memoized selector with clientId. (58405)
  • useSettings: Extract selector. (58354)

Font Library

  • Font Collections: Lazy load json configuration for better performance. (58530)

List View

  • Unmemo recursive getEnabledClientIdsTree. (58525)

Block Editor

  • Optimize the ‘useBlockDisplayTitle’ hook. (58250)

Interactivity API

  • Break up long hydration task in interactivity init. (58227)

Experiments

Data Views

  • Update styling details in list item layout. (58397)

Synced Patterns

  • Add a control per block to reset pattern overrides. (57907)

Documentation

  • Add video embed documentation and grammar fixes in the Block Editor Handbook. (58029)
  • Block API: Add viewStyle property support to block.json. (55492)
  • CheckboxControl: Add custom label example to Storybook. (58438)
  • Docs: Copy and formatting edits for the “Markup representation of a block” guide. (58688)
  • Docs: Copy and formatting edits for the “Registration of a block” guide. (58709)
  • Docs: Copy and formatting edits for the “Static or Dynamic rendering” guide. (58681)
  • Docs: Copy and formatting edits for the “The block in the Editor” guide. (58697)
  • Docs: Copy and formatting edits for the “The block wrapper” guide. (58704)
  • Docs: Copy and formatting edits for the “Working with Javascript for the Block Editor” guide. (58651)
  • Docs: Copy and formatting edits for the “block.json” guide. (58732)
  • Docs: Copy edits and list formatting for main Block Editor Handbook readme. (58652)
  • Docs: Fix list formatting and some grammar in the Entities explanation doc. (58655)
  • Docs: Fix list markup in the Fundamentals of Block Development section. (58226)
  • Docs: Fix mistake in viewScriptModule documentation. (58815)
  • Docs: Formatting and copy edits for the File structure of a block guide. (58635)
  • Docs: Minor copy edits for the Block Development Environment page. (58614)
  • Docs: Remove duplicate content and update links. (58358)
  • Docs: Update link to the correct Fundamentals doc. (58352)
  • Docs: Update list formatting and descriptions in the Fundamentals of Block Development doc. (58630)
  • Docs: Update the Getting Started readme in the Block Editor Handbook. (58624)
  • Reference Gutenberg in PHP documentation from main documentation. (58453)
  • Removed extra parenthesis from document. (58662)
  • Restructure the FAQs to work with the new TOC design in the Block Editor Handbook. (58351)
  • Storybook: Add badges to private components. (58123)
  • Update documentation to avoid recommending early return PHP “anti-pattern”. (58454)
  • Update to rename reusable blocks. (58633)
  • Update versions-in-wordpress.md. (58545)
  • fix: InnerBlocks schema description in block.json. (58649)

Code Quality

  • Avoid running pattern overrides migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in WordPress core. (58487)
  • Build: Add package build shebang and sync comments. (58264)
  • Date: Merge 6.4 and 6.5 compat files. (58479)
  • DefaultBlockAppender: Refactor to hooks. (58809)
  • Docs: Clarify the non-contextual post types. (58836)
  • Layout block supports use str_contains. (58251)
  • Move Nav Link PHPUnit tests to blocks directory. (58460)

Font Library

  • Address feedback from wordpress-develop#6027. (58691)
  • Fix font library unit tests nit-picks [round 2]. (58612)
  • Font Collections: Standardizes docblockdocblock (phpdoc, xref, inline docs) comments. (58654)
  • Font Library Address Outstanding Feedback from WP 6.4 review. (58675)
  • Move Fonts Library to compat dir for 6.5. (58608)
  • Remove font family and font face preview keys from theme.json schema. (58395)
  • Remove old and unused component and css. (58449)
  • Remove slug from collection schema to accommodate the changes on the wp_register_font_collection function signature. (58623)
  • Remove tests from classes that were already merged in core. (58752)
  • Remove tests from font library rest controllers already merged into core. (58778)
  • Return null if a font collection is not registered. (58735)
  • Simplify font collection schema. (58574)
  • Update Font Library 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/. code to align with Core standards. (58619)
  • Update Font Library non-REST API code to align with Core standards. (58607)
  • Update font collection json schema. (58413)
  • Update fonts collection data URL for Gutenberg 17.7. (58746)
  • Use Button’s API to disable footer buttons. (58529)
  • [Font Library] Update PHPUnit tests per Core coding standards and practices. (58502)

Components

  • Add eslint rule for theme var regressions. (58130)
  • Add stylelint rule for theme var regressions. (58098)
  • AnglePickerControl: Hard deprecate bottom margin. (58700)
  • CustomGradientPicker: Hard deprecate outer margins. (58699)
  • FontSizePicker: Hard deprecate bottom margin. (58702)
  • GradientPicker: Hard deprecate outer margins. (58701)
  • Remove deprecation warnings for __next36pxDefaultSize. (58703)

Block Library

  • Interactivity API – Blocks: Move interactivity registration to render. (58678)
  • Navigation: Move the Navigation block rendering tests to the blocks directory. (58247)
  • Navigation: Remove use of Gutenberg_Navigation_Fallback class. (58369)
  • Paragraph: Update comment block. (58419)
  • Rename variation build methods. (58538)
  • Template Part: Derive ‘hasInnerBlocks’ inside selector. (58680)

Block Editor

  • Block Switcher: Don’t use the ‘useBlockDisplayInformation’ hook. (58562)
  • BlockSelectionButton: Don’t use the ‘useBlockDisplayInformation’ hook. (58640)
  • Link Control: Simplify the sprintf. (58831)
  • RichTextData: Use a private property. (58557)

Post Editor

  • Editor Settings: Rename the getPostLinkProps setting. (58416)
  • Editor: Reuse data query in the post author components. (58760)
  • Editor: Use hooks instead of HoCs in the post-taxonomies components. (58446)
  • Fix: Refactor pre publish panel to use function component instead of class. (58441)

Custom Fields

  • Block Bindings: Remove unneeded ‘setAttributes’ override. (58806)

Patterns

  • Pattern overrides: Update overrides attribute data structure and rename it to content. (58596)

Tools

  • Add BlockJsonDependenciesPlugin to modules build. (57927)
  • DEWP: Fix script module import field. (58770)
  • Introduce a Props Bot workflow. (58576)
  • More refinements to Props Bot run conditions. (58617)
  • Refine when Props Bot runs. (58616)
  • Remove noahtallen from .wp-env codeowners. (58283)
  • Scripts: Add viewScriptModule block.json support. (58203)

Testing

  • “Multiple use” block validation logic improvement [with Playwright]. (57576)
  • Block Bindings: Add block bindings end-to-end tests. (58550)
  • Block Bindings: Add tests for the frontend and polish the existing ones. (58676)
  • Block Bindings: Improve the code of the block bindings tests. (58785)
  • Button: Add focusable disabled variant to vizreg Storybook. (58634)
  • CustomSelect: Add tests for new features. (58583)
  • Fix flaky test of data-wp-on-window directive. (58642)
  • Flaky Test: Fix “directives inside islands should not be hydrated twice”. (58516)
  • Interactivity API: Fix flaky test in data-wp-on-document. (58668)
  • Migrate remaining ‘inserting blocks’ end-to-end tests to Playwright. (58108)
  • Migrate remaining ‘pattern block’ end-to-end tests to Playwright. (58486)
  • SearchControl: Add unit tests. (58693)
  • Try fixing flaky ‘inserting blocks’ end-to-end tests. (58848)
  • Try fixing flaky Paragraph block end-to-end test. (58208)
  • Use toBeDisabled instead of aria-disabled check. (58694)
  • e2e: Add a test to confirm that the focus moves from the post title to the paragraph using the enter key. (58872)
  • end-to-end Utils: Ensure deleteAllUsers does not delete current user. (58320)

Build Tooling

  • Add missing Interactivity API label to changelog script. (58879)
  • Enable dynamic import transform for ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native tests. (58546)
  • Fix: Remove mention of weekly meeting from first time contributor PR label. (58547)
  • Interactivity API: Move Core implementation to compat 6.5 folder. (58829)
  • Remove phpunit tests for features backported to Core. (58776)
  • Update Performance tests base 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".. (58890)
  • Workflows: Add ‘Technical Prototype’ to the type-related labels list. (58163)

Security

Font Library

  • Sanitize font collection data. (58636)

REST API

  • Font Library REST API: Sanitize font family and font face settings. (58590)

Various

  • Script loader 6.4 compat: Check for init hook completion. (58406)

Font Library

  • Code style and code quality feedback from core 6.5 review. (58736)
  • Move getAllowedMimeTypes to FontUtils. (58667)
  • Refactor as a singleton. (58669)

Components

  • Removing Reakit Composite implementation. (58620)
  • Removing Reakit as a dependency. (58631)
  • Update the Snackbar warning message. (58591)

Global Styles

  • Always output core block global styles after base global styles. (58761)
  • 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. theme.json tests from Core. (58476)

Block Library

  • Reduce label and fix capitalization for image block upload label. (58677)
  • Separator: Remove border-bottom property. (55725)

Patterns

  • Update pattern copy to Synced instead of Fully Synced. (58876)

Block API

  • ViewScriptModule: 6.5 compatibility changes. (58832)

Custom Fields

  • Block Bindings: Backport block bindings refactor from WordPress core. (58683)

Inspector Controls

Change cover block’s “Media settings” label to “Settings”. (58463)

First time contributors

The following PRs were merged by first-time contributors:

– @at-benni: Update versions-in-wordpress.md. (58545)

– @krupal-panchal: Removed extra parenthesis from document. (58662)

@shreyash3087: fix: InnerBlocks schema description in block.json. (58649)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @andrewhayward @andrewserong @annezazu @anton-vlasenko @antonis @aristath @artemiomorales @at-benni @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @creativecoder @DAreRodz @dcalhoun @dd32 @derekblank @desrosj @draganescu @ellatrix @fabiankaegy @fai-sal @fluiddot @gaambo @getdave @glendaviesnz @hellofromtonya @ironprogrammer @jameskoster @jasmussen @jeherve @jeryj @jorgefilipecosta @jsnajdr @kevin940726 @krupal-panchal @luisherranz @madhusudhand @MaggieCabrera @Mamaduka @matiasbenedetto @mikachan @mirka @ndiego @noahtallen @noisysocks @ntsekouras @oandregal @ockham @pbking @ramonjd @retrofox @richtabor @SantosGuillamot @scruffian @shreyash3087 @sirreal @t-hamano @talldan @tellthemachines @tjcafferkey @tomjn @tyxla @vcanales @westonruter @WunderBart @youknowriad

Props to @jameskoster for visual assets and @priethor @pbking @jorgefilipecosta @bph and @annezazu for helping draft this post

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