Auto Sizes for Lazy Loaded Images in WordPress 6.7

WordPress 6.7 adds sizes=”auto” for lazy-loaded images. This feature, which was recently added to the HTML specification, allows the  browser to use the rendered layout width of the image when selecting a source from the srcset list, since lazy loaded images don’t load until after the layout is known.

Background

Responsive image attributes, srcset and sizes were added in WordPress 4.4. Quoting the dev notedev 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. from that time:

To help browsers select the best image from the source set list, we also include a default sizes attribute that is equivalent to (max-width: {{image-width}}px) 100vw, {{image-width}}px. While this default will work out of the box for a majority of sites, themes should customize the default sizes attribute as needed using the wp_calculate_image_sizes 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..

Setting a default sizes value is important when choosing the right file to fetch from srcset, because it tells the browser what the intended layout of an image will be before the layout is known. Without any value, browsers will use the default 100vw value and assume the image is meant to fill the entire width of the viewport, resulting in many wasted bytes. The default value that has shipped with WordPress for many years ensures that the image layout is constrained by its width attribute. This helps, but in many cases is still not correct, since an image is likely layout constrained by the content width, or any blocks that they are nested within. 

Even though it is encouraged for themes to supply a more accurate sizes attribute value using the wp_calculate_image_sizes filter, doing so is challenging. Now that browsers are able to automatically apply the rendered layout to sizes for lazy-loaded images, the sizes value will be 100% correct, resulting in many fewer wasted bytes.

Implementation details

The HTML specification allows for lazy loaded images to omit sizes, explicitly set sizes=”auto”, or set sizes to a string that starts with "auto," followed by a valid source size list. In order to implement this as a progressive enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. for browsers already supporting this feature, WordPress will prepend auto to the sizes attribute of content images during wp_filter_content_tags() and any image markup generated by wp_get_attachment_image(). This will cause browsers that don’t support the new auto value to fall back to the previous sizes list.

WordPress will only add auto to the sizes value if the image includes loading=”lazy”. Otherwise, browsers that support sizes=auto will fail to validate the sizes value and apply the default value of 100vw, which will cause larger than needed images to be selected from the srcset attribute. Any custom implementations that change the loading value of images after WordPress generates the markup should use the new wp_img_tag_add_auto_sizes() function to correct the sizes attribute.

Functions added

  • wp_img_tag_add_auto_sizes – adds auto sizes to an HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. img string.
  • wp_sizes_attribute_includes_valid_auto – tests whether auto already exists on an image to ensure it’s not added more than once.

Props to @flixos90 and  @fabiankaegy for feedback and editing.

#6-7, #core, #dev-notes, #dev-notes-6-7

WordPress 6.7 Release Retrospective

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!


Props to @priethor for the peer review

#6-7 #retrospective

#core, #release-process

What’s new in Gutenberg 20.0? (10 January)

This is 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/ 20.0, which means it’s the 200th release of the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

It’s been almost exactly eight years since the initial commit to the Gutenberg repository and about four years since we celebrated the 100th release.

There is a lot happening in the WordPress world these days. But I want to use this moment to take a step back and just say thank you! Thank you to all the individual contributors that have spent countless hours over the past eight years steadily moving this project along. Whether you are still an active contributor, or you have long moved on to work on something else, thank you for all your work. ❤️


Even though this is the 200th release of the Gutenberg plugin, the actual release itself is the same as any other release in the past eight years. It includes new features, enhancements, and bugfixes. The remainder of this “What’s new in Gutenberg” post will follow the regular format.

The “What’s new in 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 BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.

Gutenberg 20.0 is out of the oven and ready to download.

The last first of 2025 introduces improvements to the Style Book, a new starter pattern ui, a swathe of component library enhancements, and code quality improvements.

Table of contents

  1. Enhancements for the Style Book
  2. Starter Patterns get a new UI
  3. Easily set a Page to become the Posts Page
  4. Display Block Type Badge for renamed blocks
  5. More Highlights
  6. Changelog
  7. Contributors

Enhancements for the Style Book

