WordPress 6.2.1 RC1 is now available

WordPress 6.2.1 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.2.1-RC1.zip
  • Directly download the Beta/RC version.

What’s in this release candidate?

6.2.1 RC1 features 19 fixes on Core as well as 10 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:

  • #57387 – use aligncenter class in about page sub-heading
  • #57903 – Non-core blocks are not properly loading RTL stylesheets
  • #57918 – “Deprecated” on the Appearance Menu page of the classic theme.
  • #57937 – Sync the SECURITY.md file with our HackerOne policy
  • #57994 – Coding Standards fixes for WP 6.2.1
  • 57996 – Change $search_columns type from array to string[].
  • #58007HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: Support comments created by 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. 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.) name in tag closers
  • #58028WP_HTML_Tag_Processor: Its reference in the Developer Resources is broken
  • #58051 – Attachment custom fields not rendered after upload
  • #58064 – In the comment_time function, the call to the get_comment_time function is incorrect.
  • #58069 – Performance of _wp_normalize_relative_css_links() can be increased >2x
  • #58096 – Incorrect color for “Theme enabled.” adminadmin (and super admin) notice
  • #58146 – HTML API: Ensure attribute updates happen only once for case variants
  • #58160 – HTML API: Fix case where updates are overlooked when seeking to earlier locations.
  • #58179 – HTML API: Accumulate shift for internal parsing pointer.
  • #58203 – jQuery version doesn’t match
  • #58250 – HTML API: Adjust coding style to pass 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/ linter
  • #58254 – HTML API: Fix ordering issue in docblockdocblock (phpdoc, xref, inline docs) that’s breaking Developer Resources
  • #58274 – Update @wordpress packages for WordPress 6.2.1

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 be the repository owner. https://github.com/ are fixed:

  • GH 49135i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add context to labels related to CSSCSS Cascading Style Sheets. position properties
  • GH 49054 – Comments: Fix ‘sprintf requires more than 1 params’ error
  • GH 49861 – Fix the site editor loading in multi-site installs
  • GH 49881 – Fix quick inserter going off-screen in some situations
  • GH 49685 – Site Editor: Decode the site title properly
  • GH 48210 – Firefox: fix input rules (ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. async state issue)
  • GH 49703 – Only show alignment info when parent layout is constrained
  • GH 49450 – [Inserter]: Fix onHover error on patterns tab in mobile
  • GH 49364 – Fix site editor redirection after creating new template or template part
  • GH 49675 – Site Editor: fix the ‘back to Dashboard’ links labelling

What’s next?

The developer-reviewed workflow (double committer sign-off) is now in effect when making changes to the 6.2 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, May 16th, 2023 (see the release planning). 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-2-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!

The WordPress 6.2.1 release is led by @audrasjb, @mamaduka and @sergeybiryukov.

Thanks @costdev and @francina for proofreading.

#6-2, #6-2-1, #minor-releases, #releases

Performance Chat Agenda: 9 May 2023

Here is the agenda for this week’s performance team meeting scheduled for May 9, 2023 at 15:00 UTC.


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

Editor Chat Agenda: May 9th 2023

Facilitator and notetaker: @fabiankaegy

This is the agenda for the weekly editor chat scheduled for Wednesday, May 9th 2023 at 16:00 CEST The meeting is held in the #core-editor channel in the 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/..

  • Announcements
  • Project updates
  • Task Coordination
  • Open Floor – extended edition.

If you are not able to attend the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have an update for the main site editing projects, please feel free to share as a comment or come prepared for the meeting itself.
  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #core-editor, #core-editor-agenda, #meeting

What’s new in Gutenberg 15.7? (03 May)

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

What's new in Gutenberg 15.7 cover image

Gutenberg 15.7  has been released and is available for download!

For the latest release of the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, contributors continued improvements to existing UIUI User interface and UXUX User experience for content creators, site owners working on their own site, or theme developers creating new themes. Users will find small changes for streamlined workflows, fixed bugs, and refined responsiveness, just to name a few. The release includes 142 PRs by 62 contributors, of which 8 merged their first contributions. Congratulations to all.

