Bug Scrub Schedule for WordPress 6.6

Following sessions are dedicated to move things forward and be ready in time according to 6.6 Release Schedule .

Everyone is welcome to join not only to triage triage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. tickets but also to look for tickets you can contribute by creating patches, making code review and testing.

Things to keep in mind:

  • All features and enhancements should be in the Trunk trunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. before Beta Beta 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 and most bugs and all strings need to be there before RC1.
  • If you are working on a patch patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff . A patch can be applied to a codebase for testing. , plan your contribution to have enough time for other contributors to make suggestions, review and test.

Alpha Bug Scrubs

Focus: features, enhancements and then bugs with priority on tickets that are closer to resolution

Beta Bug Scrubs

Focus: rest of the bugs plus reported regressions

Release Candidate release 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) .  Bug Scrubs (if needed)

Focus: issues reported from the previous  RC release 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) . .

  • TBD

Check this schedule often, as it will change to reflect the latest information.

Regular component scrubs and triage sessions

For your reference, here are some of the recurring sessions:

Have a regular component scrub or triage session?
Ping Ping The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @ nhrrob or  @ oglekler on  Slack Slack Slack is a Collaborative Group Chat Platform https://slack.com/ . The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ .  to have it added to this page.

You can start your own triage sessions

  • Decide what you want to work on

6.6 triage session are our priority and moving forward tickets which already are scheduled for the release is most needed task. If you want to lead some of them, they can be added on this schedule.

But if you are interested in particular component or user focus, for example to take care about RTL-tickets, this will be most welcome too.

Especially interested can be the session to scrub old tickets. We are continuously closing new tickets with the same topic in favor of existing ones and because these tickets are looking complicated just because they’re age not, so many contributors are eager to work on them, but there are actual treasures hidden among very difficult or tricky topics.

  • Ping   @ oglekler or @ nhrrob  on Slack with the day and time you’re considering, as well as the report or tickets you want to scrub. Note that scrubs are happening in the main core Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. channel and cannot clash with other meetings in this channel .

Useful reports and information

  • Report 5  provides a list of all open 6.6 tickets:
  • Report 6  provides a list of open 6.6 tickets ordered by workflow.

Need a refresher on bug bug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs? Checkout  Leading Bug Scrubs  in the core handbook.

# 6-6 , # bug-scrub , # core

Proposal: Bits as dynamic tokens.

A proposal for starting to introduce Bits (dynamic tokens/placeholders) into WordPress .

When Blocks came into the scene Shortcodes were largely abandoned, but Shortcodes had value. They had many problems, but they also had value. It wasn’t clear at the time how to bring them back without bringing back many of the problems they brought with them, namely issues surrounding ambiguity in parsing, nesting, changing the page in dramatic ways, and providing usable content in the absence of a required plugin Plugin 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 or theme.

Around two years ago a discussion was started for introducing dynamic tokens in the editor as placeholders for externally-sourced content. The idea was raised before the discussion was started: many developers were starting to introduce unique code in multiple blocks and plugins that looked for ways to find and replace content in the editor:

  • Set an image URL URL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the post’s featured image Featured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. .
  • Insert a placeholder for a subscriber’s name in an email form.
  • Add the post author’s display name in a query loop Loop 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 . template.
  • Write a translatable string in a theme template inside the Site Editor.

When the HTML HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API API 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. started developing it changed the game for these kinds of dynamic tokens. Previously the discussion was largely blocked by finding a syntax that would be reasonable for someone to type in directly, but also avoid causing all sorts of breakage to the surrounding HTML. Now, these discussions are less relevant because the HTML API provides a way to find various kinds of placeholders and then ensure a context-aware replacement and escaping when replacing them.

It provides a way for WordPress to make heuristics-based decisions on what content to allow and not to allow on output. It ensures that the output of one of the tokens doesn’t bleed into or break the page around it.

