Non classé

Gary: Claudaborative Editing 0.2: now with 500% more collaboration!

A week ago, I put together a quick tech demo, showing how an MCP server could be created for Claude Code that hooked directly into Gutenberg’s Collaborative Editing feature, allowing it to act as a digital collaborator on a post. The demo focused primarily on text generation, but that’s not really the benefit that I see coming with this kind of tool. Anyone can generate text, then copy/paste it into the editor. The real power comes from directly hooking into the entire post creation and editing process. What’s New? Since last week’s release, I’ve added a host of editing and review tools: /edit {tell the LLM how you want this post adjusted}Automatically make simple (or even not so simple!) edits on your post, giving your writing a little extra polish. /proofreadFind and automatically fix simple spelling, grammatical, and punctuation issues. /reviewRead the post, and leave notes (using Gutenberg’s Notes feature!) about suggested improvements to your post. This doesn’t touch your post content, leaving you to make use of the suggestions as you see fit. /respond-to-notesIf you’re happy with the notes left in the review, you can also have it automatically apply them, too! On top of that, I’ve also added an experimental /translate tool, to automatically translate a post into a different language. LLM translation quality varies significantly, though Claude is regularly considered to be quite good. It’s worth remembering that, like any LLM, the output is only as good as its input. If you’re translating to a language that it didn’t have much training data on, it’ll do a lot worse. Behind The Scenes The MCP server now does a much better job of making use of the REST API, too: it now handles all block types (and does a pretty good job of guessing how to use blocks provided by plugins!). It can upload media, and it can handle all the post metadata, like categories, tags, excerpt, etc. Getting It Running Inspired by the recently released WordPress.org MCP server, the install process got a refresh, too. If you’re running WordPress 7.0, you won’t even need to copy/paste the application password to connect to your site: just click the connect button in your browser, and your site will send credentials back to the installer! And if you’d prefer to avoid the magic, there’s still a –manual option to let you set it up the old-fashioned way. Connect Authorise Install What’s Next? This release shows how easy it is for an LLM to talk to your WordPress site. What about the other way? If you’re working on a post, you don’t want to have to switch to a terminal to get spell checking done, so how can we provide this kind of functionality directly from the block editor? Let’s experiment and find out!

Gary: Claudaborative Editing 0.2: now with 500% more collaboration! Lire la suite »

Gutenberg Times: WordPress 7.0 Source of Truth, Playground MCP, Gutenberg 22.8, PHP-only Blocks and more — Weekend Edition 362

