20 Dec 2025

feedDrupal.org aggregator

Freelock Blog: Can You Skip the Navigation? Bypass Blocks

Day 20 - Bypass Blocks


Imagine navigating a website with only your keyboard. You hit Tab to move through interactive elements. First tab: logo link. Second tab: search box. Third tab: first navigation link. Fourth, fifth, sixth tabs: more navigation links. Seventh tab: social media icons. Eighth tab: language selector. Finally, after nine or ten tab presses, you reach the actual content of the page.

Now imagine doing this on every single page you visit. Every. Single. Time.

Read More

20 Dec 2025 4:30pm GMT

LostCarPark Drupal Blog: Advent Calendar day 20 – Using Storybook To Preview Single Directory Components

Advent Calendar day 20 - Using Storybook To Preview Single Directory Components james

Door 20 depicts a book with scenes from children's fairytales on the cover

Welcome back to day 20 of the Drupal Advent Calendar, where we look at a talk from DrupalCamp Scotland, where Philip Norton of Code Enigma and #! Code discussed ways of making Single Directory Components easier to use with design tools.

Philip Norton wearing a #! code t-shirtThe talk introduces how Storybook can be effectively integrated with Drupal using Single Directory Components (SDCs). Historically, Storybook and Drupal required duplicating front-end work, but SDCs now allow developers to build components once in Drupal and place them directly in Storybook. This fits well with modern Drupal theming practices and prepares for…

20 Dec 2025 9:00am GMT

19 Dec 2025

feedDrupal.org aggregator

Freelock Blog: Does Your Browser Know What You're Asking For? Identify Input Purpose

Day 19 - Identify Input Purpose


You're checking out on an e-commerce site for the tenth time this month. You start typing your shipping address... and your browser suggests the wrong address. You're trying to enter your work email, and it keeps suggesting your personal email. You give up and type everything manually, again.

Or maybe you're someone with a cognitive disability who struggles to remember your address. Your browser could help you fill in forms automatically - but only if the website tells the browser what kind of information each field expects.

Read More

19 Dec 2025 4:00pm GMT

The Drop Times: Two Builders, One Drupal: Where UI Suite Really Stands

In this interview with The DropTimes, Michael Fanini reflects on more than a decade of Drupal contribution, the evolution of the UI Suite Initiative, and the thinking behind Display Builder. He discusses design systems, Drupal core APIs, and how UI Suite positions itself alongside initiatives like Canvas, offering a grounded perspective on where Drupal's front end is heading.

19 Dec 2025 12:58pm GMT

DrupalCon News & Updates: 🎄 The best gift is a head start. Secure your spot for DrupalCon Chicago 2026 before the holiday break! ❄️

As the holiday season arrives, many in the Drupal community are beginning to slow down, reflect on the year gone by, and think ahead to what's next. While this time of year often brings a welcome pause, it is also an ideal moment to plan for the opportunities that lie ahead in 2026.

One important step worth taking before the year wraps up is registering for DrupalCon Chicago 2026.

Image
Holiday season Chicago

DrupalCon continues to be the flagship gathering for the global Drupal community. It brings together developers, designers, marketers, strategists, agency leaders, and contributors from around the world to learn, collaborate, and share experiences.

Each DrupalCon offers a unique opportunity to explore the latest developments in Drupal, exchange practical knowledge, and strengthen connections across the ecosystem.

Registering early allows attendees to plan with confidence. With a confirmed spot, it becomes easier to align professional development goals, secure organizational support, and plan travel well in advance. Early registration also helps reduce last-minute pressure as the event approaches, making the overall experience smoother and more enjoyable.

DrupalCon Chicago 2026 will feature a diverse program designed to support learning and collaboration across roles and experience levels.

Attendees can expect:

  • Insightful sessions covering Drupal CMS, AI, and digital experience platforms
  • Keynotes from leaders within the Drupal community and beyond
  • Opportunities to engage directly with contributors, maintainers, and peers
  • Meaningful discussions that extend beyond sessions into the wider community

The host city adds another dimension to the experience. Chicago offers a rich blend of culture, architecture, and innovation, providing an inspiring setting for conversations about the future of open-source technology and digital experiences. DrupalCon Chicago 2026 is set to be both professionally rewarding and personally memorable.

