Dev Chat Summary, January 31, 2024

Start of meeting on Slack

This Dev Chat continues the experiment to focus chat time on discussions related to open CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. proposals and release issues, rather than repeating links already highlighted in the curated agendas.

Announcements

Following announcement of yesterdayโ€™s 6.4.3 release, @jorbin noted that there was one issue of note, but that there were workarounds available at this time. @jorbin further gave props to those who helped facilitate the release.

@hellofromtonya shared that @joemcgill has accepted his nomination to serve as a 2024 Core team rep ๐ŸŽ‰. The search continues for a co-rep, where itโ€™s been noted that a contributor from the Core Editor team would be a great compliment, though not required. Nominations remain open until April 1, 00:00 UTC.

Discussion on open proposals in Core

Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. Publish Date

Link to post: Proposal: An update to the Field Guide

Conversation start link

Comments:

  • @jorbin was under the impression that neither the dev blogblog (versus network, site) team nor 6.4 release leads were interested in moving forward with the proposal. @webcommsat shared that 6.4 docs release leads didnโ€™t see 6.4 as the deadline, and discussions were continuing. @joemcgill agreed that the proposal wasnโ€™t release specific, but rather an adjustment to timing of when field guide information is released. @hellofromtonya also added that the dev blog team has opened a discussion to track the second part of the proposal.
  • @jeffpaul referred to @chanthabouneโ€˜s comment of where best to separate field guide content based on audiences, suggesting the proposal could be adjusted accordingly. @jeffpaul added that some folks have difficulty processing field guide information to determine what is relevant and actionable, which @hellofromtonya agreed should be explored. @webcommsat agreed with the notion to target field guide content to particular audiences, but also to look at how it relates to other new content produced for the release.
  • @jeffpaul suggested the potential to target content according to the five user groups identified in Care and influence: a theory about the WordPress community.
  • @ironprogrammer asked if the field guide info would be more easily consumable if it was split into a canonical structure, such as wordpress.org/6-5/field-guide/, with subpages that match particular areas or audiences.
  • @webcommsat noted that segmentation between audiences has grown, and suggested itโ€™s a good time to use teamsโ€™ audience-specific insights to improve the field guide format. She added that exploring how best to utilize the limited people and time for the Docs team would be an important factor in implementing improvements. @jeffpaul agreed with concerns around challenges in gathering/publishing content, but noted that the issue should be considered as separate from the proposal.
  • @jorbin shared that the original published field guide was the result of an overly long email sent to 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. developers.
  • First-time Docs Co-Lead @estelaris ๐ŸŽ‰ asked about adding additional comments to the proposal. @jorbin noted that Make/Core comments close automatically after 180 days (~6 months). @costdev shared that adding the #keep-comments-open 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.) would reenable them, but recommended removing the tag once an updated timeframe for feedback has been reached. @jorbin updated the Core handbook to reflect this info.
  • @joemcgill pointed out that the team should review all current channels where field guide-related content is published, to check whether only updating the field guide [in one place] would sufficiently improve the broader sharing of release updates to the community. He suggested engaging with the Docs and Marketing teams to move forward, and @estelaris noted she would begin by sharing with Docs. @webcommsat suggested looping in Training as well. @laurlittle noted that the Marketing team could brainstorm on the proposal for future releases, if not 6.5.
  • In response to @joemcgill, @webcommsat noted that there have been past lists of channels and audiences, and suspects more current info should be available. She also suggested it might be helpful to have a single post that links out to the various user groups identified earlier, and to link to that post from the About page.
  • @jorbin referred back to @jeffpaulโ€˜s input and asserted that the dev blog and other team areas might be better places to communicate field guide information, as opposed to Make/Core. @hellofromtonya asked if, considering this perspective, the proposal was actionable by the Core team, or if the proposal should be re-worked as a cross-team collaboration. @jorbin suggested that the teams publishing the field guide info would take on the proposal.
  • @joemcgill noted that it can be difficult to know the status of a proposal, suggesting some way of flagging these posts. @marybaum suggested a visual system to convey โ€œstalledโ€, โ€œliveโ€, etc, and @joemcgill raised the idea of a blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. pattern. @desrosj shared that in past proposals (example) he has added status info to the top of the post, assuming the status was clear.
  • @hellofromtonya wrapped up the discussion based on the chat, concluding that the proposal be marked closed (โ€œnot acceptedโ€), or must be picked up by another team(s).

Actions:

  • Part 1: Move Make/Core field guide publication ahead one week, aligning with last scheduled 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., rather than RC1. Not accepted โŒ
  • Part 2: Start publishing a simplified field guide to theย WordPress Developer Blog. Not accepted โŒ
  • Other teams to explore revising and adopting this proposal:
    • @estelaris to share the proposal with Docs.
    • @laurlittle to raise the proposal to Marketing for possible brainstorm.
    • @webcommsat to 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 Training to gauge their interest in furthering the proposal.
    • To highlight in dev blog.

Open Floor

Props @hellofromtonya for peer review.

#6-4, #6-5, #core, #core-editor, #dev-chat, #meeting, #summary

Whatโ€™s new in Gutenberg 17.6? (31 January)

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


Gutenberg 17.6 has been released and is available for download!

This release, which includes 264 pull requests (thatโ€™s a lot of work!), can be labeled mainly as a โ€˜code qualityโ€™ one, as it includes two important refactors in both Fonts and Interactivity APIs.

It also includes some improvements in the new โ€œData Viewsโ€ experiment, 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. 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. improvements, and finally, a feature that all developers have been waiting for: the ability to extend allowed blocks within a parent block.

New 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. allowed Blocksย 

Until now, there has been no way 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. the allowed blocks in an inner block area. This means that developers could not specify which blocks could be inside a parent block without editing the parent blockโ€™s edit file. Imagine youโ€™ve just created an amazing icon block to include in the navigation block; now, you can whitelist it using a filter.

addFilter( 'blocks.registerBlockType', 'my-great-icon-block', ( settings, name ) => {
ย ย if ( name === 'core/navigation ) {
ย ย ย ย return {
ย ย ย ย ย ย ...settings,
ย ย ย ย ย ย allowedBlocks: [ ...settings.allowedBlocks ?? [], 'my-great-icon-block' ],
ย ย ย ย }
ย ย }
ย ย return settings;
} );

Site Editor โ€“ Post Editor unification.

Several smaller edit actions are available in the post editor but not the site editor. The misalignment means users sometimes need to hop between editors, which can be frustrating. This Gutenberg version includes all page edit features in both editors.

Also, the 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. and the Fonts Library API have received a big refactor. These APIs are getting close to the 6.5 release, so itโ€™s a great time to test them.

Other Notable Highlights