Hi, In less than two weeks, WordPress 7.0 is scheduled to be released. Are you ready? Or are you someone I used to be who waits two to three weeks to see what quirks early adopters find and if they warrant an early point release? Be that as it may, waiting only delays the inevitable, though, sooner or later you get to benefit from the new features and quality of life improvements to the Admin, Editor and Blocks. The first version of the WordPress 7.0 Source of Truth has been published. It’s again a mammoth post of 4500 words, including 21 images and ten videos. I hope you enjoy the list of all the big and small feature and updates. Next week, I will be on my way to Mumbai. The next weekend edition will arrive in your inbox after WordCamp Asia, on April 17th, 2026. Yours, Birgit PS: Should you be in Mumbai, grab a coffee of lunch spot from my public calendar, I’d love to meet you! WordPress 7.0 WordPress 7.0 Release candidate 1 was moved to this week. The WordPress 7.0 RC2 was still on schedule for Thursday, though. Meanwhile, more Dev Notes were published. Pattern Overrides in WP 7.0 is your heads-up to act before the release lands. WordPress 7.0 lifts the old restriction — Pattern Overrides now work with any block attribute that supports Block Bindings, not just a hardcoded Core block list. You opt in via the block_bindings_supported_attributes filter, and the post walks you through edge cases for static blocks where a render_callback may still be needed. Pattern Editing in WordPress 7.0 explains that ContentOnly mode for unsynced patterns is now the default, meaning block structure and style controls are hidden from editors by default. Block authors need to audit « role »: « content » attributes in block.json, theme authors should test their patterns, and plugin developers should verify UI components still render correctly under the new, more broadly applied editing modes. Block Visibility in WordPress 7.0 dev note is relevant if your theme or plugin touches block markup server-side. The new viewport key inside blockVisibility metadata lets users show or hide blocks per device — mobile, tablet, desktop — via CSS, not DOM removal. If your code assumes blockVisibility is always a boolean, you’ll need to update it to handle an object too. No changes are needed if your blocks don’t interact with markup server-side. Anne McCarthy walks through one of WordPress 7.0’s most-requested features: viewport-based block visibility. You’ll see exactly how showing or hiding any block by screen size works in practice — no extra plugins or CSS workarounds needed — and why it is relevant for responsive design. If you’ve been waiting for a native way to tailor content for mobile, tablet, and desktop separately, this is your preview before the April 9th release. The Dimensions Support Enhancements in WordPress 7.0 comprise width and height as first-class block supports. Block builders and theme designer opt in with a single line in block.json, set defaults in theme.json, and the sidebar UI comes for free. Themes can also define named dimensionSizes presets, giving users a consistent palette rather than free-form inputs. If your block has custom width/height attributes today, this is a good moment to consider migrating. A long-requested feature finally lands in WordPress 7.0. The dev note on Custom CSS for Individual Block Instances hold all the details. The new customCSS block support — enabled by default for all blocks — adds a Custom CSS field in the Advanced panel of the block inspector, scoped automatically to that instance via a generated class. Block authors whose blocks wrap raw or opaque content should explicitly opt out via block.json. If your render_callback is in play, make sure your block’s outermost element is a standard HTML tag. A typography feature requested since 2021 finally arrives in WordPress 7.0, the dev note on the new textIndent block support has all the details for developers working on blocks or themes. Opt in with a single line in block.json, and a Line Indent control appears automatically in the Typography panel. Theme authors get theme.json configuration too, including a thoughtful subsequent vs all toggle that respects both LTR and RTL typographic conventions. No breaking changes — purely additive./ WordPress 7.0 ships a new Connectors API — and if you build AI-adjacent plugins, this dev note belongs on your reading list. The new framework standardizes how WordPress registers and manages connections to external services — starting with AI providers — giving you a consistent admin UI, API key management, and auto-discovery via the WP AI Client. Three providers ship out of the box: Anthropic, Google, and OpenAI. The wp_connectors_init action is your hook for registering additional connectors or overriding existing metadata. Felix Arntz details the new AI Client landing in WordPress 7.0 — a provider-agnostic PHP API that lets your plugin send prompts for text, images, speech, or video without touching credentials or provider logic. You chain methods on wp_ai_client_prompt(), declare model preferences, and WordPress routes to whatever the site owner has configured. Three official provider plugins cover Anthropic, Google, and OpenAI. Client-side JS exists but remains admin-only for now. Jorge Costa details the client-side Abilities API arriving in WordPress 7.0, the JavaScript counterpart to the PHP Abilities API introduced in 6.9. Two new packages handle it: @wordpress/abilities for pure state management and @wordpress/core-abilities for the WordPress integration layer that auto-fetches server-registered abilities via REST. You can register abilities with input/output schemas, permission callbacks, and annotations — laying the groundwork for browser agents and WebMCP integration. Gutenberg 22.8 Gutenberg 22.8 release lead Dean Sas highlighted in his post What’s new in Gutenberg 22.8? (25 March) the following features: Real-time Collaboration improvements Button pseudo-state styling in Global Styles Site Logo & Icon in the Design panel Connectors extensibility Other Notable Highlights The real-time collaboration improvements and the Connectors extensibility will make it into the WordPress 7.0 release. I had a blast chatting with Beth Soderberg from Bethink Studio on the recording of

Gutenberg Times: WordPress 7.0 Source of Truth, Playground MCP, Gutenberg 22.8, PHP-only Blocks and more — Weekend Edition 362 Lire la suite »

Gutenberg Times: WordPress 7.0 Source of Truth