As the year comes to a close, this is a good time to make thoughtful decisions for the year ahead. Before fully stepping into the holiday break, consider taking a moment to register for DrupalCon Chicago 2026. It's a simple action now that helps set the stage for learning, connection, and growth in the coming year.

Image
Early bird


Early Bird registration for DrupalCon Chicago 2026 is open until 5 January 2026, 7:59 am CST, and community members are encouraged to register soon to secure their participation.

Authored By: Iwantha Lekamge, DrupalCon Chicago 2026 Marketing & Outreach Committee Member

19 Dec 2025 12:44pm GMT

LostCarPark Drupal Blog: Advent Calendar day 19 – From Fear to Freedom

Advent Calendar day 19 - From Fear to Freedom james

Door 19 opens to reveal a Brisish Police box disguising a time machine

For today's Advent Calendar door, we're joined by Eric Michalsen, who was keen to tell us about a talk he saw at DrupalCamp Asheville

From Fear to Freedom: Mastering Drupal Updates with a Structured Approach

Carlos Ospina working on his laptopThe talk by Carlos Ospina of Palcera LLC in Columbia talked about all aspects of keeping a Drupal site up to date.

Through a combination of best practices, live demonstrations, and practical tools, learn how to confidently manage their Drupal updates, including how to prepare their custom code for version changes and avoid common API pitfalls.

Topics covered include:

  • A structured approach…

19 Dec 2025 9:00am GMT

18 Dec 2025

feedDrupal.org aggregator

CodeLift: Casestudy Drupal 6 upgrade: PlanningPlanet Upgrade – From Drupal 6 to 10 with Zero Downtime

CodeLift migrated PlanningPlanet, the leading online community for project controllers, from Drupal 6 to Drupal 10. Discussion forums, wiki knowledge base, production ratio databases, and certification tracks were preserved while updating the platform to modern security standards.

18 Dec 2025 9:44pm GMT

Freelock Blog: Running Out of Time? Giving Users Control

Day 18 - Timing Adjustable, Pause, Stop, Hide


You're filling out a multi-page application form - carefully reviewing each section, gathering documents, double-checking information. Suddenly, a popup appears: "Your session has expired. Please log in again." All your work is gone. You have to start over.

Or you're reading an important article when an auto-playing carousel sweeps the content away before you finish reading it. You try to find the pause button, but there isn't one - the carousel just keeps cycling, forcing you to time your reading to match its pace.

Read More

18 Dec 2025 4:30pm GMT

Dries Buytaert: Adaptable Drupal modules: code meant to be adapted, not installed

Over the years, I've built dozens of small, site-specific Drupal modules. None of them live on Drupal.org.

It makes me wonder: how many modules like that exist across the Drupal ecosystem? I'm guessing a lot.

For example, I recently open-sourced the content of this blog by exporting my posts as Markdown files and publishing them on GitHub. To do that, I built two custom Drupal modules with Claude Code: one that converts HTML to Markdown, and another that exports content as YAML with Markdown.

Both modules embed architectural choices and algorithms I explicitly described to Claude Code. Both have unit tests and have been used in production. But both only work for my site.

They're built around my specific content model and field names. For example, my export module expects fields like field_summary and field_image to exist. I'd love to contribute them to Drupal.org, but turning site-specific code into something reusable can be a lot of work.

On Drupal.org, contributed modules are expected to work for everyone. That means abstracting away my content model, adding configuration options I'll never use, handling edge cases I'll never hit, and documenting setups I haven't tested.

There is a "generalization tax": the cost of making code flexible enough for every possible site. Drupal has always had a strong culture of contribution, but this tax has kept a lot of useful code private. My blog alone has ten custom modules that will probably never make it to Drupal.org under the current model.

Generalization work is extremely valuable, and the maintainers who do it deserve a lot of credit. But it can be a high bar, and a lot of useful code never clears it.

That made me wonder: what if we had a different category of contributed code on Drupal.org?

Let's call them "adaptable modules", though the name matters less than the idea.

The concept is simple: tested, working code that solves a real problem for a real site, shared explicitly as a starting point. You don't install these modules. You certainly don't expect them to work out of the box. Instead, an AI adapts the code for you by reading it and understanding the design decisions embedded in it. Or a human can do the same.

In practice, that might mean pointing Claude Code at my Markdown export module and prompting: "I need something like this, but my site uses Paragraphs instead of a regular Body field". Or: "I store images in a media field instead of an image field". The AI reads the code, understands the approach, and generates a version tailored to your setup.

