CoCart Community 4.6.0 Release Notes

  • Release date: 4.6.0 shipped 26th June, 2025; this post covers patches through 4.6.4 (6th August, 2025).
  • Backward compatible: Yes for stores on WooCommerce v9+. Installations on WooCommerce below v9 are no longer supported as of 4.6.2.
  • Database/config update required: No.
  • Minimum requirements: WooCommerce 9.0+ (bumped in 4.6.2); WooCommerce 10.0+ recommended for best performance.
  • Tested with: WooCommerce 10.0.4 (as of 4.6.2)

What’s new

4.6 is primarily a compatibility release for WooCommerce v10, but it grew into a multi-release cleanup of CoCart’s session handler — five point releases in six weeks fixed cache-related regressions, tightened stock and session-state handling, and formally raised the WooCommerce minimum to v9.

WooCommerce v10 compatibility

4.6.0 targets compatibility with WooCommerce v10, along with:

  • A WordPress Playground blueprint, so you can spin up a working CoCart install in-browser without a local environment.
  • Updated CoCart branding and more consistent admin-page styling, reducing style conflicts with WordPress and WooCommerce.
  • Better basic-authentication detection, plus debug logs on authentication failures.
  • A semantic markup overhaul on the WordPress Dashboard pages for better screen-reader support.

Session handler fixes

WooCommerce v10 changed how frequently session data is handled, which surfaced a caching regression in CoCart: removing an item from the cart didn’t reliably stay removed (issue #534). 4.6.2 fixed this directly and optimized the session handler around it:

  • New sessions are created first, then authenticated-user sessions only if a cart was actually requested.
  • Removed the need to set the cart hash at the start of a request.
  • Added a warning log for badly corrupted session data.
  • Added a 30-day maximum session expiration limit, to avoid performance issues and unbounded growth of the session table.

Alongside the cache fix, 4.6.2 also optimized REST authentication and CORS handling to parse less data per request, and moved global response headers to filter via rest_pre_serve_request instead of CoCart_Response (which isn’t used by the Products API), fixing header inconsistencies there.

4.6.1 (21st July) fixed undefined array key errors when a cart session was empty (issue #533), and fixed the update endpoint mishandling item removal when a quantity value wasn’t numeric.

4.6.3 (27th July) fixed namespace and route identification in the WordPress REST API Index when it had already been filtered out elsewhere.

4.6.4 (6th August) fixed product review/rating counts and a regression where “Load Cart from Session” was destroying sessions once loaded — a side effect of WooCommerce v10’s session changes. It also:

  • Improved session-data checking in “Load Cart from Session.”
  • Reduced duplicate session calls and optimized the update_session_timestamp() query.
  • Restored persistent_cart_update compatibility for WooCommerce installs below v10.1.
  • Overrode session_exists() and delete_session() to use CoCart’s own session table.
  • Switched Load Cart from $_REQUEST to $_GET and stopped destroying cookies when loading a cart.

Breaking changes & deprecations

  • WooCommerce v9 is now the minimum supported version (introduced 4.6.2). If you’re running WooCommerce 8.x or earlier with CoCart, upgrade WooCommerce before updating to 4.6.2+.
  • Deprecated: cocart_load_cart_override action hook → no longer used as of 4.6.4. If you were hooking into it, remove the integration; there’s no direct replacement, as Load Cart’s internals changed to stop destroying cookies on load.