Repository navigation
v0.8.0
BeechCMS v0.8.0
Release Date: September 9, 2026
π Headline Features
- MCP Server β AI Control Plane β Introduced
@beechcms/mcp(v1.0.1) featuring an stdio MCP server for IDE agents (Cursor, Claude Desktop). Uses a Plan/Apply mechanism (/api/seeds/:slug/mcp-planβmcp-apply), 7 tools for schema management, and a secure OAuth 2.0 browser flow with zero passwords in the config. (328, 386, 390) - Zero-Secret Forms SDK β Added
@beechcms/forms-react(v1.0.0) featuring a drop-in<BeechForm/>and headless hooks. Implements multi-level bot defense (Time-Trap HMAC single-use tokens, cloaked honeypots, origin whitelisting) and allows public submissions without exposing write API keys. (22, 303, 325, 330) - Edge-Native Vector Search β Released
@beechcms/search-client(v0.1.0-preview.1). Compiles binary indices directly to R2 and provides a zero-dependency edge embedding endpoint (/embed) with hybrid lexical and semantic search capabilities. (324, 364) - D1 Canonical Schema Authority β D1 is now the sole source of truth. Includes a new D1-first CLI type generator (
beech gen-types typescript) that introspects the database locally or remotely to emit TypeScript interfaces. (337)
β οΈ Breaking Changes & Upgrades
- seeds.ts Deprecation β
seeds.tsis no longer the schema authority. Commandsseed:loadandseed:createare deprecated. New projects initialize withseeds: []. - Deployment Workflow β
beech deployno longer executes DDL or seeds. Runpnpm beech db:migratefor schema updates. - Public Endpoints Replaced β Legacy
/schemaand/schema.htmlendpoints are removed, replaced by the scoped, privacy-awareGET /api/v1/public/:seed/schema. - Client SDK Strict Segregation β The root export of
@beechcms/clientis now types-only. Import paths must explicitly target/browser(read-only) or/server(full CRUD). (331, 332) - Package Manager β Upgrading requires pnpm 11.25.0.
π Security & Data Privacy
- Continuous Token Bucket Rate Limiting β Replaced legacy limiters with a continuous refill bucket to absorb bursts. Added dual-key (IP + normalized account) validation for auth endpoints and pre-DB limits on
/auth/refresh. (338, 366) - Confidential Data Fields β Added
publicEdit?: booleanto branch policies. Unauthenticated public requests automatically filter out confidential fields, which are now encrypted at rest in D1. (334) - Webhook Signature Verification β Added HMAC-SHA256 zero-dependency verification for webhooks (
verifyBeechWebhookSignature).
π¦ Storage & Media
- Cloudflare R2 Native Binding β Added native support for
R2Bucketbindings alongside the S3 provider, resolving503/500errors on media endpoints. (307, 353) - Upload Subsystem Hardening β Fixed malformed percent-encoding URIs, constrained multi-URL patterns, unified signature verification, and reintroduced the fallback
POST /api/upload. (300, 339)
π₯οΈ Dashboard UI & Editor
- CodeMirror 6 Integration β Replaced legacy editors with a CodeMirror 6 JSON editor featuring OKLCH theme sync and linting. Loaded asynchronously to improve performance. (373)
- Chunk Optimization β Isolated KaTeX and RichText into on-demand chunks, reducing the main bundle by ~700 KB.
- Render Performance β Resolved severe input lag in search bars by memoizing
AppSidebar,SiteHeader, andDataTable.
βοΈ CLI & Build Improvements
- Dynamic Release Scripting β Rewrote
scripts/release.mjsfor per-package release generation and topological sorting. - Test Environment Parity β Added
scripts/test-runner.mjsand pinned Docker images to stable tags with optimized port bindings.
π Documentation
- VitePress Complete Rewrite β Migrated documentation to VitePress with custom themes (HomeHero, FeaturesBento) and structural overhauls. (378, 379)
- Automated Fact-Checking β Introduced
scripts/docs-fact-check.mjsrunning in CI to enforce documentation parity with the codebase.
π Bug Fixes & Stability
- Self-Referencing Relations β Fixed an issue where self-referencing relations were incorrectly rejected as cycles. (392)
- Cycle Error Reporting β Ensured downstream seeds are no longer wrongly implicated in cycle errors. (393)
- MCP Slug Validation β Added missing slug format validation to
beech_schema_validate. (394) - Transient 5xx Backoff β Implemented retry with backoff for transient 5xx errors in the MCP client. (395)
- DataTable Generics β Preserved generics on
React.memo(DataTable)preventing type stripping. (396) - Repeater Context β Added
tableEmptytoRepeaterMeta.branchItemContext. (398) - MCP Auto-Restart β The MCP server now automatically restarts upon rebuilds. (391)
- Timing-Safe Key Verification β Implemented
timingSafeEqualfor public API key validation to prevent timing attacks. (276)
π Release Scope
This release includes 61 commits across 755 modified files (+67,736 / β10,465) since v0.7.0.