New Interactivity API directives

The Interactivity API now includes several new directives that will be incredibly helpful when creating interactive blocks.

  • data-wp-on-window and data-wp-on-document to handle global events like scroll, keypress, load, ready, etc.
  • data-wp-each to render lists.
  • data-wp-run to execute custom logic while rendering an element with directives.ย 

Footnotes available for custom post types

Footnotes are available for all post types that

  • Are public and appear in the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think โ€œphone appโ€ or โ€œwebsiteโ€) can communicate with the data store (think โ€œdatabaseโ€ or โ€œfile systemโ€) https://developer.wordpress.org/rest-api/.
  • Supports all of the following: editor, custom fields, and 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..

Changelog

Features

Interactivity API

  • Addย wp-data-on-windowย andย wp-data-on-documentย directives. (57931)
  • Addย wp-eachย directive. (57859)
  • Addย wp-runย directive andย useInitย &ย useWatchย hooks. (57805)
  • Createย @wordpress/interactivity-routerย module. (57924)

Typography

  • Add defaultFontSizes option to theme.json. (56661)

Font Library

  • Font Library: Add wp_get_font_dir() function. (57730)

Custom Fields

  • Block Bindings: Disable editing of bound block attributes in editor UIUI User interface. (58085)

Block Editor

  • Add effects/box shadow tools to block inspector. (57654)

Enhancements

Components

  • Add opt-in prop for 40px default size forย BoxControl,ย BorderControl, andย BorderBoxControl. (56185)
  • BorderControl: Replace style picker with ToggleGroupControl. (57562)
  • ColorPicker: Store internal HSLA state for better slider UXUX User experience. (57555)
  • Migrate PaletteEdit and CircularOptionPicker tests from user-event to ariakit/test. (57809)
  • Replaceย TabPanelย withย Tabsย in the Editor Preferences Modal. (57293)
  • Theme: Setย colorย on wrapper. (58095)
  • Tooltip: No-op when nested inside another Tooltip component. (57202)
  • BoxControl: Update design. (56665)
  • Element: Start reexporting PureComponent. (58076)

Interactivity API

  • Render the root interactive blocks. (57729)
  • Interactivity Router: Replaceย data-wp-navigation-idย withย data-wp-router-region. (58191)
  • Interactivity: Exportย withScope()ย and allow to use it with asynchronous operations. (58013)
  • Prevent the use of components inย wp-text. (57879)
  • Remove wp-data-navigation-link directive. (57853)
  • Server Directive Processing Refactor. (58066)
  • Updateย preact,ย @preact/signalsย andย deepsignalย dependencies. (57891)

Block Editor

  • Add copy link button to Link UI. (58170)
  • Improve LinkControl preview. (57775)
  • Keep Link UI open upon initial link creation when used in RichText. (57726)
  • List View: Displace list view items when dragging (a bit more WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.). (56625)
  • Show initial suggestions in rich text Link UI. (57743)
  • Disable lock button if user cannot control lock state. (57274)
  • Use ClipboardJS latest version and clean up focus loss workaround. (57156)
  • Dimensions: Add Aspect Ratio block support. (56897)

Block Library

  • Add more 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. options to the post navigation link. (48912)
  • Add: Footnotes support for other CPTโ€™s. (57353)
  • Better navigation link variations for post types / taxonomies. (56100)
  • Remove โ€œblocksโ€ from copy and delete labels. (57769)
  • Pullquote Block: Add padding and margin support. (45731)
  • Video Block: Add raw transformation fromย videoย htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (47159)
  • Aspect ratio: Remove support on the Group block for now. (58414)
  • Image block: Move UI for lightbox from 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. to the content toolbar alongside link settings. (57608)

Data Views

  • DataViews: Enable grid layout for templates & parts by default. (58137)
  • DataViews: Make dataviews powered page patterns stable. (58139)
  • DataViews: Make the โ€œManage Pagesโ€ stable. (58166)
  • Dataviews: Add Bulk actions to page. (57826)

Site Editor

  • Group templates in sidebar list. (57711)
  • Initial routing refactoring to separate preview from list view. (57938)
  • Iterate on warning text for block removal for query/post template/post content. (58138)
  • Site editor: Add global styles changes to save flow. (57470)
  • Editor: Unify the Editor Mode preference. (57642)
  • Live Preview: Show the current theme name on the theme activation modal. (57588)
  • Unify the preferences modal UI between post and site editor. (57639)
  • Remove right negative margin from pinned items. (57666)
  • Update style revision top toolbar text. (58057)

Block API

  • Block Bindings: Update source registration syntax and remove APIs that should be private. (58205)
  • Block Hooks: Do not remove toggle if hooked block is present elsewhere. (57928)

Synced Patterns

  • Add basic pattern overrides end-to-end tests. (57792)
  • Use a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. format and supportย linkTargetย ofย core/buttonย for Pattern Overrides. (58165)

Patterns

  • Add image block support for pattern overrides. (57909)
  • Outline editable blocks that are within a content-locked container. (57901)
  • Change text on pattern reset button. (58286)

Post Editor

  • Post Lock: Use the new modal size preset. (58197)
  • Add description to the save panel 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. when nothing is checked. (57716)

Font Library

  • Update the default collection data URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org to the wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ cdn. (58186)
  • Font Library: Refactor stylesheet using CSSCSS Cascading Style Sheets. variables (58237)
  • Font Library Modal: Reset the selected font when installing a new font. (57817)
  • Font Library: Disable font library UI using a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher filter. (57818)
  • Font Library: Filter fonts upload directory. (57697)
  • Font Library: Use data or src file to define font collection data. (57734)
  • Improve font collection rest controller. (58222)
  • Make notices more consistent. (58180)
  • Updates Font Families and Font Faces endpoints context param. (58287)

Commands

  • Minor command tweaks. (58148)

Extensibility

  • Update Navigation block to render hooked inner blocks. (57754)
  • Add gettext content when translating โ€˜Headerโ€™. (51066)

Template Editor

  • Removeย template-onlyย mode from editor and edit-post packages. (57700)

New APIs

Block API

  • Block Bindings API: Add block bindings PHP registration mechanisms and โ€œPost 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.โ€ source under the experimental flag. (57249)
  • Block Bindings API: Refactor logic into Block Bindings class and singleton pattern. (57742)

Bug Fixes

Block Library

  • AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. Itโ€™s usually a square box that appears next to the userโ€™s name. block: Fix broken aligments in the editor. (58114)
  • Embed Block: Fix retry processing when embedding with trailing slash fails. (58007)
  • Lightbox: Fix โ€œExpand on clickโ€ control being disabled unintentionally. (56053)
  • Modified Date Block: Donโ€™t render change date tool. (57914)
  • Only prioritise Quote transform where relevant. (57749)
  • 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: Fix posts list variation detection. (58194)
  • Block Hooks API: Update Navigation block feature gate. (58388)

