v18.1.1: Patch
23 February 2026
Fixed translation keys showing.
v18.1.0: Cookie notice, locale management page, automatic translation
23 February 2026
[!] One-Time Breaking Change: Rename your .env.docker file to .env when upgrading! This will not be done for you automatically in the upgrade script. Once you ensure your data is backed up, you can delete the old .env.docker - it is no longer used.
Added Features:
A new cookies notice box is now available. Configure it in the Integrations tab of the settings.
Added a Locale Management admin page to edit the locale files via a web interface.
The store will now respect the user's browser language as the default. The on-page dropdown will override it.
Fixes & Changes:
Statistic names & footer texts are now translatable. Add them to each locale file under the
appnamespace.Removed volumized mapping of
.env.dockerto.envin Docker containers. Use.envdirectly now, regardless of whether you're using Docker or not. This change does not affect non-Docker users.Logs are now stored daily to prevent overloading the panel when viewing a single (often 500 mb+) log file. Instead of
tail -f storage/logs/laravel.log, view the log usingtail -f storage/logs/laravel-$(date +%Y-%m-%d).logor use the new log viewer in the panel. There is also a new scripttail-logs.shfor your convinience, which will tail today's logs. Delete the old log usingrm storage/logs/laravel.logto reclaim space.Predis has been removed as a dependency. Use PhpRedis instead (
ext-redis). The docker file has already been updated to use it.
v18.0.0: Localization & sale campaigns
16 February 2026
New Features:
- Added localization. Adding languages is done by creating a new language file in the `lang` directory.
You can customize the default locale in the `.env` (or `.env.docker`) file, by modifying the `APP_LOCALE` variable.
The default locale is set to English (en).
Details on localization are available on the Laravel docs page: https://laravel.com/docs/12.x/localization.
- Added timed sale campaigns. You can now schedule sales per-vendor from the Creator dashboard. The `discount` field on the product edit page has been removed.
- Expanded the navbar to the full-width on desktop devices and added a language selector.
- Added default admin login credentials in the login page when demo mode is enabled (APP_DEMO=true).
Fixes:
- Text color does not take effect in product description.
Changes:
- The mobile nav now has a dedicated user button with the same dropdown as on desktop. The relevant profile options have been removed from the main menu.
- Added additional `ext` dependencies to `composer.json` covering all PHP extensions required by the project.
- Removed Sentry from the dependencies. If you have it, you are free to remove the `SENTRY_DSN` variable from your `.env` file and uninstall the Sentry package from your project.
Addon & Theming Changes:
- Updated to support the new localization features.
- Removed `settings("<group>.<name>")` helper in favor using `config("settings.<group>.<name>")`. Property names remain the same. To migrate, you can Find & Replace All `settings("` with `config("settings.` (or `settings('` with `config('settings.` for single-quote style).
v17.1.0: Captcha support, changes and fixes
03 February 2026
New Features:
Added support for Cloudflare Turnstile (captcha) for login and user registration. It can be enabled from the settings page.
Changes & Fixes:
Coupon codes now work on options.
Added an "already in cart" button state when adding to the cart.
Entering /product/{category} URLs with invalid categories will no longer resolve to the "All products" page, but instead 404.
The
ld+jsonschema is now printed properly.The canonical URL will include the full URL, including the query params, which bots from search engines like Google expect.
v17.0.2: Patch
02 February 2026
Changed & Fixes:
- Bumped dependencies. PHP 8.4 is now the required version, from 8.3. Laravel has been upgraded to v12 from v11.
- Fixed case where option licenses were not properly granted after a purchase has been made.
- The cart will now properly empty when the order was placed for free.