Table of contents

Site Logo replacement via the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.

Site Logo update image workflow in sidebar

To continue the quest of streamlining creator workflows, the Site Logo 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. now offers a direct way to replace the logo in the sidebar for the block. It might seem like a minor feature, but managing a site’s branding identity warrants an easy and intuitive process. (49992)

Duotone 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. controls in block sidebar

Duotone / filter in the sidebar

Speaking of streamlining workflows:  Duotone is a fascinating feature for the block editor. The controls for using the preset filters or creating custom filters were hidden via the Block Toolbar. Now all controls are available with the style settings in the sidebar and allow designers and content creators easier access. (49838)

Fluid Typography scales giant fonts to small screens

Fluid typography scaled

While fluid typography arrived with WordPress 6.0, users and designers had problems with large custom fonts. The previous fluid calculation didn’t scale down enough for smaller screens. In this Gutenberg plugin release, a more refined handling of fluid typography arrived using the logarithmic scale factor to calculate a minimum font size for smaller screens. With reliable scaling calculations, designers have more typographical freedom and can better rely on the built-in responsiveness of their designs. (49707)

Other Notable Highlights

Images that have custom borders assigned show those borders also in their placeholder, for instance, in archive post templates. That way, a site owner has an indicator of what colors are involved, and it makes it less haphazard when selecting featured images for their posts. (49569

Also, the Top toolbar behavior received some refinements that received mixed comments from contributors. It’ll be interesting to learn how site owners and content creators feel about these changes. (49634). 

Patterns show up in a masonry layout in a new full-screen modal that also received some refinement. (49958, 49894). The List View experienced some important refactoring to improve 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) for assistive technologies. (48461)

Changelog

Enhancements

Block Library

  • Group: Add allowedBlocks attribute and pass it to innerBlockProps. (49128)
  • Media & Text: Add allowedBlocks attribute and pass it to innerBlock. (49981)
  • Site Logo: Add logo replace flow in Inspector controls. (49992)

Global Styles

  • Fluid typography: Use logarithmic scale factor to calculate a min font size. (49707)
  • Style book: Make the style book slot generic. (49973)
  • Base Styles: Add the editor input reset with increased specificity. (49831)

Components

  • Draggable: Allow elementId based elements to be attached to the ownerDocument body. (49911)
  • Spinner: Enforce no background. (49695)
  • Updates the behavior of the top toolbar fixed setting. (49634)

Design Tools

  • Image: Display custom borders on placeholder. (49569)
  • Patterns: Try a masonry layout on the template pattern suggestion modal. (49958)

Duotone

  • Duotone: Add block controls on the inspector. (49838)
  • Duotone: Fix setup state for image block. (49949)
  • Polish duotone rendering code. (49706)
  • Deprecate remaining global duotone functions. (49702)
  • Group duotone outputs and refactor rendering. (49705)

Accessibility

  • List view: Refactor ARIA attributes. (48461)
  • Block Mover: Make text labels for left/right move buttons legible. (49747)
  • Block Toolbar: Fix incorrect switcher button width in text mode. (49847)
  • Snackbar: Fix insufficient color contrast on hover. (49682)
  • Update Reakit dep to 1.3.11. (49763)
  • List View: Add aria-description. (49907)

Bug Fixes

Block Library

  • Cover block: Remove overflow hidden rule. (49913)
  • Fix BlockInfo slot displaying logic. (50054)
  • Fix block toolbar height and rounded corners of parent selector button when text label mode. (49556)
  • Demo content cover block alignment not respected. (49848)
  • Group block: Remove innerprops from placeholder wrapper. (49783)
  • Only display the modified post date if the post has been modified. (46839)
  • Post ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.: Fix crash at runtime when postType is undefined. (49899)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Fix some sizing issues. (49641)
  • Adjust copy of Site Logo Block. (49540)
  • Adapt flex child controls for Spacer. (49362)
  • Social Icon: Update the link and mail block variation’s icons. (49952)