Welcome to the Source of Truth for WordPress 7.0! Before you dive headfirst into all the big and small changes and pick your favorites, make sure to read these preliminary thoughts about this post and how to use it. If you have questions, leave a comment or email me at pauli@gutenbergtimes.com. Huge Thank You to all collaborators on this post: Anne McCarthy, Sarah Norris, Ella van Durpe, Maggie Cabrera, Ben Dwyer, Jonathan Bossenger, Justin Tadlock, Dave Smith, Courtney Robertson and a lot more. It’s takes a village… Estimated reading time 19–29 minutes at 4,579 words Table of Contents Changelog Important note/guidelines Overview  Important links: Assets  Tags Priority items for WordPress 7.0  Real-Time Collaboration (RTC) [enterprise][site admin] Navigation Overlays and more [theme builder][plugin author] [site admin] Treating patterns like a single block [all] AI in WordPress [enterprise][developers][site admin] Visual Revisions [all] New Blocks Breadcrumbs Block [all] Icon Block [all] Block Editor enhancements Custom CSS for Individual Blocks [enduser][site admin] [theme builder] Control viewport-based block visibility [all] Anchor support for dynamic blocks [developer][plugin author] Color Picker [end user][theme builder] [site admin] Dimension support for width and height [theme builder][site admin] Email notifications for Notes [all] Block Attributions Groups in the sidebar [all] Link Control validation [end user] [site admin] Improved Blocks and Block handling Pseudo Styles for Button Blocks [theme builder][site admin] Extra divs removed from blocks in the editor [theme builder][developer][site admin] Universal Text Alignment [all] Cover Block Video Embeds [site admin][end user] Gallery Block  Responsive Grid Block [site admin][end user][theme builder] Heading Block [site admin][end user] HTML Block Enhancement [site admin] [themebuilder] [end user] Image block inline editing and controls [site admin][end user] Math Block Improvements [end users][site admin] Paragraph [all] Query Loop Enhancements [all] Verse Block, renamed to Poetry [all] Admin / Workflow updates  Manage fonts for all themes in a dedicated page [site admin][theme builder] [enterprise] Command Palette in Adminbar [all] View Transitions  [all] Improved screens across WP-Admin  [all] Developer Goodies [developer][enterprise] PHP-only block registration Pattern Overrides for custom blocks DataViews, Data Form components and Fields API  UI Primitives and Components Changelog Any changes are cataloged here as the release goes on. First edition March 27, 2026 Important note/guidelines Try not to just copy and paste what’s in this post since it’s going to be shared with plenty of folks. Use this as inspiration for your own stuff and to get the best info about this release. If you do copy and paste, just remember that others might do the same, and it could lead to some awkward moments with duplicate content floating around online. Each item has been tagged using best guesses with different high-level labels so that you can more readily see at a glance who is likely to be most impacted. Each item has a high-level description, visuals (if relevant), and key resources if you would like to learn more. Overview Note: As always, what’s shared here is being actively pursued but doesn’t necessarily mean each will make it into the final release of WordPress 7.0. WordPress 7.0 introduces several new features and performance enhancements. Key new features include: Real-time collaboration: multiple users can now work on the same post. Navigation overlays: Customizable mobile menus for more flexible styling. Easier Pattern workflow: Patterns are now more like single blocks Visual revisions: new revisions screen from within the block editor to track changes to content and layout on the block level AI Foundation in WordPress: User can connect their site to an AI agent of choice, and plugin developer can register connection to external services. Furthermore, WordPress 7.0, entails: Two new blocks: the Icon block and the Breadcrumbs block Viewport-based block show/hide: Block visibility extended to customize display according to screen-sizes. Gallery lightbox navigation: improved browsing through images place in a gallery. Font management for all themes: The screen to upload and manage fonts is now available in the Appearance menu for classic and block themes. Many more quality of life changes for workflow and design tools made it into this release. You’ll find the complete list below. WordPress 7.0 is set to be released on April 9, 2026 at Contributor Day of WordCamp Asia. Of note, this release consists of features from the Gutenberg plugin version 22.0 – 22.6. Here are the release posts of those plugin releases: 22.0 | 22.1 | 22.2 | 22.3 | 22.4 | 22.5 | 22.6. Later Gutenberg releases contain bug fixes, backported to WordPress 7.0. release branches. Important links: Planning for 7.0 + update on Beta 1 WordPress 7.0 Development Cycle What’s new for developers: December, January, February, March 7.0 Field Guide Assets In this Google Drive folder you can view all assets in this document. Tags To make this document easier to navigate based on specific audiences, the following tags are used liberally: [end user]: end user focus. [theme builder]: block or classic theme author.  [plugin author]: plugin author, whether block or otherwise. [developer]: catch-all term for more technical folks. [site admin]: this includes a “builder” type. [enterprise]: specific items that would be of interest to or particularly impact enterprise-level folks [all]: broad impact to every kind of WordPress user. How can you use these? Use your browser’s Find capability and search for the string including the brackets. Then use the arrows to navigate through the post from one result to the next. Short video on how to use the tags to navigate the post. Priority items for WordPress 7.0 Real-Time Collaboration (RTC) [enterprise][site admin] Multiple users can now work on the same page at the same time, seeing each other’s changes as they happen. No more “someone else is editing this” warnings. Whether you’re co-writing a post, reviewing a layout, or making last-minute edits before publishing, everyone stays in sync without leaving the editor. It represents the biggest step toward achieving full collaborative editing, not only for newsrooms and big publishing houses. It also simplifies working on a site editing for agencies and their clients as well as designers and writers working together on a post. A presence indicator in the editor

