CartThrob 9.0.0 is Here: What You Need to Know
11/3/2025 / By Matt Johnson
11/3/2025 / By Matt Johnson
We just released CartThrob 9.0.0, and it’s a big one. This update brings a lot of improvements we’ve been working on. There are over 159 commits worth of fixes, features, and polish since version 8.1.0.
The biggest addition is template generators. If you’ve ever found yourself rewriting the same CartThrob template tags or searching through docs for the right syntax, this will save you tons of time. You get code snippets and stubs for all the template tags right in ExpressionEngine, which makes building out your eCommerce site way faster.
We also added a new async consume command for handling background operations, plus some nice quality-of-life updates like the {order_number} variable in the submitted order info tag. And if you need more control over form submissions, there’s now a form_idempotency parameter you can use on individual forms.
For those using Stripe, your payment intents can now include full order details, which helps with record-keeping and customer communication.
We spent a lot of time making CartThrob more reliable. The async processing system now handles high-traffic situations better without operations stepping on each other. We updated the Opayo and Elavon gateway endpoints, relaxed some overly strict number formatting rules, and gave the Order Manager interface a refresh with better layouts and modern calendar widgets.
The checkout form now checks inventory before it even renders, which prevents some frustrating edge cases. We also improved error messages throughout, especially for Authorize.net transactions.
This release squashes a bunch of bugs that were causing headaches. CartThrob now works smoothly with PHP 8.3, and we fixed stability issues across multiple payment gateways. The notification system is more reliable (no more random failures), and we cleaned up various Order Manager quirks like status change emails not sending and UI glitches.
We also tackled issues with async custom data handling, database versioning, and config file errors that some of you reported.
CartThrob is available exclusively in the Add-on Store. If you’re an existing customer, you can upgrade to version 9.0.0 at a discounted price - but only for the next 45 days. We’re extending this discount to all past purchases, so now’s a great time to update. To upgrade, attach the CartThrob license to your site and then click “renew” to add the renewal to your cart.
After you upgrade, your renewal period will be one year from your purchase date, giving you access to updates and support for the full year ahead.
Version 9.0.0 makes CartThrob more stable, more modern, and easier to work with. Whether you’re running PHP 8.3 or just want a smoother development experience with those template generators, this update has something for you.
CartThrob 9.0.0 works with ExpressionEngine 7.x and supports PHP 8.1 through 8.3. It’s ready to use in production right now.
A huge shoutout to Eric Lamb for his substantial contributions to this release. Eric’s work was instrumental in making CartThrob 9.0.0 what it is today. We’re incredibly grateful for his expertise and dedication to improving CartThrob for the entire community.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.