Components

  • CheckboxControl: Add support custom IDs. (49977)
  • Equalize modal internal padding. (49890)
  • Increase modal radius. (49870)
  • Query: Fix add new post link position via private SlotFill. (49819)
  • Tweak WordPressComponent type. (49960)
  • Update the framer motion dependency to the latest version. (49822)
  • Improve output of CHANGELOG CI check. (49779)
  • Retain context when opening modals on small screens. (50039)
  • Update CHANGELOG CI check to support forked repos. (49906)

Global Styles

  • Borders: Fix border style on color/width clearing and global styles fallback logic. (49738)
  • Borders: Maintain radius in Global Styles. (49950)
  • Close stylebook if the global styles side bar is not open. (50081)
  • Do not add unregistered style variations to the 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. schema. (49807)
  • Update preset styles to use Selectors 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.. (49427)
  • Change the ‘WP_Theme_JSON_Data_Gutenberg’ class directory. (50062)

Site Editor

  • Fix screen flash when deleting templates in templates list. (48449)
  • Fix the condition for the modal to choose the initial template pattern. (49954)
  • Fix editor crash caused by missing type conversion in EditorStyles component. (49882)
  • Remove frame shadow in edit view. (49767)
  • Add home to list of new templates. (47389)
  • Animate the site icon element between view and edit in the site editor. (48886)
  • Restore click event handler on site icon button. (50094)
  • Correctly return ‘isResolving’ from ‘useAlternativeTemplateParts’ hook. (49921)

Patterns

  • Increase dimensions of the pattern modal that appears when creating a new page. (49859)
  • Update full screen modal dimensions, and pattern grids. (49894)
  • Increase pattern modal dimensions when creating a new template. (49722)

List View

  • Add parameters to custom-scrollbars-on-hover. (49892)
  • Update with scrolling and custom scrollbar. (49793)
  • Ensure list view block id is unique to the list view instance. (49944)

Block Editor

  • Fix quick inserter going off-screen in some situations. (49881)
  • List View: Update drop indicator width to be aware of scroll containers. (49786)
  • Block highlight: Fix radius issue. (49864)
  • DOM: Update getScrollContainer to be aware of horizontal scroll. (49787)
  • Fix fixed block toolbar positioning. (49990)
  • 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.: Add enqueue_block_assets. (49655)
  • Rename immutableSet to setImmutably. (50040)
  • Edit Post: Hide overflowing content in visual editor wrapper to prevent block popovers from creating scrollbars. (49978)

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

  • Replace fallbacks to fallback (singular) in Nav fallback REST endpoint. (50044)
  • Consolidate Navigation fallbacks logic between Editor and Front of Site via REST API. (48698)
  • Add /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. endpoint for global styles. (49974)

Build Tooling

  • Fix multiple tooltips showing on NavigableToolbars. (49644)
  • Add –env-cwd Option To wp-env run. (49908) – Add Port To WP_TESTS_DOMAIN. (49883)
  • Add support in check-license for conjunctive (AND) licenses. (46801)

Performance

Continued the work refactor away from Lodash usages to reduce the build size
49799, 49794, 49755

Experiments

  • Allow adding posts and pages with custom titles from the command menu. (49893)
  • Update the design of the command center. (49681)

Documentation

  • Adds closing code tags. (49991)
  • Add “block-selectors” documentation to TOC and manifest. (49471)
  • Adds note about custom fields to Plugin Sidebar page in documentation. (49622)
  • Autocomplete: Add heading and fix type for onReplace in README. (49798)
  • Document the separation between private APIs and experimental APIs. (47973)
  • Fix broken link and update title of Localizing Gutenberg doc. (49851)
  • Fixes broken img link. (49805)
  • Need to use WordPress package for useState. (49478)
  • Remove unused screenshot from documentation folder. (49896)
  • Small grammar fixes for block-context.md. (49701)
  • Update IS_GUTENBERG_PLUGIN to process.env.IS_GUTENBERG_PLUGIN in coding guidelines. (49825)
  • Fixes typo in README. (49957)
  • Update README.md. (49762)
  • Update README.md. (49855)
  • Update outreach.md. (49961)
  • Update wp-env prereq documentation. (50004)
  • Formatting inside alert div. (50090)

