Repository navigation
v2.3.0 — Storefront Rebuild & Runtime Configuration
🏪 Storefront & checkout
- Rebuilt rental storefront: dates, catalog, variants and accessories added from the product list, cart review before booking.
- Full-screen appearance editor with live preview, hero text and layout, favicon and tagline.
- Safer payments: pending payments resume without duplicate bookings, Stripe minimums enforced, failed checkouts cancelled.
- Embed widget rebuilt around split date and time fields; SEO slugs, fallback language and Search Console verification.
📦 Products & pricing
- Fixed pricing, consumable stock, required accessories and untracked stock.
- Pricing editor with rate ladders and simulation; seasonal rates allocated across the whole rental.
- Variants managed per product; bookings without a chosen variant float until assignment.
📅 Reservations, dashboard & account
- Billing identity kept per booking; back navigation restores the viewed date.
- Store management permissions enforced on sensitive operations.
- Customer account shows deposits, updates, inspection reports and fulfillment, with cancellation requests and account deletion.
- Reeent marketplace integration behind simplified sales channel settings.
🌍 Languages, documents & brand
- Thirteen languages across the app, documents and demos; dates and numbers follow the active locale.
- Refreshed PDF layouts, Inter embedded for every script, page numbers fixed on long documents.
- Optional merchant password next to magic-link sign-in, with auth rate limits.
- New Louez symbol across every icon.
🐳 Self-hosting
Multi-architecture images are available for AMD64 and ARM64:
docker.io/synapsr/louez:2.3.0anddocker.io/synapsr/louez:latestdocker.io/synapsr/louez-background-removal:2.3.0anddocker.io/synapsr/louez-background-removal:latest
NEXT_PUBLIC_* values are now read by the server at runtime and injected into the page, so one published image works on any domain (#65). The withdrawn minio/minio image is replaced by the Chainguard build; existing volumes keep working.
The fifteen additive database migrations run automatically when the application starts.
⚠️ A freshdocker compose up -dwith the bundled Compose file returns a 500 on every page with this version because empty optional variables are rejected. Upgrade to 2.3.1.
Upgrade notes
Use the bundled Compose configuration, or upgrade both application images to the same 2.3.0 tag. Back up the database before upgrading as normal operational practice; existing databases migrate automatically on startup.
Full changelog: https://github.com/Synapsr/Louez/blob/v2.3.0/CHANGELOG.md