Skip to content

News Release 1.0.0

KahunaCart 1.0.0: Core store features

The first internal release brings catalog, checkout, orders, tax, shipping, promotions, downloads and customer accounts to Grav.

I've been building Grav since 2014, and store owners have often asked how to add ecommerce to their sites. KahunaCart is my answer: a store that uses Grav's theme and admin while keeping commerce records in a database.

KahunaCart 1.0.0 is the internal milestone for the core store features. It includes 342 changelog entries. At this stage, only two of us have installed it and it is not yet for sale. Early access will open with a later version.

Content and commerce

Products, orders, customers and price adjustments use SQLite, MySQL or PostgreSQL. Grav content, templates and configuration remain in files. SQLite is the default and does not require a separate database server.

The storefront includes 27 Twig templates and 42 Twig functions. Themes can override individual templates or add product grids, buy buttons and cart components to existing pages.

Store operations

Prices use currency-aware calculations in minor units. Order numbers and stock changes use database transactions. Staff can configure order statuses and prepare order changes before confirming them.

Store credit and gift cards share a transaction ledger. Refunds can return to the payment provider, store credit or both, with credit notes recording the refund.

Price lists, quantity tiers, customer groups, coupons and sales cover several pricing models. Promotions include buy-one-get-one and cheapest-item-free offers. The documented price-selection rules have corresponding tests.

The release also includes ranked product search, partial shipments, tracking numbers, packing slips and CSV imports with saved mappings and previews. Reports use daily summaries to reduce repeated work on the order history.

Testing

The benchmark dataset contains 5,000 products, 25,000 customers and 250,000 orders. On the published 2 vCPU server, SQLite catalog requests reached a p95 of 204 ms with no errors, down from approximately 7.4 seconds before the performance changes. The benchmark page includes the workload and earlier runs.

The release has 5,235 test methods. Tests also check the administration API documentation and MCP manifest against the implementation.

Next steps

The next releases focus on payment integrations, add-ons and day-to-day operations. The documentation covers the current features. You can also find me on the Grav Discord.

Andy

All news

Want the next one in your inbox?

Join the list and we will send you each release as it ships. Nothing in between.

Join the list