Core Editor Improvement: New features and flows for Font Management

These โ€œCoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Improvementโ€ฆโ€ posts (labeled with the #core-editor-improvement tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are a series dedicated to highlighting various new features, improvements, and more from Core Editor related projects.ย 

Various improvements to font management, including managing font size presets and refinements to the Font Library experience, are coming to WordPress 6.7. Taken together, expect more control over your fonts and an easier time using them exactly as you want.ย Below is a video showcasing some of these new options and improvements:

Edit and apply font size presetsย 

Create, edit, remove, and apply font size presets with a new addition to the Styles interface. You can now modify presets provided by a theme or create your own custom options. A key feature is the ability to toggle fluid typography, which enables responsive font scaling, with the option to set custom fluid values for finer control over responsiveness. Of note, individual font sizes may opt out of fluid typography if it is turned on globally and vice versa, ensuring more flexibility.

Font Library enhancements

Fonts are now grouped by source helping you understand at a glance where each font comes from. A new โ€œSelect Allโ€ option means you can quickly activate or deactivate a set of fonts at once, streamlining font management. When no fonts are installed, a message now displays in the library tab improving awareness around whatโ€™s available. Finally, the โ€œNo fonts installedโ€ state has been upgraded to better clarify situations when fonts are installed but not yet activated.ย 

Consistent interfaces

Alongside these overall improvements and new functionality, the Styles interface has been refined to make applying site-wide font changes more discoverable. Namely, the font presets, along with the color presets, are now available to select between from the Styles 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. under the โ€œBrowse stylesโ€ option. The Font Library is also better surfaced whether youโ€™ve added fonts or not. The aim is to ensure high level font options are right where you want them with more advanced customization options available for anyone who wants to go a step further.ย 

#core-editor-improvement

Summary, Dev Chat, October 2, 2024

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @joemcgill. ๐Ÿ”— Agenda post.

Announcements

WordPress 6.7 Beta 1ย was released on October 1. Thank you to everyone who contributed to this release and attended the release party! There isย a helpful guide hereย on how to help test this release.

Forthcoming releases

Nextย major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.7

We are currently in theย WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 2 is scheduled for Tuesday, October 8. For specific release times, reviewย the release party schedule post.

@peterwilsoncc noted that the release is now in the phase of bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes only. No further enhancements or features can be committed to WordPress-Develop until the 6.7 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". is forked in a few weeks time after 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). 1. Tasks can also be completed at this stage, such as the about page, etc.

@peterwilsoncc also mentioned that the Twenty Twenty-Five theme is still being worked on in 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 by the repository owner. https://github.com/ repository and heโ€™s sure the theme team would love assistance thereย https://github.com/WordPress/twentytwentyfive/issues.

https://core.trac.wordpress.org/ticket/49985 could do with some eyes on it and is currently in the 6.7 milestone. Also, getting eyes and follow-ups on the items marked as needing changes in theย milestone report by workflowย would be helpful.

On the Editor side, @noisysocks suggested diving into fixing bugs that are inย the 6.7 boardย if youโ€™re interested in helping out.

Next maintenance release

There are no maintenance releases planned at this time. Currently,ย the next minor reportย is clear.

Nextย GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ย release: 19.4

The next Gutenberg release will be 19.4, scheduled for October 9, and will includeย the following issues.

Discussion

There were no discussion topics raised this week.

Open Floor

@akirkย left a comment on the agenda asking whether the WordPress project wanted to be represented atย FOSDEM 2025, happening in Brussels this coming Feb. To quote his comment on the agenda:

I believe bringing a dedicated WordPress room to this open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. conference could be beneficial for WordPress to connect more with other open source projects. We could select talks for the devroom (given that theyโ€™d be proposed) that can inspire and take inspiration from other open source projects, for example about WordPress Playground, or how the WordPress project does translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization..

Proposals need to be submitted by Oct 10. Alex is looking for feedback about whether it makes sense to engage in the FOSDEM environment and to gather interest in submitting talks if the room is accepted. Please reach out to @akirk directly if youโ€™d like more information about this.

Props toย @joemcgill for proofreading.

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

WCUS 2024 Core Committers Meeting Notes

At WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโ€™ve learned throughout the year and share the joy. Learn more. US last week, CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers in attendance (including emeritus) gathered for a brief informal meeting.

There was no formal agenda, but a few goals for the meeting were mentioned at the beginning:

  • Allow newer committers to meet more senior ones.
  • Allow anyone to raise questions, concerns, or suggestions that have been on their minds.
  • Just spend some time together chatting and getting to know each other.

Below are some brief notes from discussions that happened following Chatham House Rule.

A group photo taken the day after the meeting. A few committers are missing that were present at the actual meeting. โ€“ Photo credit: @rzen with alternate angles form @afragen.

What is the right way to commit?

A newer committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. mentioned that established committers have been very supportive and helpful getting them set up and comfortable. However, they often question whether they are doing things right. There is baseline documentation in the handbook around committing and some extensive documentation around commit messages, but every committer seems to have a different setup with a different tool set.

Some takeaways

  • Thereโ€™s no wrong way to set up your environment or make commits.
  • To increase the amount of documentation around committing, every committer should blogblog (versus network, site) about their set up (and more about committing in general)! A new page has been created in the Core Handbook to serve as a blogroll for these posts and will be updated as new ones are published. Everyone is welcome to publish, including emeritus and committers who were not in attendance at WCUS.
  • Using the #core-committers channel for questions around committing process is always appropriate.

Clarity around requesting feedback

The next discussion was around how to properly seek feedback from other contributors and committers. The Make Core Blog has recently felt a bit too โ€œofficialโ€ for these more casual posts. But in the past, these types of posts were perfect for the Make Core blog. Is this no longer the place for these types of discussions?

The ideal purpose of Make Blogs was discussed a bit, and it was mentioned that there was a 2 part discussion at the 2023 Community Summit focused on this. It was suggested to read through the session notes to see if there were any mentions of this.

Some takeaways:

  • Thereโ€™s value in posting on your own blog to validate your own ideas and understandings vs. speaking on behalf of WP to the community.
  • Itโ€™s OK to share posts on your blog seeking feedback as long as findings are summarized in the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker..
  • As long as itโ€™s accompanied by a problem statement/theory/points needing validation, posting on the Make blog seeking feedback about that problem seems reasonable.
  • Itโ€™s always preferred to have a Trac ticket outlining the problem, even if itโ€™s unclear whether itโ€™s something that will actually be fixed (thereโ€™s always wontfix and maybelater).
  • Moving more โ€œofficialโ€ communication to the relatively new Developer blog makes sense. This would include the 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., developer notes, etc.
  • No matter where these discussion points are shared, make sure to be clear about what type of feedback you are seeking.
    • Is this idea unrealistic?
    • Are there blockers that are not apparent?
    • Is there history behind why something is a certain way that is not immediately obvious?
    • etc.

Props @jorbin for pre-publish review.

#core-committer-meetings, #core-committers

Summary, Dev Chat, September 25, 2024

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @joemcgill. ๐Ÿ”— Agenda post.

Announcements

There are no announcements this week. However, last week many from the community attended WordCamp US 2024 in Portland, OR. If you missed it, or just want to reminisce, several folks contributed to this PDX + WCUS 2024: A Recap post from the week.

Forthcoming releases

Nextย major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is one week away. The Road Map post can be found here.

In case you missed it, @davidbaumwald just published the WordPress 6.7 Release Party Schedule.

@peterwilsoncc reminded that all enhancements need to be committed prior to the beta soย folks wishing to get something in should do so sooner rather than later.

The final release of 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/ 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. for WP 6.7 has been released and the 6.7 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". for the plugin created.

One of the bigger tasks is to get Twenty Twenty-Five committed, so the team working on that is pretty focused this week. It would be very valuable if people could take some time to test the theme and log any issues, create PRs (if able to), etc. To do so, visitย https://github.com/WordPress/twentytwentyfive. There are instructions in the repo explaining how to set it up and get it running.

Next maintenance release

There are no maintenance releases planned at this time.

Nextย Gutenbergย release: 19.3

The next Gutenberg release will beย 19.3, scheduled for September 25, and will includeย the following issues.

Discussion

There were no discussion topics raised this week.

Open Floor

Cory Hughart shared that during contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ at WCUS, the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Fields table spent the day diving through bleeding-edge Gutenberg code related to the new DataViews in posts and pages areas of the site editor. @sc0ttkclarkย is working on a dev blogblog (versus network, site) post, but the TL;DR is that we want to add some options toย register_metaย functions in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher to enable quick edit for custom fields. Weโ€™ll be talking more about it in the days ahead inย #core-fields.

We finished Dev Chat by reviewing the tickets in the 6.7 milestone marked early.

Props toย @mikachan for proofreading.

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

Whatโ€™s new in Gutenberg 19.3? (25 September)

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

Gutenberg 19.3 has been released and is available for download!

A total of 174 PRs were merged in Gutenberg 19.3, with 7 first-time contributors! With WordPress 6.7 rapidly approaching, many contributors are focusing on bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. However, this release still includes some great features and enhancements, including stabilizing the Zoom Out mode!

  1. Zoom Out Mode
  2. Swap the position of the publish buttons
  3. Use custom block names in inspector controls
  4. Allow opting out of the โ€œChoose a patternโ€ modal when adding new pages
  5. Automatic phone number linking
  6. Allow dropping multiple images to the image block
  7. Changelog
  8. First-time contributors
  9. Contributors

Zoom Out Mode

The Zoom Out Mode is officially out of the experiment and is available to all users. This new mode allows users to zoom out to edit and create at the pattern level over granular 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. editing. This effort aims to provide a new, high-level approach to building and interacting with your site. Follow the 6.7 iteration issue for more information.

Swap the position of the publish buttons

A nice user experience improvement to swap the โ€œCancelโ€ and the โ€œPublishโ€ buttons in the pre-publish check panel. Now, users donโ€™t have to move their cursor unnecessarily when publishing. (#65317)

Use custom block names in inspector controls

Uses the custom name for a block in the block inspector controls when available. (#65398)

Allow opting out of the โ€œChoose a patternโ€ modal when adding new pages

The โ€œChoose a patternโ€ modal can be distracting for power users who always want to start with a blank page. A new preference toggle disables the modal when adding new pages. (#65026)

Automatic phone number linking

The link field can now be automatically populated withย tel:ย when the selected text is a phone number. (#64865)

Allow dropping multiple images to the image block

Multiple images can now be dropped on an image block, converting it to a gallery block. In addition, dropping multiple file types will each create an appropriate block. (#65030, #65144)

Changelog

Features

Zoom Out

  • Remove experimental flag. (65404)

Enhancements

  • Create Block: Update the minimum required PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version to 7.2. (65166)
  • DataViews: remove unusedย .dataviews-view-table__cell-content-wrapper:Emptyย style rule. (65084)
  • Media Utils: Add TypeScript support and export more utils. (64784)
  • Media placeholders: Add โ€œdragโ€ to the text. (65149)
  • Restore: Move to trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. button in Document settings. (65087)
  • Inspector Controls: Use custom block name in inspector controls when available. (65398)
  • Icons: Adds bell and bell-unread icons. (65324)
  • Editor topbar: Reorder the actions on the right. (65163)
  • Patterns: Add opt out preference to the โ€˜Choose a Patternโ€™ modal when adding a page. (65026)
  • Locked Templates: Blocks with contentOnly locking should not be transformable. (64917)
  • Block Locking: Add border to Replace item in content only image toolbar. (64849)
  • DataViews: Improve UXUX User experience of bundled views for Pages. (65295)

Components

  • Styling: Apply elevation scale in components package. (65159)
  • Tabs: Improve Tabs indicator animation and related utils. (64926)
  • Modal
    • Add exit animation. (65203)
    • Decrease close button size. (65131)
  • Navigator Screen: Warn if path doesnโ€™t follow a URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org-like scheme. (65231)
  • Card: Update Card radius. (65053)
  • Combobox Control: Add placeholder attribute. (65254)

Block Library

  • Allow dropping multiple images to the image block. (65030)
  • Categories List block: Add dropdown for taxonomies. (65272)
  • Image: Adds the block controls for uploading image. (64320)
  • Remove colons from control labels. (65205)
  • Terms List block: Add Categories-specific variation. (65434)

Zoom Out

  • Add Zoom Out toggle to editor 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 experiment enabled. (65183)
  • Add prompt for drag and drop in Patterns tab in Zoom Out mode. (65115)
  • Close inserter on exiting Zoom Out to edit. (65194)
  • Show top level sections in List View. (65202)
  • Try vertical displacement when dragging a pattern between existing patterns/sections. (63896)

Block Editor

  • Link Editing: Automatically add tel to phone number when linking URL. (64865)
  • Drag and Drop: When dragging a mix of video, audio, and image blocks, create individual blocks as appropriate. (65144)
  • URLInput: Replace input with InputControl. (65158)
  • Normalize block inspector controls spacing. (64526)

Post Editor

  • Add new Media section to preferences modal. (64846)
  • DocumentBar: Replace icon with post type label. (65170)
  • Page editor: Double-click to edit template part. (65024)
  • Post publish upload media dialog: Handle more block types. (65122)

Block bindings

  • Populate block context with inherited post type from template slug. (65062)
  • Try gap 0 on attribute items. (65277)
  • Use 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. label fromย register_metaย in block bindings workflows. (65099)

Global Styles

  • Refactor site background controls and move site global styles into Background group. (65304)
  • Spacing control: Replace sides dropdwon with link button. (65193)

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.

  • Refactor context proxies. (64713)
  • Update: Rephrase โ€œForce page reloadโ€ and move to Advanced. (65081)

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

  • Global Styles: Allow read access to users withย edit_postsย capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability).. (65071)
  • 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 / Post template: Enable post format 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.. (64167)

New APIs

  • Add wordpress/fields package.
    • Introduce the package. (65230)
    • Make the package private. (65269)
  • Interactivity API: Addย getServerState()ย andย getServerContext(). (65151)

Bug Fixes

  • Align popover alt variant styling with block toolbar. (65263)
  • Compose: Correctly call timer cleanup in โ€˜useFocusOnMountโ€™. (65184)
  • Fix some docblockdocblock (phpdoc, xref, inline docs) types related to the Template Registration API. (65187)
  • Fix the issue where block spacing control not shown. (65371)
  • Fix unintentional block toolbar shadow. (65182)
  • Fix: Moving a page to the trash on the site editor does not goes back to the pages list. (65119)
  • Fix: Moving the last page item to the the trash causes a crash. (65236)
  • Preferences: Fix back button on mobile. (65141)
  • Post Summary Panel: Restoreย height:Autoย for toggle buttons. (65362)
  • Fix Tabs styling in Font Library modal. (65330)
  • E2E: Change deprecated social icons for standard in end-to-end. (65312)
  • Typography: Make title blocks apply typographic styles consistently. (65307)
  • Target Hints REST API: Add missing param sanitization. (65280)
  • Interactivity API: Update iterable signals whenย deepMerge()ย adds new properties. (65135)
  • Navigation Menus: Typography styling support to the navigation submenu block. (65060)
  • Grid: In RTL languages, the resize handles point in the opposite direction. (64995)
  • Block Locking: Fix Content Only Toolbar icon focus style. (64940)
  • Image: Fix resizing to max width in classic themes. (64819)
  • Meta Boxes: Try split content view. (64351)
  • Distraction Free: Fix blurry edge along editor header. (64277)

Block Library

  • Comments Pagination: Fix warning returned by comments pagination blocks. (65435)
  • Cover: Explicitly set isUserOverlayColor to false when media is updated. (65105)
  • Disallow setting grid block rows/columns to zero. (65217)
  • Fix image block crash. (65222)
  • Fix: Buttons block: Block spacing value does not apply to both vertical and horizontal alignment. (64971)
  • Fix: Embed blocks: Figcaption inserted via toolbar not nested within figure element โ€“ย #64960. (64970)
  • Image cropping: Skip making an API request if there are no changes to apply. (65384)
  • Comments Pagination: Pass the comments queryย pagedย arg to functionsย get_next_comments_linkย andย get_previous_comments_link. (63698)
  • Query Loop
    • Default to querying posts when on singular content. (65067)
    • Remove is_singular() check and fix test. (65483)

Block Editor

  • Inserter: Fix loading indicator for reusable blocks. (64839)
  • Normalize spacing in Layout hook controls. (65132)
  • Pattern Inserter: Fix pattern list overflow. (65192)
  • Remove reset styles RTL from the 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.. (65150)
  • Revert โ€œBlock Insertion: Clear the insertion point when selecting a different block or clearing block selection (#64048)โ€ (65208)

Components

  • BoxControl: Unify input filed width whether linked or not. (65348)
  • ComboboxControl: Add more unit tests. (65255)
  • Fix: Button Replace remaining 40px default size violations [Edit widgets]. (65367)
  • Tabs: Fix vertical indicator. (65385)

Block bindings

  • Fix empty strings placeholders in post meta bindings. (65089)
  • Remove key fallback in bindings get values and rely on source label. (65517)
  • Fix passing bindings context toย canUserEditValue. (65599)
  • Prioritize existing placeholder over bindingsPlaceholder. (65220)
  • Only useย canUserEditValueย whenย setValuesย is defined. (65565)

Zoom Out

  • Force device type to Desktop whenever zoom out is invoked. (64476)
  • Hide toolbar icon on smaller viewports. (65437)
  • Remove zoom out toggle when editor is not iframed. (65452)

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)

  • A11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Add script-module. (65101)
  • Interactivity API: Use a11y Script Module in Gutenberg. (65123)
  • Script Modules API: Print script module live regions HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in page HTML. (65380)
  • DatePicker: Better hover/focus styles. (65117)
  • Form Input: Donโ€™t useย flex-direction: Row-reverseย for checkbox field. (64232)
  • Navigation Menus: Remove Warning and add notice for Navigation. (63921)
  • Global Styles: Fix the shadows Range control accessibility and usability. (63908)
  • Block Editor: Fix accessibility of the hooked blocks toggles. (63133)

Post Editor

  • Support keyboard resizing of meta boxes pane. (65325)
  • Swap position of the Pre-publish checks buttons. (65317)

Performance

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Batch remaining actions in resolvers. (65176)
  • Block Editor: Use static access for selector in โ€˜useZoomOutModeExitโ€™. (65337)
  • Editor: Optimize global styles permission check. (65177)

Experiments

  • Block bindings REST API: Bring bindings UIUI User interface in Site Editor. (64072)

Documentation

  • Add JSDoc block for getSectionRootClientId in block editor package. (65219)
  • ButtonGroup: Fix story to show what the component does. (65336)
  • DataViews storybook
    • Better styles for combined fields story. (65078)
    • Enable all layouts for combined fields storybook. (65082)
  • Docs: Fix minor typos in Build your first block tutorial. (64961)
  • Docs: Update the content of the API version 3 section in the Block API Reference. (65375)
  • Fix typo in Slot Fills documentation. (65275)

Code Quality

  • Components: Transition to the new 40px default size.
    • Button:
      • Add __next40pxDefaultSize for files in editor 3. (65139)
      • Add __next40pxDefaultSize for files in editor 4. (65140)
      • Add props for buttons in editor 1. (65068)
      • Add props for buttons in editor 2. (65083)
      • Fix: Replace remaining 40px default size violations [Block Editor 4]. (65257)
      • Fix: Replace remaining 40px default size violation [Block library 3]. (65110)
      • Fix: Replace remaining 40px default size violation [Block library 4]. (65143)
      • Fix: Replace remaining 40px default size violation [Block library]. (65075)
      • Fix: Replace remaining 40px default size violation [Edit Site 2]. (65258)
      • Fix: Replace remaining 40px default size violations [Block library 1]. (65033)
      • Fix: Replace remaining 40px default size violations [Block Editor 1]. (65034)
    • BoxControl
      • Add lint rule for 40px size prop usage. (65341)
    • DimensionsPanel: Apply 40px default size to UI when no spacing preset is available. (65300)
  • Addย useEventย and revampedย useResizeObserverย toย @wordpress/compose. (64943)
  • DataViews: Use Dropdown for views configuration dialog. (65314)
  • Platform docs: Upgrade dependencies. (65445)
  • Rename edit-post__fade-in-animation and unify keyframe definitions. (65377)
  • Update minimum required version in PHP. (65301)
  • Editor: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. instead of HoC inย BlockManager. (65349)
  • Data Views Fields: Migrate store and actions from editor package to fields package. (65261)
  • 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.: Remove โ€˜function_existsโ€™ checks for methods with โ€˜gutenbergโ€™ prefix. (65260)
  • Global Styles: Update REST controller override method and 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. changes from Core. (65259)
  • Patterns: Remove unused method returned from โ€˜mapSelectโ€™. (65073)
  • Embed: Convert EmbedPreview component to functional component. (51325)

Components

  • BoxControl: Fix critical error when null value is passed. (65287)
  • Composite:
    • Deprecate legacy, unstable version. (63572)
    • Remove store prop and useCompositeStore hook. (64723)
    • Stabilize APIs. (63569)
  • @wordpress/components: Add local copy ofย use-lilius. (65097)

Block bindings

  • Always prioritize using context in post meta source logic. (65449)
  • Improve getRegisteredPostMeta resolver. (65450)
  • Remove extra filtering of empty sources. (65447)

Block Editor

  • Remove the โ€˜PrivateInserterโ€™ component. (65111)
  • Use the tooltip from a button in โ€˜ButtonBlockAppenderโ€™. (65113)
  • Remove unused css selectors. (65276)

Tools

  • Scripts: Update stylelint dependency and the default configuration. (64828)
  • Styleling config: Fix stylelint configuration missing files for npm. (65313)

Build Tooling

  • Build Plugin: Simplify and improve zip contents. (65232)
  • Build zip artifact on release and wp production branches. (65471)
  • Build: Include Core blocksโ€™ย renderย andย variationsย files. (63311)
  • Script Modules
    • Prepare build for more script modules. (65064)
    • Remove babel from script-modules build. (65279)
    • Remove es-module shims and importmap-polyfill. (65210)
  • Correctly generate PHP files for server-side rendering of blocks on Windows OS. (65248)
  • Packages: Only add polyfills where needed. (65292)
  • Switch from UglifyJS to Terser to build the polyfill script. (65278)

Testing

  • Unit tests: Mock matchMedia to enforce prefers-reduce-motion. (65438)
  • Upgrade Playwright to v1.47. (65156)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshawย @aferciaย @AKSHAT2802ย @Aljulluย @andrewserongย @carolinanย @cbravobernalย @ciampoย @colorful-tonesย @creativecoderย @DaniGuardiolaย @DAreRodzย @devansh016ย @dhruvang21ย @ellatrixย @farid-hadiย @getdaveย @gigituxย @greenworldย @gzioloย @hbhalodiaย @jameskosterย @jasmussenย @javierarceย @jeryjย @jorgefilipecostaย @jsnajdrย @kevin940726ย @louwie17ย @madhusudhandย @MaggieCabreraย @Mamadukaย @mikeybinnsย @mirkaย @ntsekourasย @oandregalย @ockhamย @peterwilsonccย @rahulharpal1603ย @ramonjdย @richtaborย @rohitmathur-7ย @SantosGuillamotย @scruffianย @sgomesย @sirrealย @stokesmanย @swissspidyย @t-hamanoย @talldanย @vipul0425ย @zaguiini

Props to @jameskoster for the visual assets, @andrewserong, @ramonopoly, and @aaronrobertshawย for help drafting and proofreading this post, and @noisysocks for the release process.

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

Default Theme Chat Agenda: September 25, 2024

This is the agenda for the weekly Default Theme chat scheduled for September 25 2024 1500 utc

The purpose of this meeting is to discuss and collaborate on the development of the Twenty Twenty-Five theme.
This meeting is held in theย #core-themesย channel in Making WordPressย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.

  • Topics
    • Status update
    • Priorities
      • 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
  • Open Floor

If you have anything you would like to add to the agenda, please add a comment.

Thanks to @juanfraย and @joen for reviewing the agenda.

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

Proposal: Create connections between Performance Team and Hosts

This post offers a proposal to create a private slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel (#performance-hosting) where members of both the Performance Team and relevant representatives from hosting companies can come together to share information impacting the performance of sites, test relevant PRs, and have a quick feedback 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 for any performance regressions in new releases. This builds on the current private #security-hosting channel thatโ€™s already in place and has proven to be an area of collaboration.

Background

In talking to folks last week at WCUS alongside @harishanker, it became clear that in some cases hosting companies would benefit from a more curated and focused space for contribution that aligns with areas where they can make the biggest impact. In talking with folks, the following areas came to mind: performance, infrastructure, support, and security. This was a repeated topic in all conversations and, in these conversations, the #security-hosting channel came up as an already functional pathway.

Format

Create a new private slack channel for #performance-hosting that includes members from the Performance team for monitoring and engagement alongside relevant members from hosting companies. This is private in order to allow for more sharing and itโ€™s centered around performance in order to provide a curated path for contribution, bringing in folks from the Performance team to engage directly.

What will this group work on?

Below are some of the ideas that were shared in the conversations. See these are starting ideas and not entirely encompassing:

  • Share anonymized data around plugins that are impacting sites the most in order to do outreach to them with performance suggestions, see what we can learn from them to improve CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., and update the plugin checker for anything that might be missing to help future contributors.
  • Share common user configuration to provide better tests for real world performance situations, rather than solely relying on lab metrics.
  • Test performance PRs early.
  • Create a tight feedback loop after releases for any performance degradations.

Why performance?

Itโ€™s clear there are a specific areas that hosts are best equipped to make the biggest impact and contribution, including performance. At the same time, the Performance team is a strong team with a clear roadmap, sponsored contributors, and a dedicated space already. In my time in the FSE Outreach Program, I found out how critical it is to create a space thatโ€™s managed, maintained, and specific. This checked all the boxes and I anticipate there will be more areas that will, like Support.

Why a private channel?

In talking to folks, a private channel came up as a safer space to share information. I am not personally opposed to a public channel but I want to recognize the reality that for folks in the hosting space, it felt advantageous to have private.

What do you all think? Please share by October 9th, 2024.

Please share your thoughts below. While there was an appetite for this idea when talking to folks in person, I want to know what blockers there might be and whether there are reasons not to pursue this, especially from the Performance team who will be impacted by this.

#hosting, #performance

Core Editor Improvement: Simplified Query Loop block with smarter defaults & intuitive settings

These โ€œCoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Improvementโ€ฆโ€ posts (labeled with the #core-editor-improvement tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are a series dedicated to highlighting various new features, improvements, and more from Core Editor related projects.ย 

In the spirit of Mattโ€™s โ€œsimple things should be easy and intuitive, and complex things possibleโ€, the 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 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. has been refreshed with a focus on ensuring the most intuitive default state possible out of the box and increased clarity when trying to achieve anything more complex with custom queries. All of whatโ€™s shared below is slated for inclusion in the upcoming WordPress 6.7 release on November 12th, 2024.ย 

Strong defaults

With recent updates, you no longer need to manually enable โ€œInherit query from template.โ€ The Query Loop block now automatically inherits the query by default, ensuring expected posts are displayed both in the editor and on the front end. This change simplifies the process for most users, who typically just want to see their posts appear without complications. It also minimizes the likelihood of confusion, such as when a Query Loop block is added but posts donโ€™t show up. Now, whenever you add a Query Loop blockโ€”whether starting from scratch or using a patternโ€”your posts will display immediately. This includes when adding a Query loop block to single post or page where the settings will automatically be configured to work in that context. Additionally, the Post List variation has been removed from the Inserter, as its default settings often caused posts to not display, leading to a confusing user experience.

Added clarity

To make this complex block more user-friendly and predictable, the settings have been simplified. Now, thereโ€™s a toggle to choose between using the default options or creating a custom query. If you select a custom query, another toggle lets you choose between posts or pages, with the usual filtering options. For custom post types, this section becomes a dropdown for easier selection. In response to feedback about scattered settings for the Query Loop block, options for Posts Per Page, Offset, and Max Pages to Show have been moved to the Settings panel. This change makes the settings sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. the central place to configure the Query Loop block fully.

Refined details

The details matter, and these refinements are no exception: a preview now appears when selecting the Query Loop block, and the โ€œAdd a new postโ€ prompt now reflects the specific type of content youโ€™re querying. The help text for sticky posts has been updated to clarify that sticky posts will always appear first. Additionally, the enhanced pagination setting has been moved to the Advanced section with a new label for better clarity.

Post format support

To help take steps towards post formats in Block themes, the Query Loop block has a new parameter called โ€œformatโ€ that allows you 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 content shown by post format, in the same way youโ€™d filter by any other option. This additional filter can be combined with others so you can create custom queries for something as nuanced as posts by a specific author across two categories and with a certain post format.ย 

Query Loop block filter settings showing Categories, Tags, and Author with the "Formats" option highlighted for emphasis.

#core-editor-improvement, #query-loop

Default Theme Chat Summary, September 11, 2024

This post summarizes the latest Default Theme meeting (agenda,ย slack transcript).

Status update

Weโ€™ve made significant progress with patterns and templates this past week.
The work on Twenty Twenty-Five is happening in theย GitHub repository.

  • 36ย open issues.
  • 19ย open pull requests.

In the Figma file you can see what is completed by looking for a green circle. Designs in progress have a yellow circle, and anything that is blocked or not planned at this time, is labeled with a red circle.

Priorities

  • Finish the work for all the remainingย block patterns.
  • Work on the style variations. Thereโ€™sย an open issueย to address these.
  • Work on items that are set toย [Priority] High.

Once we finish adding the remaining blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. patterns and templates, weโ€™ll start adding issues and instructions on how to proceed with 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. (making strings translatable, etc.), indentation, and polishing the patterns/templates.

Open floor

@erichmond brought up that it is difficult to pick issues to work on, and that even if a contributor is assigned to an issue, there may be duplicate pull requests submitted.

The intention is to follow the assignment to the person who has shown interest in the issue first. A recommendation would be to see if there are pull requests open before starting to work on a given issue.

@luminuu Asked if it would be a good idea to test the theme during the WCUS contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ on Tuesday the 17th of September, and if anyone would be available online during the start of the contributor day.

It is difficult to predict what kind of issues that may be open in the repository on the 17th and if they are suitable to work on during a contributor day. A new label in the repository can help contributor day attendees to select issues to work on.


Thanks to @beafialho & @juanfraย for reviewing the summary.

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

Summary, Dev Chat, September 11, 2024

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/, facilitated by @joemcgill. ๐Ÿ”— Agenda post.

Announcements

WordPress 6.2.2ย was released this week.

Forthcoming Releases

Nextย major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.7

We are currently in theย WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is scheduled for Tuesday, October 1.ย The Road Map postย can be found here.

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

Following the recent WordPress 6.6.2 release, the next maintenance release (if needed) will be WordPress 6.6.3. There were not updates shared in the meeting.

Next GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ release: 19.2

The next Gutenberg release will beย 19.2, scheduled for September 11 (this release occurred after the meeting).

Discussion

@peterwilsoncc requested that we discuss the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Bindings UIUI User interface feature, TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker.ย #61945.

To summarize his concern:

My main concern here is that the approach is to hide the UI from users with low permissions. I donโ€™t feel that this is a great approach to handling a UI that is considered too technical, as I donโ€™t think there is anything to suggest that an administrator will understand what an author does not.

So Iโ€™m of the view the interface ought to be improved and made less technical before itโ€™s shipped in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

@noisysocks suggested waiting on an update from Mario Santos, who is working on the feature, but added:

Iโ€™d be fine with just updating this to use caps. The interface doesnโ€™t strike me as being too technical. Can put it in the Advanced tab if weโ€™re worriedโ€ฆ

โ€ฆThe short of it is that Iโ€™m okay with fixing the cap issue (add a new cap, donโ€™t check against a role) and shipping in 6.7ย orย leaving it in 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. for more testing. Up to the team working on it.ย We have until beta 1 to decide.

@joemcgill highlighted two additional Slack updates this week:

Open Floor

@mikachan provided an update onย #61708ย on the agenda:

Iโ€™ve addressed the feedback by adding a deprecation notice to the pattern rather than removing it. Iโ€™d appreciate any thoughts on if this feels like a better approach.

@peterwilsoncc agreed to review.

@joemcgill pointed out #62004. @jrf recently asked all committers to review in fullย here. Julia shared the following updates during the meeting:

Ticket #53010 is basically the first step: splitting up the huge test classes to smaller classes which each only test one thing, i.e. one global function, one method in a class etc.

This includes making sure that theย newย test files comply with the PHPUnit naming conventions.

There are a number of patches attached to the ticket which can be used to see how to do this (mind: not all have been reviewed yet for the latest info).

I also think it would be great if we could get a decision on yes/no namespacing the test classes. I believe we should and that now is the time.

And followed up with

The other thing which would really really help, is to make sure that anyย new tests go in โ€œcleanโ€. As in: comply with the requirements for newer PHPUnit versions. The task is large enough as it is without having to clean up afterย newย commits.

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