The Style Book got a few improvements in this release. It now features different sections for typography, colors, and individual blocks that all activate when the user navigates to those menu items. Additionally, the Style Book now its own URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (#67811), so you can access it directly.

Starter Patterns get a new UIUI User interface

We’ve received a lot of feedback that the old Modal based approach for starter patterns caused more annoyance than it helped. So, in an effort to improve the experience, the modal has been removed, and instead, if starter patterns exist, the page will load in the zoomed-out mode with the pattern inserter already opened.

Easily set a Page to become the Posts Page

Similar to the “Set Homepage” action that was added in a recent release, it is now possible to easily set a page to become the posts page using a post action in the dataviews for pages.

Display Block Type Badge for renamed blocks

To clarify what block you are currently editing, the block type is displayed as a badge next to the custom name when a block is renamed.

More Highlights

wp-env now supports multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations allowing developers to easily bootstrap multisite environments, especially for ease of feature testing and quality control. (67845)

Block 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. get a major boost by now allowing developers to apply hooks to post content and synced patterns. This has been a highly requested feature of block hooks since day one. (67272 & 68058)

Changelog

Enhancements

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.

  • iAPI Router: Handle styles assets on region-based navigation. (67826)
  • Prevent each directive errors and allow any iterable. (67798)

Block Library

  • Button: Update Settings text labels. (68265)
  • Introduce new 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. “render_block_core_navigation_link_allowed_post_status”. (63181)
  • Latest Posts add Border Block Support. (66353)
  • Add block example attribute for Comments Form block. (68267)
  • Add block example attribute for Comments block. (68266)
  • Read More: Add example preview. (68288)
  • Query Pagination: Update ‘showLabel’ help text. (68105)
  • Query Total block: Reduce concatenation in the output text. (68150)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Use the ‘ResolutionTool’ component. (68294)
  • Add Tools Panel dropdown menu props to More block. (68039)
  • Archive: Add dropdown menu props to ToolsPanel component. (68010)
  • Date Block: Add dropdown menu props to ToolsPanel component. (68018)
  • Archives Block: Refactor setting panel. (67841)
  • Button Block: Refactor setting panel. (67887)
  • Date Block: Refactor settings panel to use ToolsPanel. (67906)
  • Details Block: Migrate to Toolspanel. (67966)
  • ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. Block: Refactor settings panel to use ToolsPanel. (67908)
  • Featured Image Block: Refactor setting panel. (67456)
  • Login/Logout: Add dropdown menu props to ToolsPanel component. (68009)
  • Login/Logout: Refactor settings panel to use ToolsPanel. (67909)
  • More Block: Refactor settings panel to use ToolsPanel. (67905)
  • Navigation Submenu Block: Refactor settings panel to use ToolsPanel. (67969)
  • Page List Block: Add dropdown menu props to ToolsPanel component. (68012)
  • Page List Block: Refactor settings panel to use ToolsPanel. (67903)
  • Query Page Numbers Block: Refactor settings panel to use ToolsPanel. (67958)
  • Query Page Numbers: Add dropdown menu props to ToolsPanel component. (68013)
  • Query Pagination: Refactor settings panel to use ToolsPanel. (67914)
  • Refactor “Settings” panel of Navigation Item block to use ToolsPanel instead of PanelBody. (67973)
  • Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
  • Replace PanelBody with ToolsPanel and ToolsPanelItem in spacer block. (67981)
  • Replace PanelBody with ToolsPanel in columns block. (67910)
  • Site Title Block: Add dropdown menu props to ToolsPanel component. (68017)
  • Site Title Block: Refactor settings panel to use ToolsPanel. (67898)
  • Social Icon: Migrate to Toolspanel. (67974)
  • Social Icons: Migrate to Toolspanel. (67975)
  • Table Block: Refactor settings panel to use ToolsPanel. (67896)
  • Tag Cloud Block: Refactor settings panel to use ToolsPanel. (67911)
  • Video Block: Refactor setting panel. (67044)
  • Add dropdown menu props to ToolsPanel component. (68019)

Components

  • Add new “Badge” Component. (66555)
  • Badge: Support text truncation. (68107)
  • BoxControl: Add support for presets. (67688)
  • Button: Add hover style to secondary variant. (67325)
  • CreateTemplatePartModalContents: Use native radio inputs. (67702)
  • Menu: More granular sub-components. (67422)
  • RangeControl: Animate thumb and track only when using marks. (67836)
  • Storybook: Add more max-width containers. (68080)
  • Storybook: Upgrade to the latest version (v8.4.7). (67863)
  • Storybook: Upgrade to v8.0.x. (67574)
  • Unite inline Ariakit imports. (67818)

DataViews

  • Proof of concept: Visualize hierarchical data. (66479)
  • Add confirm dialog before Permanently delete. (67824)
  • Use Badge component in dataview grids. (68062)

Style Book

  • Give style book its own route so it can be linked to directly. (67811)
  • Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
  • Try splitting style book into sections. (68071)
  • Try toggle instead of dropdown to show stylebook. (67810)

Design Tools

  • Post Comments Link: Add Border Support. (68450)
  • Post Template: Add Border and Spacing Support. (64425)
  • Query Total: Add Border Support. (68323)

Block Editor

  • Add reset button to ColorGradientSettingsDropdown. (67800)
  • ChildLayoutControl: Use units defined in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (67784)
  • KeyboardShortcuts: Update delete shortcut to use shift + Backspace. (68164)
  • Use Badge component in page markers. (68103)
  • Use custom name in block 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. if available (retaining block type information). (65641)

Block hooks

  • Apply to Post Content (on frontend and in editor). (67272)
  • Synced Patterns: Apply Block Hooks. (68058)

Site Editor

  • Pages: Add “Set as posts page” action. (67650)
  • Add command to navigate to site editor. (66722)

Write mode

  • Allow template part editing in write mode. (67372)
  • Remove placeholder of default paragraph when it’s the only block and canvas is zoomed out. (68106)

Patterns

  • Replace Starter Content modal with inserter panel. (66836)

Build Tools

  • Create Block: Allow external templates to customize more fields. (68193)
  • Create Block: Optimize the default template for multiple blocks case. (68175)
  • Scripts: Recommend passing JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. entry points with paths. (68251)
  • Upgrade sass to version 1.54.0. (68380)
  • postcss-plugins-preset: Bump autoprefixer to 10.4.20. (68237)
  • wp-env: Add multisite support. (67845)

Various

  • DOM: Support class wildcard matcher in ‘cleanNodeList’. (67830)
  • Split upload into verbs and nouns. (68227)
  • Add a Playground blueprint json to the /assets/blueprints folder of Plugin Repo. (67742)

Bug Fixes

  • Add duotone and dimensions to the block level for translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization.. (68243)
  • Add text domain option while scaffolding the block in create-block. (57197)
  • Added is-focus-mode class on all viewports. (67377)
  • Editor: Fix initial edits applied again after saving the post. (68273)
  • Fix dataviews commonjs export. (67962)
  • Get active element within 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. when restoring focus. (68060)
  • Make strings in theme.json translatable. (66675)
  • Scripts: Use fork of rtlcss-webpack-plugin to fix issues with deps. (68201)

Block Library

  • Columns: Add space above notice text. (68259)
  • Enhance: Improve pagination logic in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./query-pagination-previous block. (68070)
  • Fix author information leakage by author blocks for Custom Post Types without author support & display notice to user. (67136)
  • Media & Text: Correctly reset the ‘useFeaturedImage’ attribute. (68247)
  • Navigation Submenu Block: Add dropdown menu props to ToolsPanel component. (68015)
  • Page List Block: Fix critical error when converting to link. (68076)
  • Page List block: Don’t wrap Edit button with ToolsPanelItem component. (68248)
  • Query Total: Remove nested element. (68304)
  • Table Block: Fix margin/padding to include caption in spacing. (68281)
  • Update SiteTitle block to Fix isLink Toggle Behavior. (68295)
  • 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.: Make example and variations translatable in post-navigation-link. (68375)
  • i18n: Make example translatable in query-no-results. (68376)
  • i18n: Make example translatable in table-of-contents. (68377)
  • Button Block: Set proper typography for inner elements. (68023)

Components

  • Block Editor: Fix the ‘Reset all’ 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. for the ‘ResolutionTool’ component. (68296)
  • BoxControl: Better minimum value support. (67819)
  • BoxControl: Fix aria-valuetext value. (68362)
  • Fix end-to-end storybook. (68307)
  • Fixing Text Contrast for Dark Mode. (68349)
  • FontSizePicker: Add display: Contents rule to custom size select. (68280)
  • Storybook: Fix emotion/is-prop-valid warning. (68202)
  • Storybook: Fix a few editor styles warnings. (68198)
  • Storybook: Fix warnings in Layout document. (67865)
  • Use default value in useMediaUploadSettings. (68100)

Block Editor

  • Media Replace Flow: Add custom toggle support and fix button height. (68084)
  • BlockCard: Fix title alignment. (68115)
  • DateFormatPicker: Fix styles & spacing. (68079)
  • Fix Iframe error for links without ‘href’. (68024)
  • Grid Visualizer: Improve observation logic. (68230)
  • List View: Fix appender size. (68221)
  • MediaReplaceFlow: Remove store subscription in favor of modern CSSCSS Cascading Style Sheets.. (68276)
  • Remove patterns from the Quick Inserter to prevent misuse in block-specific contexts. (67738)
  • Revert ‘Warning’ component autofocus. (68133)
  • Image: Avoid link class loss when pasting for raw transformation. (67803)
  • Make Block Bindings work with editor.BlockEdit hook. (67523)

Post Editor

  • DataViews: Fix text in action for setting site home page. (67787)
  • Edit post: Fix 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. box pane’s pointer capture. (68252)
  • Editor: Remove HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the post title in the document bar. (68358)
  • Fix: Some 403 errors for editor roles. (68146)
  • Improve logic to show entities saved panel description. (67971)

DataViews

  • Don’t render actions dropdown when all eligible ones are primary. (68168)
  • Handle grid preview size based on container width. (68078)
  • Hide actions related UI in grid when no actions or bulk actions are passed. (68033)
  • Pages: Update layout-specific configuration when the view is updated. (67881)
  • Use action.disabled state to disable actions (primary and secondary). (68275)

Site Editor

  • Add CSS classname to fix the negative margins not appearing in the Navigation Screen. (67825)
  • Fix obsolete getLocationWithParams usage. (68388)
  • Pages: Remove unnecessary padding for items. (67977)
  • Update active menu item appearance. (68147)

Style Book

  • Fix global styles updating in style book. (68111)
  • Fix style book background color. (68088)
  • Fix uploading background images in stylebook view. (68159)
  • Stylebook: Avoid double line in subcategory titles. (67752)

Zoom Out

  • Allow replace operation on empty default block in Zoom Out. (68026)
  • Fix don’t show inserter in Zoom Out dropzone when the text is visible. (68031)
  • Hide separators for currently dragged section in Zoom Out. (67638)
  • Make Write mode and Zoom out block options menus consistent. (67749)

Design Tools

  • Background supports: Add default controls supports. (68085)
  • Block supports: Show selected item in font family select control. (68254)
  • Fix: Ensure consistency in editor tools for navigation buttons and delete options. (67253)

Template Editor

  • Fix: Editing “Page” is broken for low capability users. (68110)
  • Plugin: Fix eligibility check for post types’ default rendering mode. (67879)

Widgets Editor

  • CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. Widgets: Fix inserter button size and animation. (67880)
  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor: Fix: Close button is not working. (65443)

Various

  • Show metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. when pattern is accessed directly. (68255)
  • Query Pagination: Fix ‘undo’ trap. (68022)
  • Add –glob argument to rimraf cli scripts. (67829)

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)

  • Dataviews List layout: Do not use grid role on a ul element. (67849)
  • Fix: Templates and patterns are nesting two elements with the button role. (67801)
  • [Dataviews] Fix: Media item focus style is not visible on Grid. (67789)