Components

  • Button: Always render the Tooltip component even when a tooltip should not be shown. (56490)
  • CustomSelect: Adjustย renderSelectedValueย to fix sizing. (57865)
  • ToggleGroupControl: Improve controlled value detection. (57770)
  • Tooltip: Accept specific tooltip props. (58125)
  • Tooltip: Forward and merge inner tooltip props correctly. (57878)
  • Bring back the chevron. (57807)
  • Preferences: Add a proxy to retrieve the deprecated preferences with a deprecation message. (58016)

Data Views

  • DataViews: Default sort order in templates by title. (58175)
  • DataViews: Donโ€™t always display horizontal scrollbar. (58101)
  • DataViews: Fix author sorting in templates and template parts. (58167)
  • Remove unused argument from sprintf in pagination.js. (57823)
  • DataViews: Fix safari grid row height issue. (58302)
  • DataViews: Fix table view cell wrapper and BlockPreviews. (58062)

Patterns

  • Add black border back when editing synced pattern in the post editor. (57631)
  • Outline editable blocks when in a pattern that has locked children. (57991)
  • Remove text align control for paragraph, heading, and button in contentOnly editing mode. (57906)
  • Pattern Categories: Fix capitalization. (58112)
  • Fix flaky โ€œcreate a new patternโ€ test. (57747)
  • Block Bindings: Fix bindings image placeholder showing in patterns overrides. (58252)

List View

  • Image Block: Make block name affect list view. (57955)
  • More Block: Make block name affect list view. (58160)

Block API

  • Block Hooks: Fix toggle. (57956)
  • Fix formats not working in block bindings content. (58055)

Global Styles

  • Correctly decode border color values. (57876)
  • Fix: Theme.json application of custom root selector for styles. (58050)

Data Layer

  • Data: Allow binding registry selector to multiple registries. (57943)
  • Data: Fix memoized createRegistrySelector. (57888)

Typography

  • #56734ย When there is no font, the border should not appear. Display further guidance text. (56825)
  • Fluid typography: Do not calculate fluid font size when min and max viewport widths are equal. (57866)

Block Editor

  • Fix regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.: Content locking does not stops when an outside block is selected. (57737)
  • LinkControl: Remove unnecessary right padding of input fields. (57784)

Custom Fields

  • Block Bindings: Fix button popover not showing in patterns. (58219)

Font Library

  • Fix typo. (58193)
  • Removed and elements from Font Library Modal (58221)

Synced Patterns

  • Fix losing overrides after detaching patterns. (58164)

Interactivity API

  • Preventย wp-data-on=""ย from creatingย onDefaultย handlers. (57925)
  • Prevent usage ofย gutenberg_urlย in block-library (58242)
  • Interactivity API: Fix data-wp-on-document flaky test. (58008)
  • Interactivity API: Fix flaky test on-window. (58134)
  • Fix flaky test on-window, remove duplicate expect on-document. (58181)
  • Interactivity: Fix broken reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org usage in published package. (58258)

CSS & Styling

  • Styles revisions: Remove body padding. (57748)

Templates API

  • Fix visual indication of switch to default template in the post editor. (57718)

Site Editor

  • (editor)(fix) Append theย edit-post-header-toolbarย class in NavigableToolbar for backward compatibility with 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. GUI injections. (58154)
  • Fix site editor layout regressions. (58077)

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)

Site Editor

  • Fix font variants count color contrast ratio and 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.. (58117)
  • Make the site hub View Site link always visible. (57423)

Block Editor

  • Fix parent selector button focus style and metrics. (57728)
  • Restore visual separator between mover buttons when show button label is on. (57640)

Widgets Editor

  • Fix Widgets page Undo and Redo accessibility and keyboard interaction. (57677)

Performance

  • Add patterns load test. (57828)
  • Block editor: Avoid list re-rendering on select. (57188)
  • Block editor: Donโ€™t register shortcuts for preview editors. (57984)
  • Block editor: Fix performance regression afterย #57950. (57971)
  • Block editor: Use context for useBlockEditingMode. (57950)
  • BlockSwitcher: Defer transform calculations until the Dropdown is open. (57892)
  • Call variation through callback so itโ€™s only loaded when needed โ€“ in support of tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. 59969. (56952)
  • Editor styles: Cache transform. (57810)
  • Footnotes: Combine format store subscription. (58129)
  • 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.: Calc compat styles once per page load. (57798)
  • Measure typing with the top toolbar enabled. (57709)
  • Meta boxes: Donโ€™t initialise if there are none. (57182)
  • Patterns: Avoid fetching on load. (57999)
  • Site editor: Avoid fetching themes on load. (57985)
  • Site editor: Reduce artificial loading delay from 1s to 100ms. (57953)
  • Site editor: Remove store subscription per block. (57995)
  • Template Part & Query: Avoid server requests on mount. (57987)
  • Template part block: Avoid parsing ALL patterns on mount. (57856)

Block Editor

  • Revert โ€œBlock editor: Avoid list re-rendering on selectโ€. (58147)

Post Editor

  • Editor: Use hooks instead of HoCs forย EditorNotices. (57772)

Experiments

Data Views

  • Add: Bulk actions to dataviews with the new design. (57255)
  • Data view list layout: Fix thumbnail dimensions. (57774)
  • Data views table layout: Update cell vertical alignment. (57804)
  • DataViews: Add description to pages. (57793)
  • DataViews: Add front page to pages page sidebar. (57759)
  • DataViews: Better management ofย layoutย param in templates. (58116)
  • DataViews: Make list layout the default for templates with the experiment enabled. (57933)
  • DataViews: Revert list view as default for pages. (58081)
  • DataViews: Revert list view as default for templates. (58079)
  • DataViews: Set primary field styles. (57846)
  • DataViews: Show loading / no result message for the list layout. (57764)
  • DataViews: Update template parts view. (57952)
  • DataViews: Use button for patterns, pages and templates preview field. (58071)
  • DataViews: Use table layout for templates when experiment disabled. (57960)
  • Stabilise view options button icon. (57964)
  • Update Grid layout design. (57880)
  • Update Pages preview field display. (57919)
  • Update Templates table layout. (57930)
  • Update: Show template sources on templates Dataviews sidebar. (58124)

Synced Patterns

  • Add a control to reset pattern overrides. (57845)
  • Allow heading and button in Pattern Overrides. (57789)

Typography

  • Download then upload font face assets when installing from a collection. (57694)
  • Useย slugย instead ofย idย for Font Collection. (57735)