This workflow made less sense when humans had to do all the adaptation. But AI changes the economics. AI is good at reading code, understanding what it does, and reshaping it for a new context. The mechanical work of adaptation is becoming both cheap and reliable.

What matters are the design decisions embedded in the code: the architecture, the algorithms, the trade-offs. Those came from me, a human. There are worth sharing, even if AI handles the mechanical adaptation.

This aligns with where engineering is heading. As developers, we'll spend less time on syntax and boilerplate, and more time on understanding problems, making architectural choices, and weighing trade-offs. Our craft is shifting from writing code to shaping code. And orchestrating the AI agents that writes it. Adaptable modules fit that future.

Modules that work for everyone are still important. Drupal's success will always depend on them. But maybe they're not the only kind worth sharing. The traditional contribution model, generalizing everything for everyone, makes less sense for smaller utility modules when AI can generate context-specific code on demand.

Opinionated, site-specific modules have always lived in private repositories. What is new is that AI makes them worth sharing. Code that only works for my site becomes a useful starting point when AI can adapt it to yours.

I created an issue on Drupal.org to explore this further. I'd love to hear what you think.

(Thanks to phenaproxima, Tim Lehnen, Gábor Hojtsy and Wim Leers for reviewing my draft.)

18 Dec 2025 9:31am GMT

LostCarPark Drupal Blog: Advent Calendar day 18 – That's Not a Theme, It's a Template

Advent Calendar day 18 - That's Not a Theme, It's a Template james

Door 18 contain's a drawing of Mercury's winged sandal

In today's door we return to DrupalCon Nara, where Elliott Mower of Mediacurrent, describes himself as a non-engineer who became an "accidental designer" of the new starter theme for Drupal Canvas.

The talk introduces the idea that modern Drupal Site Templates are more than just themes: they are flexible foundations that allow non-developers to build, customize, and evolve websites without deep technical knowledge. Using Drupal CMS 2.0 and Canvas, tasks that once required expertise in Composer, CSS, or front-end development can now be done visually and intuitively. He emphasizes that creators…

18 Dec 2025 9:00am GMT

Drupal AI Initiative: Oaisys 2025 - a revelation in AI and Drupal

At the end of November I had the privilege of going to the first ever Oaisys AI Practitioners conference in Pune, India. I wanted to share some of the memories and moments from that event.

Jamie Abrahams and I were invited to both hold sessions and lead the contribution day. It was my first time in India and since the event itself was new as well, it was hard to know what to expect. But whatever my expectations could have been, it would have surpassed it.

Marcus speaking in Pune

We arrived two days early to get over jetlag and also meet some people before the event. On the first evening when we arrived we went to dinner with Dipen Chaudhary, CEO and Piyuesh Kumar, Director of technology, both from QED42. QED42 were the main organisers of the event and had done a fantastic job putting it all together. It was great to meet them a bit before the event started and let me tell you - Indian food in Germany is not the same thing as Indian food in India. It was absolutely delicious.

The next day we met up with Pritam Prasun, founder of OpenSense Labs and CEO of RAIL. We discussed a lot about the Drupal ecosystem, about Indian culture vs western culture, but also about the RAIL project and how it can be integrated with the AI module to make the ecosystem more secure.

We also got to visit the offices of QED42 which was a great experience. The team there was super friendly and it was nice to see some faces that you had seen on video calls or Slack channels in real life.

Marcus

The conference itself started on the 29th of November in the ICC Trade Tower in Pune. When I walked in the first day, I was greeted right away by people I knew from the Drupal community, but also people that had worked with the AI module or were interested in AI in general. It was a great feeling to be surrounded by so many like-minded people.

It was a great feeling to be surrounded by so many like-minded people.

Because of managing the contribution room, I only attended two sessions during the conference - Jamie's introductory session, which was always great and very well received and the end session by Piyush about How LLMs learn, which I learned myself from as well.

Meeting prominent contributors to the Drupal AI ecosystem

The highlight of the conference was to meet some of the most prominent contributors to the AI ecosystem. Specifically Prabhavathi Vanipenta and Anjali Prasannan that both have been doing amazing work on the AI module, and Akhil Babu, who has been working on the agents system in Drupal, and built many of the agents you see in Canvas. It was truly a blessing to meet them in person and thank them for all their contributions.

