The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site forย general updates, status reports, and the occasional code debate. Thereโs lots of ways to contribute:
Found a bugbugA 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.?Create a ticket in the bug tracker.
Notes are mainly powered by an AI note taker so please leave a comment if anything feels wildly off.
Overview
Kevin Jahns presented a demonstration on utilizing Yjs to enhance real-time editing capabilitiescapabilityAย 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). in WordPress, addressing existing challenges such as content synchronization and potential conflicts during simultaneous edits. He introduced features like automatic conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. resolution and a heartbeat APIAPIAn 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. for near real-time updates, emphasizing that while the current implementation may not fully replicate the Google Docs experience, it significantly improves user trust and collaboration. Participants were encouraged to explore Yjs further and consider its applications in their projects.
Jahns discussed the technical obstacles in implementing collaborative editing, particularly the lack of WebSocket support across various PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher engines and the limitations of WebRTC, which requires multiple servers for reliable operation. He proposed using HTTPHTTPHTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. requests for syncing while allowing WebRTC as an optional enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. Additionally, he highlighted issues with blockBlockBlock 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. validation errors and synchronization challenges with custom block types in the GutenbergGutenbergThe 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/ editor, suggesting the creation of a special editor binding for Yjs to improve synchronization. Security concerns regarding the WebRTC setup were also raised, with a focus on the need for role-based collaboration restrictions to prevent document manipulation.
The session also covered the storage and management of Yjs documents, with Jahns explaining that Yjs content is stored as comments in post content, facilitating straightforward revision creation. He acknowledged the challenges of managing real-time changes and the impact of Yjs documents on content size. Discussions included the limitations of WebRTC, particularly its reliance on costly TURN servers, and the need for ongoing testing to ensure the reliability of collaborative editing features. Jahns emphasized the importance of prioritizing collaborative editing to enhance the editorโs evolution and received appreciation for his transparency and commitment to the Gutenberg project.
Real-Time Editing Demo with Yjs Kevin Jahns presented a demo on real-time editing with Yjs, emphasizing its role in enhancing collaborative features in WordPress. He explained the limitations of the current WordPress editor regarding content synchronization and introduced new features like automatic conflict resolution and the heartbeat API for better real-time collaboration.
Collaborative Editing in WordPress Kevin Jahns addressed the difficulties of enabling collaborative editing in WordPress, noting that WebSockets are not universally supported across PHP engines. He explained that while WebRTC could be used as a fallback, it is not reliable enough for all users. Instead, he proposed using HTTP requests for syncing, with WebRTC as a progressive enhancement for those who can utilize it.
Block Synchronization and Customization Challenges Kevin Jahns addressed synchronization issues with block types (and ran into an error with block validation in the process!). He explained that while standard elements like text and images function properly, custom block types may encounter difficulties due to Gutenbergโs design, which does not fully accommodate changes from multiple peers. Jahns emphasized the need for a special editor binding for Yjs to enhance synchronization.
Discussion on Signaling Server and Security Concerns Kevin Jahns confirmed that Jorgeโs signaling server implementation in WordPress remains unchanged. He raised security concerns regarding the WebRTC setup, highlighting that it permits document manipulation by anyone with read access. Jorge noted that to make the system production-ready, several security measures need to be implemented, particularly around user roles and collaboration.
Yjs Document Storage and Revision Management Kevin Jahns responded to Frankโs inquiry about the Yjs implementation and its impact on content revisionsRevisionsThe 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.. He detailed that Yjs documents are stored as comments within the post content, which facilitates the creation of revisions upon saving. Additionally, he mentioned that future comparisons of revisions could be made using Yjs documents, similar to a git diff, and that attribution for content creation is also supported.
Discussion on Yjs Document Implementation and Security Concerns Kevin Jahns highlighted the downside of Yjs documents inflating content size but reassured that normal users wouldnโt see the comments. Aaron Jorbin pointed out the security implications of allowing users to input unfiltered HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. Kevin also mentioned the potential for filtering user visibility of Yjs comments and the need to track edits made by users, which currently lacks a backend solution.
WebRTC vs. WebSocket for Collaborative Editing in WordPress Kevin Jahns explained that WebRTC is not a reliable option for collaborative editing in WordPress due to its dependency on multiple servers and potential blocking by companies. He suggested using HTTP requests as a baseline for collaboration, which provides a satisfactory experience for most users. For those needing more reliability, he mentioned the possibility of implementing WebSocket servers, which could also enhance security and authentication.
Discussion on WebRTC and TURN Servers Kevin Jahns highlighted the overhead of WebRTC and the expense of hosting TURN servers, indicating that they are not a viable option for everyone. Jorge shared his thoughts about the reliability of TURN servers from providers like Google and Twilio. They noted that while STUN servers are affordable and public, TURN servers are costly and can lead to misuse.
Collaborative Editing and Yjs Integration Kevin Jahns highlighted the challenges faced with collaborative editing in the current editor setup, particularly issues with image handling and the undo-redo functionality. He stressed the necessity of prioritizing collaborative editing and proposed using Yjs as a solution to enhance these features. Kevin also mentioned that recent updates to Gutenberg have caused disruptions, indicating a need for better testing and support.
Yjs Integration and Block Syncing Challenges Kevin Jahns explained the process of syncing textual content through JSONJSONJSON, 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., noting that changes in one block can overwrite changes in another. He acknowledged existing issues with tables and galleries, indicating that these would be addressed in future pull requests. Kevin also highlighted the importance of creating a robust integration with Yjs for better collaboration.
Theย Nominations for 2025โs Core Team Repsย are now open! Please nominate people in the comments of that post. Self-nominations are welcome. The deadline is January 31, 2025.
Also, GutenbergGutenbergThe 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/ 19.9 was released prior to the start of the meeting. See, Whatโs new in Gutenberg 19.9?
Forthcoming releases
Nextย major releasemajor releaseA 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.8
The WordPress 6.8ย call for volunteersย closed on Dec 6. There will be more information about the release squad to follow soon based on these volunteers.
Next maintenance release: 6.7.2
There is currently no release date planned for WordPress 6.7.2. You can reviewย the next minor release milestone. The 6.7.2 milestone was scrubbed during the week and the Gutenberg board is scrubbed with only a few PRs that need to be merged.
how much work would it be to allow pseudo-styles onย blockBlockBlock 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.ย style variations, for example on buttons? Talking about this issue:ย https://github.com/WordPress/gutenberg/issues/55359
For the past several years, WordPress has been using a consistent set of titles for release squad members. Going forward the Release Coordinator role will become Release Coordination as the latter easier to translate reliably and neutrally in languages with gendered nouns.
The โโฆ Leadโ roles will remain unchanged.
This change is a result of a discussion on ticketticketCreated for both bug reports and feature development on the bug tracker.#62386 to explore adding missing release squad titles to WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. This will allow every release squad member to be celebrated accurately with their corresponding title on the credits page within the WordPress dashboard and through the WordPress.org Credits APIAPIAn 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..
โWhatโs new in GutenbergGutenbergThe 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 (#gutenberg-new) appear on a biweekly basis after every Gutenberg release, and showcase the latest features and improvements.ย
Interested in learning more? Hereโs an overview of how you can keep up with news and events related to Gutenberg and the BlockBlockBlock 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 last release of 2024 introduces the Style Book to classic themes, a new Query Total block, a swathe of component library enhancements, and code quality improvements.
Support is available for classic themes that either support editor styles via add_theme_support( 'editor-styles' ) or have a theme.jsonJSONJSON, 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. file.ย
The Style Book provides a comprehensive overview of your siteโs colors, typography, and block styles in an organized layout. Each block example and style group is labeled, making it easy to preview and understand your themeโs current design settings. Think of it as if your theme threw a party, and all the design elements showed up wearing name tags. ๐
For classic themes that support the Style Book, site patterns have been relocated to Appearance > Design > Patterns, consolidating all design-related functionality from the Site Editor into one place. Previously, patterns were listed under Appearance > Patterns.ย
Testing is an important step for this feature before itโs introduced to WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. If you have the time, please help identify potential issues, and suggest areas for improvement by logging your feedback on GitHubGitHubGitHub 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/. Testing instructions can be found on the original PR. Thank you!
Introducing the Query Total block
You know how many results are in your queries, but do your siteโs readers? The new Query Total block is here to help.
When added within a Query LoopLoopThe 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 block, the Query Total block displays the number of results the query has returned, or, alternatively, the current range in a set of paginated results.
More Highlights
Gutenberg 19.9 introduces phpMyAdmin to wp-env as a launch option. phpMyAdmin will automatically connect to the running mysqlMySQLMySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com database service, allowing you to inspect and manage the local WordPress database as you develop. (#67588).
Featured imageFeatured imageA 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. backgrounds in the Cover block now come with resolution controls so that you can change their sizes (#67273).ย
Reset colors for blocks and global styles in the editor with a single click thanks to the inline reset button added to all color controls (#67116).
Looking to replace your Query blockโs design? Query block patterns have been relocated from a modal to a dropdown. Itโs still in the block toolbar, now under โChange designโ (#66993).
You can now also set your siteโs home page from within the Site Editor via the page actions menu (#65426). This is the equivalent of updating the Reading Settings in โSettings > Readingโ. Under โPagesโ in the editor, find the page youโd like to set as your homepage, click on the action menu, and select โSet as homepageโ.
Changelog
Enhancements
Feature: Addย navigation.isLoadingย state to core/router store. (67680)
Update the title, description, and order of Experiments page. (67762)
Storybook: Updateย ArgsTableย toย Controlsย in preview. (67582)
Storybook: Update control types fromย nullย toย undefined. (67581)
Storybook: Use manager-api instead of addons package. (67578)
Update @ariakit/reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org to 0.4.13. (65907)
Update @ariakit/react to 0.4.15 and @ariakit/test to 0.4.7. (67404)
Block Library
Cover Block: Image size option for featured image. (67273)
Feature: Allow Post Template block to get deeply nested within Query Block. (67657)
Image Block: Change how the Imageโs overlay styles are applied. (67788)
Navigation: Enable all non-interactive formats. (67585)
Query block: Move patterns modal to dropdown on block toolbar. (66993)
Separator block: Allow divs to be used as separators. (67530)
New Block: Add Query Total block for displaying total query results or ranges. (67629)
Block Library: Update the relationship ofย No resultsย block toย ancestor. (48348)
DataViews
Add headerHeaderThe 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. to the quick edit when bulk editing. (67390)
Data views: Expand configuration drop down on mobile. (67715)
Inline Commenting: Added new sidebarSidebarA 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. as extension of the canvas. (67347)
Inline Commenting: Re-order the comments in sidebar in which blocks are listed. (66927)
Inline commenting: UXUXUser experience Enhancements for Comments. (67385)
Site Editor
Data Views: Add action for pages to set site homepage. (65426)
Sidebar: Update appearance of active items. (67318)
Data: Expose โuseSelectโ warning to third-party consumers. (67735)
Data: Include more details when shallow equality fails in โuseSelectโ. (67713)
Global Styles
Controls in grid should match between sidebar panel and editor. (67602)
Shadows: Improve design and a11yAccessibilityAccessibility (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) of remove button. (67705)
Block Editor
Prefer exact matches in Link Search results sorting. (67367)
Fix Site editor navigation menuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. items alignment visual regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. (67321)
Fix JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in the โuseTabNavโ hook. (67102)
Fix MetaMetaMeta 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. boxes saving when theyโre not present. (67254)
Fix color of disabled buttons in dark toolbar. (67348)
Fix synced pattern editing in write mode and refactor block editing mode to reducer. (67026)
Fix: Remove parent block selector while in Write mode. (67395)
Fix: Write Mode mode persists as enabled in widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. editor. (67587)
Global Styles
Edit site: Remove empty preview border and redirect to editor in global styles navigation. (67548)
Fix: Styles section does not moves stylebook to typography. (67423)
Global Styles Preview: Donโt use iframeiframeiFrame 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. component. (67682)
Style Book
Fix critical error when blocks are not registered. (67703)
Design Tools
Global Styles: Fix handling of booleans when stabilizing block supports. (67552)
Block bindings
Revert โExtensibility: Make Block Bindings work withย editor.BlockEditย hookโ. (67516)
Patterns
Site Editor: Fix the patterns route on mobile. (67467)
Fix List View not updating when switching editor modes. (67379)
Extensibility
Make Block Bindings work withย editor.BlockEditย hook. (67370)
Synced Patterns
Remove use ofย contentOnlyย block editing mode for synced patterns. (67364)
Widgets Editor
Block Bindings: Remove client core sources registration in widgets. (67349)
REST APIREST APIThe 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/
Support search_columns argument in the user endpoint. (67330)
AccessibilityAccessibilityAccessibility (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)
[Dataviews] Fix: Space does not triggers the media button on grid view. (67791)
Block Editor
BlockSwitcher: Refactor to use Button layout properly. (67502)
Remove one occurrence of incorrect usage of ItemGroup. (67427)
DataViews
[a11y] Fix: Media button on the page view grid does not have an accessible name. (67690)
Components
Fix incorrect usage of ItemGroup in the Image block filters panel. (67513)
Docs: Fix Playwright Page Object Model link. (67652)
Docs: Include the strategy for settingย enginesย for WordPress packages. (67727)
Docs: Remove invalidinvalidA 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. key projects links on the documentation. (67491)
Storybook: Support keyword search in Icon Library. (67442)
Switch Several Links to httpsHTTPSHTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. in Document Files. (67706)
Update global stylesheet docblocks withย custom-cssย parameter. (67716)
Updated old URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org in Documentation. (67446)
Reduce the โisZoomOutโ selector calls in the block toolbar. (67594)
Remove โReact.Childrenโ legacy APIAPIAn 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. in โWarningโ component. (67675)
Replace remaining custom deep cloning with โstructuredCloneโ. (67707)
Use path based routing instead of query args and site-editor.php routes. (67199)
Post Editor
Editor: Refactor โPostPublishPanelPostpublishโ to function component. (67398)
Editor: Use hooksHooksIn 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 โPostPublishButtonOrToggleโ. (67413)
Remove PostSlugCheck and PostSlug unused components. (67414)
DataViews
Create a single component for rendering the actions list. (67558)
Fix: Dataviews remove primary field concept from some classes. (67689)
Data Layer
TypeScript: Convert factory utils in data package to TS. (67667)
Shortcodes
Add types for shortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. package. (67416)
Block bindings
Remove fallback forย context.postTypeย in post meta. (67345)
Block hooks
Navigation block: Remove more obsolete Block Hooks helpers. (67193)
Combine the release steps to ensure that releases are tagged. (65591)
Testing
e2e-test-utils-playwright: Increase timeout of site-editor selector. (66672)
Security
npm Packages
Update npm dependencies to fix issues reported by audit. (67708)
Various
Extensibility
Add ability to show drop cap setting in paragraph block by default. (45994)
DataViews: Move template and pattern title fields. (67449)
DataViews: Updateย usePostFieldsย to accept postType. (67380)
PluginPluginA 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.
Only override REST server for older WP versions. (67779)
There were no announcements today, but @mikachan posted a reminder thatย WordCamp Asia 2025ย is looking for volunteers for Contributor DayContributor DayContributor 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/, especially to lead CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress./Core Editor/Core Performance tables. Please reach out toย @Jhimrossย if youโd like to volunteer.
Forthcoming releases
Nextย major releasemajor releaseA 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.8
There is currently no release date planned for WordPress 6.7.2. Review theย next minor release milestone. @joemcgill agreed to follow up about another bugbugA 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 before the end of the year.
Nextย GutenbergGutenbergThe 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.9
The next Gutenberg release will be 19.9, scheduled for December 18. It will includeย the following issues.
Consent APIAPIAn 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. Proposal
@joemcgill noted that weโve already gotten a lot of good feedback and asked @ironprogrammer how long we should leave the proposal open for comment.
โGiven the coming holiday season, would it make sense to leave it open through the end of the year? The feedback has been really positive, but additional feedback from orgs/plugins working with consent would be valuable.โ
If the consensus is that this should be a core feature, then ensuring the team who is going to shepherd this into a future release is properly supported would be key. Either way, I think there is value in considering the other question in the proposalโwhich is whether this should become a canonical pluginPluginA 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. that is officially supported by the community. I think we can follow up with @4thhubbardย about how we want to handle these kinds of requests as there really hasnโt been an established policy that Iโm aware of.
We adopted TypeScript in WordPress more than 3 years ago and our usage has evolved over time. Itโs time to update our approach/guidelines. @youknowriad hasย opened a discussionย to gather thoughts before publishing a P2P2A free theme for WordPress, known for front-end posting, used by WordPress for development updates and project management. See our main development blog and other workgroup blogs..
Next steps are to continue collecting feedback and revisiting in a future Dev Chat, if needed.
Open Floor
@mamaduka asked for more eyes on #59425, which was recently reported in Gutenberg as well.
@jonsurrell shared this call for feedback on this PR for adding CSSCSSCascading Style Sheets. selector-based tagtagA 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.) navigation to HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. and Tag Processors (#62653)
All feedback is welcome, but specifically, heโs looking for high-level feedback, especially from WordPress veterans. Does the implementation feel appropriate for WordPress? Are there things that are discouraged in Core?
@joemcgill raised the need to prepare for nominations for Core Team Reps for 2025 and suggested publishing a call for nominations in the next week with the hopes of collecting responses in Jan and being able to do a transition by Feb. @mikachan and @joemcgill will take responsibility for following up on this.
Summary of the WordPress Developer Blogblog(versus network, site) meeting, which took place in the ย #core-dev-blog channel on the Make WordPress SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. Start of the meeting in Slack.
Last monthโs disrupted GitHubGitHubGitHub 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/ process is fixed again
ย Reminder: The January meeting to Jan. 9th, 2025 at 13:00 UTC, due to Holiday season.
Newly published posts since last meeting
Since the last meeting, we published the following articles
How to build a theme demo with WP Playground blueprintsย (blocked by a bugbugA 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.)
Congratulations to all who helped make WordPress 6.7! Now that it has launched, youโre invited to reflect and share your thoughts on the release process and squad to learn, iterate, and improve for future releases.ย
Whether you led, contributed, tested, followed alongโwhatever your role, even if you didnโt have oneโyou are welcome to participate in this retrospective. So please take a moment toย complete the formย or leave public feedback in the comments below.
Please note: the survey is not anonymous. Thatโs in case a relevant person wants to reach you for further clarification. But your email address will not be shared publicly, and nobody is going to use it for any other purpose.
The form and comments will be open until January 13, 2025. Shortly thereafter, youโll see a follow-up post with collected, anonymized results.
Again, thank you for your contributions to 6.7 โRollins,โ and for taking the time to help make future releases even better!
Review of WordPress performance improvements throughout 2024
Breaking down CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Web Vitals metrics (November 2023 โ November 2024) resulting in CWV passing rates increasing by 6.07% on mobile and 5.92% on desktop
WordPress 2024 releases overview (6.5, 6.6 and 6.7) were discussed individually
The impact of specific metrics for major features released in 2024 (Enhanced translations engine, Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. and image sizes=auto)
A look ahead to 2025 plans
As a reminder, hallway hangouts are meant to be casual and collaborative so come prepared with a kind, curious mind along with any questions or items you want to discuss around this important area of the project, especially since the agenda is intentionally loose to allow for it.
Please click the image above to view the slide deck
TTFB Improvements
@pbearne@flixos90@joemcgill@westonruter and @adamsilverstein were discussing TTFB passing rates and why the rest of the web has higher rates than WordPress due to that metric. Discussions were held around filtering sites to the top 10k or 100k of sites to re-evaluate passing rates without the bottom end of sites that are not set up correctly. When WordPress is configured correctly, passing rates are much higher, so it was suggested that outreach in the ecosystem may be encouraged to facilitate better hosting environments. The new Core #core-performance-hosting channel will help facilitate these conversations.
The team went on to discuss file caching and the potential to introduce a file caching API in core. It was agreed this would be a very large effort and would need contribution from multiple teams. We would need to revisit the original decision from WordPress to keep file caching in pluginPluginA 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. territory as opposed to within Core. We would also need significant investigation into the large number of WordPress sites where static caching is not something their site can support.ย
Auto Sizes Metric
The team discussed whether the auto-sizes metric in the slides was the top 70th percentile (it is).ย
Plans for 2025
There are still some projects ongoing from 2024 to land, speculative loading now has a TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ticketticketCreated for both bug reports and feature development on the bug tracker.. Next steps on responsive image sizes improvements are in progress. The accurate image sizes work. The last piece of dominant colour is going in too!ย
Accurate Image sizes
The project @joemcgill and @mukesh27 are focusing on will have significant releases this week, around having more detail on the layout of the page and how we can make more informed choices about accurate image sizes. This essentially takes the layout information of image blocks and cover blocks, but also the constraints of the container around it (group blocks) so we can put limits on the size we expect to show things at. The discussion continued around how we can accurately set image sizes in WordPress.ย
Optimization Detective
@westonruter is continuing to work on the optimisation detective plugin which will include prioritisation of background images defined in external file sheets โ this will dramatically improve LCP. In the new year he will be continuing to refine the foundation and use cases to hopefully get more adoption and propose for core. @flixos90 reminded the team that this is a great plugin example which improves how well other performance optimisations are applied. Itโs important to improve what we already have in core, and this plugin helps that.
Props to @joemcgill for proof reading and @flixos90 for the excellent presentation.
As mentioned at the top of todayโs agenda, the weekly Dev Chat times have gone back to 20:00 UTC.
Announcements
The WordPress 6.8 call for volunteers is open until December 6. You can find out more and volunteer for any of the rolesย here.
Also, GutenbergGutenbergThe 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/ 19.8 was released earlier todayย ๐. Whatโs new in Gutenberg 19.8?
Nextย major releasemajor releaseA 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.8
There is currently no release date planned for WordPress 6.7.2. You can review theย next minor release milestone. @desrosj suggested that mid to late January is a good ballpark at the moment, as there are no urgent issues after 6.7.1.
@azaozz expressed his hope that every Gutenberg release can be merged to coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. during alpha. Would probably reduce the final pressure during betaBetaA 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. and RCrelease candidateOne 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)..
@joemcgill agreed, stating, โIt is currently not ideal that nightly WordPress releases arenโt really available to test features that are ready until after the first sync of the cycleโ.
@priethor asked, โWhatโs preventing us from doing that from the core side?โ
Consensus from those in attendance was that there wasnโt any specific blockers to doing this, so it may be worth giving this a try in 6.8 once a release squad is identified.
@mikachan asked if we could automate a lot of the process, perhaps open a wordpress-develop PR from a GH action when a new Gutenberg release is out, and then the majority of the work would be testing and committing.
@johnbillion identified a couple of tickets on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. for automationย that could use help moving forward: #60967 and #60966.
Open Floor
@annezazu shared the following update prior to the meeting:
โWhatโs new in GutenbergGutenbergThe 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.
The latest release of the Gutenberg pluginPluginA 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. entails a myriad of user experience improvements for selecting section styles, image manipulation and font handling. The DataViews layouts also received important improvements.ย
In zoom-out mode, users can now apply different sections styles and designs directly from the toolbar, cycling through them and inspecting them in the context of the rest of the page. This enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. streamlines the decision-making and production process. (#67140)
Font family preview in dropdown
Another user experience improvement can be found in the list of fonts: Each font family is now previewed in the font picker dropdown and gives users a better indication as to what the font will look like. (67118)
Success notices for image editing with Undo link
The outcome of the Image manipulation methods are now better communicated in the blockBlockBlock 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 success notices are now displayed at the bottom of the editor. The notices also come with a handy Undo link to revert to the original if necessary. (67314)(67312)
Other Notable Highlights
DataViews improvements
This release also contains some Data View improvements. For instance,ย the table layout received density options: A user can modify the amount of whitespace that is displayed per row on three levels: comfortable, balanced and compact.ย (67170)ย Developers working with the Dataviews can now make use of a new APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to programmaticallyย register and unregister fields for the various display methods. (67175).ย
Block supports from experimental to stable.
๐ฃ Plugin authors and Theme builders might appreciate the stabilization of certain block support settings and functions. A separate make blogblog(versus network, site) post will explain the ins and outs. For now, you can read about it in two GitHubGitHubGitHub 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/ PRs:ย (67018) (66918).
You must be logged in to post a comment.