Skip to content

Releases: Contentrain/studio

v0.2.0-beta.1

v0.2.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jul 17:20

compare changes

🚀 Enhancements

  • ai: Add Claude Sonnet 5 + single-source chat model catalog (#113)
  • durability: Alert on swallowed R2-teardown failures + require explicit CDN bucket (#121)
  • cdn: Emit per-locale content bundles for single-fetch delivery (#125)
  • providers: Add auth/database provider selectors behind boot validation (#126)
  • db: Portable migration lineage — plain-Postgres auth shim, runner, CI proof (#127)
  • db: Postgres DatabaseProvider core — client, RLS helpers, first 4 modules, contract suite (#128)
  • db: Postgres provider — projects, usage, conversations (43 methods) + conversation delete-policy fix (#130)
  • db: Postgres DatabaseProvider COMPLETE — final 6 modules + delete-safe FK fixes (#131)
  • auth: Managed AuthProvider — the postgres pair is now selectable (#132)
  • tests: Plain-PG test matrix + managed-pair boot smoke + provider-pair docs (Faz 4) (#138)
  • oauth: Studio-managed OAuth 2.1 AS for the remote MCP surface (#141)
  • mcp: ProjectId-less remote MCP endpoint behind the OAuth grant (#142)
  • ui: Connected apps panel — see and revoke remote MCP grants (#143)
  • auth: Directory-review support — env-gated reviewer login + submission prep (#144)
  • mcp: Bump @contentrain/mcp to 1.10.0 — session fingerprint + media tool classes (#145)
  • mcp: Media facet — the 1.10.0 media tools over MCP Cloud (#146)

🔥 Performance

  • ~6x fewer GitHub API calls in the agent write path (W1-W4) (#116)
  • cdn: Serve delivery hot path from in-process caches + conditional R2 reads (#124)

🩹 Fixes

  • auth: Keep user sessions off the service-role Supabase client (#112)
  • content: Add 17 dictionary keys used in code but never defined (#114)
  • cdn: Stop full rebuild from wiping out-of-band media binaries (#115)
  • git: Never auto-delete the source branch on merge (MCP 1.8.0) (#118)
  • brain: Full-rebuild off default branch when contentrain is missing (#119)
  • content: Handle document per-slug meta in status, copy-locale, and UI (#123)
  • auth: Pin the OAuth exchange redirect_uri to siteUrl behind proxies (#134)
  • auth: Let the oauth module own both dance legs — its state, its check (#135)
  • auth: Drop the state param from the oauth entry URL — it broke module CSRF (#136)
  • cdn: Derive webhook build paths from the compare API, not payload commits (#139)
  • chat: Refuse media-intent uploads while project CDN delivery is off (#140)

🏡 Chore

  • gitignore: Ignore .codex/ agent local configs (#147)

❤️ Contributors

  • AHMET BAYHAN BAYRAMOGLU (@ABB65)

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 08:17
2260a3f

compare changes

🚀 Enhancements

  • media: Scope foundation for the media management API (af98d3d)
  • media: Public media CRUD API routes (/api/media/v1) (5541c96)
  • media: Scope selection UI for CDN/media keys (c5fa3a1)
  • cdn: CDN/media architecture alignment — edition/plan gating, Assets↔CDN, upsell (#74)
  • observability: Add Sentry error & performance monitoring (#79)
  • editor: Source-mode markdown editor + agent markdown authoring guide (#82)
  • seo: Add page titles, head meta, and Open Graph tags (#84)
  • cdn: Public media delivery + build-time path rewrite (#83)
  • chat: Attach external files and links to conversations (#87)
  • agent: Align system prompt + enforcement with governance and edition (#88)
  • agent: Publish/media/branch tools + relation integrity at save (#89)
  • Array field editing + explicit chat attachment intent (#90)

    🩹 Fixes

    • media: Reuse existing cdn.key_mismatch + chat.rate_limited error keys (bca7b7f)
    • e2e: Target CDN key-name input by type (scope checkboxes broke the first-input locator) (81c62f6)
    • media: Attribute API-key uploads to the workspace owner (uploaded_by uuid FK) (c342e10)
    • media: Gate the media API on CDN activation (cdn_enabled) (1ee8612)
    • billing: Grant the free trial once per workspace + fix plan modal (#75)
    • billing: Surface a clean error when the payment provider call fails (#76)
    • cdn: Move key-scope checkboxes below the PERMISSIONS label (#77)
    • chat: Replace retired Claude model IDs (#80)
    • config: Fail boot if the service-role key isn't actually service_role (#81)
    • content: Merge document saves with the existing entry (#85)
    • content: Resolve document paths under the model id (#85, #86)
    • chat: Turn streaming, document date validation, and live context reactivity (#91)
    • content: Merge partial collection/singleton saves instead of replacing (#92)
    • members: Drop non-existent workspace_id from project_members insert (#93)
    • workspace: Owner keeps owner role after inviting a member (#94)
    • Plan info lost after deploy until redeploy (ee bridge / sharp native load) (#95)
    • webhooks: Add missing dictionary keys + fix header spacing (#100)
    • forms: Render "None" captcha option in form settings (#101)
    • content: Status badge picker with loading state (#102)
    • starters: Add missing common.all string + stop modal height jump (#104)
    • billing: Use real trial_end, never the billing period end (#103)
    • branches: Decode percent-encoded branch route param (#105)

    📖 Documentation

    • Close mobile responsive shell todo (shipped since v0.1.0-beta.1) (14b5694)

    🏡 Chore

    • Standardize contentrain.io email addresses (aef6f4d)
    • deps-dev: Bump vue-tsc from 3.2.6 to 3.3.6 (#99)

    ❤️ Contributors

    compare changes

    🚀 Enhancements

    • mcp-cloud: Add license entries + Supabase migration (Faz S6 ön-hazırlık) (22fe286)
    • mcp-cloud: Wire hosted HTTP endpoint + key management (Faz S6) (325d39e)
    • mcp-cloud: Workspace settings tab for API key management (Faz S6) (218c0dc)
    • pricing: Simplify free, boost starter, upgrade pro, wire enterprise CTA (P1-P3, P7) (7e668b5)
    • mcp-cloud: Wire Stripe overage billing (P5) (00482ca)
    • billing: Trial ending reminder emails (P8) (5f4ca43)
    • billing: Normalise payment state into payment_accounts + outbox (6566864)
    • billing: Add polar payment plugin and usage outbox drainer (2465117)
    • billing: Activate polar, wire usage meters, add setup tooling (44621b9)
    • scripts: Content-driven polar-sync (products + prices + meters) (4bd9008)
    • email: Shared branded layout and Polar webhook notifications (f732f4b)
    • polar: Add env-file support for polar sync script (a98cfd8)
    • legal: Editions, deployment profiles, and licensing surface (f73b192)
    • runtime: Deployment profiles + edition-aware license system (85dbeb8)
    • ui: Edition-aware UI surfaces for all deployment profiles (625c38a)
    • enforcement: Orphan feature cleanup — enforce or flag roadmap (7ee0c42)
    • github-app: Connect-existing flow, revoke on delete, ownership verification (253be4a)
    • github-app: Repo-level access lifecycle (revoke/delete/rename handling) (dc05977)
    • billing: Revert reserved message slot on failed/aborted chats (28a2e95)
    • chat: Durable internal tool trace persistence (29c821c)
    • content-engine: Align with @contentrain/mcp 1.5.0 / query 6 / types 0.5.1 (75a76ae)
    • mcp-cloud: Honor project workflow + plan for external writes; document server layer (47d5ca5)
    • billing: Align plan modal, paywall, and trial UX end-to-end (de5370f)
    • mcp-cloud: Enforce tool allowlist, fix quota semantics, improve onboarding (cc5c5e1)

    🔥 Performance

    • ai: Anthropic prompt cache + cache token accounting (0bd4faf)

    🩹 Fixes

    • ci: Use CHANGELOG.md for release notes instead of GitHub auto-generated (056bab2)
    • config: Set root directory for Vitest configuration (5f16a3a)
    • mcp-cloud: Close 4 launch blockers from deep review (C1-C4) (1ce0bac)
    • ui: Use valid annon--comment-dots icon for ai_messages (d9c2ce0)
    • build: Generate contentrain client before nuxt build (6d8610c)
    • ci: Pin pnpm to 10.26.2 in action-setup v6 (#26)
    • deploy: Disable healthcheck for Railway routing debug (#27)
    • db: Restore Supabase role grants missing from baseline (#28)
    • settings: Plan display, self-host UX, trunk-based branch model (#34)
    • content: Align .contentrain billing data with canonical license values (b9e65cc)
    • billing: Resolve self-host detection across UI and server (87c86ff)
    • ci: Integration-test compatibility for enterprise + media enforcement (8152271)
    • ci: Pro...
Read more

v0.1.0-beta.8

v0.1.0-beta.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Jun 12:07
51cf0c0

compare changes

🚀 Enhancements

  • mcp-cloud: Add license entries + Supabase migration (Faz S6 ön-hazırlık) (22fe286)
  • mcp-cloud: Wire hosted HTTP endpoint + key management (Faz S6) (325d39e)
  • mcp-cloud: Workspace settings tab for API key management (Faz S6) (218c0dc)
  • pricing: Simplify free, boost starter, upgrade pro, wire enterprise CTA (P1-P3, P7) (7e668b5)
  • mcp-cloud: Wire Stripe overage billing (P5) (00482ca)
  • billing: Trial ending reminder emails (P8) (5f4ca43)
  • billing: Normalise payment state into payment_accounts + outbox (6566864)
  • billing: Add polar payment plugin and usage outbox drainer (2465117)
  • billing: Activate polar, wire usage meters, add setup tooling (44621b9)
  • scripts: Content-driven polar-sync (products + prices + meters) (4bd9008)
  • email: Shared branded layout and Polar webhook notifications (f732f4b)
  • polar: Add env-file support for polar sync script (a98cfd8)
  • legal: Editions, deployment profiles, and licensing surface (f73b192)
  • runtime: Deployment profiles + edition-aware license system (85dbeb8)
  • ui: Edition-aware UI surfaces for all deployment profiles (625c38a)
  • enforcement: Orphan feature cleanup — enforce or flag roadmap (7ee0c42)
  • github-app: Connect-existing flow, revoke on delete, ownership verification (253be4a)
  • github-app: Repo-level access lifecycle (revoke/delete/rename handling) (dc05977)
  • billing: Revert reserved message slot on failed/aborted chats (28a2e95)
  • chat: Durable internal tool trace persistence (29c821c)
  • content-engine: Align with @contentrain/mcp 1.5.0 / query 6 / types 0.5.1 (75a76ae)
  • mcp-cloud: Honor project workflow + plan for external writes; document server layer (47d5ca5)
  • billing: Align plan modal, paywall, and trial UX end-to-end (de5370f)
  • mcp-cloud: Enforce tool allowlist, fix quota semantics, improve onboarding (cc5c5e1)

🔥 Performance

  • ai: Anthropic prompt cache + cache token accounting (0bd4faf)

🩹 Fixes

  • ci: Use CHANGELOG.md for release notes instead of GitHub auto-generated (056bab2)
  • config: Set root directory for Vitest configuration (5f16a3a)
  • mcp-cloud: Close 4 launch blockers from deep review (C1-C4) (1ce0bac)
  • ui: Use valid annon--comment-dots icon for ai_messages (d9c2ce0)
  • build: Generate contentrain client before nuxt build (6d8610c)
  • ci: Pin pnpm to 10.26.2 in action-setup v6 (#26)
  • deploy: Disable healthcheck for Railway routing debug (#27)
  • db: Restore Supabase role grants missing from baseline (#28)
  • settings: Plan display, self-host UX, trunk-based branch model (#34)
  • content: Align .contentrain billing data with canonical license values (b9e65cc)
  • billing: Resolve self-host detection across UI and server (87c86ff)
  • ci: Integration-test compatibility for enterprise + media enforcement (8152271)
  • ci: Production-safe deployment snapshot mutation (0988b0b)
  • ee: Surface bridge load failures instead of silent fallback (eb97b41)
  • github: Pass workspace id as state to App install url (9b1cc03)
  • ee: Eliminate boot-time race that latched deployment as community (d23a32e)
  • billing: Redirect free workspace to checkout instead of alerting (67b029e)
  • github-app: Reconnect uses POST /api/auth/login, not bare URL (3fe3f82)
  • chat: Remove non-existent status/workspace_id from conversations SELECT (237a112)
  • ci: Wait for e2e port to free between suite spawns (8f0c096)
  • billing: Correct Conversation API actor model + usage table (23631b2)
  • chat: Preserve assistant text blocks across tool iterations (7d0c35b)
  • mcp-cloud: Pass Retry-After as number for h3 typed headers (cf7b918)
  • chat: Persist conversation trace rows reliably (b890b82)
  • content: Validate document slug passed as a separate argument (011a077)
  • mcp-cloud: Exempt /api/mcp from the session auth middleware (c1ca245)
  • auth: Exempt forms + conversation API from session middleware (6199538)
  • mcp-cloud: Forward the client Accept header to the loopback MCP server (4a8750f)

💅 Refactors

  • providers: Adopt @contentrain/mcp RepoProvider surface (Faz S1) (2059f13)
  • content-engine: Delegate content ops to @contentrain/mcp (Faz S2) (a91eb78)
  • validation: Delegate validateContent to @contentrain/mcp (Faz S3) (9da5de9)
  • serialization: Drop content-serialization wrapper (Faz S4) (22f23d0)
  • billing: Introduce payment provider plugin registry (7b5dae1)
  • license: Derive PLAN_* constants from .contentrain content (136bbac)
  • chat: Shared history builder with model/plan/source-aware budgets (2f4e394)

📖 Documentation

  • Reflect MCP integration + S6 prep in ROADMAP + CLAUDE.md (Faz S8) (4a69b5e)
  • Mark S6 MCP Cloud shipped (Faz S8 cleanup) (e72a8cd)
  • deploy: Align deployment docs with trunk-based flow (577012f)
  • claude: Clarify account deletion has no outbound email (a5a2ba9)
  • editions: Align long-form docs with the edition + profile model (28534b6)
  • ee: Finalize License v1.0 from market-comparative review (b9baa56)

🏡 Chore

  • deps-dev: Bump @types/node from 25.5.2 to 25.6.0 (#22)
  • deps-dev: Bump @tailwindcss/vite from 4.2.1 to 4.2.2 (#21)
  • deps-dev: Bump the testing group with 4 updates (#19)
  • db: Harden baseline for portability (#25)
  • Merge main into feat/github-app-lifecycle-overhaul (4f9cdd2)

✅ Tests

  • chat: Update integration assertion to expect populated assistantText (4659c05)

❤️ Contributors

v0.1.0-beta.7

v0.1.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Apr 11:51

🚀 Enhancements

  • api: Add CLI integration endpoints for Studio CLI (5824f89)

🩹 Fixes

  • content: Align validation/serialization tests with @contentrain/types (32af5f0)

💅 Refactors

  • content: Migrate validation and serialization to @contentrain/types (e554bbe)

📖 Documentation

  • Update roadmap and CLAUDE.md for CLI integration and overage billing (1cd6dba)

Full Changelog: v0.1.0-beta.6...v0.1.0-beta.7

v0.1.0-beta.6

v0.1.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Apr 20:05

🚀 Enhancements

  • billing: Add overage billing system with usage dashboard (bd981f1)

Full Changelog: v0.1.0-beta.5...v0.1.0-beta.6

v0.1.0-beta.5

v0.1.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@ABB65 ABB65 released this 07 Apr 13:46

🩹 Fixes

  • security: Atomic plan limit checks and GDPR audit logging gaps (5df4248)
    • Race conditions: workspace member seats, CDN API keys, and media storage quota now use pg_advisory_xact_lock atomic RPCs (migration 019)
    • GDPR audit: bulk form submission deletion writes explicit audit logs with actor attribution
    • 4 missing DELETE endpoints added to audit registry (CDN key, conversation key, webhook, AI key)
    • Non-atomic fallback code removed from storage/CDN increment methods

📖 Documentation

  • Mark resolved deferred items and fix media route test mock (42a85af)

🏡 Chore

  • deps: Bump docker/setup-buildx-action from 3 to 4
  • deps: Bump docker/login-action from 3 to 4
  • deps: Bump docker/build-push-action from 6 to 7
  • deps-dev: Bump the testing group with 4 updates
  • deps-dev: Bump eslint from 10.0.3 to 10.2.0 in the linting group
  • deps-dev: Bump tailwindcss from 4.2.1 to 4.2.2
  • deps: Bump the vue group with 2 updates
  • deps-dev: Bump @types/node from 24.12.0 to 25.5.2

Full Changelog: v0.1.0-beta.4...v0.1.0-beta.5

What's Changed

  • chore(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #9
  • chore(deps): bump docker/login-action from 3 to 4 by @dependabot[bot] in #10
  • chore(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #11
  • chore(deps-dev): bump the testing group with 4 updates by @dependabot[bot] in #13
  • chore(deps-dev): bump eslint from 10.0.3 to 10.2.0 in the linting group by @dependabot[bot] in #14
  • chore(deps): bump the vue group across 1 directory with 2 updates by @dependabot[bot] in #12
  • chore(deps-dev): bump tailwindcss from 4.2.1 to 4.2.2 by @dependabot[bot] in #15
  • chore(deps-dev): bump @types/node from 24.12.0 to 25.5.2 by @dependabot[bot] in #16

New Contributors

Full Changelog: v0.1.0-beta.2...v0.1.0-beta.5

v0.1.0-beta.4

v0.1.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@ABB65 ABB65 released this 03 Apr 12:39

compare changes

🩹 Fixes

  • billing: Remove per-seat pricing, adopt flat-rate model (e706bcb)
  • billing: Align Pro seat limit to 10, remove per-seat remnants (d2be160)
  • webhooks: Complete all 8 webhook event dispatches and fix test coverage (c6a36e1)

📖 Documentation

  • Add public ROADMAP.md, align deferred items across all docs (04134b4)

❤️ Contributors

Full Changelog: v0.1.0-beta.2...v0.1.0-beta.4

v0.1.0-beta.3

v0.1.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Apr 11:30

compare changes

🩹 Fixes

  • release: Include full docker build context (3dffa99)

📖 Documentation

  • Align studio open-core positioning (733ae3e)

v0.1.0-beta.2

v0.1.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@ABB65 ABB65 released this 03 Apr 12:42

compare changes

✅ Tests

  • e2e: Stabilize cdn panel rebuild assertion (ce228f7)

v0.1.0-beta.1

v0.1.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@ABB65 ABB65 released this 03 Apr 12:42

Initial beta release of Contentrain Studio — open-core AGPL CMS.

Highlights

  • 🏗️ Full-stack Nuxt 4 with Supabase Auth + PostgreSQL
  • 💬 AI chat engine with conversation-first content management
  • 📦 CDN content delivery with API keys and builds
  • 🖼️ Media management with Sharp processing
  • 📝 Forms & submissions with public endpoints
  • 🔍 Schema validation + project health dashboard
  • 🐳 Docker deployment ready
  • 📖 Open-source governance suite (CONTRIBUTING, SECURITY, CODE_OF_CONDUCT)

Full Changelog: https://github.com/Contentrain/studio/commits/v0.1.0-beta.1