The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in the bug tracker.
WordPress 7.1 shipped the first two runnable code examples in the Code Reference. They are powered by WordPress Playground, and more are coming in 7.2.
On the WP_HTML_Processor::class_list() Code Reference page, select Run button in the code snippet and the code example will run right there, in your browser.
Runnable snippets can be defined in the DocBlock of each method directly in the WordPress codebase. They use a slightly different syntax from the regular code examples:
<?php
/**
* Generator for a foreach loop to step through each class name for the matched tag.
*
* ```php interactive
* $p = new WP_HTML_Tag_Processor( "<div class='free <egg>\tlang-en'>" );
* $p->next_tag();
* foreach ( $p->class_list() as $class_name ) {
* echo "{$class_name} ";
* }
* // Outputs: "free <egg> lang-en "
* ```
*/
public function class_list() {}
The part that makes it interactive is the ```php interactive language tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) on the code fence. A handbook page with all the details and instructions for authoring interactive code snippets will be published shortly.
Jeff resurfaced this heads up from @annezazu, for anyone who’s working on something for 7.2 to ensure they flag that to Anne for the roadmap post:
Howdy! I’m starting to work on a roadmap for WordPress 7.2 since we’re less than 2 months from betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1. I wanted to check in to see what might be coming up across the project that folks are dedicated to working on. As a reminder, roadmaps aren’t meant to be completely comprehensive but are meant to reflect the priority work slated for the release. As a result, I won’t include every little detail and instead focus on getting the broad strokes in place. As always, I’ll share drafts as I go but just want to flush out anything early as I have a long list already!
@audrasjb: “On my side, I’d say this feature (ticket #65910) may be a huge thing for support teams (on dotorg as well as for plugins/themes support teams if we make it an APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.). Design welcome but I think we can probably make a POC with the existing dashicons and basic styling.”
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.
This version of Gutenberg brings some big quality-of-life editing improvements around blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. insertion and custom styling.
Stop searching for the inserter
Finding the inserter was challenging on some block selections. Now, you can insert from the block toolbar. Easily add a new block to a group or another image to your gallery without having to change selection or scroll to find the inserter. Be on the lookout for more improvements to the block inserter in upcoming releases.
Easily find custom style overrides
Global Styles now makes it easy to see which blocks have custom overrides applied to them. Rather than drilling through each block to find which ones have custom styles, a dot indicator is on each block with a custom style. If you want to see all of the customized blocks together, there’s an option to filterFilterFilters 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. only by blocks with custom styles.
Other Notable Highlights
Axial block gap for the group block. Flex and grid layouts can now have independent vertical and horizontal block gap spacing so you can dial in your design. (81476)
Global Styles for more elements: Citations, Inputs, and Selects were all available in theme.json, but now you can use Global Styles to easily customize them. (80852)
Add custom Duotone colors to Global Styles.theme.json could provide duotone palettes, but you couldn’t add custom ones via Global Styles. Now, if you don’t like the theme’s provided duotones, add your own via the new Duotone tab in the Global Styles Colors section. (81605)
Changelog
Enhancements
Components
Adminadmin(and super admin)UIUIUser interface: Add Navigation component and Page navigation slot. (79746)
Align legacy form control focus rings with WPDS. (80417)
Base Styles: Align input-control mixin to design system. (81357)
Base styles: Streamline focus ring override. (81242)
CollapsibleCard: Support multiple headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. descriptions. (81227)
DataViews: Pass the WordPress localeLocaleA locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. to the date/datetime calendar controls. (81592)
Global Styles: Allow editing duotone palettes. (81605)
More block: Clarify description about excerptExcerptAn 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. vs full content. (80619)
Playlist Track: Show upload spinner inline. (81445)
Command Palette: Allow commands to override the categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. icon. (81787)
Editor: Defer hierarchical term filtering and soften announcements. (81422)
Editor: Migrate hierarchical term selector to @wordpress/ui. (81848)
Editor: Refactor ‘ErrorBoundary’ to use the new recommended components. (81638)
Editor: Simplify List View sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. shortcut handling. (81693)
Editor: Surface debugging details in the ErrorBoundary. (81642)
Editor: Use PluginSidebar in GlobalStylesSidebar. (81570)
Pre-publish panel: Remove the headings that repeat the panel title. (81806)
Global Styles: Expose additional elements in Typography and Colors. (80852)
Patterns explorer: Refactor the category sidebar to use Tabs. (81807)
Quick Inserter: Standardize the design of the Browse all button. (81827)
Writing flow: Select next block on Enter key. (63484)
Inbetween Inserter: Use average width of adjacent blocks for inserter size. (68074)
Dashboard
Dashboard Widgets: Let the host decide which component renders an action link. (81740)
Dashboard Widgets: Promote high-relevance actions into a chrome footer. (81556)
Dashboard Widgets: Resolve widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. types without a metadata module. (81738)
DataViews: Sync the displayed calendar month with external value changes. (81635)
Duotone Picker: Stop the duotone bar offering to move its control points. (81850)
Fix Storybook accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues in stories. (81777)
Improve text detection for button icon-with-text. (81521)
InputControl: Vertically center date and time input values in Safari. (81361)
Menu: Close non-modal menus on iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. interaction. (81952)
Modal: Stop Escape key propagation on dismiss. (81785)
PaletteEdit: Expose palette swatches as command buttons. (82023)
Storybook: Handle production module load failures. (81867)
Theme: Improve color ramp contrast safeguards. (81185)
UI: Fix accessibility issues in form primitives and their stories. (81853)
Block Library
Accordion Heading: Route theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. spacing to the toggle button. (81976)
Dynamic Gallery block: Skip transforms that expect inner blocks, e.g. Image and Grid transforms. (82009)
Enable blockGap spacing supports in Query loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop block. (79689)
Fix: Accordion: Anchored hash inside the accordion throws the malformed URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org console error. (81780)
Fix: Skip empty block markup in navigation to prevent split UL elements. (78793)
Icon: Fix margin being applied twice in the editor. (81292)
Inner Blocks: Fix bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. that caused alignment controls to show in Image blocks within a Gallery. (81606)
Post Template: Fix mover arrows and labels for blocks inside the grid view. (81120)
Preserve layout and style attributes on Column transform. (81855)
Rename the media editor toolbar button to ‘Edit image’. (81705)
Post Editor
Add context to change “revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. code diff”. (81820)
Editor: Correctly mark ToolsMoreMenuGroup as a private SlotFill. (81503)
Clamp the truncated file name slice in filterURLForDisplay. (81529)
Fix: getQueryArgs discards everything after the second = in a query argument value. (81066)
Fix: URL: normalizePath drops the rest of the query after a second “?”. (81612)
Stop normalizePath throwing on a malformed percent sequence. (81086)
Data Layer
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Stop storing NaN pagination totals for unpaginated endpoints. (82059)
Core Data: Validate the parsed-blocks cache against registered block types. (81809)
Env
Fall back to cached docker images when the registry is unreachable. (81631)
Update git to latest commit when --update passed. (81447)
Build Package: Use Core’s boot module when a pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. has none. (81761)
Font Library
Fix the preview weight for variable fonts. (81748)
Media
Fix clipped focus outlines in the media editor Details sidebar. (81703)
Site Editor
Use inverted ThemeProvider seed for portaled UI. (81653)
DOM
Treat a caret at a soft line wrap as an ambiguous position in Firefox. (81003)
Media Utils
Prevent white screen crash during undo operations when Media Modal is open. (79898)
Parsing
Fix: Line Break Tags Added to Scripts and Styles. (77542)
Paste
Fix: Stop stripping spaces inside inline HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. elements on paste. (76696)
Accessibility
Post Editor
Editor: Announce publish date changes to screen readers. (81629)
Boot: Preview the site where the canvas has nothing to open. (81749)
Boot: Sync the editor’s device preview with the URL. (81617)
Boot: Translate the canvas click-to-edit label. (81620)
Boot: Warn before leaving with unsaved changes. (81625)
Edit Site Init: Seed the editor preferences the editor expects. (81628)
ExtensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Add a theme preview page with global styles editing. (81954)
Extensible Site Editor: Add the Identity route. (81576)
Extensible Site Editor: Preview the site on Home for classic themes. (81578)
Extensible Site Editor: Show only the style book on Styles for classic themes. (81579)
Extensible Site Editor: Gate theme screens on theme support. (81581)
Lazy Editor: Keep the theme’s editor styles on the canvas. (81747)
Lazy Editor: Render the editor preferences modal. (81630)
Docs: Fix broken link to the Document-Isolation-Policy explainer. (81790)
Docs: Fix broken link to the getEntityRecords selector reference. (81791)
Docs: Fix broken links to the Block APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. reference guides. (81571)
Docs: Fix broken skip ahead anchor on the custom block editor guide. (81835)
Docs: Fix dead link in the dynamic blocks tutorial. (81399)
Docs: Narrow the tsconfig split guidance to the standard layout. (81828)
Docs: Require site editor features to land in the extensible site editor too. (81752)
Docs: Align param tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) columns in test/ docblocks. (81905)
Components
BorderControl, BorderBoxControl: Migrate styles to CSS Modules. (80437)
ComboboxControl: Narrow onChange callback type to string | null. (81568)
Tabs: Number generated tab IDs from 1 and keep them sequential. (81781)
Playlist: Remove block toolbar sharing between parent and child blocks. (81432)
Update waveform player dependency patchpatchA 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.. (81454)
Post Editor
ActionItem: Move the more menu deduplication out of the Slot. (81507)
Block Editor: Never spotlight blocks in a preview. (81615)
Editor: Remove FlexItem usage from NoteCard. (81851)
Use WCInputControl alias for legacy InputControl imports. (81830)
Use WCTextareaControl alias for legacy TextareaControl imports. (81834)
Data Layer
Core Data: Allow keyless entities to be addressed without a record ID. (81857)
TypeScript: Drop redundant undefined casts for keyless entity record IDs. (82018)
refactor: Convert createColorHOC to functional component. (70408)
Dashboard
Dashboard widgets & Grid: Use kebab-case for CSS selectors. (82053)
Quick Draft widget: Drop a reference to a class that does not exist. (82064)
Media
Media Editor Route: Add missing dependency to media-editor route. (81845)
Fields
Migrate last remaining JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. file to TS. (81808)
Styles Route: Reference the api-fetch and html-entities projects. (81989)
Test: Add Vitest ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org, Emotion compilation, console, and snapshot parity. (81039)
TypeScript: Add typecheck script and split root tsconfig into build and dev solutions. (81499)
TypeScript: Put route projects under the typecheck run. (81829)
Validation: Update dependency-audit to 0.4.6 and ignore the dataviews ./wp bundle. (81928)
Testing
Automated Testing: Change Storybook default a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) test to error on failure. (81597)
Block Library: Fix failing test in playlist block. (81950)
List View: Fix flaky global shortcut test and re-enable it. (81690)
Perf: Report the first block selection as its own metric. (81616)
Test: Port shared Vitest test environment. (81038)
Tests: Make PHPUnit tests independent of test configuration flags and theme root. (79159)
Vitest: Resolve @flakiness/vitest reporter to an absolute path. (81582)
end-to-end Tests: Use str_starts_with()/str_contains() in hide-user-rest-routes plugin. (82030)
Data Layer
Update 23.8 release changes on trunktrunkA 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.. (81485)
ESLint plugin
Remove fixable on i18n-no-flanking-whitespace. (70279)
First-time contributors
The following PRs were merged by first-time contributors:
Thanks to @mciampini and @aduth for helping with the npm package distribution and stable release, @manzoorwanijk, @onemaggie and @softglaze for release candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). support and testing, @coreyhall93 for the video highlights, and @tyxla, @ramonopoly, and @ellatrix for reviewing this post.
Since WordPress 7.1 was released, contributors have kept a close eye on incoming reports to the WordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ Support Forums, TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., and the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ repository on GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/. The volume and severityseverityThe seriousness of the ticket in the eyes of the reporter. Generally, severity is a judgment of how bad a bug is, while priority is its relationship to other bugs. of tickets mean that the maintenance release should be prepared habitually.
Note that the above times are estimates – exact times for scrubs, RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). and General release will be announced in the 7.1 Release Leads room and will be based on availability of individuals helping with the release.
Targeted Fixes
WordPress 7.1.1 is intended as a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.-fix only maintenance release. Tickets will be included provided they are issues introduced during the 7.1 cycle or intentionally deferred at the end of the 7.1 cycle. You can follow trac report 4 or the 7.1.x editor tasks board for proposed fixes.
Get Involved with 7.1.1
Bug Scrubs will happen in the #core room during the times posted above. Each of the open tickets is going to require development work along with testing and review. You can also run your own scrubs to help ensure that all of the correct tickets are fixed in this release. Additionally, some locales have strings in 7.1 in need of translation.
General coordination for the release will happen in the 7.1 Release Leads room and decisions around code for the release will be made in the #core room.
The full chat log is available beginning here on Slack.
WordPress Performance TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
@mukesh27 shared a performance regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. found in WordPress 7.1 and reported as #65929 and asked anyone with time to take a look and said any review or feedback would be greatly appreciated.
@westonruter shared that WCUS Contributor DayContributor DayContributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ was formatted like a hackathon this year. His team worked on eliminating script and style concatenation in favor of prefetching scripts and styles likely to be used on the next screen. For example, the login screen prefetches the scripts and styles used on the dashboard, while the dashboard or edit posts list screen prefetches styles used in the post editor. They saw promising performance improvements, including a greater than 70% reduction in LCP when accessing the dashboard from the login screen. The PR #13084 is in progress and ready for early review and testing. He added that the biggest benefit is eliminating script and style concatenation, which is the source of many bugs. In his view, the performance benefit is a bonus.
Performance Lab PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. (and other performance plugins)
@westonruter re-shared that the PR for the next round of Performance Lab plugin updates is ready for review and testing: PR #2639. ZIPs are available at (comment). He noted that the release includes strict_types, so it warrants extra testing, and also includes several housekeeping changes intended to improve the release process. The PR already has approvals, but he was not sure whether smoke testing had been completed for each build. If that could be done that day, he said he would feel comfortable going ahead with the release
Open Floor
@westonruter shared that he is coming off a very busy summer of travel and CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. security work. He is finally back home and can start catching up. His security work will continue, but hopefully at a more managed pace. He noted that there are many PR reviews needed.
@mukesh27 added that there are also Core commits. @westonruter responded that commits are now cheap, while reviews are hard.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.
Version 23.8 continues to build on recent releases, adding shareable URLs and an in-editor code diff view to visual revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision., email notifications for users mentioned in a note, major List View performance improvements on large posts, and a smoother writing flow that renders a real default blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. in place of the empty-canvas appender.
Visual revisions: Shareable URLs and a code diff view
Visual revisions keep getting more capable. You can now link directly to a specific revision: opening a URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org with a revision parameter takes you straight to that revision in the editor, and the address bar stays up to date as you move through history so sharing the exact change you’re discussing is as simple as copying the URL. Toggle the code editor to see the diff in code. (79934, 80314)
Email notifications for mentions in notes
Collaboration in the editor took another step forward: when someone @-mentions you in a note, you now receive an email letting you know, written in your own language and linking to the editor where the conversation is happening. This completes the mentions feature whose autocomplete UIUIUser interface landed in a previous release. (79606)
Other notable highlights
The List View received a series of performance improvements that add up to a dramatically better experience on long posts. Opening it is faster thanks to a leaner rendering path that cuts most of its DOM nodes and skips a second render pass, expanding and collapsing sections triggers far fewer re-renders, and a freeze when selecting all blocks on large posts is gone. On a post with 1,000 paragraphs, “Select all” dropped from 16.8 seconds to 0.4 seconds. (81210, 80953, 80929, and others)
The empty canvas now renders a real default block instead of a lookalike appender, so what you see before typing is exactly what you get (81231). Along the same lines, a new block added next to an existing one now inherits its neighbor’s styling consistently, no matter how it was inserted (81250).
The experimental Playlist block became easier to work with: Audio blocks can transform into a Playlist and back, and you can select multiple audio files from the Media Library at once (80926). The Tabs block now shows each tab’s actual title in the Document Overview instead of a generic “Tab” label (81427) and supports Home and End keys for keyboard navigation (80912).
For developers, blocks can now declare their inner blocks template directly in registerBlockType() settings, applied synchronously at insertion (80027); @wordpress/element is importable in ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org 19 (80053); DataViews gained a time field type (80830) and configurable preview aspect ratios (79329); and @wordpress/ui now offers public Calendar and RangeCalendar components (81337).
Element: Make the package importable in React 19. (80053)
Interface: Let CSSCSSCascading Style Sheets. own the ComplementaryArea width and use AnimatePresence custom for exit. (81363)
WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Dashboard: Preserve widget chrome flex layout. (80570)
DataViews: Add time field type and control. (80830)
DataViews: Make grid and table item preview aspect ratio configurable. (79329)
IconButton: Improve keyboard shortcut accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility). (80402)
Icons: Move the inline image icon into the library. (81271)
SearchableChipSelect: Add form primitive to wordpress/ui. (80779)
UI: Add Calendar and RangeCalendar, moved from components private APIs. (81337)
UI: Derive Base UI direction from WordPress i18ni18nInternationalization, 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.. (80399)
Editor: Migrate settings sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. to Tabs from wordpress/ui. (81054)
Notes: Display shortcut for form action buttons. (81064)
Visual revisions: Add a code diff view inside the editor. (80314)
Dashboard
Dashboard Widgets: Add icon and relevance to the widget action envelope. (81275)
Dashboard Widgets: Split action icons into wire and resolved forms. (81381)
Widget Dashboard: Host-tunable tile spacing via public custom properties. (81352)
Widgets: Carry a declarative icon through the widget pipeline. (80969)
Widgets Editor
Add ThemeProvider for adminadmin(and super admin) color schemes. (81173)
CustomizerCustomizerTool 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: Add ThemeProvider for admin color schemes. (81174)
Global Styles
Migrate font size presets to the shared preset layer. (79811)
Migrate shadows presets to use the preset management layer. (79812)
Bug Fixes
BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. fixes for finalize route. (81465)
Boot: Adjust specificity of the image reset styles so components can size their own images. (80845)
Fix end-to-end tests that break when shard rebalancing changes their neighbors. (81117)
Fix: Add missing target to the webpack dev server proxy configuration. (81141)
Interface: Increase footer breadcrumb height to prevent focus ring clipping. (81145)
Views: Honor all developer-defined view configuration overrides. (80832)
Interface: Stop the secondary sidebar animating into place on page load. (81362)
Site editor: Fix sidebar item hover color. (81317)
theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema: Allow responsive states on block style variations. (81309)
Dashboard Widgets: Remove the Hello Dolly download action. (81272)
Decode HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in Identity fields. (81269)
Make downloadable block item labels translatable. (81237)
Edit Widgets: Fix headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. toolbar button focus ring. (81176)
Fix template modified and date return value for file templates. (80733)
Block Editor
Background: Fix the legacy gradient UI where a gradient cannot be selected. (81056)
Block Inspector: Disable the ‘Edit original’ button when the entity ID is missing. (81288)
Copy: Preserve the block when its entire text is selected. (80994)
Disclose the nested block count of a multi selection. (80745)
Fix Escape from the block toolbar and stop redundant last focus dispatches. (81319)
Fix empty list block with anchor persisting after backspace deletion. (77000)
Fix overflowing block UI being covered after a block is moved. (80824)
Link Control: Restore the preview title underline. (81083)
Make the Group action wrap blocks with a group transform. (80891)
PanelColorSettings: Restore the missing space below the panel header. (81155)
Quote & List v2: Deleting empty list item should delete list block. (42503)
Return false from isBlockSelected when there is no client ID. (81212)
Style states: Fix state deselection when selecting the already selected block. (81277)
URLInput: Skip search requests while an IME composition is in progress. (80602)
Writing flow: Forward delete an empty paragraph without breaking apart the next block. (80813)
Block Library
Clarify the GIF Video variation description. (81181)
Fix: Tabs block: Start with empty tab labels with placeholders. (81009, 81429)
Media: Reword the HEIC upload error and keep it up until dismissed. (81130)
Navigation Overlay Close: Inherit typography and color from the overlay. (80751)
Playlist: Improve audio conversion and track selection. (80926)
Playlist: Normalize Waveform Player configuration handling. (81342)
Post Author Biography: Fix horizontal overflow with long unbroken text. (81018)
Remove the editableRoot opt-in from the paragraph block. (81184)
Video: Hide settings for the GIF variation. (81142)
Fix: Add optional chaining for empty reusable block (#81165). (81177)
Components
Button: Suppress UA focus ring when focused and pressed. (81113)
DataViews: Fix array field type validation for empty values. (81378)
DataViews: Fix the between datefilterFilterFilters 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. losing a manually typed date on blur. (81150)
DataViews: Pass only eligible items to a bulk action callback. (81198)
Scope breakpoint media queries to screen so printing does not look like a resize. (81367)
Theme: Omit color properties when neither provided nor inherited. (80600)
Admin UI: Reset the wp-admin li margin that misaligns Breadcrumbs. (81134)
Post Editor
Add ThemeProvider for admin color schemes. (81112)
DataViews: Move the rich text control into the editor package. (81430)
Footnotes: Guard against invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. post metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. values. (81201)
RTC: Remove excess autosave notices (when not useful). (80539)
Render viewport state element styles in the editor. (81307)
Collaboration
Notes: Fix the mention notification email composition. (81187)
RTC: Disable custom autosave controller when RTC is disabled. (80769)
Accessibility
Fix: New route-based admin pages are empty when no JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (80628)
Interface: Remove incorrect aria-expanded from pin-to-toolbar button. (79874)
wp-build: Render the no-JS fallback in the generated page templates. (81365)
Block Editor
Block Mover: Add the keyboard shortcut to the buttons’ spoken description. (81380)
Components
Menu: Restore Modal focus return when menu items close. (81164)
Block Library
Tabs: Support Home and End keys for keyboard navigation. (80912)
List View: Collapse off-window placeholder rows into a single spacer row. (80953)
List View: Narrow the dependants of the memoized List View tree. (81129)
List View: Only subscribe to the block subtree for rows that can show images. (81076)
List View: Reduce per-row store subscriptions. (81136)
List View: Speed up opening by removing a forced style recalculation. (80929)
List View: Speed up opening by removing a second render pass. (80935)
List View: Pass only minimal required data to sub-tree branches. (81111)
List View: Split the context and drop dead props to cut re-renders on expand and collapse. (81159)
Documentation
Agents: Add a defensive data design skill and route to the copy guide. (81131)
Block JSON schema & PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Add autoRegister support. (80173)
Block Library: Document security patchpatchA 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. releases. (81295)
Changed Build Process Link and remove unused tags. (81360)
Docs: Explain how the theme.json schema fixtures work. (81263)
Docs: Fix broken Figma links on the design resources page. (81166)
Docs: Fix broken link to the Node.js debugging guide. (81398)
Docs: Fix broken links to the removed JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser.
https://www.javascript.com build setup guide. (81232)
Docs: Fix typo in block file structure guide. (81348)
Docs: Remove breakpoint-only element style example from global styles guide. (81308)
Docs: Remove dependency group import guidance. (81245)
Docs: Use gutenberg instead of Gutenberg in package name. (81051)
Keycodes: Make withIgnoreIMEEvents a public APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.. (81343)
Migrate Spinner styles from Emotion to SCSS module. (80511)
New kebab-case package: Extract utility and migrate private API calls. (81294)
Theme: Colocate pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. tests with implementations. (81247)
Types: Replace remaining @ts-expect-error suppressions with proper typing. (81200)
UI: Upgrade React DayPicker to version 10. (81439)
Spacing Sizes Control: Make the control label translatable independently of the input aria label. (81240)
URLInput: Simplify keyboard handling and fix arrow keys with a text selection. (80780)
Block Library
Cover: Avoid passing null as the featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. size. (81444)
List View: Replace expand/collapse callbacks with reducer dispatch. (81138)
Query: Guard non-scalar queryId to avoid fatal in enhanced pagination. (80724)
Revise CODEOWNERS for package ownership (removing nerrad). (81175)
ESLint: Ban @ts-ignore in favour of @ts-expect-error. (81148)
Testing
Automated Testing: Add Storybook component documentation regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. testing. (80655)
CI: Add job timeouts to E2E, static checks, bundle size, and create block. (80801)
CI: Build once and reuse the build across end-to-end tests shards. (81031)
CI: Cache the system packages Playwright downloads for WebKit. (80846)
Fix: TrunktrunkA 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. end-to-end failures caused by the navigation spec leaving plain permalinks. (81238)
Storybook e2e: Add small, compact and icon examples to button matrix. (80793)
Test: Add Vitest migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. routing guardrails. (81036)
Test: Add private Vitest configuration and migrate a pilot test. (81037)
Tests: Replace page-level selectors with locators in end-to-end specs. (81053)
The Accessibility Improvementsdev notedev noteEach 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. was published.
As of Aug 10th, 7.1 is branched. Committers: TrunktrunkA 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. is open for 7.2 and the 7.1 branchbranchA 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". requires double sign off.
More a metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. thing than coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., but it sounds like https://meta.trac.wordpress.org/ticket/1181 had some folks at WCUS discussing it this week. So if anyone has interest or experience there, commenting with feedback on the ticketticketCreated for both bug reports and feature development on the bug tracker. would be helpful.
The live meeting will focus on the discussion for upcoming releases, and have an open floor section.
The various curated agenda sections below refer to additional items. If you have ticketticketCreated 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 or bring them up during the dev chat.
Announcements 📢
Note: Dev Chat has been moved to Tuesdays at 15:00 UTC for the duration of the 7.1 release cycle.
The Accessibility Improvementsdev notedev noteEach 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. was published.
As of Aug 10th, 7.1 is branched. Committers: TrunktrunkA 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. is open for 7.2 and the 7.1 branchbranchA 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". requires double sign off.
WCUS 2026 is this week!! (and WordPress 7.1 is slated for release live at WCUS on August 19th.)
Discussions 💬
The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCoreCore 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.
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 indicate whether you intend to be available during the meeting for discussion or will be async.
A mandatory code freeze will be in effect from August 17, 2026 at 14:00 UTC through the General Release on Wednesday, August 19. It begins one hour ahead of the RC4 release at 15:00 UTC, which is followed immediately by the Dry Run. Committing does not reopen once the Dry Run is complete. At the request of the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers, the freeze has been extended beyond the usual 24 hours, so everyone has time to verify the release in full before it ships.
What does this mean?
No source code for 7.1.0 (i.e., in the 7.1 branchbranchA 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".) can be changed during the code freeze.
What happens if a critical bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. is reported during this period?
The release squad will meet with committers and maintainers to determine if the issue is a blockerblockerA bug which is so severe that it blocks a release..
If it is, another RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release happens and the release process restarts, meaning the Dry Run repeats and the code freeze starts again.
If it is not, the bug is targeted for the 7.1.1 release.
The Release Party
The WordPress 7.1 release party will run in two parts.
Part two will take place live on stage at WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US in Phoenix and will also be streamed. From August 19, 2026 at 23:10 UTC, WordPress 7.1 will be published from the event. The party in the #core Slack channel continues alongside it, where the remaining release tasks are completed.
Please note: releasing a major version requires more time than releasing a betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. or release candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).. There are more steps in the process. If any last-minute issues need addressing, those issues will take more time, as well.
How You Can Help
A key part of the release process is checking that the .zip packages work on all server configurations. If you have any less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher and MySQLMySQLMySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com will also need testing.
You can start this early by running the WordPress 7.1 RC packages, which are built using the same method as the final packages.
During the release party, you will be instructed on several ways to help test the release package.
Tips on What to Test
In particular, testing the following types of installs and updates would be much appreciated:
Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLIWP-CLIWP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/https://make.wordpress.org/cli/ or one-click installers.
Test upgrading from various versions.
Remove the wp-config.php file and test a fresh install.
Test single site and multisitemultisiteUsed 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/networknetwork(versus site, blog) (both subdirectory and subdomain) installations.
Testing the following user flows on both desktop and mobile would be great to validate each function as expected:
Publish a post, including a variety of different blocks.
Comment on the post.
Install a new pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party./theme, or upgrade an existing one.
Change the site language.
If you’re a plugin developer, or if there are complex plugins you depend upon, test that they’re working correctly.
For a more in-depth list of what features to test, make sure to check the Help Test WordPress 7.1
The fourth Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). (“RC4”) for WordPress 7.1 is ready for download and testing!
This version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it’s recommended that you evaluate RC4 on a test server and site.
Reaching this phase of the release cycle is an important milestone. While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 7.1 is the best it can be.
You can test WordPress 7.1 RC4 in four ways:
PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.
Install and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edgebleeding edgeThe latest revision of the software, generally in development and often unstable. Also known as trunk.” channel and “BetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process./RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). Only” stream).
Direct Download
Download the RC4 version (zip) and install it on a WordPress website.
Command Line
Use the following WP-CLI command: wp core update --version=7.1-RC4
The scheduled final release date for WordPress 7.1 is August 19, 2026. The full release schedule can be found here. Your help testing RC versions is vital to making this release as stable and powerful as possible.
WordPress 7.1 RC4 contains more than 26 updates and fixes since the RC3 release, including 8 in the Editor and 18 in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress..
Want to look deeper into the details and technical notes for this release? Take a look at the WordPress 7.1 Field Guide. For technical information related to issues addressed since WordPress 7.1 RC1 release, you can browse the following links:
WordPress is open sourceOpen SourceOpen Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.
Get involved in testing
Testing for issues is crucial to the development of any software. It’s also a meaningful way for anyone to contribute.
Your help testing the WordPress 7.1 RC4 version is key to ensuring that the final release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This detailed guide will walk you through testing features in WordPress 7.1.
If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. report. You can also check your issue against a list of known bugs.
For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.
Thanks for continuing to test your themes and plugins with the WordPress 7.1 beta releases. If you haven’t yet, make sure to conclude your testing and update the “Tested up to” version in your plugin’s readme file to 7.1
If you find compatibility issues, please post detailed information to the support forum.
Test on your hosting platforms
Web hosts provide vital infrastructure for supporting WordPress and its users. Testing on hosting systems helps inform the development process while ensuring that WordPress and hosting platforms are fully compatible, free of errors, optimized for the best possible user experience, and that updates roll out to customer sites without issue.
You must be logged in to post a comment.