REST API

  • Font Library Refactor. (57688)

Block Editor

  • Allow drag and drop to create Rows and Galleries. (56186)

Documentation

  • Add a video demonstration to the Quick Start Guide. (57834)
  • Button: Improveย disabled-related prop descriptions. (57864)
  • Components: Move CHANGELOG entries under the correct release. (57885)
  • Docs: Fix typo in โ€œThe block wrapperโ€ document. (58106)
  • Docs: Use โ€˜keyโ€™ in โ€˜editor.BlockEditโ€™ filter code examples. (58119)
  • Document files/directories requiring backmerging to WP CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for 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.. (58064)
  • Fix the iframe markup of the embed video in the Quick Start Guide. (57857)
  • Fix: Link to the nodejs release page. (57816)
  • Fix: Typo on BlockListBlock comments. (57814)
  • Fix: Typos on __unstableSetTemporarilyEditingAsBlocks documentation. (57768)
  • Font Library: Add font collection JSON schema. (57736)
  • Prefixes all php filters with wpdocs_. (53914)
  • Remove the unnecessary TOC and fix grammar/formatting in the Patterns doc. (57825)
  • Remove the ๐Ÿ‘‹ emoji from the Block Editor Handbook. (58023)
  • Update versions-in-wordpress.md. (57916)
  • [Type] Developer Documentation โ€“ Fix removeAllNotices dispatch on the removeAllNotices doc section of wordpress/notices. (57436)

Code Quality

Components

  • PaletteEdit: Improve unit tests. (57645)
  • Tooltip and Button: Tidy up unit tests. (57975)
  • Tooltip: Add test for classname leakage. (58182)
  • Remove unneededย margin: 0ย override forย Noticeย component consumer. (57794)
  • Shadows: Prevent empty style object when removing shadow. (58155)

Block Editor

  • Soft deprecate custom โ€˜pureโ€™ HoC in favor of โ€˜React.memoโ€™. (57173)
  • Stabilise RecursionProvider and useHasRecursion APIs. (58120)
  • Tidy up block patterns selectors. (57913)
  • Shadow: Remove additional wrapper around getShadowClassesAndStyles. (58297)

Block Library

  • Gallery Block: Remove duplicate return statement. (57746)
  • Navigation: Move the renderer class to the main navigation file. (57979)
  • Fix comments block. (57820)
  • Rename __experimentalGetGlobalBlocksByName to getBlocksByName. (58156)
  • Block Hooks API: Remove $post check from Navigation hooked blocks meta fn. (58379)
  • Post navigation link: Coding standard fixes. (58380)
  • Update docblockdocblock (phpdoc, xref, inline docs) for render_block_core_pattern. (58382)
  • Block Hooks API: Update doc block for block_core_navigation_insert_hooked_blocks. (58378)

Font Library

  • Remove WP_Font_Family class that is no longer used. (58184)
  • Font Library: Remove โ€˜versionโ€™ property from font collection schema. (58025)
  • [Fonts API] removing files and files loading no longer needed. (57972)
  • Remove unused utilities and rename class. (58342)
  • Rename the slug of the google fonts collection from โ€˜default-font-collectionโ€™ to โ€˜google-fontsโ€™. (58331)
  • Refactored download/upload logic to support font faces with multiple src assets. (58216)
  • Font Library: Addresses additional REST API feedback. (58333)

Block Directory

  • DownloadableBlocksPanel: Remove withSelect in favor of useSelect. (58109)

Patterns

  • Stabilize the pattern overrides block context. (58102)
  • Remove pattern override experiment completely. (58105)
  • Update pattern overrides to use a hard coded support array. (57912)
  • Block Bindings: Changeย core/pattern-attributesย source forย core/pattern-overrides. (58434)

Block API

  • Block Bindings: Remove the experimental flag. (58089)
  • Block Renaming โ€“ move backported WP 6.5 code to 6.5 compat dir. (58126)

Post Editor

  • Editor: Use hooks instead of HoCs in โ€˜PostScheduleCheckโ€™. (57833)

Script Modules API

  • Update the code and move it to the compat/wordpress-6.5 folder. (57778)

Data Views

  • Remove obsolete check from dataviews modal actions title. (57753)

Interactivity API

  • Removeย data-wp-slotย andย data-wp-fill. (57854)
  • Remove unusedย stateย and renameย propsย toย attributesย inย getElement(). (57974)

HTML API

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

Custom Fields

  • Block Bindings: Simplify block bindings object. (58337)
  • Block Bindings: Adapt block bindings to wordpress code latest changes. (58383)

Tools

Testing

  • Addย setGutenbergExperimentsย toย requestUtils. (56663)
  • Add: End to end test to content locking stop editing as blocks behavior. (57812)
  • Attempt to fix php unit tests (variations api change). (58090)
  • Migrate โ€˜block groupingโ€™ end-to-end tests to Playwright. (57684)
  • Migrate โ€™embeddingโ€™ end-to-end tests to Playwright. (57969)
  • Migrate โ€˜typewriterโ€™ end-to-end tests to Playwright. (57673)
  • Remove unused Navigation block end-to-end test fixtures. (57848)

Build Tooling

  • Update caniuse-lite package. (58087)
  • Update the cherry pick script to work with the new version of gh. (57917)
  • Scripts: Remove unused variable in bin/list-experimental-api-matches.sh. (57771)
  • (chore) Revert bump to the v17.5.1 (draft) due to 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. in the release found by manual testing. (58027)
  • Fix misplaced ReactRefreshWebpackPlugin. (57777)
  • Automate creation of Issue for major release PHP synchronisation. (57890)
  • Remove check-latest-npm validation. (57797)
  • core-js: Only polyfill stable features. (57674)

First time contributors

The following PRs were merged by first time contributors:

  • @kt-12: Call variation through callback so itโ€™s only loaded when needed โ€“ in support of trac 59969. (56952)
  • @leomuniz: [Type] Developer Documentation โ€“ Fix removeAllNotices dispatch on the removeAllNotices doc section of wordpress/notices. (57436)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshawย @aferciaย @ajlendeย @andrewserongย @annezazuย @artemiomoralesย @arthur791004ย @atachibanaย @bacoordsย @bphย @brookewpย @c4rl0sbr4v0ย @carolinanย @chad1008ย @ciampoย @creativecoderย @DAreRodzย @dcalhounย @derekblankย @dmsnellย @draganescuย @dsasย @ecganย @ellatrixย @fluiddotย @fullofcaffeineย @gaamboย @geriuxย @getdaveย @glendaviesnzย @gonzomirย @inc2734ย @jameskosterย @jeryjย @jffngย @jorgefilipecostaย @jsnajdrย @kevin940726ย @kt-12ย @leomunizย @luisherranzย @madhusudhandย @MaggieCabreraย @Mamadukaย @matiasbenedettoย @mcsfย @michalczaplinskiย @mikachanย @mirkaย @ndiegoย @noisysocksย @ntsekourasย @oandregalย @ockhamย @oguzkocerย @pbkingย @ramonjdย @richtaborย @SantosGuillamotย @scruffianย @SiobhyBย @sirrealย @swissspidyย @t-hamanoย @talldanย @tellthemachinesย @tjcafferkeyย @tyxlaย @vcanalesย @youknowriad