Gutenberg Times: WordPress 7.0 Source of Truth Lire la suite »

Open Channels FM: Shaping Data Sovereignty and Internet Resilience

In recent years, the concept of data sovereignty has become increasingly important. As more countries introduce or tighten regulations around where and how data must be stored and protected, companies serving the global internet community face a unique set of challenges. These regulatory requirements force hosting providers and infrastructure companies to think not just about […]

Open Channels FM: Shaping Data Sovereignty and Internet Resilience Lire la suite »

Stop Losing Sales: How to Add a WooCommerce Cart Reserved Timer

The most frustrating part of running a WooCommerce store is watching a customer add a product to their cart only to disappear at the final second. You did the hard work of getting them to your site, but you miss out on the sale. When shoppers leave your products sitting in an open tab, they often get distracted and forget why they wanted them in the first place. This leads to a high cart abandonment rate that leaves money on the table. I recommend solving this by adding a ‘Cart Reserved’ timer. This simple tool gives shoppers a gentle nudge by letting them know their items are safe for a limited time. In this guide, I’ll show you how to use a cart timer to reduce abandonment in WooCommerce. Quick Summary: To add a cart timer to WooCommerce, enable the ‘Cart Reserved Timer’ module in the Merchant Pro plugin. You can then set a timer duration and choose an ‘Expiration Action’ like clearing the cart to keep your inventory moving and your customers focused. Here are the topics I will cover in this tutorial: Why Use a Cart Reserved Timer in WooCommerce? Step 1: Install and Activate the Merchant Plugin Step 2: Change to the Classic WooCommerce Cart Step 3: Enable the Cart Reserved Timer Module Step 4: Configure Your Reservation Rules Step 5: Styling the Timer to Match Your Brand Step 6: Testing the Merchant Experience Bonus Methods to Reduce Cart Abandonment in WooCommerce Frequently Asked Questions About WooCommerce Cart Timers Additional Resources for WooCommerce Stores Why Use a Cart Reserved Timer in WooCommerce? I used to think that creating urgency was just a pushy marketing trick. However, when I started talking to people who sell on WooCommerce, I realized that it is actually a highly effective way to overcome shopper hesitation and stop losing sales to minor distractions. When a shopper sees a dedicated timer counting down, it creates a sense of urgency that encourages them to grab their credit card and complete the purchase right then and there. Adding a reservation timer helps in several ways: Reduces ‘Tab Parking’: This is a common habit where users treat your cart like a temporary bookmark while they compare prices on other sites. A timer encourages them to finish the transaction now instead of leaving that tab open indefinitely. Enforces True Scarcity: By automatically clearing the cart when the timer expires, you prove to your shoppers that the time limit is real. They must make a buying decision now rather than using the cart as a permanent bookmark. Builds Professional Trust: This mirrors the high-end checkout experience used by airlines and ticket agencies. Increases Conversions: The timer automatically handles the ‘nudging’ for you, which can lead to more sales even when you’re not actively working on your online store. Instead of manually chasing down lost sales, this small change automates your checkout process. Here’s how to set it up on your website. Step 1: Install and Activate the Merchant Plugin Before we begin, make sure you already have the WooCommerce plugin installed and active on your website, as Merchant relies on it for the cart timer to work. I specifically chose the Merchant toolkit because it’s an all-in-one WooCommerce growth tool. It offers dozens of modules to improve an online store’s functionality, which is much faster than installing several different plugins for each small feature. Because Merchant Pro acts as an advanced extension to the free core plugin, you actually need to install two plugins for this to work. Merchant Pro adds the extra Cart Reserved Timer feature you will need for this tutorial. First, you need to install and activate the free Merchant plugin directly from the WordPress plugin repository. Because ‘merchant’ is a common word, the easiest way to find the right one is to type ‘aThemes Merchant’ into the search bar. Next, you need to download the Merchant Pro plugin from your account area and install and activate it on your WordPress site. If you haven’t done this before, our guide on how to install a WordPress plugin shows you exactly how to search for free plugins and upload premium zip files. Upon activation, you will need to enter your license key to unlock the premium modules. Simply head over to Merchant » Settings in your WordPress dashboard and look for the ‘License’ field. You can find this key in your purchase welcome email. Alternatively, you can log in to your aThemes account, go to the licenses section, and click the key (🔑) icon to reveal and copy your unique number. Just paste that key into the settings field on your website and click the ‘Activate’ button, and you’ll be ready to start converting those hesitant customers. Step 2: Change to the Classic WooCommerce Cart If you recently installed WooCommerce, your store is likely using the new WooCommerce cart block by default. However, the Merchant timer requires the classic cart layout to display correctly. Before you enable the Cart Reserved Timer module, you need to quickly swap the block on your Cart page. Don’t worry, this only takes a few seconds. First, go to Pages » All Pages in your WordPress dashboard. From here, hover over your ‘Cart’ page and click the ‘Edit’ link. Once you are inside the WordPress content editor, you need to delete the default cart. Because the WooCommerce cart is made up of many locked inner blocks (like ‘Cart Line Items’), the easiest way to remove the whole thing is by using the List View. Simply click the Document Overview icon (it looks like three staggered lines) at the top left of the editor screen. This will open a list of all the blocks on your page. Find the main ‘Cart’ block in that list, click the three-dot menu next to it, and select ‘Delete’ to remove the entire block from your page. Don’t worry, this only removes the visual layout. It does not delete your WooCommerce products or store data. Next,