Prashant Chauhan, wasn't there in person, but Prabha and Anjali made sure that I got to thank him over a video call. The four of them have worked and finished over 200 issues on the AI module, which is just mind-blowing.

Well thought through ideas of how AI can be used to improve their workflows, businesses and lives

Another thing that was mind-blowing was the level of interest, energy and enthusiasm around AI in general in the contribution room. People were building the craziest things and had really thought through what and how AI can be used to improve their workflows, businesses and lives. It was inspiring to see so many people passionate about the same thing as you. I have never seen anything like it before, in the events I have attended.

Another thing that was mind-blowing was the level of interest, energy and enthusiasm around AI in general in the contribution room

The Browser AI CKEditor for instance is a project that was thought through and built during the contribution day.

A lot of discussion led directly to new issues in the Drupal AI module issue queue, that some of the people attending are working on now.

Because of family commitments I couldn't stay longer than four days, but those four days were really great. I want to thank Dipen, Piyuesh and the whole QED42 team for organising such a fantastic event and being such great hosts. A special thanks as well to Priyanka Jeph, who organized a lot of the event.

18 Dec 2025 8:24am GMT

17 Dec 2025

feedDrupal.org aggregator

Freelock Blog: What Went Wrong? Error Identification and Helpful Suggestions

Day 17 - Error Identification and Suggestions


You're checking out on an e-commerce site. You click Submit, and the page reloads with an error message at the top: "There were errors in your submission." That's it. No indication of which fields have problems. No explanation of what's wrong. You start hunting through the form, checking each field, trying to figure out what went wrong.

This frustrating experience is unfortunately common, especially on e-commerce sites, membership portals, and complex forms. But it's also completely avoidable - and fixing it makes your site accessible and more usable for everyone.

Read More

17 Dec 2025 4:00pm GMT

Centarro: The Hidden Costs of Enterprise Ecommerce Platforms

When evaluating enterprise eCommerce platforms, the sticker price is often the smallest part of their total cost. Expenses always go beyond monthly subscription or license fees. What you see advertised is almost never what you're going to pay.

Sometimes, these hidden, unexpected costs aren't a huge problem. But other times, they can turn something seemingly affordable into a budget-busting commitment.

Count the cost. The trust cost beyond the advertised price. Here are eight cost factors that, if ignored, could sabotage your project budget.

Hidden Cost #1: Revenue-Based Fees That Scale With Your Success

Many enterprise platforms use pricing models that scale as your business grows. They do this as a proxy for the importance of the technology to your business, not because you are making use of additional features, and not necessarily even because you're putting extra load on their servers.

Consider these examples:

Read more

17 Dec 2025 3:26pm GMT

drunomics: Lupus Decoupled 1.4: Component Previews, Canvas-Ready, and a Better JSON API Enabling Native Vue Slots

Lupus Decoupled 1.4: Component Previews, Canvas-Ready, and a Better JSON API Enabling Native Vue Slots wolfgang.ziegler

Lupus Decoupled 1.4 introduces Component Previews, Canvas-ready features, and an improved JSON API with native Vue slot support - enhancing developer flexibility and front-end integration.

17 Dec 2025 12:35pm GMT

Drupal blog: Drupal 11.3.0 is now available

The third feature release of Drupal 11 is here with the biggest performance boost in a decade. Serve 26-33% more requests with the same database load. New native HTMX support enables rich UX with up to 71% less JavaScript. Plus, enjoy the new stable Navigation module, improved CKEditor content editing, native content export, and cleaner OOP hooks for themes.

New in Drupal 11.3

Biggest performance boost in a decade

Database query and cache operations on both cold and warm caches have been significantly reduced. Our automated tests show that the new optimization for cold caches is about one third and on partially-warm cache requests by up to one fourth. Independent testing shows even bigger improvements on complex sites.

The render and caching layers now combine database and cache operations, notably in path alias and entity loading. BigPipe also now uses HTMX on the frontend, leading to a significant reduction in JavaScript weight.

Read more about performance improvements in Drupal 11.3.0.

Native HTMX: Rich UX with up to 71% less JavaScript

Drupal 11.3.0 now natively integrates HTMX, a powerful, dependency-free JavaScript library. HTMX dramatically enhances how developers build fast, interactive user interfaces. It enables modern browser features directly in HTML attributes, significantly reducing the need for extensive custom JavaScript.