Block Editor

  • Fix: Inserter categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. tabs: Avoid unnecessary aria-label. (68160)
  • Improve accessibility of the Warning component in the block editor. (67433)

Global Styles

  • Shadows: Always show reset button if hover is not supported. (68122)
  • Visual Refactor: Add Chevron Icon for Shadows in Global Styles. (67720)

Block Library

  • Button: Replace ButtonGroup usage with ToggleGroupControl. (65346)
  • Fix Choose menu label when a menu has been deleted. (67009)

Site Editor

  • Make sure the sidebar navigation item focus style is fully visible. (67817)

Components

  • CustomSelectControl: Refactor to use Ariakit store state for current value. (67815)

Performance

Block Library

  • Don’t fetch media details if the block doesn’t use a featured image. (68299)
  • Media & Text: Optimize block editor store subscriptions. (68290)

Documentation

  • .wp-env.json schema: Add testsPort field. (68220)
  • Add README for TextAlignmentControl component. (68126)
  • Add layout related updates to the DataForm README. (68050)
  • Added Global Documentation in load.php. (68325)
  • Badge component: Fix Storybook URL link. (68077)
  • Badge: Fix up extra newline in readme. (68359)
  • Block Editor Storybook: Restructure the directory and add badges to private components. (68352)
  • Clarify template property behavior in InnerBlocks documentation to specify prefill when empty. (66911)
  • Components: Normalize newlines in auto-generated READMEs. (68208)
  • Components: Prevent broken lists in auto-generated readmes. (68301)
  • Components: Warn private API in auto-generated readmes. (68317)
  • Create a catalog list of private APIs. (66558)
  • DateFormatPicker: Improve line breaks in JSDoc and README. (68006)
  • Doc: Add JSDoc and update README for BlockCard component. (68114)
  • Docs: Fix some typos on reference-guide data-core-block-editor.md. (68066)
  • Documenting innerBlocks in save function. (66689)
  • Fix reference to wp-env start in documentation. (68034)
  • Fix wrong npm start command. (65221)
  • Fix: Fix link to minimal-block example plugin code. (67888)
  • Fixed typo in README of TextTransformControl. (68443)
  • Section Styles: Update block style variation documentation. (68169)
  • Storybook : Add TextTransformControl stories. (67365)
  • Storybook: Add BorderRadiusControl story. (67383)
  • Storybook: Add PlainText Storybook stories. (67341)
  • Storybook: Add stories for BlockCard component. (67191)
  • Storybook: Add stories for BlockTitle Component. (67234)
  • Storybook: Add stories for DateFormatPicker Component. (67290)
  • Storybook: Add stories for the ContrastChecker component. (68120)
  • Storybook: Add stories for the TextAlignmentControl component. (67371)
  • Storybook: Add stories for the TextDecorationControl component. (67337)
  • Storybook: Add story for the Warning component. (68124)
  • Storybook: Make prop sort order consistent. (68152)
  • Tabs: Auto-generate README. (68209)
  • Update platform documentation intro. (61341)
  • Update the copyright licensecopyright license Copyright holders may grant a license with various allowances including the ability to modify or distribute the copyrighted material. Also see GPL. to 2025. (68440)
  • Updated since Doc Order in Inline documentation. (68003)
  • Updated Document URL in Documentation. (67990)
  • Updated Small Typo in documentation in docs/getting-started/faq.md file. (68357)
  • [Docs] Fix: Two broken links to the packages reference API and to blocks documentation. (67889)
  • env: Fix changelog entry. (68219)
  • theme.json schema: Fix block list. (68343)