After many explorations, one form of placeholders stands out above all the others – a quirk in the HTML specification referred to within WordPress as a “funky comment.” These look like closing tags, except the tag tag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) name is invalid invalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug ) that indicates the ticket is not a bug, is a support request, or is generally invalid. . When a browser sees them they interpret them as HTML comments, removing them by default from the page (in the case that the server fails to replace them), and it’s impossible to nest them.

These funky comments are the perfect vehicle for safe fallback, human-typability, and the ability to parse and replace. While funky comments can appear in many forms, this proposal is discussing the specific form that can be used for dynamic tokens and placeholders: these are called Bits . While blocks represent rich content types, Bits represent small semantic bits of knowledge . Bits can appear in any block Block 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. or in any HTML without requiring any changes to any existing Block code; Bits can appear anywhere.

What is a Bit?

<//wp:post-meta key="isbn">

A Bit is a small token of semantic meaning. It references content sourced beyond the post or content in which it’s found. It could refer to metadata about a post, a post meta Meta 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. field, a stock price sourced from an API call, a countdown to a particular date, the local time of a given timestamp in the reader’s timezone, a plugin URL, a view counter, a render for a math formula, or any other bit of knowledge that is provided by the server when rendering a post.

Bits are a form of horizontal composition. Blocks don’t need to know about Bits for someone to use Bits. Bits are a form of user control: anyone can add a Bit into their post without needing a developer to adjust their Blocks or theme first.

Bits are like blocks in that they comprise a name and a set of attributes, but unlike Blocks, Bits cannot nest. They are the inline analogue to block-oriented Blocks. Bits can provide some HTML, but not much . Bits are configurable by their attributes: a post date can be configured to display as “May 22” or “2010/05/22.”

Bits are registered both in PHP PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and also inside the editor. There’s an inspector panel for configuring a Bit based on the registration with semantic-specific controls, but Bits can also be manually typed from the visual view of the editor, and it will recognize them once typed.

Bits can be found in various contents, including plaintext and markup contexts. Bit implementations must provide both of these outputs, as well as a fallback so that they can provide some meaningful value when the necessary rendering code is missing. For example, a Bit providing a URL will might URL-encode it for URL attributes, but leave non-ASCII unicode characters in place for display purposes; a post date might return a standardized string timestamp for plaintext context but a <span> -annotated human-readable date for better CSS CSS Cascading Style Sheets. styling in markup contexts.

 <!--  stored in a post --> <time datetime="<//wp-bit:post-date format='RFC9557'>"><//wp-bit:post-date format="human-diff"></time> <!--  rendered to the reader --> <time datetime="2024-05-22T12:00:00+00:00">eighteen days ago</time>

Bits are parsed just like any other HTML closing tag except: the “tag name” cannot start with a-z; they extend from the start of the “tag name” until the very first > (even if it’s inside a quoted value). The attributes are parsed just like HTML attributes, meaning that there can be unquoted, single-quoted, and double-quoted attributes. The only caveat is that when found inside an HTML attribute, the quoting cannot conflict conflict A 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 . .

How do humans interact with Bits?

The editor has two inherent view modes for Bits: a preview mode, and a token mode. The Preview mode may show a preview of the replaced value of the Bit where it’s found, and it may indicate that the Bit is there through some visual indication or otherwise. The token mode shows the Bits as placeholders indicating which kind of Bit they are.

An example of how a bit might look in token mode in the editor, clearly showing the type and configuration.
An early exploration of an ISBN post-meta bit from @ ellatrix , in the editor’s preview mode.

Bits are designed so that someone who is used to working with them can enter them directly as text, but people won’t need to know anything about their syntax in order to use them. Bit registration in the editor provides a name, a description, and some additional metadata just like Blocks to make it possible to provide a discoverable system for finding and configuring them.

The Bits inserter appears when typing // . Whereas the slash inserter shows Blocks on a single / , if someone types a second, they will instead see a list of Bits that will auto- filter Filter 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. as they continue to type. The // for the slash inserter corresponds to the Bit syntax <//wp-bit:core/hello-dolly> .

