What is new in Gutenberg 19.2 (11 September)

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

Gutenberg 19.2 has been released and is available for download!

The latest Gutenberg release introduces several key updates. Among them is the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Bindings UIUI User interface, which restricts creation and modification to adminadmin (and super admin) users by default but, most importantly, removes the experimental flag from the feature. This version also enhances Zoom Out mode, allowing for more straightforward navigation, includes an experimental feature for client-side media processing, and adds Preview Options extensibility via the 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 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.. Alongside these highlights, users will find improvements in data views and refinements to the overall editing experience.

Block Bindings UI out of experimental phase.

In Gutenberg 19.2, the Block Bindings UI has moved out of its experimental phase, marking a significant milestone. Removing the experimental flag means this feature is now integrated into the editor, offering a stable way to connect block attributes to external data sources. By default, only admin users can create and modify these bindings, providing an additional layer of control and security.

Preview Options extensibility via the Plugin API

With this release, the Preview Options have gained new extensibility, making it easier for developers to customize how content is previewed within the block editor. The extensibility feature allows plugins and themes to introduce their own options into the preview dropdown. This provides greater flexibility for users who need to see content in various formats or environments, improving the editing experience.

Other Notable Highlights

  • New Experiment: Client-side Media Processing: Introduces an experimental feature for processing media client-side, reducing server load and enhancing performance. (#64650)
  • Zoom Out Mode Enhancements: Adds an “Edit” button to the toolbar and allows users to exit Zoom Out mode by double-clicking blocks. The “Shuffle” block toolbar button has also been removed. (#64571, #64573, #64954)
  • Content Only Mode: Adds support for block styles on top-level content-only locked blocks and displays block icons in the toolbar. (#64872, #64694)

Changelog

Enhancements

  • Add: Reorder control at the field level on the new view configuration UI. (64381)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data Types: recordId can be a number. (64796)
  • Core Data: Derive collection totals for unbound queries. (64772)
  • Create Block: Set minimum supported WordPress version to 6.6. (64920)
  • Dataviews 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. search 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.: Do not use Composite store. (64985)
  • Dataviews list view: Do not use Composite store. (64987)
  • Move bulk actions menu to the Footer, consolidate with floating toolbar and total items display. (64268)
  • Try: Update block warnings. (64997)

Components

  • Add variants to InputControl prefix/suffix wrappers. (64824)
  • AlignmentMatrixControl: Do not use Composite store. (64850)
  • CircularOptionPicker: Stop using composite store. (64833)
  • Composite: Accept store props on top level component. (64832)
  • DataViews: Adds two new stories for edge cases. (64975)
  • Decrease standard padding to 12px. (64708)
  • DropdownMenuV2: Add GroupLabel subcomponent. (64854)
  • DropdownMenuV2: Update animation. (64868)
  • DropdownMenuV2: Use overloaded naming conventions. (64654)
  • InputControl: Tighten gap between input and prefix/suffix. (64908)
  • Navigator: Polish Storybook examples. (64798)
  • Navigator: Remove location history, simplify internal logic. (64675)
  • UnitControl: Update unit select styles. (64712)
  • Update hard-coded border-radius instances. (64693)
  • Update modal animation. (64580)

Block bindings

  • Add warning in attributes connected to 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. sources. (65002)
  • Allow only admin users to create and modify bindings by default. (64570)
  • Lock editing in fields in editor if 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. fields panel is opened. (64738)
  • Rely on Text component instead of Truncate in bindings panel. (65007)
  • Remove getPlaceholder API and rely on key argument or source label. (64910)

Data Views

  • Add: Reorder control at the field level on the new view configuration UI. (64381)
  • Dataviews Filter search widget: Do not use Composite store. (64985)
  • Dataviews list view: Do not use Composite store. (64987)
  • Move bulk actions menu to the Footer, consolidate with floating toolbar and total items display. (64268)

Block Editor

  • Add ‘Reset’ option to MediaReplaceFlow component. (64826)
  • Block Patterns List: Do not use Composite store. (64983)
  • Remove the Shuffle block toolbar button. (64954)
  • Show block icon in contentOnly toolbar. (64694)

Block Library

  • Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)
  • Improve Social Icons setup and appending. (64877)
  • Pagination Block: Fix inconsistent margins between editor and frontend. (64874)
  • Tag Cloud: Improve state of block with no tags. (63774)

Block Locking

  • ContentOnly: Add support for block styles on top-level contentOnly locked blocks. (64872)
  • Only show title in content only toolbar if has title value. (64840)
  • Remove ability to crop image if content only mode. (64838)
  • Rename Alt to Alternative Text in content only image toolbar. (64841)

Interactivity API

  • Categories Block: Add iAPI directive for client-side routing. (64907)
  • Improve internal deepMerge function. (64879)

Global Styles

  • Hide typeset button when there are no typesets available. (64515)
  • Use four color palette colors instead of five for useStylesPreviewColors. (64700)

Zoom Out

  • Add “Edit” button to Zoom Out mode toolbar. (64571)
  • Double click block to exit zoom out mode. (64573)

Design Tools

  • Comment Edit Link: Add Border Block Support. (64239)
  • Comment Reply Link: Add border support. (64271)

Icons

  • Add thumbs up and down icons. (65004)

Site Editor

  • Apply radius scale in the editor. (64930)

Post Editor

  • Post publish upload media dialog: Handle upload errors. (64823)

Typography

  • Fluid typography: Allow individual preset overrides. (64790)

Media

  • Add experiment for client-side media processing. (64650)

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

  • Core Data: Resolve entity collection user permissions. (64504)

Block Transforms

  • Details block: Add transform from any block type. (63422)

New APIs

Extensibility

  • Editor: Add extensibility to PreviewOptions v2. (64644)

Bug Fixes

  • Add safeguard to mediaUploadMiddleware. (64843)
  • Allow multi-select on iOSiOS The operating system used on iPhones and iPads. Safari/touch devices. (63671)
  • Core Data: Fix the ‘query._fields’ property check inside ‘getEntityRecord’ resolver. (65079)
  • Fix Modify content-locked menu item not showing if the block is not selected. (61605)
  • Fix editor error in Safari due to availability of checkVisibility method. (65069)
  • Fix: Pagination arrows are pointing in the wrong direction in RTL languages. (64962)
  • Footnotes: Only replace attribute if footnotes were detected. (63935)
  • Paste: Fix image paste from Google Forms. (64502)
  • Revert Focus pattern inserter search when activating zoom out inserter. (64748)
  • Try: Update block warnings. (64997)

Block Library

  • De-duplicate block toolbar icons for patterns. (65054)
  • Fix: Page list: Pages without a title has no link text. (64297)
  • Position BlockToolbar below all of the selected block’s descendants. (62711)
  • Site Logo Block: Fix non-admin users seeing zero character. (65010)
  • Site Logo: Fix loader alignment issue. (64919)
  • Template Part: Hide Advanced panel for non-admin users. (64721)
  • Video Block: Fix layout issue. (64834)

Components

  • ColorPalette utils: Do not normalize undefined color values. (64969)
  • DatePicker: Restore round radius for event dot. (65031)
  • DropdownMenuV2: Fix active and focus-visible item glitches. (64942)
  • DropdownMenuV2: Remove flashing styles when moving focus with keyboard. (64873)
  • Fixes “delete” action in DataViews’ storybook. (64901)
  • Navigator: Fix isInitial, refine focusSelector logic. (64786)
  • Range control: Restore bottom margin rule. (65035)

Post Editor

  • Add back editor-post-locked-modal to post lock component. (64257)
  • Add context to View string in post actions. (65046)
  • Apply space below content using a pseudo-element instead of padding-bottom. (64639)
  • Post Title: Fix pasting in Safari. (64671)
  • Post Title: Move selection at the end after pasting over the text. (64665)
  • Post publish upload media dialog: Fix silent failure. (64741)

Data Views

  • DataViews: Fix field reordering and visibility logic. (64999)
  • Fix actions scrim in list layout. (64696)
  • Fix data views style inheritance. (64933)
  • Fix: Impossible to see pagination on viewports between small and medium. (64844)
  • List layout: Update broken styles. (64837)

Block Editor

  • Add conditions when the Shuffle button can be displayed. (64888)
  • Inserter: Fix subtle media insertion error. (65057)
  • Post Editor: Fix click space after post content to append. (64992)
  • Writing flow: Fix triple click inside text blocks. (64928)

Global Styles

  • Adjust spacing of background panel. (64880)
  • Cast globalFluid value to boolean. (64882)
  • Fix site editor broken when fontWeight is not defined or is an integer in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. or theme styles. (64953)
  • Fixes the default fluid value on the UI based on the global typography fluid value. (64803)

Block bindings

  • Change placeholder when attribute is bound. (64903)
  • Fix empty custom fields not being editable in bindings. (64881)

CSSCSS Cascading Style Sheets. & Styling

  • 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. Block: Reduce CSS specificity. (64463)
  • Retain the same specificity for non iframed selectors. (64534)

Patterns

  • Pass ‘blocks’ as inner blocks value. (65029)

Synced Patterns

  • Pattern: Don’t render block controls when an entity is missing. (65028)

Site Editor

  • DataViews: Fix pattern title direction in RTL languages. (64967)

Typography

  • Site Title, Post Title: Fix typography for blocks with a children. (64911)

NUX

  • Fix visibility of the template Welcome Guide in the Site Editor. (64789)

Document Settings

  • Fix: Adjust Site URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Styles to Prevent Overflow in Pre-Publish Component. (64745)

Zoom Out

  • Focus selected block in editor canvas when clicking edit button on zoom out mode toolbar. (64725)

Templates API

  • Make plugin-registered templates overriden by themes to fall back to plugin-registered title and description. (64610)

Block Style Variations

  • Block Styles: Ensure unique classname generation for variations. (64511)

Distraction Free

  • Make Distraction Free not conditional on viewport width. (63949)

Media

  • Limit the max width of image to its container size. (63341)

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)

Components

  • AlignmentMatrixControl: Simplify styles and markup. (64827)
  • TimePicker: Use ToggleGroupControl for AM/PM toggle. (64800)

Block Editor

  • Layout content and wide width controls: Remove confusing icon and clarify labels. (64891)

Font Library

  • Font Library Modal: Group font variations as a list. (64029)

Post Editor

  • Fix the post summary Status toggle button accessibility. (63988)

Performance

  • Core Data: Avoid loops in ‘registry.batch’ calls. (64955)
  • Core data: Performance: Fix receive user permissions. (64894)
  • Reusable blocks: Fix performance of __experimentalGetAllowedPatterns. (64871)

Site Editor

  • Add ‘OPTIONS /page’ to preloaded paths. (64890)
  • Editor: Don’t use selector shortcuts for the Site data. (64884)

Interactivity API

  • Prevent calling proxifyContext with context proxies inside wp-context. (65090)

Block Library

  • Media & Text: Don’t use background-image. (64981)

Post Editor

  • Editor: Remove create template permission check in ‘VisualEditor’. (64905)

Block Editor

  • Inserter: Use lighter grammar parse to check allowed status. (64902)

Patterns

  • Shuffle: Don’t call ‘__experimentalGetAllowedPatterns’ for every block. (64736)

Experiments

Zoom Out

  • Add new zoom out experiment. (65048)
  • Remove the experiment that connects zoom out to the pattern inserter. (65045)

Documentation

  • Add a new section to the SlotFill reference to show how to conditionally render Fills. (64807)
  • Added Global Documentation in several php file. (64956)
  • Components: Move displayName assignment to top-level files. (64793)
  • Composite: Add context-forwarding with SlotFill example. (65051)
  • Composite: Fix Storybook docgen. (64682)
  • Corrected HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Syntax for Closing Tags in api-reference.md file. (64778)
  • DataViews docs: Fix typo in direction values. (64973)
  • DataViews: Add story about combining fields. (64984)
  • DataViews: Document combined fields. (64904)
  • Dataviews docs: Layout properties checks and link. (64918)
  • Docs/iAPI: Fix wrong code snippets in API reference. (64416)
  • Docs: Update design resources to indicate edit isn’t free. (64792)
  • PluginSidebarMoreMenuItem: Update example, screenshot and description. (64761)
  • Provide better examples and remove outdating site edit references for the MainDashboardButton SlotFill. (64753)
  • Removing ryanwelcher as a documentation codeowner because my inbox is dead. (64762)
  • Storybook: Hide deprecated __next36pxDefaultSize prop. (64806)
  • Update screenshot and description for PluginSidebar slot. (64759)
  • Update text to match code examples. (64751)
  • Update the import for PluginBlockSettingsMenuItem. (64758)
  • Updated Several Typos in Doc files. (64787)
  • [Docs]: Update Usage Example for block variation picker: Fix Import from Wrong Package. (55555)

Code Quality

  • Button: Add lint rule for 40px size prop usage. (64835)
  • Dataviews filter: Move resetValueOnSelect prop to combobox item. (64852)
  • Rename refs to fix tons of ‘Mutating a value’ errors in reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-compiler. (64718)
  • Rich text: Add comment on placeholder approach. (64945)
  • SelectControl: Fix remaining 40px size violations. (64831)
  • Simplify useResizeObserver. (64820)
  • Typography: 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. comment changes only. (64859)
  • UnitControl: Add lint rule for 40px size prop usage. (64520)
  • UnitControl: Move to stricter lint rule for 40px size adherence. (65017)
  • Use rectIntersect instead of a custom argument to rectUnion. (64855)

Site Editor

  • Add Custom Template modal: Do not use Composite store. (65044)
  • Add units to avoid console warning. (64810)
  • Edit Site Layout: Remove redundant fullResizer. (64821)
  • Remove unused ‘useSiteEditorSettings’ hook. (64892)
  • Style Book: Do not use Composite store. (65047)

Block Editor

  • Block Inserter Listbox: Do not use Composite store. (65042)
  • Block Inserter Media List: Do not use Composite store. (65043)
  • Block Pattern Setup: Do not use Composite store. (65039)
  • Global Styles Shadow Panel: Do not use Composite store. (65041)
  • Pattern Transformations Menu: Do not use Composite store. (65040)

Zoom Out

  • Add selector for getting section root clientId. (65001)
  • Don’t pass ‘rootClientId’ to block lock selectors. (64887)
  • Fix error and improve privacy of sectionRootClientId setting. (65000)

Components

  • AlignmentMatrixControl: Promote to stable. (60913)
  • Deprecate DimensionControl. (64951)

Block Library

  • Block Bindings: Fix ESLint warnings. (64684)
  • Video Block: Remove custom CSS code for placeholder style. (64861)

Global Styles

  • Allow referenced zero value and simplify getValueFromObjectPath calls. (64836)
  • Navigator: Replace deprecated NavigatorToParentButton with NavigatorBackButton. (64775)

Block Directory

  • Downloadable Block List: Do not use composite store. (65038)

Design Tools

  • Color panel hook: Rename to remove ambiguity. (64993)

Tools

  • Add remaining 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. rules to recommended ESLint ruleset. (64710)
  • Scripts: Added chunk filename in webpack configuration to avoid reading stale files. (58176)
  • Scripts: Import CSS files before optimization. (61121)
  • Scripts: Update puppeteer-core dependency. (64597)

Testing

  • Flaky Test: Fix “Sorting” test in new-templates-list.spec.js. (64776)
  • Revert “Downgrade node 22(.5) unit tests to 22.4 (#63728)”. (63758)

Various

  • Dataviews docs: Fixed property name for defaultLayouts settings. (64897)
  • task: Remove dcalhoun code owner. (64886)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Imran92: Fix site editor broken when fontWeight is not defined or is an integer in theme.json or theme styles. (64953)
  • @jacobcassidy: Scripts: Update puppeteer-core dependency. (64597)
  • @jawadmalikdev: [Docs]: Update Usage Example for block variation picker: Fix Import from Wrong Package. (55555)
  • @lezama: Editor: Add extensibility to PreviewOptions v2. (64644)
  • @rithik56: Scripts: Added chunk filename in webpack configuration to avoid reading stale files. (58176)
  • @rohitmathur-7: Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @akasunil @Aljullu @andrewserong @atachibana @benoitchantre @carolinan @cbravobernal @ciampo @DAreRodz @dcalhoun @desrosj @dsas @ellatrix @fullofcaffeine @getdave @gziolo @Imran92 @imrraaj @jacobcassidy @jameskoster @jasmussen @jawadmalikdev @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @lezama @Mamaduka @matiasbenedetto @mirka @noisysocks @ntsekouras @oandregal @ockham @rafaelgallani @ramonjd @richtabor @rithik56 @rohitmathur-7 @ryanwelcher @SantosGuillamot @scruffian @sgomes @shail-mehta @spacedmonkey @stokesman @swissspidy @t-hamano @talldan @tjcafferkey @tyxla

Props to @annezazu, @priethor, @joen, @cbravobernal for their help with the release!

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

Summary of the Developer Blog editorial meeting on 5 September 2024

Summary of the WordPress Developer Blogblog (versus network, site) meeting, which took place in the  #core-dev-blog channel on the Make WordPress 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/.. Start of the meeting in Slack.

Attendees: @greenshady @webcommsat @oglekler @ndiego @zeelthakkar @jagirbahesh @bcworkz (async) and @bph (facilitator).

Last meeting notes: Developer Blog editorial meeting summary 1 August 2024



Contributor updates

  • Congrats to @ajlendelende and @aljullu to receiving their Documentation Contributor badges for their contributions to the Developer Blog.  
  • Call for contributors to take on What’s new for Developers roundup post for November? @greenshady @ndiego or I (@bph) will be right with you to guide you through the research as well as the writing part. If you want to take it on, come to the #core-dev-blog channel or DM either one of us.

Newly published posts since last meeting

Since the last meeting, we published the following articles

Huge Thank You to the writer and reviewers! 

Project status

The project board for Developer Blog content is 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/.

Issues closed

In review

In progress

On the to-do-list, assigned to writers

Topics approved, in need of a writer

If you are interested in taking on a topic from this list or know someone who would be a good person to write about them, comment on the Issue or 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.” @bph in Slack either in the #core-dev-blog channel or in a DM.

New topics approved

The topic idea Modifying text with the HTML API in WordPress 6.7 needs to simmer some more to see if there will be more elaborate examples coming in the next major WordPress version. Justin will bring it back to the October meeting should the topic deemed mature enough for a blog post.

Open floor

@greenshady inquired about the possibility of translating the content of the Developer blog into other languages. Currently, there isn’t a formal proposal for a process and tools. It’s worth exploring, though. It was stated that it’s complicated for Rosetta sites, and it might not be easy to translate. It would be better if the translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. can be put right into the adminadmin (and super admin). If there is someone who translated an article, we could publish it on the Dev Blog under “other languages” and once we have a critical mass, we can create categories for Spanish, German etc. The bigger issue than the technological implementation is the recruiting and onboarding of translators to be contributors.

@bph is to reach out to the training team, to learn about their process, as they are a few steps ahead in working with translators.

@greenshady will open an issue, where we can follow up on discussion and progress.

Next meeting: October 3rd, 2024, at 13:00 UTC in the #core-dev-blog channel

Props to @greenshady for the review of the post.

#meeting, #meta, #summary

Performance Chat Summary: 10 September 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Welcome to our new members of #core-performance
  • WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US is coming up Sep 17-20 in Portland, Oregon – we will have a performance table at Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. with Adam
  • WordPress 6.7 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. 1 is October 1
  • Performance Lab next release scheduled for Sep 23

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
  • Performance Lab 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 (and other performance plugins)
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

Active Priority Projects

Investigate INP Improvements

  • No updates this week

Improving the calculation of image size attributes

  • @joemcgill we’re still working through some details on the approach for incorporating layout info for ancestor blocks and hope to have an update later this week.

Enable Client Side Modern Image Generation

  • @swissspidy Nothing new really from my side since last week. A couple of smaller PRs got merged into GB, and I’m ironing out some build tooling issues. Apart from that, focusing on my WCUS talk

Enhance Onboarding Experience of Performance Lab Plugin

  • @flixos90 The only news on enhancing the onboarding experience is that we’re going to ask attendees at the Google booth at WCUS to give Performance Lab a spin. We hope that from there we get a diverse list of people, especially including ones that have not used the plugin before. That should help us get some idea on what people consider pain points in the onboarding process.

Open Floor

  • @swissspidy Performance chat sometimes clashes with release parties (like today). Should we consider moving the meeting on those occasions? e.g. by +1 hour or so. Or not a big deal?
    • @joemcgill I’m unsure how many of the release parties for this 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. will happen at the usual time, given the timezone makeup of the team. I think @peterwilsoncc was planning on publishing a schedule for betas/RCs soon. Perhaps something to consider after that?
  • Suggestion to cancel next week’s meeting due to WordCamp US

Our next chat will be held on Tuesday, September 24, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #hosting, #performance, #performance-chat, #summary

Admin Toolbar menu has new, higher priority values

In WordPress 6.6, the Search form moved to a high priority to position it at the end of the menu without using the CSSCSS Cascading Style Sheets. float property. Then WordPress 6.6.1 moved the User Profile menu and Recovery Mode to a high priority to keep them near the Search form.

  • Search form ('search') from 4 to 9999
  • User Profile ('my-account') from 7 to 9991
  • Exit Recovery Mode ('recovery-mode') from 8 to 9992

Using get_node() to manipulate one of these nodes in the admin_bar_menu hook would require a higher priority now (such as 9999).

To edit coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. items without setting a specific priority, functions can hook into wp_before_admin_bar_render instead. That requires declaring the $wp_admin_bar global.

Example: Replacing “Howdy” with “Hello” in the top profile link and in the ARIA label for its submenu

/**
 * Replaces the "Howdy" text in the WP admin toolbar.
 *
 * @global WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance.
 */
function wpdocs_replace_howdy_in_admin_bar() {
	global $wp_admin_bar;

	$my_account = $wp_admin_bar->get_node( 'my-account' );

	// Return early if node contents are not available to edit.
	if ( ! isset( $my_account->title ) || ! isset( $my_account->meta['menu_title'] ) ) {
		return;
	}

	$wp_admin_bar->add_node(
		array(
			'id'    => 'my-account',
			'title' => str_replace( 'Howdy,', 'Hello,', $my_account->title ),
			'meta'  => array(
				'menu_title' => str_replace( 'Howdy,', 'Hello,', $my_account->meta['menu_title'] ),
			),
		)
	);
}
add_action( 'wp_before_admin_bar_render', 'wpdocs_replace_howdy_in_admin_bar' );

See #61738, #61615, and #60685 for more details.


Props to @audrasjb, @joedolson, and @hellofromtonya for proofreading.

#6-6, #dev-note, #dev-notes, #dev-notes-6-6

Default Theme Chat Summary, September 4, 2024

This post summarizes the latest Default Theme meeting (agenda).

Status update

The work on Twenty Twenty-Five is happening in the GitHub repository. At the time of the meeting, there were 54 open issues and 19 open pull requests.

There were about 45 patterns designed in total. 31 patterns were built/merged or had open in-progress PRs. 14 patterns were not yet built.

There were 34 templates designed in total, 22 templates are built (the default personal blogblog (versus network, site) and alternative ones for personal, photo and news blogs). Due to time constraints, the “blogging with sidebar” alternative likely won’t get built.

There’s an open issue to create the “combined” global style variations. 1 of the 8 variations has been created, 4 others are assigned.

It is possible to see what’s 🟢 built/ 🟡 not built/ 🔴 may not be built in the Figma file.

Some important information regarding the project timing was shared: the theme needs to be more or less complete before October 1, 2024, after that it is 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 only. And text strings need to be final before October 22, 2024.

Priorities

BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. patterns are the highest priority now, and need to be completed as soon as possible to be used to create the other layouts such as landing pages and homepages. There are “High priority” labels and they will also dictate what’s becoming a priority along the project.

Call notes

According to the agenda, a short, informal call happened to take a look at what’s built and what’s not, and determine if some of the original designs need to be left out. Those present were @beafialho, @poena, @juanfra, @luminuu and @oncecoupled.

The call focused on the progress and challenges of the development of Twenty Twenty-Five.

Key points:

  • The completion of personal default templates and alternatives, with some patterns still pending-
  • Four patterns are blocked due to the lack of image support for categories in search templates and the new accordion block’s delay, leading to the possibility to leave out three “categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.” patterns
  • The team discussed the feasibility of adding patterns directly from the patterns 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. and the need for consistent naming and ordering of section styles
  • The team also considered the impact of WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US contributions and the need for thorough testing and 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) checks

Action items:

  • Follow up on the new accordion block PR and status
  • Evaluate building search result patterns or leaving them out
  • Consider adding a “page” category for patterns
  • Eventually 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.” accessibility reviewers for testing

Thanks to @juanfra for reviewing the summary.

#bundled-theme, #core-themes, #summary, #twenty-twenty-five

Summary, Dev Chat, September 4, 2024

Start of the meeting in 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/., facilitated by @joemcgill. 🔗 Agenda post.

Announcements

There were no announcements this week.

Forthcoming Releases

Next 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.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 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. 1 is scheduled for Tuesday, October 1. The Road Map post was recently published.

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 6.6.2

The next maintenance release will be WordPress 6.6.2. RC1 is scheduled for Sept 4, and the full release is planned for Sept 10. See the Trac milestone for the release.

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: 19.2

The next Gutenberg release will be 19.2, scheduled for September 11.

Discussion

When discussing WordPress 6.7, we highlighted that @joen has listed some items that could use some help here, and @noisysocks reminded us that it’s always worth checking the Editor tasks board, especially items in the “Todo” and “Needs review” columns.

@peterwilsoncc asked for some additional eyes on this PR.

@noisysocks confirmed that the last Gutenberg 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). before the feature freeze is September 18, and these are the biggest items to keep an eye on:

