Repository navigation
Ridu v0.16.0
Ridu 0.16.0
REST and the SDK now send the error codes the documentation describes, typed Go handles can publish
versioned content, and data transforms read the collection shapes their own migration defines. The
migrations and work-with-data documentation is rewritten around tasks, diagrams, and side-by-side
Go, TypeScript, and REST examples.
Changes
- REST and the SDK send
bad_query(400) for a filter, sort, selection, or population the
collection can't run, andpublish_required(409) for a plain update of a published versioned
document or global. Both used to arrive asbad_request. - Any other error reports the code its status names:
access_deniedfor 403,not_foundfor 404,
conflictfor 409,bad_requestfor other 4xx statuses, andinternalfor 5xx. A 404 for an
unknown collection no longer saysbad_request. RequestObservation.ErrorReasonholds the specific code behind the public one, such as
origin_deniedbehindaccess_deniedorbody_too_largebehindbad_request, for monitoring
and alerts.- Generated typed collection handles gain
Publish,PublishChanges, andUnpublish, and typed
global handles gainPublishChanges. Typed code can now edit a published versioned document
without falling back tostore.Values. migration.DataTransactiongainsCollectionandGlobal, which return a resource as the
running migration leaves it, or its earlier shape when the migration removes it. Transforms that
resolved the current config brokeridu migrate verifyand new databases once a later migration
changed the collection.- The SDK's
auth.createUserresolves to the user type when the session collection has no drafts,
instead ofPromise<never>, and rejects incomplete data and{ draft: true }there. - SQLite reports that a database file's directory doesn't exist, instead of only
"SQLite error 14". Other SQLite errors include the driver's description of their code. - Inside Claude Code,
ridu newandridu agent installdefault to the Claude layout
(CLAUDE.mdand.claude/skills), and the wizard preselects it. An explicit--agentor
--no-agentstill wins, and other environments keep the Codex default. - The
ridu-projectskill no longer tells agents to pass--allow-maintenanceto
ridu migrate verify; onlyridu migrate upneeds it. - The migrations documentation is a short overview with diagrams and seven task pages. Querying
data, the Local Go API, and the TypeScript SDK are split into task pages with a new Writing data
page, and a reader's choice of code tab carries across examples and pages.
Breaking changes and upgrade
Update the Go module and all Ridu npm packages to 0.16.0 together, regenerate application contracts,
and rebuild the admin and application binary. Migration planners and database layouts are unchanged
from 0.15.0, so existing databases and migration histories need no recreation.
- REST clients and SDK code that matched
bad_requestnow receivebad_queryfor refused queries,
publish_requiredfor an update that needs publishing, andaccess_denied,not_found, or
conflictfor 403, 404, and 409 responses. The SDK'sErrorCodetype includesbad_queryand
publish_required. - Alerts that need the specific cause of a rejection, such as
origin_denied,host_denied, or
body_too_large, should readRequestObservation.ErrorReason.ErrorCodecarries only the
public code. - Go types that implement
migration.DataTransaction, such as test doubles, must addCollection
andGlobal.
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.