Bit registration in the editor also provides an optional configuration panel akin to Block Inspector controls. Since each Bit carries its own semantics, these controls guide authors into how to configure Bit, maybe by selecting formatting options, choosing an associated post ID (by searching for its title), or choosing which of several options to enable.

What about Block Bindings?

Bits and Block Bindings are related but complementary systems. While Block Bindings can be thought of primarily as a developer-oriented API, where a developer can open up a given block or a subset of a block’s attributes to be replaced by some other source of data, Bits are primarily author-oriented, giving end-users the ability to add sourced content anywhere.

There is likely a large overlap in the kinds of data sources that power each system. Ideally, the registered sources will be compatible with both.

Proposal

The HTML API already introduced the concept of a “funky comment,” which is the tag closer with an invalid tag name. For WordPress 6.6 this document is only proposing to unlock storing the funky comments in Core Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. so that Gutenberg Gutenberg 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/ the plugin can experiment with various prototypes of the Bit system with its full lifecycle. Currently this requires combining a Gutenberg patch patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff . A patch can be applied to a codebase for testing. and a Core patch.

The only thing required for WordPress 6.6 is a big-fix to existing code, which would be useful even if Bits don’t come to be, and even if they use a different syntax : WordPress attempts to separate HTML comments from other tags, but it’s unaware of the myriad ways that invalid HTML turns into comments. Core-61009 introduces a patch that makes Core more aware of a couple new types of syntax-turned comments.

By opening up the ability to store Bits in the database, it makes it easier to start exploring Bits as a broader system, including what ought to be built an how. Until then, it remains cumbersome. Even in the case that Bits use a different syntax, this patch is still improves WordPress’ understanding of HTML.


With the ability to store Bits in the database, work should progress rapidly during the WordPress 6.7 development cycle, building up editor flows to discover, configure, and render Bits. Work will be explored in Core for registering them on the backend, and it will likely work together with a system for HTML templating powered by the HTML API.


For future releases and design, your feedback is invited in defining the interfaces for registering, displaying, interacting with, and governing Bits.

Acknowledgements

Thanks to @ annezazu , @ antonvlasenko , @ ironprogrammer , @ ellatrix , and @ gziolo (and anyone else I forgot) for review and feedback on this post before publishing.

Developer Blog editorial meeting summary, 6 June, 2024

Summary of the WordPress Developer Blog blog (versus network, site) meeting, which took place in the   #core-dev-blog channel on the Make WordPress Slack Slack Slack is a Collaborative Group Chat Platform https://slack.com/ . The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ . . Start of the meeting in Slack.

Attendees: @ greenshady , @ ndiego , @ webcommsat , @ psykro , @ colorful-tones , @ milana_cap , @ mobarak , @ magdalenapaciorek , @ juanmaguitar , @ bph (as facilitator). @ ironnysh and @ bcworkz  (async)

Last meeting notes: Developer Blog editorial meeting summary, May 2, 2024

Updates on the site

The site has passed the first 1,000 subscribers  :rocket: Don’t want to miss the next blog post? Subscribe . And please share the links with your network network (versus site, blog) as well. @ webcommsat volunteered to submit an amplification request to the WordPress marketing team to celebrate the milestone with the community.

Newly published post since the last meeting:  

Since the last meeting, we published four articles.

Huge Thank you to the writer and reviewers!  

Project Status

The project board for Developer Blog content is on GitHub GitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ .

In review

In Progress:

Post on the To-do-list, assigned to writers.

Topics, approved, in need of a writer

If you are interested in taking on a topic from this list or know someone who would be a good person to write about them, comment on the Issue or ping Ping The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @ bph in slack either in the # core-dev-blog channel or in a DM.

New Topics approved

Topic not approved:

