Changelog

What we've shipped.

We ship every week. Here are the most recent releases — new features, UX improvements, performance, security. For what's coming next, see the public roadmap.

Release K30+

  • Richer audit log viewer

    Feature

    The internal admin now sees 3 KPIs up top (last 7d/30d/match), plus filters by actor, target type and date range. distinctActions is computed DB-side so rare actions are never lost.

  • Onboarding celebration

    UX

    After the final wizard step there's no more instant redirect: CSS confetti + a summary card with monitors/categories/active setup, with CTAs to /admin or /home.

  • Loyalty configurator in admin

    Feature

    A /pay/loyalty page to switch on a digital stamp card: required stamps, reward label, min spend. KPI overview with stamps issued and rewards redeemed.

Release K28-K30

  • Public /prezzi, /clienti, /glossario

    Feature

    Three new SEO-friendly routes: pricing with a 15×3 comparison table, 5 case studies with KPIs, and a 20-term glossary with DefinedTermSet JSON-LD.

  • Comparison matrix /vs/*

    Feature

    A feature-by-feature table across all 5 competitor comparisons (tilby, soluti, di tiziano, zucchetti, lightspeed). Factual tone, copy written IT-first.

  • On-brand 404

    UX

    The 404 page is now IT-first, with a peach→mint gradient, 4 shortcut cards and a search box that leads to a filtered /blog?q=.

Release K25-K27

  • Recipe Builder live

    Feature

    /ms/recipes now calculates food cost % live as you type the ingredients. MarginBadge turns mint/amber/red below/above the 30%/40% thresholds.

  • CSV menu import

    Feature

    /ms/menu-import: bulk-add 500 rows with a category/name/description/price/allergens header. Maps IT allergens → EU14 enum codes.

  • Cmd+K palette across Sync/MS/Admin

    UX

    Block B's command palette extended to all 3 tool shells. Search monitors/products/payments with keyboard-only navigation.

Release K22-K24

  • Code split recharts + framer-motion

    Performance

    FFL bundle under the 200kB target. Dynamic imports on /pay/reports and /admin-internal/money. Framer-motion swapped for CSS transitions where it made sense.

  • Optimized cross-tenant aggregate

    Data

    A single raw SQL query instead of groupBy+map in JS for the /admin-internal cockpit. p95 from 480ms to 80ms.

  • Stripe webhook idempotency

    Security

    WebhookEvent persisted with a unique on event.id. Retries from Stripe no longer duplicate ledger entries or refunds. Payment-failed email to the customer.

Release K15-K21

  • Super-admin overhaul

    Feature

    Shell + cockpit + customer 360 + money + team + Cmd+K. Block A of the K1-K30 cycle completed.

  • Empty state tone migration

    UX

    All empty states moved to warm-v2: mint for success-adjacent, peach for neutral, lavender for data-empty.

  • Strategic DB indexes

    Performance

    Composite indexes on (restaurantId, createdAt DESC) for the dashboards' top queries. Dashboard p95 from 800ms to 120ms.

Release K1-K14

  • Suite shell warm-v2

    Feature

    Layout group, active prefetch, breadcrumb consistency, Cloudinary auto-format, bundle analyzer setup. The foundation of the new design system.

  • Sync K3 heatmap + K4 webhook delivery log

    Feature

    Monitor downtime heatmap, webhook delivery log with manual replay.

  • Consolidated chat widget

    UX

    A single button (minimal circle) + preset chips for support requests.

Earlier versions are consolidated into macro-releases. For details on individual fixes, get in touch.

Want to be the next one featured here?

We start with a site visit and a trial menu. It's your call.

Get a free quote