Theme.json

  • Add documentation for variations key in theme.json. (49826)
  • Update theme.json reference documentation to include more sections. (48250)

Gutenberg Plugin release

  • Update the Gutenberg release issue template to reflect the new Gutenberg release team. (50037)
  • Update Gutenberg release documentation to include the new Gutenberg Release Team. (50036)
  • Fix broken link and minor tweaks to formatting and verbiage in the Gutenberg Release Process doc. (49876)
  • Update release checklist. (50068)

Block Development

  • Improve the learning experience for writing blocks. (49792)
  • Re-write of the landing page. (49643)
  • Improve insertBlock(s) documentation. (50078)
  • Small Typo: Remove dots. (49853)

Code Quality

  • Fix PrivateInserter import. (50038)
  • Remove the normalizeFalsyValue util. (50033)
  • Don’t programmatically lowercase post type label. (49591)
  • Port colord to PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (49700)
  • Reuse cleanEmptyObject utility and fix empty string case. (49750)
  • toStyles: Don’t mutate the tree argument. (49806)
  • useInstanceId: Fix useMemo hook dependencies. (49979)

Tools

Testing

  • Components: Update ColorPicker unit tests. (49698)
  • Migrate CPT end-to-end tests to Playwright. (50031)
  • Fonts API: Add tests for gutenberg_add_registered_fonts_to_theme_json(). (50049)
  • Expand multi-line block tests. (49732)
  • Rich text test helpers mimic user events. (49804)
  • Fix editor canvas detaching error in end-to-end tests. (49374)

Build Tooling

  • Add script which checks published types for non-checked JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. packages. (49736)
  • Docgen: Fix issue where function token can’t be found. (49812)
  • Publish build types for notices. (49650)
  • Publish types for plugins package. (49649)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamziel @ajlende @alexstine @andrewserong @annziel @aurooba @bdurette @bph @carolinan @chad1008 @chintu51 @courtneyr-dev @dcalhoun  @derekblank  @draganescu  @ellatrix  @fluiddot @gaambo @geriux @getdave @gigitux @guarani @gvgvgvijayan @gziolo @hellofromtonya @jameskoster @jasmussen @jeryj @jhnstn @jsnajdr @juanmaguitar @kevin940726 @m0hanraj @MaggieCabrera @MahendraBishnoi29 @Mamaduka @masteradhoc @mburridge @mcsf @mikachan @mirka @mokagio @mtias @ndiego @noahtallen @ntsekouras @oandregal @ObliviousHarmony @priethor @ramonjd @scruffian @SiobhyB @Soean @sque89 @t-hamano @talldan @tellthemachines @tyrann0us @tyxla @Wtower @youknowriad @zzap


Props to @priethor @annezazu @nickdiego for review

#gutenberg-new

Editor Chat Summary: 3 May 2023

This post summarized the editor chat from  Wednesday, May 3, 2023, 14:00 UTC (agenda) held in the #core-editor channel moderated by @bphFull transcript

Announcements

Gutenberg 15.7 is now available for download from the plugins repository. Release post is in progress.

New Developer Blogblog (versus network, site) posts

FSE Program Testing Call #22: Front Page Fun –  Deadline for feedback is May 8th, 2023

Developer Hours – Introduction to WordPress Playground will be held on twice

On May 23, 2023 at 17:00 UTC / 12:00 PM EDT hosted by Justin Tadlock
On May 24, 2023 at 8:00 UTC / 15:00 Indonesia Time hosted by Michael Burridge

Project updates

Navigation

@get_dave created a new overview issue for Navigation: WIP Navigation Overview: 6.3 Priorities

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