Props toย @jameskosterย for visuals assets and @cbringmann for peer-review

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

Dev Chat agenda, January 31, 2024

The next WordPress Developers Chat will take place onย Wednesday January 31, 2024 at 20:00 GMTย in theย coreย channel onย Make WordPress Slack.

Announcements

WordPress 6.4.3, security and maintenance release, went live on January 30, 2024. It featuresย 5 bug fixes on Core,ย 16 bug fixes for the Block Editor, and 2 security fixes.

Post dev chat: Whatโ€™s new in Gutenberg 17.6 published.

Discussions

These will focus on open proposals inย coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.ย and release items.

This week will provide a discussion opportunity during Dev Chat to explore this open core proposal relating toย major release Field Guides.

Proposed for next weekโ€™s Dev Chat a look at the just published proposal: Whatโ€™s next for the FSE outreach program.

  • This post recommends what could be next. One suggestion is to rename the channel as โ€˜outreachโ€™ and use it in a wider way to reach site builders and extenders. Another use of this channel could be to assist several projects which could useย 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/ย support in the WordPress space for discussion, clarification, and overall ruminating on future features coming to WordPress.ย 
  • Timescales:
    • Feedback deadline: February 12, 2024.
    • A Hallway Hangout is scheduled on February 20, 2024, at 15:00 UTCย to further discuss this proposal, the comments, and the next steps.

Could you help curate a Call for Volunteers to review theย open proposals on Make/Coreย and create a list of unresolved ones to discuss during Dev Chat meetings?

Highlighted posts

Dev Chat summary from January 22, 2024. Props to @webcommsat and @ironprogrammer for running the meeting and summary.

A Week in Core โ€“ January 29, 2024 โ€“ props to @audrasjb for pulling this together.

Changes onย TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ย between January 22 and January 29, 2024:

  • 48 commits
  • 64 contributors
  • 60 tickets created
  • 4 tickets reopened
  • 67 tickets closed
  • welcome to two new contributors to core this last week

Core-editor updates

Props to @annezazu for collating and sharing this list.

  • Design draft sharedย for the highlight grid for 6.5.
  • Section Styling: this workย has been puntedย due to some blockers in resolving CSSCSS Cascading Style Sheets. specificity questions.
  • Font Library: biggest work continues to be theย Font Library: refactor REST APIย which wasย merged into Gutenbergย following thisย merge criteria for this featureย and had aย quick PR to follow up on feedback. Outside of that,ย a discussion is underwayย around making the font library more discoverable.
  • Pattern overrides:ย there are some current questionsย around how this features ties to 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. Renaming 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. and how the internal block ids are generated and used. Right now, we can find the block names through block ids, but we cannot do the same the other way around.
  • Data Views: a recap ofย whatโ€™s planned and stable for 6.5ย has been shared along with aย PR to add sync status by defaultย for Patterns, matching the current experience.
  • Link Control: A bigger PR was merged forย Implementing new UX for invoking rich text Link UIย by requiring explicit activation before displaying the Link UIUI User interface interface.
  • Block Bindings: the experimental flag was removedย along with an outline of next steps for Gutenberg RC, Beta, and whatโ€™s out of scope for 6.5ย (including when to 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.). For out of scope, this includes a UI for users to add bindings. A ~4 min video walks you through the current status in trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.!

General updates

An issue was opened forย Media workflows around patternsย that any media minded folks will find interesting.ย 

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

Any updates, 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 list or updates on 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?

Betaย 1 for WordPress 6.5 scheduled for February 13, 2024.

Reminder: Proposed Phase 3 media library planning meeting will take place onย Thursday, 8 February 2024 at 00:00 GMTย in theย #core-media
channel.ย 

Existing 6.5 links

Latest 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.4.3

WordPress 6.4.3 is now live.

Tickets to highlight for assistance

Tickets for 6.5 will be prioritized.

Open floor

#agenda, #core, #dev-chat

Performance Chat Summary: 30 January 2024

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

Announcements

Priority Projects

Server Response Time

Notes from todayโ€™s meeting:

Database Optimization

Notes from todayโ€™s meeting:

  • @pbearne started the dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. to try and focus the changes for optimized autoloaded PR https://github.com/WordPress/wordpress-develop/pull/5671
  • @thekt12 Iโ€™ll be picking up โ€“ย https://github.com/WordPress/wordpress-develop/pull/5295/filesย early next week, need to address some review changes

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 & CSSCSS Cascading Style Sheets.

Notes from todayโ€™s meeting:

  • @thelovekesh I have continue the work onย https://github.com/WordPress/performance/pull/556ย and addressed most of the feedback
  • @westonruter Regarding Interactivity API, I shared this a few days in brief, but excited to share a preemptive INP win for WordPress 6.5: I found anย issueย where there was a long task occurring during page load (or whenever interactive blocks are hydrated), especially when there is not a trivial number of interactive blocks on the page (e.g. 20). (Recall that any image 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. with lightbox behavior is an interactive block now.) When profiling with 6x CPU throttling the hydration was causing a 300+ ms long task. I opened aย pull requestย to fix this by yielding to the main thread between hydration of each interactive block. It should be included in WP 6.5 with the initial public availability of the Interactivity API.
    • I have anotherย pull requestย open which will defer hydration of interactive blocks until the node nears the viewport. This will require more iteration with 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/ team and wonโ€™t be part of WP 6.5, but itโ€™s another promising performance improvement.
    • This one still needs another review:ย https://github.com/WordPress/performance/pull/952

Images

Notes from todayโ€™s meeting:

  • @westonruter For Image Loading Optimization,ย @thelovekesh has been working on getting a Webpack build process in place to ensure there is a local copy of web-vitals.js. It isย now merged. This is related to his work on Partytown
  • @westonruter Regarding sizes, I was doing some research yesterday on how well (or not) theย sizesย attribute is used in WordPressโ€ฆ The Web Almanac has aย sectionย on sizes from 2022 that shows it is a problem, but doesnโ€™t single out WordPress specifically. I re-ran the query for determining problematic usage with sizes limited to WordPress, and compared December 2022 with December 2023, and the problem is gettingย worse. Iโ€™m hoping to share more specific numbers this week.
  • @adamsilverstein AVIF ticketticket Created for both bug reports and feature development on the bug tracker. if anyone wants to test or review the PR โ€“ย https://core.trac.wordpress.org/ticket/51228 with AVIF support now in Edge stable, I marked this for commit

