Core 1.6.0 Stable
Released on:
Thursday, 24 September 2026 13:50
The release about a store's first hour. A fresh install opens on a setup wizard for the sample store, then a Store setup checklist tracks what is left. The sitemap covers the whole site rather than only the catalogue, and a merchant can choose what the product page shows. Tax is now charged by zone, as the Tax tab always implied, and order lines record their cost at the time of sale.
Schema: one nullable column on order lines.
Added
- Setup wizard for a fresh store. While the store email is still the sample
, the dashboard offers Set up your store: the store's details, how it charges tax (not at all, one rate for the country, or later) and one payment method with its own settings, saved together on Finish setup. It keeps no state of its own, and replaces the sample tax only while it is still untouched. Works without JavaScript, in dark mode and right to leftThis email address is being protected from spambots. You need JavaScript enabled to view it. - Store setup checklist on the dashboard — ten steps, from store details and a first product to live payments, worked out from the store's own data on every visit and each linked to the screen that completes it. Nothing is stored as done, so a step that is undone reopens. Tax and shipping can be marked not needed; the panel can be hidden per user and collapses to one line when complete
- Move the sample products to the trash from a notice on the Products list. Only the three seeded products are touched, never one that has been ordered
- A sample tax setup on fresh installs — a Standard class, an Illinois zone and a 6.25% rate matching the sample store's address, so a first test order shows a tax line
- The sitemap covers the whole site. The new core plugin Solidshop - Site Content Sitemap adds menu items, articles and article categories to the sitemap a store has already submitted, so no second sitemap extension is needed. Noindex pages, sign-in, search, cart, checkout and account pages, and articles no menu item leads to, are left out. Enabled on install and once on this update
/sitemap.xml— Options → Sitemap → Serve at /sitemap.xml, off by default because another extension may already serve that path. System → Overview warns when asitemap.xmlfile shadows it or the site is set to noindex- Choose what the product page shows — a new store Storefront tab with switches for the sold count, the share button and the wishlist button, all on by default, in Cassiopeia, Foundra and the booking and download product pages. The sold count is now a translated, plural-aware string
- For developers:
SetupStepsRegisterEvent(add a checklist step),SitemapSourcesRegisterEvent(add a paged sitemap source;SitemapUrlsEventstays for small sets),PaymentPluginAbstract::isConfigured()/isTestMode()(PayPal, Stripe and Square override them in their next releases and work without them meanwhile), andSolidshop\Lib\Store\StoreParams/ProductPageSettingsfor typed store settings
Fixed
- Tax rates apply where their zone says. A rate's zone was never consulted, so every rate was charged on every order wherever the shopper was. Checkout now charges the rates whose zone covers the shipping address — a state territory covers that state, a country territory the whole country, and overlapping zones stack — and updates as the address changes. Prices shown before checkout use the store's own address. Order tax lines now record the rate they were charged under (
tax_rate_id) - "Store default" taxes the product. A product left on - Store default - paid no tax at all; it now follows the store's default tax class
- Still open in tax: ZIP-range territories, tax on shipping, the per-rate inclusive flag, and tax in the order editor's recalculation
- Editing an order no longer rebuilds its lines. Saving the order editor deleted and re-inserted every line, losing download links, line types, the product name at the time of sale and the line ids that reviews and subscriptions point at. Lines are now updated in place in one transaction, and a line on a shipment cannot be removed. A row added after removing one from the middle is no longer lost
- One Product per product page. Product modules below a product page declared every card as a Product of its own, which cost the page its rich result in Google. Cards on listing pages now carry
image,descriptionandsku - Sitemap URLs follow the SEF plugin's Site Domain, so they match the pages' canonicals. A shard that fails answers 503 with
Retry-After, and only a guest's rendering is cached - Admin screens that showed a blank or a raw language key: 23 strings, including an unnamed entry in a menu item's Layout dropdown and unlabelled search boxes. Brands and Stores show their empty-state page
- The loading indicator is announced to screen readers and follows the template's colour scheme (
--solidshop-loader-*variables) - Outline buttons on admin screens were unreadable in Atum's dark mode — navy, green, red and blue text on a near-black page. They now use the dark theme's own colours on every Solidshop admin screen, plugin screens included
- The Cost per item help text described the compare-at price
- The store's Time zone field offers UTC. Without it, a store set to UTC (as the sample store is) was saved as Africa/Abidjan
- The sample T-shirt was seeded checked out by a user that does not exist (existing installs: System → Global Check-in)
Changed
- Order lines record their cost at the time of sale — the variant's Cost per item, else the product's, else unknown, and never recomputed. Nothing displays it yet: a profit report can only cover orders placed after recording began. Generate variants leaves the cost empty rather than 0
- The store phone number is optional; a blank one is left out of structured data,
/llms.txt, the catalogue API and the email footer
Upgrade notes
- Check each store's Tax tab. Tax now depends on the shipping address: a rate on a zone with no territories or on an unpublished zone stops being charged, a shopper outside every zone pays no tax, and products on Store default start paying the default class's rates. With tax-inclusive prices, a shopper outside every zone pays the same price with no tax taken out of it
- Foundra users: update to Foundra 1.0.1 at the same time. Foundra 1.0.0's checkout page shows tax at the store's address rather than the shipping address
1.6.0.sqladdscost_per_itemto order lines. Existing lines stay unknown: they are never backfilled from today's cost- Download links lost by editing an order on an earlier release are not recovered; re-issue them by hand
- Product pages look the same after updating (every switch reads Show). A template override of
product/stats.phporproduct/share_wishlist.phpignores the switches until it is updated from the new layout - The setup checklist appears on the first dashboard visit for admins with
core.manageand collapses to one line on an established store. A store still onis offered the wizard insteadThis email address is being protected from spambots. You need JavaScript enabled to view it. - The sample tax setup and sample product fixes apply to fresh installs only; an updated store keeps its own data
Solidshop Core v1.6.0
| File size | 9.93 Mb |
| SHA-256 Signature | 8f0334d90e469b8d647e6c2a914fa5d8fd4805a4e28f914be67d25f5cf3744c7 |
| Compatibility |