← Back to all sparks
Z

Zen Cart

E-COMM
Velocity0.0

Open-source online store management system

A twenty-year-old PHP cart still shipping, entirely on admin polish and PHP 8 hygiene.

php-ecommercelegacy-maintenancephp8-compatibilityadmin-uxaccessibilityopen-source
Current state
Zen Cart is a long-running community-maintained PHP shopping cart whose releases arrive as extended alpha and beta trains rather than finished versions — 2.0.0-rc2, three 2.1.0 pre-releases, and a 2.2.0 alpha are what the recent history consists of. Changelogs are dense lists of small contributor pull requests: admin form corrections, PHP 8 warning cleanups, template fixes, and dependency bumps. There is no roadmap visible in the releases, only accumulated maintenance.
Where it's heading
Three threads run through every release. The first is PHP 8 compatibility — warnings fixed, deprecated calls removed, polyfills added. The second is retiring legacy code the project has carried for years: the Square module, Netscape and IE country-pulldown patches, the banners_on_ssl field, legacy language files for the plugin system. The third is input sanitisation and small accessibility additions like aria-labels on select blocks. Taken together this is a codebase being made supportable rather than extended.
Prediction
Expect 2.2.0 to continue through further alpha and beta builds on the same slow cadence, with more legacy-module retirements and PHP 8 fixes. Nothing in these releases points to a new capability area.

Recent moves

  1. 8mo ago

    Zen Cart 2.2.0 alpha shows the MFA secret during setup

    The opening build of the 2.2.0 line, and the most user-facing item is displaying the MFA secret during two-factor setup — a small fix that makes enrolment work without a QR scanner. The rest is familiar admin maintenance: image sizing moved from HTML attributes to CSS, a banner manager that stops selecting a non-existent banner, null gift-voucher balances treated as zero, and plugin-manager cleanup suppressed for uninstalled plugins.

    View source ↗
  2. 1y ago

    Zen Cart 2.0.0 RC2 retires the Square module

    A candidate build mixing accessibility work with payment cleanup: aria-labels on select blocks, date-of-birth validation, a shipping estimator message when no rates are available, and the deprecated Square module removed. The SQL upgrade fix for installations with table prefixes matters most to anyone actually running the migration.

    View source ↗
  3. 1y ago

    Zen Cart 2.1.0 alpha1 refactors shipping modules

    The first 2.1.0 build, notable for a shipping-module refactor and for making template_settings.php viewable in the admin. It also retires Netscape and Internet Explorer patches from the country pulldown — a good illustration of how much legacy this codebase is still shedding.

    View source ↗
  4. 1y ago

    Zen Cart 2.1.0 alpha2 is cosmetic admin cleanup

    Icon alignment in product listings, duplicated quotes in the banner manager, language-file typos, and editor configuration. Two fixes have real effect — clearing the cart when an admin switches customer accounts, and adjusting attribute pricing only when products are actually priced by attributes — but the build as a whole is polish.

    View source ↗
  5. 1y ago

    Zen Cart 2.1.0 beta1 drops legacy language files for plugins

    The beta tightens the plugin contract by ending legacy language-file support for zc_plugins, and fixes PHP warnings in the table shipping module when rates are percentage-based. An mb_string polyfill and a position column in the banner manager round it out — the same mix of modernisation and admin ergonomics the whole 2.x cycle runs on.

    View source ↗