Capabilities and limits
This page describes the published 0.5.0 release. Use it to decide whether CaretCMS fits a project and to find the guide for each capability.
Editing and content
Section titled “Editing and content”| Capability | Available behavior | Guide |
|---|---|---|
| On-page text and images | Explicit data-caret bindings, safe rich formatting, image replacement |
Inline editing |
| Structured Studio | Collection switching, title-first entry creation, configurable titles/thumbnails, search and pagination | Studio |
| Field controls | Grouped forms, descriptions, formatted HTML fields, image controls, nested and repeatable records | Schemas |
| Page structure | Movement, insertion, visibility and spacing for configured section-composer regions | Inline editing |
| Markdown prose | Supported paragraphs/headings/list/quote text; split and merge supported top-level paragraphs | Markdown |
| Markdown frontmatter | Supported YAML subset, multiline strings, preservation of untouched field blocks | Frontmatter |
| Visibility | Configured boolean publication field; public Caret reads omit hidden entries | Saving and publishing |
| History and conflicts | Version comparisons, explicit restore, validation focus, local edit retention during conflicts | Studio |
| Dynamic collections | Create/delete schema-backed collections through the API; no Studio collection builder | Dynamic collections |
| Component values | editable, bindEntry, and stegaClean for props, loops, and attributes |
JavaScript helpers |
| Astro live data | caretLoader, getLiveEntry, getLiveCollection; Astro 7 public cache tags |
Live collections |
| Template automation | Caretize setup, binding discovery, review, dry-run, backups | Caretize |
| Branding and language | Theme tokens, brand settings, English/Spanish Studio messages and overrides | Theming |
Publishing and production
Section titled “Publishing and production”| Capability | Available behavior | Guide |
|---|---|---|
| Static delivery | Private authoring drafts, publication to storage, HTML build bake; rebuild/deploy required | Static delivery |
| Server delivery | Request-time rendering; ordinary saves are live without an active write policy | Deployment |
| Authentication | Shared password or authoritative external identity adapter | Authentication |
| Write permissions | Identity adapter policy for edit, publish, delete, collection management and upload | Permissions |
| Draft ownership | Private per-editor drafts; stable identities can reopen drafts after signing in again | Saving and publishing |
| Publish recovery | Stale draft rejection, retained recovery plans, separate per-entry outcomes | Publish recovery |
| Build completion | Rebuild webhook, manual retry, provider-backed status; bundled GitHub Deployments provider | Deployment status |
| Cloudflare storage | Durable Object coordinated writes, or legacy KV for one editor at a time; R2 uploads | Cloudflare storage |
| Sandbox | Temporary isolated visitor sessions with supported Cloudflare storage and upload adapters | Demo mode |
Boundaries to plan around
Section titled “Boundaries to plan around”- Hosted cloud mode is alpha, not a generally available hosted CMS service.
- Permissions are supplied by your identity adapter. There is no built-in user administration UI, shared review queue, or cross-editor draft approval workflow.
- Write permissions do not restrict authenticated Studio reads.
- KV is eventually consistent and cannot guarantee safe concurrent writes. Filesystem/Markdown storage supports a single writer process.
- Markdown body editing does not cover MDX/JSX, tables, code blocks, arbitrary HTML, or arbitrary block conversion. Paragraph restructuring is validated in Chromium; other browsers and mobile input methods need additional coverage.
- Dynamic collections do not generate Astro page templates or routes.
- The marketing site’s browser-only demo is a limited sample with localStorage; it is not a full hosted Studio or a production storage example.
Upgrading to 0.5.0
Section titled “Upgrading to 0.5.0”Update the CaretCMS packages your project uses to 0.5.0, regenerate the
lockfile, then rebuild and redeploy. Optional collection presentation fields
and schema groups require configuration to use; existing configurations remain valid.
An npm release does not update deployed sites automatically.
Upgrading packages does not migrate KV content into Durable Objects. That is a separate storage migration. Preserve existing drafts and review legacy draft handling before discarding work from older releases.