Skip to content

Changelog

All notable changes to Contentrain Studio are documented here. The format follows Keep a Changelog and the project adheres to Semantic Versioning.

v0.2.0-beta.1

Enhancements

  • Providers: Selectable auth × database provider pair — a Studio-managed AuthProvider on plain PostgreSQL, chosen behind boot validation, that replaces Supabase GoTrue on managed deployments (portable migration lineage, RLS helpers, and a full 43-method Postgres DatabaseProvider)
  • Remote MCP: Studio-managed OAuth 2.1 authorization server, a projectId-less remote MCP endpoint behind the OAuth grant, and a Connected Apps panel to review and revoke remote MCP connections
  • MCP: Bump @contentrain/mcp to 1.10.0 (session fingerprinting, media tool classes) and expose the media tools over MCP Cloud
  • AI: Add Claude Sonnet 5 and consolidate the chat model list into a single-source catalog
  • CDN: Emit per-locale content bundles for single-fetch delivery; require an explicit CDN bucket and alert on swallowed R2-teardown failures
  • Auth: Directory-review support — env-gated reviewer login for app-directory submissions

Performance

  • Agent: ~6x fewer GitHub API calls in the agent write path
  • CDN: Serve the delivery hot path from in-process caches with conditional R2 reads

Bug Fixes

  • Auth: Keep user sessions off the service-role client, pin the OAuth exchange redirect_uri to siteUrl behind proxies, and let the OAuth module own both legs of the dance (its own CSRF state)
  • CDN: Stop a full rebuild from wiping out-of-band media binaries, and derive webhook build paths from the compare API rather than payload commits
  • Git: Never auto-delete the source branch on merge (MCP 1.8.0)
  • Brain: Fall back to a full rebuild off the default branch when .contentrain is missing
  • Content: Handle document per-slug meta in status, copy-locale, and the UI; add 17 dictionary keys used in code but never defined
  • Chat: Refuse media-intent uploads while a project's CDN delivery is off

Chore

  • Ignore .codex/ agent local configs

v0.1.0

First stable release, closing out the v0.1.0-beta line.

Enhancements

  • Media: Public media management API (/api/media/v1) — CRUD routes, scoped API keys, and a scope-selection UI shared with CDN keys
  • CDN: Public media delivery with build-time path rewriting, plus edition/plan gating that aligns the Assets and CDN surfaces
  • Editor: Source-mode markdown editor and an agent markdown-authoring guide
  • Chat: Attach external files and links to conversations, with explicit attachment intent
  • Agent: Publish/media/branch tools and relation-integrity checks at save; system prompt and enforcement aligned with governance and edition
  • Content: Array-of-object field editing
  • Observability: Sentry error and performance monitoring
  • SEO: Page titles, head meta, and Open Graph tags

Bug Fixes

  • Chat: Replace retired Claude model IDs, and fix turn streaming, document date validation, and live context reactivity
  • Content: Merge document and collection/singleton saves with the existing entry instead of replacing, and resolve document paths under the model id
  • Billing: Grant the free trial once per workspace, use the real trial_end, and surface a clean error when the payment provider call fails
  • Members / Workspace: Owner keeps the owner role after inviting a member; drop a non-existent column from the project_members insert
  • Config: Fail boot if the service-role key isn't actually service_role
  • Forms / Webhooks / Branches: Render the "None" captcha option, add missing webhook dictionary keys, and decode percent-encoded branch route params

Documentation

  • Close the mobile-responsive shell item (shipped since v0.1.0-beta.1)

Chore

  • Standardize contentrain.io email addresses and dependency bumps

v0.1.0-beta.8