Code Quality

  • Create Block: Migrate Inquirer.js dependency to the new API. (67877)
  • Fix indentation in the upload-media tsconfig. (68083)
  • Fix indentation in upload-media package.json. (68037)
  • Fix: Invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. JSDoc syntax for optional object. (68061)
  • Remove some obsolete stylelint at-rule-no-unknown disable rules. (68087)

Components

  • DatePicker: Prepare day buttons for 40px default size. (68156)
  • DropZone: Make the drop zone in Storybook the same size as the item. (68231)
  • Fix Button size violations in misc. unit tests. (68154)
  • Fix: Add soft deperecation notice for the ButtonGroup component. (65429)
  • InputControl : Deprecate 36px default size. (66897)
  • Menu: Migrate Storybook examples to CSF3. (68204)
  • Menu: Use ariakit types. (68206)
  • Navigation: Prepare for hard deprecation. (68158)
  • Navigation: Upsize back buttons. (68157)
  • RadioGroup: Log deprecation warning. (68067)
  • SelectControl : Deprecate 36px default size. (66898)
  • Slot: Use layout effect and update Cover block unit tests. (68176)
  • SlotFill: Use observableMap everywhere, remove manual rerendering. (67400)
  • Tabs: Use correct ariakit type for root component. (68207)
  • TreeSelect: Deprecate 36px default size. (67855)