@hellofromtonya posted an update for the Fonts API:

  • The project board is now groomed, with card priority sorted in highest (top) to lowest (bottom).
  • The Roadmap’s Ongoing work section is updated and tasks are split into  Required for Core introduction and Future. The primary focus then is on completing the required for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. items.
  • Goal: introducing the API in WP 6.3 

Native Mobile

@twstokes noted recently fixed or improved

Task Coordination

@annezazu mentioned:  “There’s a new, very simple “UX and Polish” board that some of us are trying to curate for some developers to dive into.Any issue on this board should be actionable by developers specifically, not add any new features, and not require additional design thought or help.” 

@mamaduka mentioned “I’ve been debugging flaky e2e tests and helping with reviews this week.”

Open Floor – extended edition

@proxxim posted on the agenda the following idea:

“The `templateLock` for feature `innerBlocks` might need more refinement” and provided the following use case:
“We want the client to be able to insert a maximum amount of two buttons in an innerBlock. The client should also be able to insert just one or zero buttons as well. The current implementation of templateLock does not offer a configuration option for such a use case.”

@aurooba commented: “This would be handy for a lot of different custom blocks I often also create where you need to maximum number of innerBlocks, rather than a specific amount.”, followed by another use case: a custom 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. to feature posts from another custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept.. The design directive explicitly asked to not allow more than 6, less than 6 was okay. “If the templateLock featured had a max property, that would make it pretty simple.” she wrote.

Another use case: “Having a max (and even a minimum) is a pretty common pattern most folks coming from the world of ACF and similar plugins are used to. For example, the repeater field in ACF lets you define a minimum and maximum for its rows.” (also by @aurooba)

@fabiankaegy chimed in with an issue that’s already on the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repo: Add ability to limit the number of items within an Inner Blocks area. @proxxim and @aurooba should join the discussion to give developer more scenarios to be sure a new API would cover the use cases.

Props to @paaljoachim for review

#core-editor, #core-editor-summary, #gutenberg, #meeting, #summary

WordPress 6.2.1 Planning

Coming after WordPress 6.2 “Dolphy”, a 6.2.1 release is planned for some items that came up near the end of the 6.2 release cycle or have been raised post-release.

If there is a critical bugfix that has 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./PR ready, then please look to add those to the 6.2.1 milestone on Trac or the WordPress 6.2.1 Editor Tasks project board on GitHub.

Schedule

The following schedule is what’s currently planned for the release, any additional 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. scrubs, release candidates, or other items will be added here as they get scheduled.

Thursday, May 4th, 2023 at 15:00 UTCBug scrub focused on finalizing items for 6.2.1
Monday, May 8th, 2023 at 19:00 UTCFinal scrub ahead of Release Candidaterelease 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).
Tuesday, May 9th, 2023 at 16:00 UTC6.2.1 Release Candidate
Tuesday, May 16th, 2023 at 16:00 UTC6.2.1 Final Release

Release Coordination

This release is led by @audrasjb and @mamaduka, with the help of @sergeybiryukov on mission control.

The #6-2-release-leads channel will continue to be used for all coordination and conversation related to the 6.2.x releases. This matches the pattern of communication that worked well for previous 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. cycles.

Thanks @mamaduka, @sergeybiryukov, @annezazu, @costdev and @jpantani for proofreading.

#6-2, #6-2-1, #minor-releases

Dev Chat Summary, May 3, 2023

The WordPress Developers Chat meeting took place on May 3, 2023 at 20:00 UTC in the core channel of Make WordPress Slack.

Key Links

Highlighted Posts

Here is an overview of changes in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between April 24 and May 1, 2023:

  • 7 commits
  • 21 contributors
  • 50 tickets created
  • 3 tickets reopened
  • 38 tickets closed

Release Updates

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

@ironprogrammer noted that the 6.3 squad was being composed over in #6-3-release-leads, with the team and dates to be finalized by the end of the week.

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

