Changelog

Every improvement, fix, and new module shipped to SyntaxKit.

16 releases · Shipping since July 2026 · Lifetime updates included

Response quota in chat, and a remembered model

  • New
  • Improved

Two chat changes that users notice right away. The composer shows AI responses used against the monthly limit, and hitting the limit shows a note with a billing link instead of a raw error. The model picker now remembers the last model you chose across refreshes and new chats. Every turn also records token counts, and every model has an output cap.

  • Responses used and remaining shown in the chat composer
  • A clear quota note with a billing link instead of a raw error
  • Plans with metered overage are never shown as used up
  • The picker remembers your model across refreshes and new chats
  • Token counts stored per turn, and every model has an output cap
Read more

Org-enforced 2FA, step-up checks, and account controls

  • New
  • Improved

The B2B basics buyers ask about before they sign. An organization can require two-factor auth from every member. Cancelling billing, deleting an organization, and other sensitive actions ask for a password or authenticator code again. Users can delete their account, sign out other devices, and link Google or GitHub, and owners can hand over an organization cleanly.

  • Organizations can require two-factor auth from every member
  • Step-up re-authentication on billing, org deletion, and account changes
  • Delete account, sign out other devices, link or unlink Google and GitHub
  • Leave an organization, or transfer ownership by promoting a member
  • Passkey sign-in on the login page, and a header inbox for key events
Read more

Refunds end access, and billing recovery

  • Improved
  • Fixed

Money events now close the loop. A refund or dispute on Stripe, Polar, or Creem ends paid access, and a later event cannot quietly restore it. A webhook that arrives before its organization is known waits for an admin instead of disappearing. Customers see their AI usage and can open invoices from the billing page.

  • Refunds and disputes end paid access on Stripe, Polar, and Creem
  • A later active event cannot restore a refunded subscription
  • Unmatched webhooks wait for an admin to attach or discard them
  • Billing page shows AI responses used and opens provider invoices
  • Checkout, cancel, resume, and revocation go to the audit log
Read more

Creem, per-seat pricing, and metered overage

  • New
  • Fixed

Billing gets a third provider and two new pricing shapes. Creem joins Stripe and Polar behind the same catalog and entitlements. A plan can now be priced per seat, and a paid plan on Stripe can bill AI responses past its included allowance instead of stopping at a hard cap. Monthly AI limits on yearly plans now reset every month, as the pricing copy always said.

  • Creem as a third provider behind BILLING_PROVIDER
  • Per-seat plans on Stripe and Polar, with seats enforced on members
  • Opt-in metered AI overage on Stripe, reported without double-billing
  • Yearly plans now reset the monthly AI allowance every month
  • Shipped Pro and Ultra stay flat, so nothing changes until you opt in
Read more

Chat tools, current models, and read-aloud

  • New
  • Improved

AI chat now ships two tools on the stream: the model can read the current workspace plan and rename the conversation. The picker matches the current Gateway catalog, image attach is gated on a real vision capability, and thinking blocks plus citations come back after reload. A speaker control reads the visible answer in the UI language.

  • The model can look up the workspace plan and rename the current chat
  • Tool cards persist and survive reload
  • Picker updated to the current Gateway catalog, GPT-5.5 as the free default
  • Image attach only on vision models with private storage
  • Thinking and citations come back after reload
  • Read-aloud speaks the answer in the UI language
Read more
v1.1.0

Polar billing alongside Stripe

  • New

SyntaxKit now ships Polar next to Stripe. Set BILLING_PROVIDER to choose which one a deployment runs; leave it unset and nothing about an existing Stripe install changes. Checkout, the customer portal, cancel and resume, and webhooks work on Polar too, while the plan catalog and entitlement machine stay owned by the kit. Polar is merchant of record, so it issues invoices and receipts itself.

  • Choose Stripe or Polar with BILLING_PROVIDER; unset still means Stripe
  • Polar checkout, customer portal, cancel, resume, and webhooks
  • Same entitlements and plan catalog either way
  • Polar is merchant of record, so it sends invoices and receipts
  • Setup doctor knows which provider is live
  • One provider per deployment; switching does not migrate customers
Read more

Organization support console and audit trail

  • New

The admin area can now investigate a whole organization in one place: members, billing drift, usage, webhook failures, and named recovery actions, without changing the operator's active tenant. Organizations also keep a durable audit trail of invitations, membership, role, and name changes, shared between organization settings and Admin → Organizations.

  • Search organizations by name, slug, member email, or billing id
  • Inspect members, billing, usage, and webhook failures in one place
  • Compare the provider, resync local billing, retry eligible webhooks
  • Impersonation and user admin take a reason and leave an audit record
  • Owners and admins get an organization audit log
  • Invitation, membership, role, and name changes are recorded
Read more

Instant chat and full German localization

  • Improved
  • Fixed
The SyntaxKit AI chat, with the conversation sidebar next to a streamed answer comparing Next.js and TanStack Start