Plugin

  • fix: return type for WP_Duotone_Gutenberg::Get_selector(). (66695)
  • fix: Deprecated WP_Webfonts() constructor takes no arguments. (66700)
  • fix: Remove extraneous arg from gutenberg_url() call in gutenberg_posts_dashboard(). (66699)
  • fix: Remove extraneous param from remove_filter() calls. (66697)
  • fix: Wrong number of $accepted_args on add_filter() calls. (66694)
  • fix: explicitly return false in WP_Theme_JSON_Gutenberg::Should_override_preset(). (66696)

Block Editor

  • Fix ESLint warnings for the ‘useInnerBlockTemplateSync’ hook. (68355)
  • FontAppearanceControl: Deprecate 36px default size. (67854)
  • FontFamilyControl: Deprecate 36px default size. (67853)
  • Inserter: Use 40px default size for toggle button. (68155)
  • LineHeightControl: Deprecate 36px default size. (67850)

Post Editor

  • DocumentTools: Use standard ToolbarButton for inserter. (68332)
  • Editor: Remove constants for notices. (68361)
  • Editor: Remove the ‘content-only’ check from ‘TemplatePartConverterMenuItem’. (67961)

DataViews

  • DataForm: Add unit tests. (68054)
  • DataForm: Remove FormFieldVisibility. (68203)
  • [DataView] Initial list of unit tests for the DataView component. (68205)

Block Library

  • Columns: Replace some store selectors with ‘getBlockOrder’. (67991)
  • Fix trailing spaces in navigation block classnames. (68161)

Site Editor

  • Edit Site: Standardize reduced motion handling using media queries. (68419)

Design Tools

  • Block Supports: Revert stabilization of typography, border, skip serialization and default controls supports. (68163)

Zoom Out

  • Correct spelling in Zoom Out Inserters comment. (68051)

Block API

  • Fail gracefully when block in createBlock function is not registered. (68043)

Icons

  • Deprecate warning and rename to cautionFilled. (67895)

Tools

Build Tooling

  • Add new private upload-media package. (66290)
  • Build: Simplify tsconfig.json files. (68326)
  • Clean script: Use braces instead of @-pattern for glob. (67833)
  • Fix VS Code performance. (68347)
  • Fix tsconfig for test/ directory. (68346)
  • Fix: Script with glob option doesn’t work on Windows. (67862)

Testing

  • Page – Quick Edit: Add end-to-end tests. (68151)
  • Add ESLint rule to prevent usage of the verb ‘toggle’ in translatable strings. (67741)
  • Enhance template registration end-to-end tests to handle welcome dialog visibility. (68059)