@audrasjb provided a minor release update:

  • On Trac, there are 22 tickets in milestone, 11 are closed as fixed, and 2 others are awaiting 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. to 6.2.
  • 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/, there are 15 issues/PRs in the milestone, with 8 of them fixed and merged to core. @mamaduka is leading the Gutenberg work.

@audrasjb will run a 6.2.1 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 on May 4, 2023 at 15:00 UTC.

@audrasjb also shared a proposed schedule for the minor release, and asked for input:

If no feedback is provided regarding the schedule, @audrasjb will publish the release planning post to Make/Core later today.

Maintainers: Component Help Requests

@afragen requested further feedback on Trac #22316 (PR 3032) and 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 Dependencies feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins., noting a desire to see it land in 6.3. @ironprogrammer noted that testing could be performed using the plugin or Core 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.. Andy suggested that a simple way to test would be to start with a clean installation, install/activate the Plugin Dependencies feature plugin (if not using the PR), and install and activate The Events Calendar CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. Colors plugin, which includes the necessary headers to trigger the dependencies feature. There are additional test plugins within the feature plugin directory.

Open Floor

Comments from the agenda provided the first couple of topics for discussion:

@pskli requested that Trac 57300 be reviewed, which deals with fatals related to parse_tax_query(). Neither @audrasjb nor @oglekler could reproduce the issue, and agreed that clear reproduction steps were required to move it forward. Olga agreed to update the ticketticket Created for both bug reports and feature development on the bug tracker. and request this information.

@margolisj requested that the following E2E test package prerelease be prioritized: https://github.com/WordPress/gutenberg/pull/43998. @ironprogrammer summarized that the PR was stalled due to a lack of input related to versioning the prerelease package @wordpress/e2e-test-utils-playwright. Brian requested comment from editor package maintainers, noting there were numerous requests for the package’s release in the PR.

@oglekler drew attention to two tickets that might remove clutter from WP adminadmin (and super admin), and adopt a more modern look and improved UXUX User experience:

#51006: Add a mechanism for accessible tooltips in core@joedolson was confident about providing/validating 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) for the ticket, but indicated a desire to collaborate with a 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/. developer to help ensure that scripting best practices were met. @oglekler, @audrasjb, and Joe shared example tooltip patterns/libraries to consider, and agreed that it might be simpler to work from the good parts of prior examples and develop a custom solution well suited for WordPress. Joe agreed to add requirements to the ticket to help move this work forward.

#21583: Improve discoverability and visual design of Screen Options and Help Panels — The clock ran out for Dev Chat, so this ticket was not discussed during the meeting. @oglekler asked that this ticket be raised during the next Dev Chat, and due to its importance, suggested it be scheduled for the 6.4 release.

Next Meeting

The next meeting will be on May 10, 2023 at 20:00 UTC.

Are you interested in helping draft Dev Chat summaries? Volunteer at the start of the next meeting on the #core Slack channel.

Props @pbiron and @audrasjb for peer review of this summary, and to everyone who participated in the Dev Chat.

#6-3, #6-2, #dev-chat, #meeting, #summary

Performance Chat Summary: 2 May 2023

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

Announcements

  • Proposal for using fetchpriority to enhance LCP image performance published

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath

  • @spacedmonkey: Committed [55701] and [55702]
  • @spacedmonkey has been working on #58196
    • Could have the possibility to have 6-10% of server time for blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes
    • @flixos90: There are some conflicting metrics on that last one. We have to figure out why your metrics show such good values while mine don’t show any notable change. I tested with 6.2 (not trunk) and didn’t see any performance impact
    • @spacedmonkey: I think it related to changes 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.
    • @johnbillion: The ticketticket Created for both bug reports and feature development on the bug tracker. is now about adding caching (see new comment and new PR)
    • @spacedmonkey and @flixos90 to follow up with additional benchmarks to determine why the benchmark results differ so much

Database Optimization

Link to roadmap projects