Stop Losing Sales: How to Add a WooCommerce Cart Reserved Timer Lire la suite »

WordPress.org blog: WordPress 7.0 Release Candidate 2

The second Release Candidate (“RC2”) for WordPress 7.0 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 RC2 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.0 is the best it can be. You can test WordPress 7.0 RC2 in four ways: Plugin Install and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream.) Direct Download Download the RC2 version (zip) and install it on a WordPress website. Command Line Use this WP-CLI command: wp core update –version=7.0-rc2 WordPress Playground Use the WordPress Playground instance to test the software directly in your browser. No setup required – just click and go! The scheduled final release date for WordPress 7.0 is April 9, 2026. The full release schedule can be found here. Your help testing Beta and RC versions is vital to making this release as stable and powerful as possible. Thank you to everyone who helps with testing! Please continue checking the Make WordPress Core blog for 7.0-related posts in the coming weeks for more information. What’s in WordPress 7.0 RC2? What’s new in WordPress 7.0? Check out the Beta 1 announcement and 7.0 Developer Notes for details and highlights. For technical information related to issues addressed since RC1, you can browse the following links: GitHub commits since March 24, 2026 Closed Trac tickets since March 24, 2026 How you can contribute WordPress is open source 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.0 RC1 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.0. For those new to testing, follow this general testing guide for more details on getting set up. What else to test: Real Time Collaboration Pattern Editing and content-only Interactivity 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 bug report. You can also check your issue against a list of known bugs. Curious about testing releases in general? Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack. 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. Want to test WordPress on your hosting system? Get started with configuring distributed hosting tests here. Update your theme or plugin 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.0 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.0. If you find compatibility issues, please post detailed information to the support forum. Help translate WordPress Do you speak a language other than English? ¿Español? Français? Русский? 日本語? हिन्दी? বাংলা? मराठी? ಕನ್ನಡ? You can help translate WordPress into more than 100 languages. This release milestone (RC2) also marks the hard string freeze point of the 7.0 release cycle. An RC2 haiku Once just a dream, RC2 flows like a stream with seven-oh gleam. Props to @amykamala @annezazu for proofreading and review.

