Repository navigation
Ridu v0.14.0
Ridu 0.14.0
Working drafts now remain separate from published content. Blocks have an editable editorial name,
and their headers, spacing, and collapse behavior follow Payload's authoring UI more closely.
Changes
- Save incomplete working drafts without changing the live document. Durable autosave, atomic
publication, unpublication, and discarding draft changes use the same operation engine across
the Go API, REST, GraphQL, SDK, and admin. - Published reads use the live snapshot independently of pending edits. Authorized working reads
expose_publishedRevisionand_hasDraftChangeswhen a published snapshot exists. Retaining
fewer historical versions does not remove the current draft or published snapshot. - Draft validation permits incomplete required fields while retaining type, access, reference,
identity, upload, and plugin validation. Publication validates the complete document and its
translations before changing either head. - Every block has an ordinary
blockNametext field. Edit it beside the block-type badge instead
of showing a title inferred from the block's content. Block headers, full-width separators,
borders, icons, and collapse transitions now follow the Payload reference. - Saving and publishing preserve the document's scroll position. Server-normalized values become
the saved baseline without replacing the editor with a temporary loading page. - The website explains the framework and generated-project workflow more clearly, with an updated
preview example and improved mobile layout.
Breaking changes and upgrade
Update the Go module and all Ridu npm packages to 0.14.0 together, regenerate application contracts
and migration artifacts, and rebuild the admin and application binary.
- PostgreSQL and SQLite now accept only migration planner
1.2.0; MongoDB accepts only planner
3.0.0. Older database layouts and migration histories require recreation. This release does
not provide an in-place upgrade from those older layouts. Back up application data and uploads
before recreating a database, and rehearse restoration with the new schema before cutover. - Replace
field.BlockAdmin.NameFieldwith configuration of the ordinary
field.Text("blockName")field when customization is needed. Ridu supplies this field with an
empty-string default when omitted. Existing block definitions gain it through the current
schema/migration workflow; immutable historical snapshots retain their original shapes. - Custom
FieldAuthoringHost.schemaHeader.onChangeconsumers now receive a string instead of a
{ field, value }object. - Upload creation inputs use
Draftin Go anddraftover HTTP instead ofPublish/publish. - Custom stores use
store.WriteIntentfor updates instead of a writable status selector. Read
status remains output metadata. Implement the save-draft, publish, unpublish, and discard-draft
intents with their distinct working/published-head semantics. - Use the dedicated publication operations to update live content. Ordinary writes to an existing
published document require an explicit draft save or publication operation; ambiguous writes
fail withpublish_required. Custom validation can inspectoperation.Context.WritePhaseto
distinguish incomplete draft saves from complete publication.
Enabling versioning on an already populated unversioned resource remains unsupported. This is a
pre-1 release with breaking contracts; keep the coordinated packages aligned. Production still runs
as a Go binary with its static admin embedded, without a JavaScript server.