Open Floor

@ironprogrammer asked: Has there ever been a pre-Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. online hangout where people could get this help beforehand? And maybe more importantly, would it do any good toward getting folks prepared before they arrive? – @joemcgill mentioned the documentation in the handbook and offered to reach out to the WCUS organizers to see if there is a need for more support with the onboarding process this year.

Props to @joemcgill for proofreading.

#6-7, #core, #dev-chat, #summary

Performance Chat Summary: 3 September 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Welcome to our new members of #core-performance
  • Last week we reached over 1,000 members of our channel
  • WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US is coming up Sep 17-20 in Portland, Oregon – we will have a performance table at Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. with Adam
  • WordPress 6.7 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. 1 is October 1

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
  • Performance Lab 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 (and other performance plugins)
    • Next milestone
    • Clarification on September release date due to clash with WordCamp US
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

  • Discussed the next Performance Lab release moving a week later to Sep 23 due to WordCamp US
  • @flixos90 While not related to WordPress/performance, I spent some time last week documenting the processes for how the Plugin Checker works, see https://github.com/WordPress/plugin-check/issues/597 and https://docs.google.com/document/d/1wDGZBwWB2WAxfbHE3lygIzQFK8IssCa5apOyaBolukQ/edit. Since the logic is quite complex to follow with the different possible scenarios, this is probably valuable to have as a reference, so please have a look if you’re interested, should help any contributor to PCP
    • Eventually, after ironing out remaining questions and functional quirks, we could add a version of that to the docs folder of the repository