The WordPress Developer Survey – A regular survey could give “the whole project a lot of useful data” There were concerns about logistical challenges and needs further discussion with core Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. , the marketing team in its new media focus, and with Learn WP. The next step as identified as “to define the purpose of the survey, and what questions would be included/not included.” The discussion continues on GitHub

Open Floor

@ webcommsat Inquired about topics schedule around the WordPress 6.6 release. There are a few posts already on the list or were just approved. As almost all topics are assigned to writers. Contributor’s bandwidth will determine the publishing timeline.

@ colorful-tones requested input and possible resources on using Playground for his upcoming post on the developer Blog: a Good starting point is the Blueprint Gallery and an example from @ greenshady on GitHub .

@ colorful-tones  has slightly changed the topic of his post he has been working on. It was originally thought to be an Interactivity API API 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. tutorial, but as  you can read in the issue  he went a different route. It was concluded that “it’s still a valuable post for the Dev Blog”, “the new focus is still really useful” and “the underlying method doesn’t need to be the same as the originally proposed method”

Next meeting: July 4, 2024, at 13:00 UTC in the # core-dev-blog channel

Props to @ greenshady for review of the post.

# meeting , # meta , # summary

Summary, Dev Chat, June 5, 2024

Start  of the meeting in  Slack Slack 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 @ mikachan . 🔗 Agenda post .

Announcements

  • WordPress 6.6 Beta 1 was released Tuesday, June 4 ! Thanks to all the contributors for a smooth and successful release. Please help test and report any issues you find.
  • WordPress 6.5.4  was released on June 5 and is now available for download. Thanks to all the contributors who worked on this release too!   @ jorbin  noted that there is now a 6.5.5 milestone in trac Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. , but suggests that we enter a holding pattern for ~2 weeks before deciding if it’s necessary.
  • Gutenberg Gutenberg 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/ 18.5 was scheduled for release on June 5 ( completed after the meeting ). This is the final release going into WordPress 6.6, and from this point only bug bug 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 will be cherry-picked into the 6.6 branch branch 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". .

Forthcoming Releases

Next  major release major 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.6

We are currently in the  WordPress 6.6 release cycle . See the  Roadmap Post  for details about what is planned for this release.

Discussion

As we’re in the middle of the 6.6 cycle, we used the discussion time to check in on priority items for this release. Noting that an early look of the  6.6 source of truth  has been published recently by  @ annezazu . This is usually particularly helpful for marketing, training, and docs at this stage. Feedback, questions, comments welcomed! Expect a finalized version in line with RC release 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) . 2 on July 2nd.

@ colorful-tones raised concern about whether pattern shuffling is suitable for 6.6 and identified a few items that came up right after Beta Beta 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 that are on the WordPress 6.6 Editor Tasks board:

@ joemcgill advised that if these are bugs, it is fine to fix during the beta period, but that they will need to be prioritized:

“…folks basically have the next 3 weeks do decide if these bugs should be fixed, if the feature should be removed, or if these are minor issues that don’t need to make the release. But punting the bugs is essentially committing to shipping the feature with known issues, so I would try to avoid punting them without discussion with folks closest to the features.”

@ joemcgill also raised concern about the fact that we only have 3 weeks until RC1, which overlaps time that many contributors will be traveling and attending WCEU.

@ marybaum requested that if we drop a feature,  it would be fabulous to know that a week or so before RC 1 in order to update the About page prior to the RC 1 string freeze.

Open Floor

@ apedog asked for someone to review #58932 , which @ joemcgill followed up on after the meeting.

@ kkmuffme requested more attention to the following issues:

@ joemcgill had reviewed these ahead of the meeting and mentioned that several were already too late to make this release. Specifically, the enhancement enhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. tickets and one marked early . @ hellofromtonya noticed that at least one needs deeper review because of a potential back-compat break.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Props to @ mikachan for proofreading.

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

Preparation for React 19 Upgrade

WordPress 6.6 will ship with version 18.3 of the React library , which is identical to 18.2 but adds warnings for deprecations and other changes to help developers prepare for the React React React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/ . 19 upgrade once it becomes stable.