Read more about HTMX support in Drupal 11.3.0.

Navigation module is now stable

The Navigation module is now stable, offering a superior and more modern experience than the old Toolbar. While it is an experience worth installing on all sites, it is most useful for sites with complex administration structures. While not yet the default, we strongly encourage users to switch and benefit from its improvements.

Improved content editing

CKEditor now natively supports linking content on the site by selecting it from an autocomplete or dropdown (using entity references).. CKEditor also has new, user-friendly options for formatting list bullets and numbering.. Finally, a dedicated Administer node published status permission is introduced to manage publication status of content (which does not require Administer nodes anymore).

Object-oriented hooks in themes

Themes can now use the same #[Hook()] attribute system as modules, with theme namespaces registered in the container for easier integration. This change allows themers to write cleaner, more structured code. Themes' OOP hook implementations are placed in the src/Hook/ directory, similarly to modules'. Themes support a defined subset of both normal and alter hooks.

Native support for content export

Drupal core now includes a command-line tool to export content in the format previously introduced by the contributed Default Content module. Drupal can export a single entity at a time, but it is also possible to export the dependencies of the entity automatically (for example, images or taxonomy terms it references).To use the export tool, run the following from the Drupal site's root:

php core/scripts/drupal content:export ENTITY_TYPE_ID ENTITY_ID

New experimental database driver for MySQL/MariaDB for parallel queries

A new, experimental MySQLi database driver has been added for MySQL and MariaDB. It is not yet fully supported and is hidden from the user interface.

While the current default drivers use PDO to connect to MySQL or MariaDB, this new database driver instead uses the mysqli PHP extension. MySQLi is more modern and allows database queries to be run in parallel instead of sequentially as with PDO. We plan to add asynchronous database query support in a future Drupal release.

Core maintainer team updates

Since Drupal 11.2, we reached out to all subsystem and topic maintainers to confirm whether they wished to continue in their roles. Several long-term contributors stepped back and opened up roles for new contributors. We would like to thank them for their contributions.

Additionally, Roy Scholten stepped back from his Usability maintainership and Drupal core product manager role. He has been inactive for a while, but his impact on Drupal since 2007 has been profound. We thank him for his involvement!

Mohit Aghera joined as a maintainer for the File subsystem. Shawn Duncan is a new maintainer for the Ajax subsystem. David Cameron was added as a maintainer of the Link Field module. Pierre Dureau and Florent Torregrosa are now the maintainers for the Asset Library API. Finally, codebymikey is the new maintainer for Basic Auth.

Going forward, we plan to review core maintainer appointments annually. We hope this will reduce the burden on maintainers when transitioning between roles or stepping down, and also provide more opportunities for new contributors.

Want to get involved?

If you are looking to make the leap from Drupal user to Drupal contributor, or you want to share resources with your team as part of their professional development, there are many opportunities to deepen your Drupal skill set and give back to the community. Check out the Drupal contributor guide.

You would be more than welcome to join us at DrupalCon Chicago in March 2026 to attend sessions, network, and enjoy mentorship for your first contributions.

The Core Leadership Team is always looking for new contributors to help steward the project. As recently various new opportunities have opened up. If you are looking to deepen your Drupal skill set, we encourage you to read more about the open subsystem and topic maintainer roles and consider stepping up to contribute your expertise.

Drupal 10.6 is also available

The next maintenance minor release of Drupal 10 has also been released, and will be supported until December 9, 2026, after the release of Drupal 12. Long-term support for Drupal 10 gives more flexibility for sites to move to Drupal 11 when they are ready while staying up-to-date with Drupal's dependencies.

This release schedule also allows sites to move from one long-term support version to the next if that is the best strategy for their needs. For more information on maintenance minors, read the previous post on the new major release schedule.

17 Dec 2025 12:04pm GMT

Drupal Core News: Drupal 11.3.0: Biggest performance boost in a decade

Drupal 11.3 includes a number of significant performance improvements, altogether making it the most significant step forward for Drupal performance in the last 10 years (since the Drupal 8.0.0 release).