Contributors: @aristath @spacedmonkey @olliejones @rjasdfiii

  • @spacedmonkey plans to commit lazy loading of comment 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. everywhere, today or tomorrow
    • All other types, like user and post meta are so heavily used ( user meta == capabilities and post meta, post thumbnails ), that it not really worth lazy loading it
  • @xavivars had a couple of comments regarding the SQLite integration
    • @xavivars: I know it has been discussed previously that this may not be a “performance” project, but only something related to the work here, so not sure if this is the relevant forum for that, or there’s a better place for it
    • @flixos90: Yes, just to recap the above conversation from last week: The SQLite 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 / PL module will going forward no longer be directly associated with the performance team. We’ll still be supporting the project, but it will be decoupled from the WordPress/performance repository and the Performance Lab plugin
    • @flixos90: Probably best to raise in the plugin’s GitHub repository
    • @xavivars: It may be worth to remove it from https://make.wordpress.org/performance/roadmap-2023/#category-database-optimization (or make that decision explicit in the roadmap)
    • @flixos90: Good point. Let’s raise that again next week when more people are around to discuss. Maybe we could change it to support the project rather than driving it, or something like that.

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.

Link to roadmap project

Contributors: @mukesh27 @10upsimon @adamsilverstein

  • @flixos90 would like to share that there is now a pull request for the new script loading strategy https://github.com/WordPress/wordpress-develop/pull/4391
    • @westonruter: In that pull request for Script Loading Strategies, identified what may be missing support for async scripts having dependencies. I put together an Async Library Script Loading Demo that demonstrates how async scripts could indeed have dependencies. So I’d like it if anyone could affirm my findings for the need for async scripts to be able to have dependencies/dependents. Feel free to just comment on the PR. Since 10up is not here, it doesn’t make much sense to chat about it right now.
    • @flixos90: I’ll have to take a closer look. Let’s continue discussing, but I’d like to note that this could also happen in a separate follow up enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. It depends a bit on how complex it is and how much it increases the scope of the current effort I’d say. We can always iterate, and not supporting async with dependencies could only be the first iteration
    • @westonruter: From what I can see, it’s more about just copying the same logic in place for defer. Currently there’s a check that just bails async entirely if there are deps
    • @flixos90: When the current implementation was originally defined, it was noted that by default async scripts don’t execute necessarily in the same order their tags are printed on the page.
    • @westonruter: When async scripts have dependencies, the order is explicitly not significant. It’s up to the library to ensure that the logic is executed in the right order. You can see in my demo when you get a chance. So it’s less about the execution order as much as being able to automatically get a bundle of scripts printed
    • @flixos90: Yeah, but I feel that is what complicates things. We would have to assume the script that uses async does the right thing, whereas so far with how the strategies are handled, WordPress will ensure it loads things in the right order
    • @westonruter: Since it is opt-in by developers, I don’t see it being an issue.
    • @flixos90: I agree that this is something worth supporting in WordPress, but supporting it has different implications for developers than what is supported by the current PR. So I would see that as a separate enhancement as it requires its own level of discussions. On a technical level we could easily support it it seems, but the implications are different
    • To be discussed further
    • @westonruter: Another point I wanted to raise: for that same pull request, I also proposed the elimination of manual script tag construction in WP_Scripts to improve readability, increase robustness, and facilitate CSP in scripts printed by WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Any concerns about using those script 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.) construction helpers in WP_Scripts? It’s not clear why they weren’t utilized when they were introduced.
    • @johnbillion: +1 to that, those functions haven’t gotten much use since they were introduced
    • @flixos90: Yeah I agree we should definitely use them
    • @flixos90: It would be great to get additional code review feedback this week, just please be conscious that Simon who has been leading the work on the PR is out this week, so it may only be next week that he’ll get back to it

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill

  • @flixos90: Last week I opened and milestoned several TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets to enhance core’s lazy-loading logic:
    • #58211
    • #58212
    • #58089
    • #56588
    • #58213
    • These enhancements will benefit an eventual fetchpriority implementation as well. The idea is that the latter should therefore only happen after those enhancements have landed.

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @olliejones @joemcgill @mukesh27

  • No updates