Active Priority Projects

Investigate INP Improvements

  • No updates this week

Improving the calculation of image size attributes

Enable Client Side Modern Image Generation

  • @swissspidy Working on 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/ PRs for media, but currently focusing on my WCUS talk

Enhance Onboarding Experience of Performance Lab Plugin

  • @flixos90 last week we informally chatted a bit more about asking some attendees at the WCUS booth to test using the PL plugin, to see how they experience the onboarding, where they may be confused or have questions. So that’s definitely something we’re going to incorporate in the Google booth section for performance – primarily for attendees that may not be familiar with the plugin yet, or at least haven’t used it before

Open Floor

  • Discussion around this Slack thread for persistent object cache
    • @westonruter I suppose the test for object caching should only be prominent if a site does not have page caching. A site may not use page caching due to it being highly dynamic or acquiring users to be logged in. For such a site, object caching would perhaps be the next best thing instead of page caching.
    • @joemcgill There are so many “it depends” scenarios when it comes to what caching strategy is best. For example, if you’re running a site like a store that needs to serve dynamic data and can’t use a full page cache, an object cache will reduce the load on the DB, which should speed up requests. However, if you run a site that can make use of a full page cache, that will usually be better because it avoids any need for the server to load data from the DB and render the page at all. For many sites, full page cache is probably a more meaningful strategy. Setting up an object cache is more complex and usually is not something folks will set up themselves—instead, relying on whatever their host has set up.
    • @joemcgill It’s possible that the Site Health message could be improved so most site owners aren’t confused by the nuances of all these options and focus only on the things that most people can actually affect, e.g., setting up a full-page caching solution. Hosts can also modify CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.’s default site health checks to give better guidance on their hardware. Possibly something to chat about with the #hosting team
    • @paaljoachim asked What can he do from the sideline? Should I mention this discussion in the hosting channel? Something else? Should I leave it up to you in this channel to followup on this?
    • @thelovekesh As the number of plugins in the PL mono-repo grows, CI times are increasing accordingly. To address this, we should update our workflows to:
      • 1. Run tests only for the plugin whose files have been updated.
      • 2. Apply the same approach for linting and static analysis.
    • This issue also impacts local development, particularly with PHPStan. While linting is fast with each commit(pre-commit hook), static analysis still runs across the entire codebase.
      • @westonruter Good idea, although there are risks for doing this when there are plugin dependencies. Like if someone changes code in Optimization Detective which Image Prioritizer depends on, then this might slip under the radar. We could specifically account for plugin dependencies