It’s recommended to stop using the deprecated features to ensure better compatibility with React 19 when it ships with WordPress. Keeping deprecations unchecked may lead to bugs or unintended behavior in your plugins. Addressing them is important to ensure smooth and reliable functionality.

Removed: defaultProps for function components

When searching the plugin Plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme repo for the use of deprecations in React 19, this one was found to be common.

React 19 will remove defaultProps for function components in favor of ES6 default parameters . This change can cause unexpected side effects when a component relies on default values provided by defaultProps .

 // Before. function Welcome( { text } ) { return <p>{ text }</p>; } Welcome.defaultProps = { text: 'Howdy!', }; // After. function Welcome( { text = 'Howdy!' } ) { return <p>{ text }</p>; }

Please refer to the official React 19 upgrade guide for a full list of deprecations and changes.


Props to @ kirasong for review and @ juanmaguitar for proofreading.

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

WordCamp Europe 2024 Contributor Day Core Table

WordCamp WordCamp 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 . Europe 2024 is just around the corner and Contributor Day Contributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ . is on June 13! Here is a quick summary if you’re interested in joining the Core Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team on the day.

The Core table is focused on both WordPress Core and the Editor, and we welcome anyone who would like to contribute by writing new code, updating existing code, or even fixing bugs.

If you’d like to join us in person in Torino, please ensure you have a Contributor Day ticket . You can also follow along online in the # contributor-day Slack Slack 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.

This year, we’ll be focusing on:

See this post from WordCamp Asia 2024 and the Contributor Day handbook page for some great tips on how to prepare for the day.

Look forward to seeing you there!

Props to @ priethor and @ joemcgill for reviewing.

# wordcamp

JSX in WordPress 6.6

WordPress 6.6 introduces the possibility for developers to use the new React JSX transform that was first released in React React React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/ . 17. 

How to use the new JSX in WordPress 6.6

Your build scripts need to apply the following changes in the built files:

  • Add the react-jsx-runtime to your script dependencies.
  • Use ReactJSXRuntime.jsx global as the output of your JSX calls.

In general, this is not something you do manually in your code base. Instead, you’ll use a build tool. The @wordpress/scripts , @wordpress/babel-preset-default and  @wordpress/dependency-extraction-webpack-plugin npm packages have been upgraded to apply these transformations automatically.

Build Tools Compatibility and upgrade path

If you’re using the JSX syntax in your code base, and as long as you don’t update your dev dependencies (including @wordpress/scripts , @wordpress/babel-preset-default or @wordpress/dependency-extraction-webpack-plugin ), you will continue to use the old JSX transform. This will allow your plugin Plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and built files to be compatible with WordPress 6.5, earlier versions and WordPress 6.6 as well.

When you’re ready to make WordPress 6.6 the minimum supported version of your plugin, you can update the following dependencies to use the new JSX transform.

  • @wordpress/scripts from version twenty-eight .
  • @wordpress/babel-preset-default from version eight .
  • @wordpress/dependency-extraction-webpack-plugin from version six .

Going forward

The new JSX transform comes with performance improvements and optimization. 

Note that the React team will deprecate the old JSX transform in the upcoming React v19 release (currently in RC ).  


Thank you @ ramonopoly @ justlevine for contributing to and reviewing this post.

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

Hallway Hangout: Theme Building with Playground, Create-block-theme plugin, and GitHub 

During and after the Hallway Hangout on using the Site editor for client projects the question on how to handle version control version control A version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories. workflows for block Block 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. theme development surfaced. You are invited to join Core contributors Core Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. and theme builders at Automattic, discussing and sharing a workflow that combines open-source WordPress tools: Create Block Theme plugin Plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and WordPress Playground . Playground allows them to connect their work to a GitHub GitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repository for managing their themes’ version control. 