WordPress.org blog: WordPress 7.0 Release Candidate 2 Lire la suite »

Gary: Embed All The Things!

Over 10 years ago, we introduced the oEmbed API to WordPress, expanding how WordPress handled embedding to cover all WordPress sites. It was an intentional decision to focus on oEmbed at the time: we wanted to focus on the embedding mechanism that would give site owners maximum control over what their embeds looked like. The code we wrote back then still runs on tens of millions of WordPress sites every day. There was something extra that continued to bug me, however. What about all the other sites? oEmbed provides rich embed experiences, but not every site needs that. Sometimes, you just need a card with an image and a description, which is where OpenGraph has similarly stood the test of time. It provides a straightforward method for both site owners to create simple, rich embeds, and for service providers like Slack, Discord, or even Apple Messages to safely create a rich card to place alongside links. WordPress has grown since then, too. The big change is Gutenberg, of course, which really brought forward the idea that the editor should be a rich content experience, that shouldn’t just be reserved for the front end. With that in mind, I build a plugin to handle embedding all the other sites. OpenGraph Fallback Embed This is a block plugin that tries to avoid you using the block it provides if at all possible! Instead, it hooks into the end of the Embed block rendering process – if the URL you pasted couldn’t be embedded all the normal ways, this plugin will try a few more fall back options: OpenGraph, Twitter Card tags, or even just a plain description in the meta tags. It’s the kind of plugin that you can install, and never have to think about again. One of the nicest things about WordPress is how pluggable it is. Even as a long time WordPress Core developer, I don’t think everything needs to land in Core, sometimes a feature can live as handy little plugin. If you like everything just magically embedding, give this plugin a try!

Gary: Embed All The Things! Lire la suite »

Matt: Ari & X

I’m in NYC for the Stephan Wolfram dev/ai/nyc conversation tomorrow at the Automattic Noho space. While walking back from the Apple Store in Soho where I had picked up a new Studio Display XDR to try out, ran into one of my favorite YouTube accounts to follow right now, Ari at Home! I ran into him around 32 minutes into this Twitch stream. Here’s how he set up his rig. Ran into @ARIatTWIT walking back from @Apple store with new Studio XDR. ? Offered to get him set up on @WordPress or @Tumblr. Carrying the display was my workout for the day. pic.twitter.com/q3vgAG7Hxm — Matt Mullenweg (@photomatt) March 25, 2026 A video I’ve shared with friends recently is when Harry Mack ran into Ari, which was fun for me because they’re two of my favorite accounts to follow. Sorry I didn’t freestyle! I had to get back to do some work, which is why I got the monitor. In other cool X/Twitter news, they launched an awesome feature today that lets you restrict replies not just to people you follow, but to people they follow as well. Nikita gave a hat tip to the conversation I had with Peter Levels / @levelsio. Credit to @rsrbk123 @striedinger @x_belous @singhai for their work on this. And thanks @photomatt for the suggestion https://t.co/Gr2iD1O73Y — Nikita Bier (@nikitabier) March 25, 2026

Matt: Ari & X Lire la suite »

WordPress.org blog: WP Packages is Working the Way Open Source Should