Our next chat will be held on Tuesday, September 10, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Default Theme Chat Agenda: September 4, 2024

This is the agenda for the weekly Default Theme chat scheduled for  Wednesday, September 4, 2024 at 4pm WEST .

The purpose of this meeting is to discuss and collaborate on the development of the Twenty Twenty-Five theme.

This meeting is held in the #core-themes channel in Making WordPress 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/..

  • Topics
    • Status update
    • Priorities
  • Join a call/huddle to review some of the work that’s still left to do and reevaluate what we can build or not

Thanks to @juanfra & @poena for reviewing the agenda.

#6-7, #agenda, #bundled-theme, #core-themes, #twenty-twenty-five

Performance Chat Agenda: 3 September 2024

Here is the agenda for this week’s performance team meeting scheduled for September 3, 2024 at 15:00 UTC.

  • Announcements
    • Welcome to our new members of #core-performance
    • Last week we reached over 1,000 members of our channel
    • WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US is coming up Sep 17-20 in Portland, Oregon – we will have a performance table at Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. with Adam
    • WordPress 6.7 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. 1 is October 1
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release milestone report. There are currently 21 tickets unresolved
      • Future release
    • Performance Lab 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 (and other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

If you have any topics you’d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Agenda, Dev Chat, September 4, 2024

The next WordPress Developers Chat will take place on Wednesday at 01: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

There are no announcements this week.

Forthcoming releases

Next 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.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 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. 1 is scheduled for Tuesday, October 1.

Next maintenance release: 6.6.2

The next maintenance release will be WordPress 6.6.2. RC1 is scheduled for Sept 4, and the full release is planned for Sept 10. See the Trac milestone for the release.

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: 19.2

The next Gutenberg release will be 19.2, scheduled for September 11.

Discussions

The discussion section of the agenda is to provide a place to discuss important topics affecting the upcoming release or larger initiatives that impact the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team.

Topic(s) for this week:

If you want to nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

Highlighted Posts

Editor updates

You can keep up to date with the major Editor features that are currently in progress by viewing these Iteration issues.

Special shout out to some tasks that need developers as shared by some design contributors. If you are looking to contribute, dive in here.

Open floor

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and if you intend to be available during the meeting for discussion or if you will be async.

Props to @joemcgill for reviewing.

#6-7, #agenda, #dev-chat