In this session, theme developers will demonstrate the design, development, and preview approach for Automattic’s process. You will learn how to make all the connections work seamlessly from Playground to GitHub and back again, and how to work with the features of the Create Block Theme plugin.  An extensive time for Q & A allows for plenty of questions answered.  

The event will take place on June 19 at 11:00 UTC . The Zoom link will be posted into the #outreach channel on the day of the meeting. There will be a recording provided for those who can’t make it. 

Props to @ greenshady for review .

# block-themes , # hallway-hangout-3 , # outreach

X-post: Training Team Update – June 2024

X-comment from +make.wordpress.org/updates : Comment on Training Team Update – June 2024

Performance Chat Summary: 4 June 2024

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

Announcements

  • Welcome to our new members of  #core-performance
  • WordPress 6.6  beta Beta 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 today
  • Performance lab 3.2.0 release scheduled for June 6

Priority Items

Structure:

  • WordPress performance Trac Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (WP 6.6)
  • Performance Lab plugin Plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (and other performance plugins)
    • Auto-Sizes for Lazy-Loaded Images
    • Embed Optimizer
    • Fetchpriority
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • WordPress 6.6 enhancement tickets
  • There are 9 performance tickets for 6.6, all of which are marked as bugs
    • @ joemcgill The main one that I want a 2nd opinion on is #55996 and specifically  this PR , which fixes a bug bug 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. that the .org team ran into when trying to apply filters to block Block 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. content at the template level instead of the block level.

Performance Lab Plugin (and other Performance Plugins)

  • @ westonruter Milestones for the plugins:  https://github.com/WordPress/performance/milestones
  • @ westonruter For 3.2.0 we’ll at least have the Upgrade Notice – I think we should discuss more what should be done there, whether we bring back the admin admin (and super admin) pointer whenever there is a big new feature or if something else less obtrusive is warranted
  • @ ashwinparthasarathi hoping to work on this  https://github.com/WordPress/performance/issues/1239
    But it will probably make it in the next release.
  • @ joemcgill states  one thousand one hundred and thirty-six  the main one that we need to try to get wrapped up
    • @ stellastopfer Yes, we should get the last icon and the export today EOD
    • Active discussion on the ticket ticket Created for both bug reports and feature development on the bug tracker. regarding the assets and agreed to go with just the “P” for now as we are short on time
  • Agreed to punt punt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut. " In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) the onboarding experience issue https://github.com/WordPress/performance/issues/1032
  • The last issue is https://github.com/WordPress/performance/issues/715 but it seems it won’t take much to get it over the finish line, with input from @ adamsilverstein
  • @ westonruter I submitted the Image Prioritizer plugin for review with the plugin review team. This includes the fetchpriority=high for the LCP image, including when there are different LCP image elements for different breakpoints. It also now includes applying correct lazy-loading so that images that appear in the initial viewport in any breakpoint never get lazy-loading whereas images outside the initial viewport in any breakpoint always get lazy-loading.

Active Priority Projects

Improving the calculation of image size attributes

  • @ mukesh27 has been working on improved image  sizes  algorithm
    • PR that ready for review:
      • PR  #1250  – Initial implementation of improved image  sizes  algorithm
      • PR  #1252  – Use correct sizes for small images

Web Worker Offloading

Optimized Autoloaded Options

  • @ joemcgill now that we’ve included the Site Health check, I think we can update the dev note dev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. draft and then close out that project. I’ve been waiting on the doc release leads to get a process setup that we can add our dev note to.

Open Floor

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

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

Performance Chat Agenda: 4 June 2024

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

  • Announcements
    • Welcome to our new members of #core-performance
    • WordPress 6.6 beta Beta 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 today
    • Performance lab 3.2.0 release scheduled for June 6
  • Priority items
    • WordPress performance Trac Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release (6.6)
      • Future release
    • Performance Lab plugin Plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (and other performance plugins) including:
      • Auto-Sizes for Lazy-Loaded Images
      • Embed Optimizer
      • Fetchpriority
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

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


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

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