Various

  • ActionItem.Slot: Render as MenuGroup by default. (67985)
  • Storybook: Add BlockAlignmentMatrixControl Stories and update README. (68007)
  • Update “Call to Action” to “Call to action”. (67876)

Plugin

  • Assets: Add README.md about syncing. (68128)
  • Workflows: Sync assets to plugin repo upon change in trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (68052)

First-time contributors

The following PRs were merged by first-time contributors:

  • @benazeer-ben: Add command to navigate to site editor. (66722)
  • @dhruvikpatel18: Fixed typo in README of TextTransformControl. (68443)
  • @fushar: Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
  • @im3dabasia: Storybook : Add TextTransformControl stories. (67365)
  • @justlevine: fix: Deprecated WP_Webfonts() constructor takes no arguments. (66700)
  • @karthick-murugan: Latest Posts Border Block Support. (66353)
  • @mayurprajapatii: Updated Document URL in Documentation. (67990)
  • @PARTHVATALIYA: Widget Editor: Fix: Close button is not working. (65443)
  • @prasadkarmalkar: Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
  • @rilwis: Fix wrong npm start command. (65221)
  • @sarthaknagoshe2002: Clarify template property behavior in InnerBlocks documentation to specify prefill when empty. (66911)
  • @timse201: Split upload into verbs and nouns. (68227)
  • @vampdroid: Add text domain option while scaffolding the block in create-block. (57197)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @akasunil @benazeer-ben @bph @Chrico @ciampo @d-alleyne @DAreRodz @dhruvikpatel18 @draganescu @ellatrix @fabiankaegy @fushar @getdave @gigitux @gziolo @hbhalodia @himanshupathak95 @im3dabasia @Infinite-Null @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanfra @justlevine @karthick-murugan @kmanijak @louwie17 @Lovor01 @Mamaduka @manzoorwanijk @matiasbenedetto @Mayank-Tripathi32 @mayurprajapatii @mcsf @michalczaplinski @mikachan @mirka @ntsekouras @oandregal @ockham @PARTHVATALIYA @prasadkarmalkar @ramonjd @rilwis @rinkalpagdar @Rishit30G @rohitmathur-7 @SainathPoojary @sarthaknagoshe2002 @SH4LIN @shail-mehta @shimotmk @sirreal @stokesman @Sukhendu2002 @swissspidy @t-hamano @talldan @tellthemachines @timse201 @tyxla @up1512001 @vampdroid @Vrishabhsk @yogeshbhutkar @youknowriad

Thanks to @priethor, @gziolo, @jonsurrell, @jorbin who helped with this release and to @joemcgill and @sergeybiryukov for helping review this post.

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

WordPress 6.8: Release Squad, Timeline, and Focus

Thank you to all who volunteered as interested in serving on the WordPress 6.8 release squad! After collecting all of the volunteers, reviewing active initiatives and tickets currently in the milestone, contributor availability in various areas, and planned events or holidays the following squad, timeline, and focus has been assembled.

Release Squad

This squad continues the experiment that started in 6.7 of merging the MarComms (Marketing and Communications) Lead with Release Coordination in order to gather more feedback on that experiment. This can change during the process for future releases if needed.  The squad is also a bit smaller than usual because of this release being a polish and 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. fix release. Also of note, the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Tech Lead and Editor Tech Lead roles have been combined into a single “Tech Leads” role as part of the continued initiative to support a more closely coordinated effort across 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/ and Core. 

Aaron Jorbin has volunteered to continue managing tickets and will organize minor releases as necessary for the remainder of the 6.8 release cycle.

Release Timeline

As a reminder, here are a few of the key milestones for the release:

  • 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: March 4, 2025
  • Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1: March 25, 2025
  • General Release: April 15, 2025

Please refer to the WordPress 6.8 Development Cycle page for the full release schedule.

Release Focus

After evaluating the current active initiatives, there will likely be fewer features ready to ship when compared to other recent major releases. As a result, 6.8 will focus primarily on being a polish and bug fix release. New features will be considered if deemed reasonably ready.

A WordPress release is put together by the entire community and the release squad only represents a fraction of the contributors to a release. If you are looking to get involved, please join the #core channel 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/. where there are weekly chats on Wednesday at 20:00 UTC and bi-weekly new contributor onboarding meetings on the 2nd and 4th Wednesday of each month at 19:00 UTC

Props @jorbin, @joemcgill, @jeffpaul, @marybaum, @4thhubbard, @davidbaumwald, @courane01 for prepublish review.

#6-8

WordPress 6.8 Call for Volunteers

As a follow-up to the release calendar proposal for 2025, let’s gather interest in being part of the release squad for the 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., WordPress 6.8.

Proposed WordPress 6.8 tentative schedule

Based on that calendar proposal for next year, the WordPress 6.8 tentative schedule is as follows:

