Skip to content

Ridu v0.14.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 17:48

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 _publishedRevision and _hasDraftChanges when 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 blockName text 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.NameField with 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.onChange consumers now receive a string instead of a
    { field, value } object.
  • Upload creation inputs use Draft in Go and draft over HTTP instead of Publish / publish.
  • Custom stores use store.WriteIntent for 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 with publish_required. Custom validation can inspect operation.Context.WritePhase to
    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.