Measurement

Notes from todayโ€™s meeting:

  • @swissspidy Regarding stabilization itโ€™s good to see thatย the screenshot above relating to Performant Translations merge proves that our current setup is stable enough to see these drops

Ecosystem Tools

  • Link to roadmap projects and link to the GitHub repo for 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. Checker
  • Contributors: @mukesh27 @swissspidy
  • Projects from the 2024 roadmap:
    • Creating standalone plugins milestone 2
    • Plugin checker
    • Reusable testing environment

Notes from todayโ€™s meeting:

  • @mukesh27 forย Creating standalone plugins milestone 2b:
  • @mukesh27 forย Plugin Check, nothing more, just been offering support by conducting code reviews for open PRs.
  • @swissspidy we should be able to release v1.0 of Plugin Check very soon. Just some outstanding questions about how to deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors., and whether/where to write a blogblog (versus network, site) post about it
  • @thelovekesh I will be opening an issue to discuss if we should continue using โ€œwp-envโ€ in CI for unit testing. It will also cover optimizing existing workflows. POC on optimizing workflows and reducing dependency from third-party actions โ€“ย https://github.com/thelovekesh/performance/pull/2

Open Floor

  • @pbearne would like to invite you all to 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. Canada July 11-13, 2024ย https://canada.wordcamp.org/2024

Our next chat will be held on Tuesday, February 6, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

Performance Chat Agenda: 30 January 2024

Here is the agenda for this weekโ€™s performance team meeting scheduled for Jan 30, 2024 at 16:00 UTC. 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

A Week in Core โ€“ January 29, 2024

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

  • 48 commits
  • 64 contributors
  • 60 tickets created
  • 4 tickets reopened
  • 67 tickets closed

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

Code changes

Build/Tests Tools

  • Configure prettier properly โ€“ #60316
  • Update the caniuse data โ€“ #59657
  • Update third-party 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 by the repository owner. https://github.com/ Actions โ€“ #59805
  • Update third-party 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/ action โ€“ #59805
  • Ensure set_error_handler is cleaned up โ€“ #60305
  • Expand sanitize_text_field() tests โ€“ #60357

Bundled Themes

  • Twenty Twenty-Four: Change font family slug to lowercase โ€“ #60325

Coding Standards

  • Add missing escaping functions to WP_Customize_Control and WP_Customize_Nav_Menu_Location_Control โ€“ #60324
  • Add missing escaping in Custom_Image_Header::step_2() โ€“ #59278
  • Fix some spaces on 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.-supports background
  • Remove unnecessary access and internal annotations from two functions in WP_REST_Templates_Controller โ€“ #60358
  • Update PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. to version 3.8.1 โ€“ #60279
  • Use strict type check for in_array() in get_hooked_block_markup() โ€“ #60279

Docs

  • Add missing full stop in WP_Comment_Query::parse_query() DocBlockdocblock (phpdoc, xref, inline docs) โ€“ #60323
  • Fix a few typos in wp-includes/pomo/po.php โ€“ #60346
  • Fix typo in _get_block_template_file() DocBlock โ€“ #59651
  • Improve various globals documentation, as per docblock standards โ€“ #59255, #59651
  • Typo correction in wp_internal_hosts docblock โ€“ #60363

Editor

  • Add Block Bindings 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. helpers โ€“ #60282
  • Add original_source and author_text to the templates 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/ โ€“ #60358
  • Add registry for block binding sources โ€“ #60282
  • Add video and audio pattern categories โ€“ #60342
  • Define the labels of the pattern categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. 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. โ€“ #60322
  • Ensure PHPUnit10 compatibility for ThemeJson 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. โ€“ #60305
  • Fix 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. application of custom root selector for styles โ€“ #60343
  • Fix back to items label capitalization for the pattern categories โ€“ #60322
  • Set show_tagcloud to false for Pattern Categories โ€“ #60119
  • Unset reference used in foreach statement โ€“ #60326
  • Update the ThemeJson unit test to cover custom CSSCSS Cascading Style Sheets. feature โ€“ #60294
  • Update the WordPress packages to 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/ 16.7 RC2 version โ€“ #60315
  • fix classname output on blocks without layout โ€“ #60292
  • fix fluid font division by zero error when min and max viewport widths are equal โ€“ #60263
  • Amend PHPDocPHPDoc (docblock, inline docs) for hooked_block_{$hooked_block_type} 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. โ€“ #59572, #60126
  • Introduce a new hooked_block_{$block_type} filter โ€“ #59572, #60126

General

  • Add $schema property to block and theme JSON files โ€“ #60255

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API

  • Scan all syntax tokens in a document, read modifiable text โ€“ #60170
  • Support INPUT tags โ€“ #60283
  • Support PARAM, SOURCE, and TRACK tags โ€“ #60283

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

  • Add missing variable in string replacement โ€“ #59656
  • Improve docblocks after [57337] โ€“ #59656
  • Improve edge case handling in WP_Translation_Controller โ€“ #59656
  • Introduce a more performant localization library โ€“ #59656
  • Rename WP_Translation_Controller::instance() method to get_instance() โ€“ #59656

Media

  • Redirect inactive attachment pages for logged-out users โ€“ #59866, #57913

Script Loader

  • Clarify in docs that wp_get_inline_script_tag() and wp_print_inline_script_tag() can take non-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. data โ€“ #60331
  • Load the modules to the footer in classic themes โ€“ #60240
  • Only emit CDATA wrapper comments in wp_get_inline_script_tag() 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 โ€“ #56313, #60320
  • Script Modules API: Rename wp_module to wp_script_module โ€“ #56313

Props

Thanks to the 64 people who contributed to WordPress Core on Trac: @swissspidy (9), @mukesh27 (8), @gziolo (6), @jonsurrell (6), @get_dave (5), @audrasjb (5), @shailu25 (4), @dmsnell (4), @luisherranz (3), @jorbin (3), @andrewserong (3), @westonruter (3), @flixos90 (3), @jrf (2), @isabel_brison (2), @costdev (2), @peterwilsoncc (2), @antonvlasenko (2), @czapla (2), @artemiosans (2), @santosguillamot (2), @sc0ttkclark (2), @lgladdy (2), @talldanwp (2), @youknowriad (2), @fabiankaegy (2), @nareshbheda (2), @ntsekouras (2), @poena (2), @aaronrobertshaw (2), @bernhard-reiter (2), @joemcgill (2), @wildworks (2), @desrosj (1), @upadalavipul (1), @viralsampat (1), @sabernhardt (1), @pbearne (1), @vladimiraus (1), @kebbet (1), @afercia (1), @aristath (1), @chesio (1), @joppuyo (1), @lakshmananphp (1), @sergeybiryukov (1), @johnbillion (1), @tomjcafferkey (1), @timbroddin (1), @yansern (1), @RavanH (1), @onemaggie (1), @huzaifaalmesbah (1), @dlh (1), @zieladam (1), @cbravobernal (1), @hardik2221 (1), @dd32 (1), @akirk (1), @ramonopoly (1), @idad5 (1), @nefff (1), @jonsurrel (1), and @kamranzafar4343 (1).