When WP Engine acquired WPackagist on March 12, the WordPress developer community faced a familiar question: what happens when critical open source infrastructure ends up under corporate control? The community already had an answer in progress. Four days later, WP Packages (formerly WP Composer) launched as a fully independent, community-funded alternative, with some neat additional features. Built by Ben Words from Roots, the team behind Bedrock, Sage, and Trellis, WP Packages is a new open source Composer repository for WordPress plugins and themes. Composer is PHP’s dependency manager, and it is how many professional WordPress developers install and update plugins and themes in their projects. Every free plugin and theme in the WordPress.org directory is available through WP Packages. Migrating from WPackagist can be done via a single script or a few terminal commands. What Happened and Why It Matters WPackagist was created in 2013 by Outlandish, a UK-based digital cooperative, and it served the WordPress Composer ecosystem for over a decade. In its later years the project suffered from deferred maintenance, slow update cycles, and little to no community input. When WP Engine announced the acquisition, developers raised immediate concerns about a private-equity-backed corporation controlling infrastructure this foundational to the WordPress developer workflow. WP Engine immediately updated the Composer info field to display a “WPackagist is now maintained by WP Engine” notice in every developer’s terminal. A small thing, but telling. That’s how corporate ownership changes the relationship between a tool and its users. And it only took less than 24h for this to pop up on every composer run:« Info from https://t.co/1EEb4PZ9N2: WPackagist is now maintained by WP Engine. Learn more at https://t.co/89b2hBWxd9« Which I’m sure is a permanent message that will just shift to marketing. Prove me wrong https://t.co/HdcuQPkUqV — Jonathan de Jong (@jonathan_dejong) March 13, 2026 Ben had already started building a WPackagist replacement last August, long before the acquisition made headlines. When WP Engine’s deal landed, he accelerated the launch, going live on March 16 with a fully open source repository on GitHub. Open source repo ≠ transparent system. WP Packages makes everything public, including infrastructure and build process. – Ben Word on X It’s also just a better tool. WP Packages supports Composer v2’s metadata-url protocol, which lets Composer fetch metadata only for the packages a project actually needs. WPackagist still relies on the older provider-includes approach, forcing Composer to download large index files before resolving dependencies. Cold dependency resolves on WP Packages are roughly 17x faster: 0.7 seconds for 10 plugins compared to 12.3 seconds on WPackagist. WP Packages also uses CDN caching with public cache headers and serves immutable, content-addressed per-package files. Package naming is cleaner (wp-plugin/ and wp-theme/ instead of wpackagist-plugin/ and wpackagist-theme/), metadata includes plugin and theme authors, descriptions, and homepage URLs that WPackagist has been missing for years, and updates sync every five minutes rather than WPackagist’s roughly 90-minute cycle. How to Switch Switching from WPackagist to WP Packages requires just a few terminal commands. Remove your existing WPackagist packages: composer remove wpackagist-theme/twentytwentyfive Remove the WPackagist repository and add WP Packages: composer config –unset repositories.wpackagist && composer config repositories.wp-composer composer https://repo.wp-packages.org Require packages with the new naming: composer require wp-theme/twentytwentyfive Alternatively, use the migration script to automatically update your composer.json: curl -sO https://raw.githubusercontent.com/roots/wp-packages/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh Roots also provides a WP Packages Changelog Action for GitHub workflows that tracks dependency updates using the new naming format. Projects using Bedrock already ship with WP Packages configured out of the box. Open Source Wins The entire WP Packages project is public. The application code, documentation, and even the full Ansible deployment configuration are available on GitHub. Anyone can fork the repository and run their own WordPress Composer registry. Ben has also committed publicly that WP Packages will never use the Composer info field to push messages, ads, or upsells into developer terminals. That kind of restraint is easier to promise when a project answers to its community rather than to a corporate parent. WP Packages is funded through GitHub Sponsors. Current sponsors include Carrot, Kinsta, WordPress.com, and Itineris. The WordPress ecosystem has always been at its strongest when the community builds the tools it needs in the open. Ben saw a gap forming months before anyone else was paying attention, built something better than what existed, and released it for everyone. No acquisition required. No boardroom decisions about availability or pricing. Just developers solving a problem for other developers and sharing the result. Open source wins.

WordPress.org blog: WP Packages is Working the Way Open Source Should Lire la suite »