Enhancements

  • MCP Cloud: Hosted HTTP endpoint, API key management, and a workspace settings tab for keys (Faz S6)
  • MCP Cloud: Honor project workflow + plan for external writes, enforce tool allowlist, fix quota semantics, and improve onboarding
  • Pricing: Simplify free tier, boost starter, upgrade Pro, and wire the enterprise CTA
  • Billing: Polar payment plugin, usage outbox drainer, usage meters, Stripe overage billing, and trial-ending reminder emails
  • Billing: Normalize payment state into payment_accounts + outbox
  • Scripts: Content-driven Polar sync (products, prices, meters)
  • Email: Shared branded layout and Polar webhook notifications
  • Legal / Runtime: Editions, deployment profiles, and an edition-aware license system with matching UI surfaces
  • GitHub App: Connect-existing flow, repo-level access lifecycle (revoke / delete / rename), and ownership verification
  • Chat: Durable internal tool trace persistence
  • Content Engine: Align with @contentrain/mcp 1.5.0, query 6, and types 0.5.1
  • Enforcement: Orphan feature cleanup — enforce or flag roadmap items

Performance

  • AI: Anthropic prompt cache and cache token accounting

Bug Fixes

  • MCP Cloud: Close launch blockers, exempt /api/mcp from session auth, forward the client Accept header to the loopback server, and pass Retry-After as a number
  • Billing: Resolve self-host detection, redirect free workspaces to checkout, correct the Conversation API actor model, and revert reserved message slots on failed or aborted chats
  • Chat: Preserve assistant text blocks across tool iterations, persist conversation trace rows reliably, and remove non-existent columns from the conversations query
  • Auth: Exempt forms and the Conversation API from session middleware
  • Settings: Plan display, self-host UX, and trunk-based branch model
  • CI / Deploy / DB: Use CHANGELOG.md for release notes, pin pnpm, fix deployment routing, and restore Supabase role grants

Refactors

  • Adopt the @contentrain/mcp RepoProvider surface and delegate content operations, validation, and serialization to @contentrain/mcp (Faz S1–S4)
  • Billing: Introduce a payment provider plugin registry and derive PLAN_* constants from .contentrain content
  • Chat: Shared history builder with model / plan / source-aware budgets

Documentation

  • Reflect MCP integration and S6 prep in the roadmap, align deployment docs with the trunk-based flow, and finalize License v1.0

Chore

  • Dependency bumps and a hardened DB baseline for portability

Tests

  • Chat: Update integration assertion to expect populated assistantText

v0.1.0-beta.7

Enhancements

  • API: Add CLI integration endpoints for the Studio CLI

Bug Fixes

  • Content: Align validation and serialization tests with @contentrain/types

Refactors

  • Content: Migrate validation and serialization to @contentrain/types

Documentation

  • Update roadmap and CLAUDE.md for CLI integration and overage billing

v0.1.0-beta.6

Enhancements

  • Billing: Add overage billing system with a usage dashboard

v0.1.0-beta.5

Bug Fixes

  • Security: Atomic plan limit checks and GDPR audit logging gaps

Documentation

  • Mark resolved deferred items and fix the media route test mock

Chore

  • Dependency bumps (Docker actions, testing group, ESLint, Tailwind CSS, Vue group, @types/node)

v0.1.0-beta.4

Bug Fixes

  • Billing: Remove per-seat pricing, adopt a flat-rate model, and align the Pro seat limit to 10
  • Webhooks: Complete all 8 webhook event dispatches and fix test coverage

Documentation

  • Add public ROADMAP.md and align deferred items across all docs

v0.1.0-beta.3

Bug Fixes

  • Release: Include the full Docker build context

Documentation

  • Align Studio open-core positioning

v0.1.0-beta.2

Tests

  • e2e: Stabilize CDN panel rebuild assertion

v0.1.0-beta.1

Initial beta release of Contentrain Studio.