MilestoneDate
Alpha (trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. open for 6.8 release)October 22, 2024
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. 1March 4 2025
Beta 2March 11, 2025
Beta 3March 18, 2025
Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1March 25, 2025
Release Candidate 2April 1, 2025
Release Candidate 3April 8, 2025
Dry RunApril 14, 2025
WordPress 6.8 General ReleaseApril 15, 2025

According to the schedule above and 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/ release cadence, WordPress 6.8 would include up to Gutenberg 20.4 for a maximum of 11 releases, depending on the end-of-year Gutenberg release adjustments (according to an unaltered schedule, Gutenberg 20.0 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). and stable would land on December 25th and January 1st, respectively).

Release Leads call for volunteers

Following the release squad structure from the last release, except for the default theme role, as WordPress 6.8 won’t deliver a new default theme, these are the minimum roles that need filling:

  • Release Coordinator(s)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Tech Lead(s)
  • Editor Tech Lead(s)
  • Core Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Lead(s)
  • Editor Triage Lead(s)
  • Documentation Lead(s)
  • Test Lead(s)
  • Design Lead(s)
  • Performance Lead(s)

It’s worth noting that WordPress 6.7 experimented with not having an explicit Marketing Lead; depending on feedback from the last release, the 6.8 squad might add back that role or other missing ones. As usual, the Release LeadRelease Lead The community member ultimately responsible for the Release. role will be filled by project leadership. Check the Core Handbook to learn more about the release team’s roles and responsibilities.

All release decisions will ultimately be this release team’s to make and communicate, while gathering input from the community, including finalizing the release schedule.

If you are interested in participating in WordPress 6.8’s release squad as a lead, please show interest in the comments below, clearly specifying your desired role, by December 6th.


Thanks to @aaroncampbell and @jeffpaul for reviewing this post.

#planning #6-8

Summary, Dev Chat, Jan 8, 2025

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

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.

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.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 but @desrosj is planning to review the state of the release this week. You can review the next minor release milestone.

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: 20.1 20.0

The agenda post incorrectly identified the next release as 20.1 with a release date of January 15 due to a shift in the schedule for the holidays. Instead, Gutenberg 20.0 was released on January 9 and Gutenberg 20.1 is expected on January 22.

Discussion

Update on the formation of the 6.8 release squad

The call for volunteers date is closed and @priethor had previously been working on providing an announcement. Following the meeting, he shared that he had handed over responsibility to @jeffpaul and @desrosj, who are working to finalize the squad for the 6.8 release.

To prepare for the release, anyone can volunteer to lead a bug scrub of the 6.8 milestone. Looking at tickets marked early would be a good place to start.

@jorbin suggested the PR for a reliable sync protocol for collaborative editing could use more eyes.

Open Floor

@joemcgill highlighted out this initiative to improve CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.’s end-to-end (E2E) tests that is looking for support. @jorbin agreed do an initial review.

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

Nominations for Core Team Reps: 2025 Edition

This post kicks off the formal election process with a call for nominations for the 2025 CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps. For 2024, Joe McGill (@joemcgill) and Sarah Norris (@mikachan) have served as the elected Core Team Reps.

The Roles

In the WordPress open-source project, each team has on average one or two representatives, abbreviated as reps. For the historians out there, the roles go way back to 2012.

Historically with the Core team, the team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. duration was around a year, though some reps stuck around longer if there was a particularly good fit.

Anyone who serves as a “team rep” is responsible for communicating on behalf of the Core team to the other contributor groups via weekly updates, as well as occasional cross-team chats. Reps are also consulted on 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://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., where they help to find someone within the Core team who will be at an event who can lead a Core table. Full details on the Team Rep role can be found on the Team Update site.

It is not called “team lead” for a reason.  It’s an administrative role. While people elected as team reps will generally come from the pool of folks that people think of as experienced leaders, the team rep role is designed to change hands regularly.

This role has a time commitment of at least one or two hours a week.

The main tasks include:

  • Posting the weekly Dev Chat agenda, hosting the chats, and summarizing them (which can include writing and encouraging others to contribute to the summaries). More details on coordinating devchat are available in the Core handbook.
  • Keeping up with the current releases (mainly WordPress major and minors and 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/ bi-weekly releases) and communicating updates.
  • Keeping a watch on the moving parts of the team to report for quarterly updates (example).

How the election works

Please nominate people in the comments of this post. Self-nominations are welcome. The deadline is January 31, 2025 at 23:59 UTC. If there are fewer than 2 nominees who have accepted their nominations, the deadline will be extended.

Once the nomination period expires, a poll will be opened for voting. It will stay open for two weeks. The new reps will start their role in February 2025.

