Capability status
See which Ridu capabilities are available, limited, experimental, or planned in the current release.
Capability matrix
Check the limits for a capability, then follow its setup guide.
Database adapters
MongoDB adapter
LimitedUse MongoDB only with Ridu’s supported version, security, topology, and platform configuration.
- Support covers generated starter and blank projects on Linux x86-64, MongoDB Community 8.2.9, SCRAM-SHA-256, verified TLS, and a writable three-member replica set.
- Atlas, DocumentDB, Cosmos DB, standalone servers, other versions or topologies, and generic live cross-adapter data migration are not supported.
PostgreSQL adapter
AvailableUse PostgreSQL when the database is a separate service or the application runs on multiple hosts.
- When a release adds migrations, follow the documented drain, verify, snapshot, migrate, status, and start sequence.
SQLite adapter
LimitedPure-Go SQLite supports local-file applications and small or local workloads on one host.
- Shared network filesystems and horizontally replicated deployments are not supported; backups must be SQLite-aware or taken after quiescing WAL writers.
Admin & workflows
Embedded admin authoring
AvailableThe embedded Svelte admin provides collection and global routes, schema-driven forms, lists, saved views, drawers, bulk actions, and static extension points.
Content and admin localization
AvailableLocalized storage, fallbacks, all-locale reads, copy-locale authoring, RTL presentation, and translated admin chrome are implemented.
- Application content translations and admin interface translations are configured independently.
Uploads and object storage
LimitedMultipart and guarded remote ingestion, image sizes, focal regeneration, private delivery, local storage, and S3-compatible storage are implemented.
- Resumable and direct-to-storage upload, quarantine, and malware scanning are not included.
Editorial workflows
AvailableDrafts, versions, publishing, scheduling, locks, trash, duplication, and atomic bulk actions are available through shared operation contracts.
Live preview
LimitedSaved draft preview and optional unsaved postMessage updates work with short-lived, access-checked preview capabilities.
- Preview grants are process-local; multi-replica deployments need session affinity for preview reads.
Work with data
Local Go API
AvailableTyped local operations enter the same access, validation, hook, transaction, and redaction engine as remote transports.
REST API and generated SDK
AvailableGenerated TypeScript contracts and the Fetch-based SDK cover collection and global operations exposed by REST.
- Select and populate inputs are typed, while response projections retain the full generated output type.
Extend Ridu
Custom fields
AvailableCompiled Go field semantics can be paired with statically registered Svelte components through public plugin contracts.
Content model
Built-in fields
AvailableExecutable Go field definitions cover scalar, choice, structured, relationship, media, layout, computed, and plugin-owned values.
Relationships and joins
AvailableForward relationships, upload references, population, reference policies, and read-only inverse joins share the operation engine.
Develop & operate
Durable tasks
LimitedTyped handlers, retries, leases, heartbeats, cancellation, concurrency keys, and retention run through official stores.
- Workflow checkpoints, declarative cron, email/import/export adapters, and an access-controlled task admin are not included.
Official plugins
Form Builder plugin
AvailableForm Builder provides compiled form definitions, validation, submissions, email and payment extension points, and a paired admin experience.
GraphQL plugin
ExperimentalThe opt-in GraphQL plugin adds generated queries and mutations for supported Ridu resources.
- The API may change before the plugin is marked available; applications that do not import it do not include GraphQL.
MCP plugin
LimitedThe opt-in MCP transport exposes explicitly selected, access-checked collection and global reads to authenticated clients.
- Write tools, prompts, custom resources, and source-code mutation are not supported.
Rich text plugin
LimitedThe paired Go and Svelte Lexical integration provides schema-owned rich-text documents, validation, uploads, and admin authoring.
SEO plugin
AvailableThe paired SEO plugin adds typed metadata fields and static admin authoring without bypassing normal field contracts.
Use this page to check whether a feature fits your project before following its setup guide.
Find a capability
The matrix above links each capability to its setup guide and relevant API. Use the documentation home for task-oriented guides and the API reference for exported symbols.
Limited capabilities
These paths work with explicit constraints:
- Generated projections.
selectandpopulateare typed inputs, but TypeScript return types remain the collection’s complete output type. Sort terms are strings rather than generated path unions. - Query vocabulary. There is no
notIn, full-text search, array all-elements operator, or general geospatial query API. Direct-field distinct values are available through the Local Go API when the selected field has no document-aware read rule; broader aggregation and a public REST distinct route are not. Bulk create and general idempotency keys are absent. - Localization boundary. Localized storage, fallback, all-locale reads, interface translations, translated application labels, RTL authoring, timezone-aware number/date formatting, versions, and copy-locale work. Content locale and interface language remain independent, and a document’s draft/published status applies to the document rather than independently to each locale.
- Task primitives. Typed handlers, retries, leases, heartbeats, cancellation, concurrency keys, and retention work. Workflow checkpoints, declarative cron, email/import/export adapters, and an access-controlled task admin are not included.
- SQLite deployment. SQLite is supported only as a local filesystem database on one application host for small or local workloads. Same-host processes use SQLite’s file locks; Ridu makes no shared network filesystem or horizontally replicated deployment promise. Backups must be SQLite-aware or taken after quiescing WAL writers.
- MongoDB deployment. Production support covers only generated starter and blank projects on
Linux x86-64 with MongoDB Community 8.2.9, SCRAM-SHA-256, verified TLS, and a writable
three-member replica set. It
does not cover Atlas, DocumentDB, Cosmos DB, standalone servers, other versions/topologies/OS or
architectures, arbitrary scale, network-partition matrices, or PITR. The production cutover is
drain → command-scoped
verifywith the operational URL → matched database/upload snapshot →upwith the selected app/operator URL → post-upstatus→ start with the app URL. Use separate scoped credentials for the application, verification, and backups. See MongoDB. - Multi-replica preview. Preview grants are process-local, so multiple application replicas need process affinity for a preview session. Every preview read is still access checked.
- Large-file workflow. Uploads are bounded and remote URLs are SSRF hardened, but resumable or direct-to-storage upload, quarantine, and malware scanning are not implemented.
- Migration overlap. Code-only binaries with the same manifest and migration-history fingerprints can overlap. Any release with a new artifact—including a same-manifest data-only artifact—needs the adapter’s coordinated drain–verify–snapshot–migrate–status–start cutover; an explicit multi-history admission contract is not implemented. This is an operational constraint to compare with the project’s downtime objective, not a general production-readiness defect.
- Long-tail admin polish. Broader tablet acceptance, related-list live refresh, plugin-isolated recovery, and known dirty-state, leave-guard, and accessibility defects remain open.
Experimental and optional surfaces
The GraphQL plugin is opt-in and supports generated schema, PostgreSQL CRUD, localization, filters, population, and bounded requests. Compatibility may still change before the plugin is marked available.
The MCP plugin is opt-in and exposes only explicitly selected collection and global reads to authenticated clients. It preserves ordinary access predicates and field redaction. Write tools, prompts, custom resources, and source-code mutation are not currently supported.
The strict in-memory store is test infrastructure, not an application database. PostgreSQL, SQLite,
and MongoDB are supported in production only within their separately documented operating envelopes.
The public store.Store contract allows custom adapters, but conformance includes transactions,
auth, versions, tasks, locks, preferences, references, and cleanup—not only CRUD.
Planned boundaries
The following features do not have a supported API: general realtime subscriptions, MFA/passkeys, general API quotas, full-text search, resumable upload, workflow checkpoints, declarative cron, task administration, and shared multi-replica preview capabilities.
How status labels work
- Available means the documented workflow is supported.
- Limited means a useful path exists with named missing behavior or an operational constraint.
- Experimental means the feature works, but its API or compatibility may change.
- Planned means no supported API exists.
Evaluate Ridu for your project
- Install Ridu and exercise the generated project.
- Read Core concepts and Project structure to understand ownership and deployment shape.
- Check the limited capability list against your product requirements.
- Rehearse migrations, backups, the selected database, object storage, and admin workflows with realistic data.
- Use Security, Production, and Troubleshooting as an operational readiness checklist.
Evaluating another CMS? Start with Move from Payload or Ridu for PocketBase users.