Enhancements

  • Supabase auth provider, API routes, and auth UI
  • Auth UI with Contentrain SDK, Annon icons, and Tailwind CSS 4 theme
  • Logo assets, favicon, and Radix Vue atom components
  • Nuxt layout system with NuxtImg and workspace three-panel
  • Auth guard with redirect
  • Auth-marketing Contentrain model
  • Syne display font for headings and marketing content
  • Error page UI strings
  • Workspace hierarchy (User -> Workspace -> Project)
  • Sidebar-first layout
  • GitHub App provider with installation flow
  • ConnectRepoDialog for repository connection
  • Project workspace page with chat + context panel
  • EmptyState, Skeleton atoms, NuxtLoadingIndicator
  • Dark/light theme toggle, workspace settings
  • Content snapshot API + context panel with model list
  • Sidebar model section in project view
  • vue-sonner toast notifications
  • Content model browsing, slug editing, sidebar model selection
  • IndexedDB snapshot cache, view transitions
  • Type-aware content field display (all 4 content kinds)
  • @contentrain/types v0.2.0 integration
  • Domain-grouped model list with kind icons and entry counts
  • Collapsible domain groups
  • Markdown preview with Tailwind Typography
  • Nested objects and array-of-objects rendering
  • Locale switcher in context panel
  • GitProvider write operations
  • Content Engine (validation, serialization, write path)
  • Database migration, encryption, Anthropic SDK
  • AIProvider interface, Anthropic implementation, chat SSE endpoint
  • Chat UI (composable, bubbles, tool cards, input, panel)
  • Project initialization flow (Path B)
  • Inline content editing (click to edit, creates branch)
  • Branch management API + sidebar pending changes
  • Live project state in system prompt
  • Context pin + drag system (share content with agent)
  • Comprehensive Contentrain architecture in system prompt
  • Vocabulary + context.json loading
  • Vocabulary + project stats in content panel overview
  • Radix Vue tooltips on project stats
  • Meta files, relation integrity, unique constraints, document support
  • Context.json tracking on every operation
  • Entry status badges + document kind write support
  • Modal-based content editor + CRUD chat prompts
  • Branch diff UI, role-based workflow, GitHub webhook
  • Workspace and project member management UI
  • Project settings modal, vocabulary editing, config API
  • Chat project switch reset, avatars, context attach to message
  • Conversation history, model selection, API endpoints
  • Enterprise edition structure + license feature flags
  • Comprehensive plan-based feature gating
  • Rate limiting + BYOA key management UI
  • copy_locale tool, branch protection PR fallback, command palette
  • Auto-detect GitHub App installation on tab focus
  • CDN content delivery infrastructure
  • CDN project settings UI
  • CDN usage metering and per-key rate limiting (EE)
  • CDN real-time build progress via SSE
  • Plan badge on workspace switcher + session persistence
  • Command palette with search, commands, and recents
  • Content publish workflow + CDN status filtering
  • Clickable publish/unpublish status badge
  • Diff-based stale object cleanup in CDN builds
  • Boot-time config validation via Nitro plugin
  • Starter kit templates, repo name display
  • Media management infrastructure (provider, migration, variants)
  • Media processing pipeline (Sharp optimizer, variants, blurhash)
  • Media API routes (upload, list, CRUD, URL import, bulk ops)
  • Media agent tools (search, upload from URL, get metadata)
  • Asset manager UI (composable, card, uploader, detail, grid panel)
  • Content field media integration (picker, thumbnail preview)
  • CDN media manifest, endpoint media serving, usage tracking
  • Media UI string dictionary entries (37 keys)
  • Full-screen asset manager modal
  • Upload UX with XHR progress bar in drag-drop zone
  • Media assets in chat context pin system
  • Empty state illustrations, GitHub installation checks, Pro CTAs
  • Form submission infrastructure (public endpoints, validation, security)
  • Form config API, Turnstile captcha, honeypot, HTML sanitization
  • Outbound webhooks (CRUD, deliveries, retries, HMAC signing)
  • Conversation API (public endpoints with API key auth)
  • Conversation key management (CRUD, model/locale restrictions)
  • Brain content analysis tools (SEO audit, locale parity, quality score)
  • Schema validation tool with health scoring
  • Profile + account settings (display name, avatar, account deletion)

Bug Fixes

  • Comprehensive security audit (30+ fixes across auth, forms, CDN, media, webhooks)
  • Numerous UX, accessibility, and error handling fixes

Documentation

  • Open source governance suite (LICENSE, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY)
  • Deployment guides (SELF_HOSTING, DOCKER, DEPLOYMENT)
  • README rewrite

INFO

For the complete commit-level changelog, see the GitHub releases page.

Released under the AGPL-3.0 License.