Congrats and welcome to our 2 new contributors of the week: @vladimiraus, @hardik2221 โ™ฅ๏ธ

Core committers: @youknowriad (11), @sergeybiryukov (7), @swissspidy (6), @dmsnell (4), @desrosj (3), @jorgefilipecosta (3), @audrasjb (3), @bernhard-reiter (3), @gziolo (2), @westonruter (2), @jorbin (2), and @isabel_brison (2).

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

Proposal: What’s next for the Outreach program

Following the post Evolving the FSE Outreach Program, there was a transition period of six months after the 6.4 release and the end of Phase 2. Now letโ€™s discuss what could happen after this period.ย 

This post recommends the next steps. Before that, some clarification of terms might be in order:ย 

  • Site builder = No code/low code user who builds sites for others
  • Extender: Developers/designers who build plugins and themes or work for agencies or as freelance developers/designers.

Because site builders and Extenders regularly intersect, the channelโ€™s content and discussions will be relevant to both groups of users.ย 

A good first step could be to rename the channel from #fse-outreach-experiment to #outreach, as it will be about more than FSE, and no longer an experiment.ย 

Several projects could use 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/ support in the WordPress space for discussion, clarification, and overall ruminating on future features coming to WordPress. A list of discussions, sharing, and information that could be shared in the channel follows. None of them are exclusive, but they made the list because they donโ€™t necessarily fit other channels.ย 

The ideas also donโ€™t warrant a separate channel, but all ideas come from knowing that non-contributors need to connect with contributors. As noted in comments on the previous post, a clear outcome of the FSE Outreach program was that connecting in this channel facilitated participantsโ€™ first contributions and lowered the barrier to connecting with the open-source project.ย 

  1. The channel is a place for attendees and viewers of regular Developer Hours to connect with presenters. The discussion could cover the eventโ€™s topic beyond the live event. The same is true for the Hallway Hangouts. Resources for both events will be shared in the channel.
  1. Once the Test team, or any other team, issues a new call for testing, the feedback would be surfaced here in a conversation about challenges and to help answer questions.
  1. There might be a breaking change in an upcoming release that needs attention from extenders.The channel can provide space for additional discussion on workarounds, etc.
  1. Excerpts from the Dev Chat agenda/summary of the user-facing updates from contributors can be shared, if they are relevant for site builders and extenders.
  1. The channel can subscribe to the Whatโ€™s New for Developers round-up posts feed, so posts are shared upon publishing.
  1. In collaboration with design and engineering teams, discussion from 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 by the repository owner. https://github.com/ and TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. can be raised in the channel to solicit input from those interested in the topics.
  1. The outreach channel is also the place to point people to from other networks (X, Mastodon, or Facebook) when there is a need to discuss issues/topics that are outside the scope of the Support team and require a WordPress space to get a few people in from other teams involved.ย 
  1. The channel could also be a resource for MeetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for โ€˜WordPressโ€™ on meetup.com will help you find options in your area. Organizers who have questions or need advice on facilitating local discussions about upcoming features.ย 

Independent of the list of activities, the #outreach (working title) Slack channel will continue as a central point of contact with the community.

This can only be a group endeavor if we want to broaden the reach and be a welcoming place for people interested in particular focuses of the software. Quite a few people raised their hands to be part of a continuation of the outreach program, be it to participate in discussions or to follow future calls for testing. If you are interested, please let us know in the comments!ย 

All feedback on this proposal is welcome. Here is a set of questions that could get you started:ย 

  1. Naming things is hard, so what do you think about the future name โ€œoutreachโ€? Any other ideas for a name?ย 
  2. What do you think about the eight ideas shared about what a conversation might look like in the channel?ย 
  3. Do you have any other ideas for community outreach that could have a place here?ย 

Feedback by February 12th would be appreciated.ย 

Nick Diego, Justin Tadlock, and I would like to invite contributors to a Hallway Hangout on February 20th, 2024, at 15:00 UTC to discuss this proposal, the comments, and the next steps.ย 

Props for review and input to @ndiego,@greenshady, @angelasjin, and @cbringmann.

#fse-outreach-experiement

Dev Chat Summary, January 24, 2024

Start of meeting on Slack facilitated by @webcommsat

This DevChat starts with an experiment to shift the chat to synchronize discussions on open coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. proposals and release issues rather than reproducing links highlighted in the curated agendas.

Discussion on open proposals in Core

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.

Link to post: Proposal: The Interactivity API โ€“ A better developer experience in building interactive blocks

Conversation start link

Comments:

  • The API is well beyond the proposal stage, with nothing actionable in discussion.

Actions:

  • The proposal should be considered โ€œacceptedโ€.

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API: Introduceย WP_HTML::tag()ย for safely creating HTML

Link to PR (draft): https://github.com/WordPress/wordpress-develop/pull/5884

Conversation start link

Comments:

  • This PR was raised along with the question of how items should be added to the agenda. It was clarified that topics can be added as comments to the previous weekโ€™s chat summary, or to the current weekโ€™s agenda post (typically published on Tuesdays). And of course, any item can be raised during the open floor section of Dev Chat.
  • @dmsnell indicated that the PR for consideration is a scaled back version of a larger templating system proposal, which will not be ready for 6.5. The PR adds a helper utility, WP_HTML::tag(), to conveniently generate single HTML tags with attributes. The impetus for this feature is to provide Core and extenders a safer way to generate HTML tags, compared with reliance on proper usage of functions such as esc_attr(), which might be overlooked and introduce HTML injection vectors.
  • @jorbin would prefer that any new APIs be used by Core itself, and that there be accessory patches prepared that demonstrate how the function integrates and operates in Core. It was also suggested that a Make/Core proposal would help with gathering broader input.
  • @azaozz pointed out that enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. tickets in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. are another form of โ€œproposalโ€, and can also result in healthy discussion. He suggested starting the discussion in Trac, and then utilizing a Make/Core proposal if the ticketticket Created for both bug reports and feature development on the bug tracker. isnโ€™t sufficient to establish consensus.
  • There continued discussion around how Core generates HTML currently, which relies on proper use of esc_*() and echo(), as well as a broader discussion around safely generating HTML. Got feedback? Join the conversation 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/, or leave a comment below.