Switching locales and moving between chats now happens instantly on the client, with persistence deferred to the background. Chat history survives soft navigation and revisits without dropped or reordered messages. And the German locale went from partially wired machine-translation to proper German across marketing, dashboard, blog, and social previews.

  • Locale switch applies instantly, persistence happens in the background
  • Chat pages render client-side with prefetched shells, no Flight wait
  • New chats reserve their id up front, so the first navigation is instant
  • Message identity is stable end to end, history survives revisits
  • German copy rewritten across marketing and dashboard
  • Five German blog posts, localized social metadata and sitemap
Read more

Next.js 16.3 and Cache Components

  • Improved
  • Fixed
A perfect Lighthouse performance score of 100 after the Cache Components migration

SyntaxKit now runs on Next.js 16.3 with Cache Components enabled across the whole app. Dashboard, marketing, and auth share one locale-aware root, every route serves a static shell that paints instantly while data streams in, and forms were reworked so they stay correct when you navigate away mid-save and come back.

  • Next.js 16.3 with Cache Components on every route
  • Dashboard routes went from fully dynamic to partial prerender
  • One reusable App Shell prefetch per destination
  • Marketing, auth, and dashboard share one root layout again
  • Forms and mutations stay correct across navigate-away and return
  • Dead blog URLs still return real 404s to crawlers
Read more

Cursor Cloud agent environment

  • New
The Cursor Cloud agent view, with an agent building a dashboard and a list of past agent sessions

The kit now ships a complete Cursor Cloud environment. Cloud agents land on a machine with PostgreSQL running, migrations applied, demo data seeded, and the dev server on port 3000, ready to log in and work. All of the automatic setup is gated behind a loopback-only check, so an agent can never migrate or seed a remote database by accident.

  • Ready-made environment with Node 22, pnpm, and PostgreSQL
  • Migrations and demo seed run automatically on boot
  • Dev server starts on port 3000 with a working demo login
  • Env files are generated once and never overwritten
  • Destructive setup refuses to touch anything but loopback databases
Read more

Self-hosting hardening

  • Fixed
A terminal running the SyntaxKit Docker Compose deploy, with migrations applied, both containers started, and a passing health check

A hardening pass for self-hosted deploys. Feature availability, like OAuth buttons, billing, storage, and the contact form, is now resolved from runtime environment variables instead of being baked into the build, blank optional env vars no longer break Docker release builds, Compose boots with the env it actually needs, and the docs site roots redirect to real content.

  • OAuth, billing, storage, and contact resolve from runtime env in Docker
  • Blank optional URL env vars no longer break image builds
  • Compose env allowlist covers Redis, Turnstile, S3, and PostHog vars
  • Docs Docker image installs git so last-modified dates work
  • Docs site roots redirect to the right locale's content
Read more

Design refresh

  • Improved
The refreshed SyntaxKit admin panel in dark mode, with user stats and the user table on neutral surfaces

A full design pass across the product. The brand color moved from violet to blue, page and card surfaces are locked to neutral grays so blue reads as an accent rather than tinted chrome, the admin area adopted the same shell and section patterns as settings, and the homepage copy now describes the full-stack kit that actually ships.

  • Brand color moved from violet to blue across app, docs, and feature art
  • Neutral gray surfaces in both themes, blue reserved for accents
  • Admin lists and user detail share the settings shell and card patterns
  • Glass effects demoted to focal surfaces, page entrance animations removed
  • Homepage copy rewritten to match the actual full-stack kit
Read more

Documentation refresh

  • Improved
The updated Conventions guide, showing the branded type-safety flow diagram in the docs sidebar

The SyntaxKit documentation got a full refresh. Overview, Build, Operate, and Reference now share one layout system, plainer language, and facts checked against the current kit. The hub is action-first, and the deep guides are easier for both people and coding agents to scan.

  • Clerk-style docs hub with Quickstart first
  • Shared On This Page layout across every guide
  • Plainer language checked against the live kit
  • Branded Mermaid diagrams for the main flows
  • Internal docs guide so future pages stay consistent
Read more
v1.0.0

SyntaxKit 1.0

  • New
The SyntaxKit dashboard, showing the organization sidebar and a getting-started checklist

The first public release. SyntaxKit is a commercially licensed, production-ready SaaS foundation built as a pnpm and Turborepo monorepo, with a Next.js product app and a separate documentation site. Authentication, multi-tenant organizations, Stripe billing with real entitlements, and streaming AI chat are wired together and tested, alongside the operational work that normally eats the first six months of a new product.

  • Better Auth with passkeys, TOTP two-factor, and GitHub and Google OAuth
  • Multi-tenant organizations with roles, invitations, and seat limits
  • Stripe subscriptions backed by a seven-state entitlement machine
  • Streaming AI chat routed through the Vercel AI Gateway
  • oRPC, Prisma, and Zod for one type-safe path from database to browser
  • Deployment configs for Vercel, Fly.io, Render, and Docker
Read more