{"id":13928,"date":"2026-09-26T22:15:09","date_gmt":"2026-09-26T16:45:09","guid":{"rendered":"https:\/\/4ksamachar.com\/?p=13928"},"modified":"2026-09-26T22:15:09","modified_gmt":"2026-09-26T16:45:09","slug":"gutenberg-times-gutenberg-24-0-the-road-to-7-2-a-new-default-theme-named-ipsum-and-more-weekend-edition-377","status":"publish","type":"post","link":"https:\/\/4ksamachar.com\/?p=13928","title":{"rendered":"Gutenberg Times: Gutenberg 24.0, the road to 7.2, a new default theme named Ipsum, and more\u2014Weekend Edition 377"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Howdy,<\/p>\n<p class=\"wp-block-paragraph\">Before anything else: if you maintain WordPress sites, go update them. <a href=\"https:\/\/wordpress.org\/news\/2026\/09\/wordpress-7-1-2-release\/\" target=\"_blank\" rel=\"noopener\"><strong>WordPress 7.1.2<\/strong><\/a> shipped on September 22 to patch a single critical vulnerability in page template resolution, one that lets an unauthenticated attacker load a chosen PHP file from outside your active theme\u2019s directories.<\/p>\n<p class=\"wp-block-paragraph\">Now let\u2019s move on to better things. <strong>Anne McCarthy<\/strong> is <a href=\"https:\/\/nomad.blog\/2026\/09\/24\/auctioning-off-my-wordpress-release-albums\/\" target=\"_blank\" rel=\"noopener\"><strong>auctioning off her framed WordPress release albums<\/strong><\/a>, the ones given to release squad members. All the proceeds go to Stimpunks, a nonprofit started by <strong>Ryan Boren<\/strong>, who joined the project in 2003 and wrote the plugin system that nearly every site runs on. She calls the albums \u201ca form of a gold medal to me,\u201d and she built the auction site herself in a week. The starting bid is $500.<\/p>\n<p class=\"wp-block-paragraph\">We also learned this fortnight that the next default theme <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/16\/introducing-ipsum-the-new-default-theme\/\" target=\"_blank\" rel=\"noopener\"><strong>will be called Ipsum<\/strong><\/a>, which means 16 years of naming themes after the calendar is over. Admittedly, I\u2019ll miss the old <em>Twenty*<\/em> names a little. But it\u2019s time for something new for a new era.<\/p>\n<p class=\"wp-block-paragraph\">Two more quick things: WordPress has <a href=\"https:\/\/wordpress.org\/news\/2026\/09\/owa-president\/\" target=\"_blank\" rel=\"noopener\"><strong>taken its turn leading the Open Website Alliance<\/strong><\/a>, alongside Drupal, Joomla!, and TYPO3, with <strong>Mary Hubbard<\/strong> holding the rotating presidency for the WordPress Foundation. And starting with 7.2 in December, release parties <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/23\/iterating-from-live-events-to-livestreamed-releases\/\" target=\"_blank\" rel=\"noopener\"><strong>move from in-person events to livestreamed webinars<\/strong><\/a>, so the whole squad can actually be there.<\/p>\n<p class=\"wp-block-paragraph\">Enjoy your weekend!<\/p>\n<p class=\"wp-block-paragraph\">Your friendly neighborhood dev advocate, <img decoding=\"async\" alt=\"\ud83c\udf42\" class=\"wp-smiley\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/17.0.2\/72x72\/1f342.png\"><br \/><em>Justin Tadlock<\/em><\/p>\n<div class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-group has-accent-5-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-b14348ac wp-block-group-is-layout-constrained\">\n<p class=\"wp-block-paragraph\"><strong>Table of Contents<\/strong><\/p>\n<nav class=\"wp-block-table-of-contents\">\n<ul>\n<li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/gutenbergtimes.com\/feed\/#0-word-press-release-information\" target=\"_blank\" rel=\"noopener\">Developing Gutenberg and WordPress<\/a><\/li>\n<li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/gutenbergtimes.com\/feed\/#0-p\" target=\"_blank\" rel=\"noopener\">Plugins, Themes, and Tools for #nocode site builders and owners<\/a><\/li>\n<li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/gutenbergtimes.com\/feed\/#2-word-press-6-0-1-and-6-1-scheduled\" target=\"_blank\" rel=\"noopener\">Theme Development for Full Site Editing and Blocks<\/a><\/li>\n<li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/gutenbergtimes.com\/feed\/#3-building-themes-for-fse-and-word-press\" target=\"_blank\" rel=\"noopener\">Building Blocks and Tools for the Block editor<\/a><\/li>\n<li><a class=\"wp-block-table-of-contents__entry\" href=\"https:\/\/gutenbergtimes.com\/feed\/#ai-in-wordpress\" target=\"_blank\" rel=\"noopener\">AI in WordPress<\/a><\/li>\n<\/ul>\n<\/nav>\n<\/div>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<h2 class=\"wp-block-heading\">Developing Gutenberg and WordPress<\/h2>\n<p class=\"wp-block-paragraph\">Two security releases in six days. <a href=\"https:\/\/wordpress.org\/news\/2026\/09\/wordpress-7-1-2-release\/\" target=\"_blank\" rel=\"noopener\"><strong>WordPress 7.1.2<\/strong><\/a> is the urgent one, and it\u2019s security-only: an unauthenticated attacker can, under the right conditions, make page template resolution include a readable local PHP file from outside the active theme directories. <strong>John Blackbourn<\/strong> led the release, <strong>Robert Ressl<\/strong> disclosed it, and the fix was backported to every eligible branch going back to 4.7.<\/p>\n<p class=\"wp-block-paragraph\">Five days earlier, <a href=\"https:\/\/wordpress.org\/news\/2026\/09\/wordpress-7-1-1-maintenance-and-security-release\/\" target=\"_blank\" rel=\"noopener\"><strong>WordPress 7.1.1<\/strong><\/a> arrived as the regular maintenance release with 11 security fixes, 17 bug fixes on Core, and 19 for the Block Editor. <strong>Aaron Jorbin<\/strong> led it, and Anthropic is credited twice in the security list.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\"><strong>Aki Hamano<\/strong> announced <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/16\/whats-new-in-gutenberg-24-0-16-september\/\" target=\"_blank\" rel=\"noopener\"><strong>what\u2019s new in Gutenberg 24.0<\/strong><\/a>. The big feature: post title changes now show up in revisions with a proper diff, so you can stop guessing when a rename happened. The Gallery block gains a Grid variation with column count and \u201ccrop images to fit\u201d configurable per breakpoint, and Site Title picks up fit-text, scaling to the width available instead of a fixed point size. And nearly 100 icons were redrawn on a stroke-based grid.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Stalled out somewhere between \u201cclone the repo\u201d and \u201cwhy won\u2019t this build\u201d? <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/25\/wordpress-contributor-toolkit-1-2-one-app-for-your-first-core-or-gutenberg-contribution\/\" target=\"_blank\" rel=\"noopener\"><strong>Contributor Toolkit 1.2<\/strong><\/a> from <strong>JuanMa Garrido<\/strong> now covers Gutenberg as well as Core, and it runs a stock WordPress in Playground with your checkout mounted as the plugin, already activated. No local server, no Docker.<\/p>\n<h3 class=\"wp-block-heading\"><strong>The road to 7.2<\/strong><\/h3>\n<p class=\"wp-block-paragraph\"><strong>Anne McCarthy<\/strong> published the <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/18\/roadmap-to-7-2\/\" target=\"_blank\" rel=\"noopener\"><strong>roadmap to 7.2<\/strong><\/a>, and it looks to be a security-heavy cycle by WordPress standards. Sudo mode gates sensitive admin actions behind re-authentication, a new Secrets API gives credentials \u201ca first-class way to store credentials safely,\u201d and Application Passwords get hardened. Notes should gain a suggestion mode and emoji reactions. Designers get form element customization in Global Styles and custom block states. The final release lands in early December.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Real-time collaboration came out of WordPress 7.0, and <strong>Chris Zarate<\/strong> has now explained why in a post on <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/18\/moving-to-a-server-aware-approach-for-collaboration\/\" target=\"_blank\" rel=\"noopener\"><strong>moving to a server-aware approach for collaboration<\/strong><\/a>, written with <strong>Alec Geatches<\/strong>, <strong>Dennis Snell<\/strong>, <strong>ingeniumed<\/strong>, and <strong>Paul Kevan<\/strong>. The old design had browsers hold the post in a CRDT document and sync peer-to-peer, which broke three ways: the server couldn\u2019t tell who made which edit, opening the door to content laundering; REST API and WP-CLI updates couldn\u2019t participate, so saves became all-or-nothing overwrites; and a dropped connection could take your work with it. Three candidate sync engines are on the table, with a gutenberg-sync-engines repo to test against. If you build editorial tooling, have an opinion about this now.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">The next default theme has a name, and for the first time in well over a decade, it isn\u2019t a year. <strong>Henrique Iamarino<\/strong> introduced <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/16\/introducing-ipsum-the-new-default-theme\/\" target=\"_blank\" rel=\"noopener\"><strong>Ipsum<\/strong><\/a>, built with <strong>Carolina Nymark<\/strong>, <strong>Maggie Cabrera<\/strong>, and <strong>Juanfra Aldasoro<\/strong>. The reasoning behind the naming change: \u201cdefault themes will have their own names and change when the design calls for it, not when the calendar does.\u201d The theme is intentionally spare. It\u2019s blog-first, has minimal typesets, and structural elements that stay invisible until you need them. The request is simple: \u201ctry it and tell us what breaks and what\u2019s missing.\u201d<\/p>\n<figure class=\"wp-block-image size-large has-custom-border\"><img fetchpriority=\"high\" decoding=\"async\" alt=\"Screenshot of the Ipsum WordPress theme single post demo, including a Gallery block demo.\" class=\"has-border-color has-accent-5-border-color wp-image-47182\" height=\"1024\" src=\"https:\/\/i0.wp.com\/gutenbergtimes.com\/wp-content\/uploads\/2026\/09\/ipsum-single.jpg?resize=1006%2C1024&amp;ssl=1\" width=\"1006\"><\/figure>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\"><strong>Nik Tsekouras<\/strong> opened a <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/17\/call-for-testing-dataform-editor-inspector\/\" target=\"_blank\" rel=\"noopener\"><strong>call for testing the DataForm editor inspector<\/strong><\/a>, which rebuilds the Post and Page tab of the Settings sidebar so it stops drifting from Quick Edit in the Site Editor. Install Gutenberg 24.0 or later and enable <strong>Editor Inspector: Use DataForm<\/strong> under <strong>Settings \u2192 Gutenberg<\/strong>. Test it as an editor, author, and contributor, not just as an admin.<\/p>\n<h3 class=\"wp-block-heading\"><strong>Behind the release<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">A minor release can touch more than twenty branches, and much of that work was done by hand. <strong>Lance Willett<\/strong> opened a <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/23\/new-public-repo-core-release-tools\/\" target=\"_blank\" rel=\"noopener\"><strong>public repo of Core release tools<\/strong><\/a>, which includes tagging, release docs, SVN merge verification, and contributor lists.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\"><strong>Huzaifa Al Mesbah<\/strong> counted <a href=\"https:\/\/make.wordpress.org\/test\/2026\/09\/18\/thank-you-to-the-wordpress-7-1-test-contributors\/\" target=\"_blank\" rel=\"noopener\"><strong>84 people who tested WordPress 7.1<\/strong><\/a> across 337 Trac tickets. Fifty were first-timers, which is 60% of everyone who showed up. The most important line: \u201cyou don\u2019t need to be a developer.\u201d 7.2 testing is open now.<\/p>\n<h2 class=\"wp-block-heading\">Plugins, Themes, and Tools for #nocode site builders and owners<\/h2>\n<p class=\"wp-block-paragraph\">WooCommerce 11.2 lands the week of October 6, so read <strong>Shani Banerjee\u2019s<\/strong> <a href=\"https:\/\/developer.woocommerce.com\/2026\/09\/21\/woocommerce-11-2-0-pre-release-notes\/\" target=\"_blank\" rel=\"noopener\"><strong>pre-release notes<\/strong><\/a> before it arrives rather than after. Order withdrawal emails become configurable, the CSV importer can match products by Global Unique ID when neither ID nor SKU is available, and checkout fields gain date support with min\/max validation. Two of the seventeen developer advisories will bite if you ignore them: date filters in <code>wc_get_orders()<\/code> and <code>wc_get_products()<\/code> now read a bare date as a day in your store\u2019s timezone rather than UTC, and the Cart and Checkout order summary becomes a fixed 360px column with the two-column breakpoint moving from 700px to 920px.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Two dot releases arrived in between, both flagged as security updates. <a href=\"https:\/\/developer.woocommerce.com\/2026\/09\/22\/woocommerce-11-1-2\/\" target=\"_blank\" rel=\"noopener\"><strong>WooCommerce 11.1.2<\/strong><\/a> fixes the infinite recursion that was breaking product variation galleries, and <a href=\"https:\/\/developer.woocommerce.com\/2026\/09\/18\/woocommerce-11-1-1\/\" target=\"_blank\" rel=\"noopener\"><strong>11.1.1<\/strong><\/a> hardened API permissions and session handling.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">The latest <a href=\"https:\/\/wordpress.com\/blog\/2026\/09\/15\/changelog-custom-ai-themes\/\" target=\"_blank\" rel=\"noopener\"><strong>WordPress.com changelog<\/strong><\/a> moves the AI website builder from picking a theme to generating one: on Premium and Business plans, it \u201cnow generates a fully custom theme built around your goals and brand.\u201d A new <strong>Annotate<\/strong> feature lets you queue several targeted edits and send them at once.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">GatherPress started on a fourteen-hour drive to WordCamp US in 2018, when two Montclair meetup organizers came up with a name and then didn\u2019t write any code for nine months. <strong>Rae Morey<\/strong> tells the story of <a href=\"https:\/\/www.therepository.email\/how-gatherpress-grew-from-a-road-trip-idea-to-wordpress-meetup-com-replacement\" target=\"_blank\" rel=\"noopener\"><strong>how it grew into WordPress\u2019 Meetup.com replacement<\/strong><\/a>, through July of this year, when Automattic\u2019s <strong>Karen Arnold<\/strong> confirmed WordPress is going ahead with it. The gatherpress.org domain is transferring to the Foundation, and the plugin has been testable at events.wordpress.org since August 28. No launch date yet, and co-maintainer <strong>Mervin Hernandez Sitnikovski<\/strong> would rather you help than wait.<\/p>\n<h2 class=\"wp-block-heading\">Theme Development for Full Site Editing and Blocks<\/h2>\n<p class=\"wp-block-paragraph\">WooCommerce has a new block theme. <strong>Brian Coords<\/strong> announced that <a href=\"https:\/\/developer.woocommerce.com\/2026\/09\/15\/purple\/\" target=\"_blank\" rel=\"noopener\"><strong>Purple is back and ready for beta testing<\/strong><\/a>. The project was paused during a strategy update last year, and it\u2019s Woo\u2019s first official block theme. <\/p>\n<figure class=\"wp-block-image size-full has-custom-border\"><img decoding=\"async\" alt=\"\" class=\"has-border-color has-accent-6-border-color wp-image-47183\" height=\"1708\" src=\"https:\/\/i0.wp.com\/gutenbergtimes.com\/wp-content\/uploads\/2026\/09\/purple-frontpage.jpg?resize=2048%2C1708&amp;ssl=1\" width=\"2048\"><\/figure>\n<p class=\"wp-block-paragraph\">Ten color palettes, ten font pairings, custom styles for both WooCommerce and core blocks, and templates covering everything from Shop to Checkout to My Account. The inserter category is being renamed from \u201cWooCommerce\u201d to \u201cShop.\u201d If you\u2019re wondering where Storefront\u2019s featured extensions went, block editing absorbed most of them. <strong>Peter Schimke<\/strong> also notes that <a href=\"https:\/\/wordpress.com\/blog\/2026\/09\/16\/purple-woocommerce-theme\/\" target=\"_blank\" rel=\"noopener\"><strong>Purple is now the default for new WordPress.com Commerce stores<\/strong><\/a>.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Mark your calendar for <strong>Wednesday, September 30 at 10 a.m. PDT \/ 1 p.m. EDT \/ 7 p.m. CEST<\/strong>: Woo is hosting a live session on <a href=\"https:\/\/developer.woocommerce.com\/2026\/09\/17\/block-theme-event\/\" target=\"_blank\" rel=\"noopener\"><strong>building with WooCommerce block themes<\/strong><\/a>. <strong>Mike McAlister<\/strong> of Ollie joins Woo engineers <strong>Karol Manijak<\/strong> and <strong>Lucio Giannotta<\/strong>. There\u2019s a Q&amp;A at the end and a recording afterward, but questions only work if you show up.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">\u201cWe need more workflow in Core,\u201d said <strong>K. Adam White<\/strong>, principal engineer at Human Made, talking with <strong>Nathan Wrigley<\/strong> on WP Tavern about <a href=\"https:\/\/wptavern.com\/podcast\/234-k-adam-white-on-migrating-to-blocks-with-artisanal-care-and-enterprise-efficiency\" target=\"_blank\" rel=\"noopener\"><strong>migrating to blocks with artisanal care and enterprise efficiency<\/strong><\/a>. At the center of it is Human Made\u2019s open-source <strong>Rehydrator<\/strong>, which uses pattern HTML as a template and injects migrated content into it, so structure and styling survive a move off something like Sitecore. He describes building SQLite databases from client exports just to find the edge cases. He\u2019s candid about the gaps, too: granular permissions, editorial approval workflows, and internationalization.<\/p>\n<div class=\"wp-block-newsletterglue-showhide ng-block\">\n<figure class=\"wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts\">\n<div class=\"wp-block-embed__wrapper\">\n<\/div>\n<\/figure>\n<\/div>\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"ng-block-78f3e4d6e44ce8db wp-block-newsletterglue-container ng-block\" width=\"100%\">\n<tbody>\n<tr>\n<td class=\"ng-block-vs ng-block-vs-1\" colspan=\"3\" height=\"0\"><\/td>\n<\/tr>\n<tr>\n<td class=\"ng-block-hs ng-block-hs-1\" height=\"0\"><\/td>\n<td align=\"none\" class=\"ng-block-td\">\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"wp-block-newsletterglue-text ng-block\" width=\"100%\">\n<tbody>\n<tr>\n<td align=\"none\" class=\"ng-block-td\">\n<p><strong> <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/\" rel=\"noreferrer noopener\" target=\"_blank\">\u201cKeeping up with Gutenberg \u2013 Index 2026\u201d<\/a> <\/strong><br \/>A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly.\u2002<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"wp-block-newsletterglue-text ng-block\" width=\"100%\">\n<tbody>\n<tr>\n<td align=\"none\" class=\"ng-block-td\">\n<p>The previous years are also available: <br \/><strong><strong><a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/keeping-up-with-gutenberg-index-2020\/\" target=\"_blank\" rel=\"noopener\">2020<\/a> | <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/keeping-up-with-gutenberg-index-2021\/\" target=\"_blank\" rel=\"noopener\">2021<\/a><\/strong> | <strong><a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/keeping-up-with-gutenberg-index-2022\/\" target=\"_blank\" rel=\"noopener\">2022<\/a><\/strong><\/strong> | <strong><a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/gutenberg-index-2023\" target=\"_blank\" rel=\"noopener\">2023<\/a><\/strong> | <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/gutenberg-index-2024\/\" target=\"_blank\" rel=\"noopener\"><strong>2024<\/strong><\/a> | <strong><a href=\"https:\/\/make.wordpress.org\/core\/handbook\/references\/keeping-up-with-gutenberg-index\/gutenberg-index-2025\/\" target=\"_blank\" rel=\"noopener\">2025<\/a><\/strong><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<td class=\"ng-block-hs ng-block-hs-2\" height=\"0\"><\/td>\n<\/tr>\n<tr>\n<td class=\"ng-block-vs ng-block-vs-2\" colspan=\"3\" height=\"0\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"wp-block-heading\">Building Blocks and Tools for the Block editor<\/h2>\n<p class=\"wp-block-paragraph\"><em>Your Query Loop returns nothing, and the heading and pagination you wrapped around it render anyway. <\/em><strong>Ryan Welcher<\/strong> spent a live stream <a href=\"https:\/\/www.youtube.com\/watch?v=RaW-0fsXVBM\" target=\"_blank\" rel=\"noopener\"><strong>adding a \u201chide if empty\u201d control to Advanced Query Loop<\/strong><\/a>, his free plugin that extends the core Query Loop with taxonomy relationships, meta queries, and relative date filters.<\/p>\n<div class=\"wp-block-newsletterglue-showhide ng-block\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\">\n<\/div>\n<\/figure>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Gutenberg\u2019s JavaScript tests have moved off Jest. <strong>Marco Ciampini<\/strong> explains that <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/23\/gutenbergs-javascript-unit-and-integration-tests-now-use-vitest\/\" target=\"_blank\" rel=\"noopener\"><strong>unit and integration tests now use Vitest<\/strong><\/a>, driven by ESM: as more dependencies shipped ECMAScript modules, the CommonJS-based Jest setup needed more and more compatibility glue. The part that affects you: @wordpress\/scripts 36.0.0 makes Vitest the default for test-unit-js, with @wordpress\/eslint-plugin 27.0.0 following. Not ready to migrate? Switch to wp-scripts test-unit-jest and install the Jest dependencies yourself.<\/p>\n<h2 class=\"wp-block-heading\"><strong>AI in WordPress<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">Your agent builds you a landing page, and then what? It sits in a chat log, or a folder, or a local dev server nobody else can reach. That\u2019s the gap <strong>Spacefast<\/strong> is built for, and Automattic soft-launched it this week: <strong>Matt Mullenweg<\/strong> <a href=\"https:\/\/x.com\/photomatt\/status\/2102877364296257558\"><strong>announced it on X<\/strong><\/a>. The pitch is the last mile for agent output: publish from a conversation with Claude or ChatGPT, from <code>npx spacefast publish<\/code>, or from a GitHub push, and get a permanent URL with immutable versions, one-click rollback, and access controls. It hosts full-stack projects, not just static files.<\/p>\n<p class=\"wp-block-paragraph\">The WordPress hook is a <a href=\"https:\/\/github.com\/spacefast\/wordpress\" target=\"_blank\" rel=\"noopener\"><strong>Spacefast plugin<\/strong><\/a> with two modes. Static mode hooks into Simply Static, exports your site, and publishes the snapshot. Headless mode treats WordPress as the content source for a repository project, triggering a production rebuild when you publish or update public content.<\/p>\n<h3 class=\"wp-block-heading\"><strong>MCP turns up everywhere<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">WordPress Trac now speaks MCP. <strong>Lance Willett<\/strong> announced a <a href=\"https:\/\/make.wordpress.org\/core\/2026\/09\/24\/wordpress-trac-mcp-server\/\" target=\"_blank\" rel=\"noopener\"><strong>Trac MCP server<\/strong><\/a> that\u2019s \u201cpublic and free to use: no account or API key needed.\u201d Ask what\u2019s left on a ticket and which pull requests are still open, or what someone committed in January 2005\u2014<em>yes, it goes back that far<\/em>. It covers every WordPress.org Trac, from Core and Meta to bbPress and GlotPress. <strong>James LePage<\/strong> wrote the first version, with props to <strong>Jon Surrell<\/strong>, <strong>David Newman<\/strong>, and <strong>Konstantin Obenland<\/strong>.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\"><strong>Jamie Marsland<\/strong> makes the case for <a href=\"https:\/\/www.pootlepress.com\/2026\/09\/why-webmcp-is-going-to-be-big-for-wordpress\/\" target=\"_blank\" rel=\"noopener\"><strong>why WebMCP is going to be big for WordPress<\/strong><\/a> and, more usefully, shows you how to try it this afternoon: open the ChatGPT desktop app in Work mode, load WordPress Playground in its built-in browser, and ask it to build you a homepage. His framing is the clearest I\u2019ve read. WebMCP gives an assistant \u201can instruction manual with working buttons\u201d instead of making it squint at screenshots.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">For the enterprise view of the same shift, <strong>Shane Schick<\/strong> compares <a href=\"https:\/\/wpvip.com\/blog\/webmcp-vs-traditional-mcp\/\" target=\"_blank\" rel=\"noopener\"><strong>WebMCP and traditional MCP<\/strong><\/a> and lands on a line I\u2019d pull out of the whole piece: \u201cMCP is not going away, and WebMCP shouldn\u2019t be seen as a rival protocol.\u201d His table sets them side by side on deployment, access scope, scalability, and auditability. That auditability row is the one that matters if you answer to a compliance team.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Schick also introduces <a href=\"https:\/\/wpvip.com\/blog\/introducing-parse-ly-mcp\/\" target=\"_blank\" rel=\"noopener\"><strong>Parse.ly MCP<\/strong><\/a>, which connects Parse.ly data to whichever assistant your team already uses. You authorize once with your existing login, and the assistant sees exactly the sites your account already sees. \u201cAnalysis that used to take a request and a day now takes a conversation.\u201d<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">One more, for the security-conscious: WPShout walks through <a href=\"https:\/\/wpshout.com\/connect-cursor-to-wordpress-mcp\/\" target=\"_blank\" rel=\"noopener\"><strong>connecting Cursor to WordPress with MCP<\/strong><\/a> using ThemeIsle\u2019s Easy MCP AI plugin. Every tool call still passes a WordPress capability check, with a 60-requests-per-minute default. Their advice is the part to take seriously: \u201cread-only first, watch the audit log for a week, then grant write scopes deliberately.\u201d<\/p>\n<h3 class=\"wp-block-heading\"><strong>Putting agents to work<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">Anthropic open-sourced its commerce agents on September 2, and WooCommerce has already adapted them. <strong>Shani Banerjee<\/strong> walks through <a href=\"https:\/\/developer.woocommerce.com\/2026\/09\/16\/wc-claude-commerce-agent\/\" target=\"_blank\" rel=\"noopener\"><strong>running the Claude Commerce Agent on WooCommerce<\/strong><\/a>, which spins up a demo store with eight products and nine orders in about fifteen minutes. The neat piece is a bridge plugin: the assistant\u2019s cart lives under a Store API token your browser session can\u2019t see, so at checkout the plugin re-adds each item to your real cart with normal stock checks. Merchant-side changes stage behind an approval gate, and \u201cask it to approve itself and it declines.\u201d<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">There\u2019s a second kind of visitor to design for now. <strong>Carlo Daniele<\/strong> argues for <a href=\"https:\/\/kinsta.com\/blog\/wordpress-for-ai-agents\/\" target=\"_blank\" rel=\"noopener\"><strong>building WordPress for AI agents instead of just human visitors<\/strong><\/a>, and the distinction he draws is the useful one: \u201cCrawlers primarily retrieve or index information. Agents can go a step further and take action on a user\u2019s behalf.\u201d That turns architecture questions into permission questions: who is asking, on whose behalf, what can they change, which actions need approval. The Abilities API and MCP Adapter are where WordPress answers them.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">A week later, Daniele turned to operations. <a href=\"https:\/\/kinsta.com\/blog\/ai-wordpress-operators\/\" target=\"_blank\" rel=\"noopener\"><strong>What happens when AI agents become your new website operators?<\/strong><\/a> works through a five-stage autonomy ladder and argues most teams should sit partway up it for a while. I feel like he\u2019s right about that. As he puts it: \u201cAn agent that makes a bad production change creates another.\u201d<\/p>\n<h3 class=\"wp-block-heading\"><strong>Learning and practice<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">Want a structured introduction rather than a pile of blog posts? <strong>Destiny Kanno<\/strong> announced that the <a href=\"https:\/\/make.wordpress.org\/ai\/2026\/09\/18\/xpost-the-ai-powered-wordpress-course-is-now-live-on-learn-wordpress\/\" target=\"_blank\" rel=\"noopener\"><strong>AI-Powered WordPress course is now live on Learn WordPress<\/strong><\/a>: four modules, 23 lessons, roughly nine hours. The first three are for anyone who publishes; the fourth introduces the developer APIs and assumes no prior PHP experience.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">The AI team\u2019s <a href=\"https:\/\/make.wordpress.org\/ai\/2026\/09\/16\/ai-contributor-weekly-summary-16-september-2026\/\" target=\"_blank\" rel=\"noopener\"><strong>contributor summary for September 16<\/strong><\/a> is a good snapshot of what\u2019s actually moving. <strong>neillmcshea<\/strong> reports work on markdown feeds for the AI plugin, so AI clients can request a markdown version of a post. PHP AI Client 1.5.0 is close. There are still open gaps in web search support. For example, message parts can\u2019t represent source annotations, and citation URLs are hard to retrieve.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"wp-block-paragraph\">Finally, a piece for the conversations you have with clients rather than with a terminal. <strong>Will Davis<\/strong> writes about <a href=\"https:\/\/humanmade.com\/ai\/how-wordpress-agencies-use-ai-and-what-clients-should-ask\/\" target=\"_blank\" rel=\"noopener\"><strong>how WordPress agencies use AI, and what clients should ask about it<\/strong><\/a>, arguing that the honest uses are the boring ones\u2014code generation, QA, content migration, documentation\u2014while architecture and governance stay human. His five questions for clients would work just as well on a sales call, starting with \u201cWhat does a person review before it reaches me?\u201d As he puts it, AI \u201cgenuinely reduces repetitive work, but it doesn\u2019t replace judgment.\u201d<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"ng-block-4e3d3c38a6aa0a84 wp-block-newsletterglue-container ng-block\" width=\"100%\">\n<tbody>\n<tr>\n<td class=\"ng-block-vs ng-block-vs-1\" colspan=\"3\" height=\"0\"><\/td>\n<\/tr>\n<tr>\n<td class=\"ng-block-hs ng-block-hs-1\" height=\"0\"><\/td>\n<td align=\"none\" class=\"ng-block-td\">\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"wp-block-newsletterglue-text ng-block\" width=\"100%\">\n<tbody>\n<tr>\n<td align=\"none\" class=\"ng-block-td\">\n<p><strong><a href=\"https:\/\/gutenbergtimes.com\/need-a-zip-from-master\/\" target=\"_blank\" rel=\"noopener\">Need a plugin .zip from Gutenberg\u2019s master branch?<\/a><\/strong><br \/>Gutenberg Times provides daily build for testing and review.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"wp-block-newsletterglue-image ng-block size-full is-resized\" width=\"100%\">\n<tbody>\n<tr>\n<td align=\"center\" class=\"ng-block-td\"><a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/gutenbergtimes.com\/wp-content\/uploads\/2020\/11\/playnightly.json\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" alt=\"\" class=\"wp-image-42874 ng-image\" height=\"45\" src=\"https:\/\/i0.wp.com\/gutenbergtimes.com\/wp-content\/uploads\/2024\/02\/Screenshot-2025-11-15-at-12.06.44.png?resize=196%2C45&amp;ssl=1\" width=\"196\"><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table cellpadding=\"0\" cellspacing=\"0\" class=\"wp-block-newsletterglue-text ng-block\" width=\"100%\">\n<tbody>\n<tr>\n<td align=\"none\" class=\"ng-block-td\">\n<p>Now also available via <a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/gutenbergtimes.com\/wp-content\/uploads\/2020\/11\/playnightly.json\" target=\"_blank\" rel=\"noopener\">WordPress Playground<\/a>. There is no need for a test site locally or on a server. Have you been using it? <a href=\"mailto:pauli@gutenbergtimes.com\">Email me <\/a>with your experience.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<td class=\"ng-block-hs ng-block-hs-2\" height=\"0\"><\/td>\n<\/tr>\n<tr>\n<td class=\"ng-block-vs ng-block-vs-2\" colspan=\"3\" height=\"0\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide is-style-wide--1\">\n<p class=\"has-text-align-center has-small-font-size wp-block-paragraph\"><em>Questions? Suggestions? Ideas? <\/em><br \/><em>Don\u2019t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email<\/a> or<\/em><br \/><em> send me a message on WordPress Slack or Twitter @bph<\/em>.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n<p class=\"has-text-align-center has-small-font-size wp-block-paragraph\">For questions to be answered on the <a href=\"http:\/\/gutenbergtimes.com\/podcast\" target=\"_blank\" rel=\"noopener\">Gutenberg Changelog<\/a>, <br \/>send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com<\/a><\/p>\n<div class=\"ng-block-411bc75702af4d9a wp-block-newsletterglue-separator ng-block\">\n<div>\n<div>\n<div align=\"center\" class=\"ng-block-td\">\n<hr>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide is-style-wide--2\">\n","protected":false},"excerpt":{"rendered":"<p>Howdy, Before anything else: if you maintain WordPress sites, go update them. WordPress 7.1.2 shipped on September 22 to patch a single critical vulnerability in page template resolution, one that lets an unauthenticated attacker load a chosen PHP file from outside your active theme\u2019s directories. Now let\u2019s move on to better things. Anne McCarthy is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":13929,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13928","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"blog_post_layout_featured_media_urls":{"thumbnail":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-150x150.jpg",150,150,true],"full":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V.jpg",1006,1024,false]},"categories_names":{"1":{"name":"Uncategorized","link":"https:\/\/4ksamachar.com\/?cat=1"}},"tags_names":[],"comments_number":"0","wpmagazine_modules_lite_featured_media_urls":{"thumbnail":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-150x150.jpg",150,150,true],"cvmm-medium":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-300x300.jpg",300,300,true],"cvmm-medium-plus":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-305x207.jpg",305,207,true],"cvmm-portrait":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-400x600.jpg",400,600,true],"cvmm-medium-square":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-600x600.jpg",600,600,true],"cvmm-large":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V.jpg",1006,1024,false],"cvmm-small":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V-130x95.jpg",130,95,true],"full":["https:\/\/4ksamachar.com\/wp-content\/uploads\/2026\/09\/ipsum-single-OFMR6V.jpg",1006,1024,false]},"_links":{"self":[{"href":"https:\/\/4ksamachar.com\/index.php?rest_route=\/wp\/v2\/posts\/13928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/4ksamachar.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/4ksamachar.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/4ksamachar.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/4ksamachar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13928"}],"version-history":[{"count":0,"href":"https:\/\/4ksamachar.com\/index.php?rest_route=\/wp\/v2\/posts\/13928\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/4ksamachar.com\/index.php?rest_route=\/wp\/v2\/media\/13929"}],"wp:attachment":[{"href":"https:\/\/4ksamachar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/4ksamachar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/4ksamachar.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}