Actions:

  • @dmsnell to create a Trac ticket and/or Make/Core proposal to discuss introduction of WP_HTML::tag().
  • @dmsnell to consider a future Make/Core proposal for the HTML API templating system, and continued discussion around generating safe HTML.

Forthcoming releases

6.4.3

Conversation start link

  • @jorbin shared the remaining open tickets for this milestone, which are scheduled for review and commit prior to a Thursday (Jan 25) 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).:
    • #60025 โ€“ This needs additional review and testing. Any help is appreciated
    • #59866 โ€“ย @peterwilsonccย and I have been work on the one and I should have an update in the next 12 hours.
  • @joemcgill requested help reviewing the approach proposed in #5926 Cache locate template paths, which would address both #60025 and #60290.

6.5

Conversation start link

See this section in the agenda for updates, helpful links, and information for the 6.5 release.

Comments:

  • @oglekler pointed out that there are several early 6.5 tickets that need attention, asking for review as some might have the potential to be completed in time for 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..
  • @hellofromtonya indicated that the 6.5 cycle is past the โ€œearly part of alphaโ€, suggesting these may need to be punted if they truly require a long runway for soak time and discussion.
  • @azaozz agreed that the early keyword indicates a need for comprehensive testing, and possible reconsideration of the milestone if the testing hasnโ€™t occurred. He also suggested that while not required, it might be preferable to fix old/known bugs during alpha, and allow beta testers to focus on โ€œnewโ€ bugs introduced from Beta 1 and onward.
  • @jorbin suggested two interpretations of early; i.e. actually early in the alpha cycle, or just before Beta 1.
  • @hellofromtonya noted that since Beta 1 is the puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) milestone for enhancements/features, that in her perspective, early should apply to early in the alpha cycle. She cited changes to WP_Query as an example where early would apply.
  • @afragen observed that it doesnโ€™t seem that many early tickets are committed early in the cycle.

Open Floor

Props @hellofromTonya for peer review.

#6-4, #6-5, #core, #core-editor, #dev-chat, #meeting, #summary

WordPressย 6.4.3ย RC1 is now available

WordPressย 6.4.3ย Releaseย Candidateย 1 (RC1) is available for testing! Some ways you can help test thisย minorย release:

  • Use theย WordPress Beta Testerย 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.
    • As this is a minorย 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).ย release, select theย Pointย Releaseย channel and theย Nightliesย stream. This is the latest build including the RC and potentially any subsequent commits inย trunk.
  • Useย WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ย to test:
    wp core updateย https://wordpress.org/wordpress-6.4.3-RC1.zip
  • Directly download the Beta/RC version.

Whatโ€™s in thisย releaseย candidate?

6.4.3ย RC1 featuresย 5 fixes in Coreย as well asย 16 fixesย for theย BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.ย Editor.

The followingย coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.ย tickets fromย TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ย are fixed:

The following block editor issues fromย 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 by the repository owner. https://github.com/ย are fixed:

Whatโ€™s next?

The dev-reviewed workflow (doubleย committerย sign-off) is now in effect when making changes to the 6.4ย 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"..

The finalย releaseย is expected on Tuesday, Janury 30th, 2024. Please note that this date can change depending on possible issues after RC1 isย released. Coordination will happen in theย WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ย 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/ย #6-4-release-leadsย channel.

A special thanks to everyone who helped test, raised issues, and helped to fix tickets. With thisย releaseย candidate, testing continues, so please help test!

Thanks to @joemcgill for pre-publication review

#6-4, #6-4-x, #minor-releases, #releases

Dev Chat agenda, January 24, 2024

(Update from new Contributor Meeting added)

The next WordPress Developers Chat will take place onย Wednesday, 17 January 2024 at 20:00 GMTย in theย coreย channel onย Make WordPress Slack.

Discussions

These will focus on open proposals in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and release items.

  • Interactivity API and building interactive blocksย has moved past the proposal stage and is aimed at being a key feature planned for 6.5. Now that itโ€™s near complete and planned for 6.5:
    • is there anything actionable in the proposal?
    • or is it considered done / closed?

Next weekโ€™s dev chat, a discussion opportunity is identified for this open proposal on core relating to major release Field Guides.

Could you help curate a Call for Volunteers to review theย open proposals on Make/Coreย and create a list of unresolved ones to discuss during Dev Chat meetings?

Highlighted posts

Summary from the experimental new style Dev Chat from January 17, 2024 โ€“ @webcommsat and @hellofromtonya

A Week in Core โ€“ January 24, 2024 โ€“ props to @audrasjb for creating this.

Onย TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ย between January 15 and January 22, 2024:

  • 35 commits
  • 62 contributors
  • 67 tickets created
  • 10 tickets reopened
  • 72 tickets closed
  • and a welcome to three new contributors

Performance team roadmap for 2024 is out and covers priorities.

Team reps update.ย The nomination period has been extended for the Core Team Reps 2024 edition toย Wednesday, 31 January 2024 at 23:59 GMT. Full details are on theย original nominations postย where nominations can be added.

New core contributor meeting โ€“ if you were not able to attend and would like to find out more, check out the link to the meeting in Slack on January 24, 2024 which includes useful information on getting started and the contributor mentorship program. The deadline for applications for the second cohort for the program is Wednesday, February 7, 2024.

Core-editor updates

Core Editor Improvement: Robust Revisions in the Site Editor.

Props to @annezazu for sharing this list.

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

Any other updates?

Phase 3 media library meeting will take place onย Thursday, 8 February 2024 at 00:00 GMT in theย #core-media
channel. The Media Component team is coordinating a meeting with the Editor team and other interested stakeholders to work on planning for the proposed Phase 3 Media Library.

Core-editor improvement โ€“ revisions in the site editor. This is a useful post for understanding some of the changes and new features to current revision functionality in the Site Editor aimed for 6.5 and the wider work in this area.ย 

WordPress 6.5 release squad formation as at January 18, 2024. Additional discussion on size of the squad can be found in the comments on this post.

Important milestones in the Editor for 6.5 โ€“ useful post for contributors working or wishing to support 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/ repository with the scheduled 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 for WordPress 6.5 scheduled for February 13, 2024.

Existing 6.5 links

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

Any other updates?

Earlier today there were four open tickets โ€“ update in 6.4 release leads channel.

Tickets to highlight for assistance

Tickets for 6.5 and 6.4.3 will be prioritized.

Open floor

#6-4, #6-5, #agenda, #dev-chat