Disclaimer: if you are nominated, please don’t feel like you have to agree to say yes. The election poll will only include the names of the people who have agreed to be nominated. So feel free to reply with a “Thank you, but no thank you”.

If you have any questions, please feel free to ask in the comments or speak to the current team reps. Finally, for reference, these are the 2020, 2021, 2022, 2023, and 2024 nomination posts.

Thanks to @joemcgill for reviewing this post.

#team-reps

Agenda, Dev Chat, Jan 8, 2025

The next WordPress Developers Chat will take place on Wednesday at 20:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections below. If you have ticketticket Created for both bug reports and feature development on the bug tracker. requests for help, please continue to post details in the comments section at the end of this agenda.

Announcements

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.

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

We are currently in the WordPress 6.8 release cycle.

Next maintenance release: 6.7.2

There is currently no release date planned for WordPress 6.7.2. Review the next minor release milestone.

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: 20.1

The next Gutenberg release will be 20.1, scheduled for January 15. It will include the following issues.

Discussions

The discussion section of the agenda is to provide a place to discuss important topics affecting the upcoming release or larger initiatives that impact the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

This will be the first Dev Chat of 2025, so we’ll use this time to discuss anything that needs to be addressed to prepare for the first releases of the year.

Highlighted Posts

Editor Updates

You can keep up to date with the major Editor features that are currently in progress by viewing these Iteration issues.

Open floor

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and if you intend to be available during the meeting for discussion or if you will be async.

#6-8, #agenda, #dev-chat

Post Editor iframing with meta boxes in WordPress 6.7

After an effort to iframe the post editor, the presence of 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. boxes was a holdout condition that kept the editor content from loading in an 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. and made these benefits of the iframe unavailable:

  • Isolation of 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. and theme CSSCSS Cascading Style Sheets. from the editor UIUI User interface
  • Accuracy of media queries and viewport relative CSS units

Those benefits are important to support CSS reuse across the editor and front-end and generally ease block and theme development. It’s been an ongoing effort to bring them to the Post editor even when meta boxes are present yet it has taken a few attempts to determine how to adapt the interface to separate the meta boxes from the post content.

Now a split view is implemented that supports both editor content and meta boxes being visible together. This change ensures consistent WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page. experience between the Editor and front-end views. Additionally, it makes the meta boxes are more readily available than before and allows visually referencing any part of the post content while working with any meta box or vice versa.

Remaining exception to the iframe

For now, the last condition which prevents the iframe from always being used is whether any blocks are registered with their apiVersion less than 3. Yet even this condition may be removed in a future release and it already has an exception if your site uses 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 and a block based theme is active.

Edge cases and compatibility

Developers of plugins that add meta boxes should be wary of two things. One, the meta box container now clips overflowing elements so some popover-like UI such as dropdown menus will be cut off if they extend upward from the meta box container. However, if they’re rendered into a part of the DOM outside the container this won’t be an issue. Two, if your plugin also adds any rich text formats with editing UI that’s anchored to the text selection then their implementation has to be compatible with the iframe. This isn’t a new requirement but may have been overlooked for plugins only extending the Post editor.

Overflow clipping

To ensure this isn’t an issue any popover-like UI can be made to open downward in the meta box or by rendering the popover into a part of the DOM that is not within the meta box container. The latter, for instance, is how the Popover, Dropdown and DropDownMenu components from @wordpress/components work by default and using them will ensure there is no clipping even if the UI extends beyond the top of the meta box container.

Rich Text Format UI anchoring

This is may only be of concern if your plugin implemented custom code to anchor or position the UI. If your plugin is already using the recommended useAnchor hook available from @wordpress/rich-text everything should just work. In case it’s not, you can reference Gutenberg’s own link editing UI component for a canonical example of its usage.

Props @fabiankaegy and @faguni22 for review and proofreading.

#6-7, #dev-notes, #dev-notes-6-7

Proposal: Major releases for 2025

With WordPress 6.7 out the door, it’s time to plan for next year’s releases. The following dates try to account for flagship events and major international holidays:

  • 6.8 – 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 on March 4, stable release on April 15 (Beta 1 ten days after WC Asia)
  • 6.9 – Beta 1 on June 24, stable release on August 5 (WCEU in early June)
  • 7.0 – Beta 1 on  September 30, stable release on November 11 (no flagship events nearby)

The release cadence is similar to past years, with a longer initial release cycle, including the end-of-year festivities and ~4-month ones. Please leave your feedback below or through a 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/. DM by November 29.

Although the 6.8 dates aren’t final yet, they are close to final enough to let contributors know their availability around that time. If you want to participate in the WordPress 6.8 release, stay tuned for an upcoming post with the call for volunteers.

Props to @jeffpaul for reviewing the proposed dates and this post.

#planning

#6-8, #6-9, #7-0