Ecosystem Tools

Link to roadmap projects

Contributors: @joegrainger

  • @flixos90: There is still some work going on in the plugin check repository project https://github.com/orgs/10up/projects/12/views/1. It’s close to having a first alpha version that is ready to use, at which point it would be great to move it to the WordPress 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/ organization

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • @flixos90: We’re still awaiting approval for the Fetchpriority standalone plugin repository, as the plugin review team is currently seeing notable delays. Fingers crossed we get an approval soon
  • @flixos90: Other than that, we’ve started thinking about what the implementation for a Milestone 2 (actually removing the modules from PL) could look like, see the overview issue description for sub-issues

Open Floor

  • @westonruter: On the topic of CSS, there’s Felix’s Gutenberg issue to load less CSS for core blocks by only printing the CSS for the blocks used on the page, here specifically for classic themes. I identified some challenges with inlining CSS with rendered blocks. I suggested a (probably controversial) alternative using output buffering. Here’s a proof of concept plugin. Maybe page output buffering now would be less controversial since it’s essentially how block themes are working?
    • @spacedmonkey: I am not a fan of output style tags inline. I feel like that would have side effects we could do know about. ATM, we have a head and footer styles / scripts. I was wonder if we could add a enqueue after every set of blocks, so 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. blocks, post content and block theme. If it was an opt-in feature and all core blocks opt-in, that could go a long way.
    • @westonruter: Inlining I think is a no-go, for the reasons I identified
    • @spacedmonkey: Could we inline that at the start / end of post content?
    • @westonruter: That would probably resolve the issue with inlining breaking CSS selectors. But not all. For example, if you have div.entry-content > p:first-child, inlining would break this (edited). And if the CSS were at the end of the post content, then this would be the same problem as we have right now with the styles being printed in the footer: the potential for flash-of-unstyled-content
    • @spacedmonkey: So we need some other hook to output the scripts / styles in. Outside of the context of the content. In block themes we could add that but if might an opt-in for classic themes.
    • @westonruter: IMO, an opt-in for classic themes would take a long time to get adoption, and it doesn’t seem quite right if the future focus is on block themes. I’m not sure how the hook would work in practice either. Block themes are able to solve this problem by “output buffering” the content (not using ob, but rather just storing the content in memory for do_blocks). If output buffering could be used in classic themes, then we’d be able to hoist footer styles to the head in the same way, easily.

Our next chat will be held on Tuesday, May 9, 2023 at 15:00 UTC in the #core-performance channel in Slack.

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

A Week in Core – May 1, 2023

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

  • 7 commits
  • 21 contributors
  • 50 tickets created
  • 3 tickets reopened
  • 38 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

Coding Standards

  • Remove an empty else statement in dbDelta()#56982

Editor

  • Improve the 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.) field loading spinner alignment – #58136

General

  • Don’t pass $action to wp_get_session_token() in wp_create_nonce()#58181

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.

  • Use correct translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. function in wp-admin/includes/media.php#58138

Text Changes

  • Typo fix in README.md#58177

Themes

  • Improve performance of get_block_templates()#57756
  • Remove unused parameter in query for get_block_templates()#57736

Props

Thanks to the 21 people who contributed to WordPress Core on Trac last week: @audrasjb (3), @mukesh27 (2), @sergeybiryukov (2), @hellofromTonya (2), @neychok (1), @vladytimy (1), @mujuonly (1), @dd32 (1), @hztyfoon (1), @malavvasita (1), @davidbaumwald (1), @draganescu (1), @youknowriad (1), @flixos90 (1), @Presskopp (1), @jorgefilipecosta (1), @spacedmonkey (1), @brookedot (1), @krunal265 (1), @costdev (1), and @krupalpanchal (1).

Core committers: @audrasjb (3), @sergeybiryukov (2), and @oandregal (2).

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

Performance Chat Agenda: 2 May 2023

Here is the agenda for this week’s performance team meeting scheduled for May 2, 2023 at 15:00 UTC.


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