These improvements have been driven by enhancements to Drupal's render and caching layers in 11.2.x, notably taking advantage of Fibers, a new PHP feature added in PHP 8.1. By rendering more parts of the page in placeholders, we have enabled similar database and cache operations that used to occur individually to be combined, with particular improvements in path alias and entity loading. We have also learned from Drupal's automated performance testing framework, allowing us to identify and execute several optimizations during Drupal's hook and field discovery processes, to significantly reduce database and cache i/o, and memory usage on cold caches.

On the front end we have converted Drupal's BigPipe implementation to use HTMX, reducing JavaScript weight significantly. We also intercept placeholders with warm render caches prior to BigPipe replacement, so that BigPipe's JavaScript is not loaded at all on requests that will be served quickly without it, allowing BigPipe to be used more widely for the requests that do need it. These changes may also allow us to enable BigPipe for anonymous site visitors in a future release.

Combined, these changes reduce database query and cache operations on cold cache requests by around one third, with smaller but still significant improvements when caches become warmer, up to and including dynamic and internal page cache hits.

Drupal's automated performance tests show many of these improvements, and will ensure that we continue to build and maintain on these gains over time.

Drupal Umami demo's anonymous cold cache front page request

Let's look at an example. These are the changes in Drupal core's included Umami demo's anonymous cold cache front page request performance test between 11.2.x and 11.3.x.

11.2.0 11.3.0 Reduction
SQL Query Count 381 263 31%
Cache Get Count 471 316 33%
Cache Set Count 467 315 33%
CacheTag Lookup Query Count 49 27 45%
Estimated ms (assuming 1ms per operation) 1368 921 33%

Particularly notable is the benefit for requests to pages with partially warmed caches, where site-wide caches are full, but page-specific caches are invalid or empty. In core's performance test for this scenario, we saw an almost 50% reduction in database queries. Requests like this make up a large percentage of the slowest responses from real Drupal sites, and core now provides a much lower baseline to work against. Medium to large sites often hit constraints with the database first, because it is harder to scale than simply adding webservers, and these improvements reduce load when it is at its most constrained.

Drupal Umami demo's anonymous node page with partially-warmed cache

11.2.0 11.3.0 Reduction
SQL Query Count 171 91 47%
Cache Get Count 202 168 17%
Cache Set Count 41 42 -2%
CacheTag Lookup Query Count 22 22 0%
Estimated ms (assuming 1ms per operation) 436 323 26%

While different sites, and even different pages on the same site, will show different results, we would expect all Drupal sites to see a significant reduction in database and cache i/o per request once they've updated to Drupal 11.3.

Independent testing and further improvements with Paragraphs

Independent testing by MD Systems on their internal Primer Drupal distribution shows even better improvements with Drupal 11.3, especially for complex pages. This is also thanks to further improvements enabled and inspired by Drupal 11.3 in the Entity Reference Revisions module which resulted in considerable performance improvements for Paragraphs. Their results show a dramatic reduction in database and cache operations across different cache states. Their cold cache total query count dropped by 62% (from 1097 to 420), and total cache lookups decreased by 47% (from 991 to 522) compared to Drupal 11.2. At the same time their partially-warm cache total query count dropped by 61% (from 696 to 274) and total cache lookups decreased by 34% (from 562 to 373).

Even more technical details

For further details on how these improvements happened, check out some of the core issues that introduced them, or watch Nathaniel Catchpole's DrupalCon Vienna presentation.

#1237636: Lazy load multiple entities at a time using fibers
#2620980: Add static and persistent caching to ContentEntityStorageBase::loadRevision()
#3496369: Multiple load path aliases without the preload cache
#3537863: Optimize field module's hook_entity_bundle_info() implementation
#3538006: Optimize EntityFieldManager::buildBundleFieldDefinitions()
#3526080: Reduce write contention to the fast and consistent backend in ChainedFastBackend
#3493911: Add a CachedPlaceholderStrategy to optimize render cache hits and reduce layout shift from big pipe
#3526267: Remove core/drupal.ajax dependency from big_pipe/big_pipe
#3506930: Separate hooks from events
#3505248: Ability to preload frequently used cache tags (11.2.x)

There is more to do for Drupal 11.4!

If you'd like to help 11.4 become even faster yet, check out core issues tagged with 'performance' and try to help us get them done. We have multiple issues in progress that didn't quite make it into 11.3.0 but could form the basis of another significant set of improvements in 11.4.0.

17 Dec 2025 11:57am GMT