Repository navigation
Ridu v0.19.0
Ridu 0.19.0
Collections and globals that already store documents can now turn on versions. On Windows, SQLite
projects start, the admin loads, ridu migrate create succeeds, and Ctrl+C stops every process
ridu dev started.
Changes
-
Setting
Versions: trueon an existing collection or global no longer fails with
RIDU_VERSIONS_ENABLE_UNSUPPORTED. A migration records what the documents it already stores
become:published: each document is published with a first version and a matching draft, so readers
keep seeing it.draft: each document stays an unpublished draft with a first version, and public reads stop
returning it until it is published. This needs drafts.require-empty:ridu migrate upstops while the collection stores any document.
ridu migrate createtakes the choice from--versions-existingor asks in a terminal.
ridu devenables versions without asking while the collection stores nothing. Otherwise it asks
published, draft or cancel, then writes and applies the migration like an accepted rename. SQLite,
PostgreSQL and MongoDB apply the choice in the migration's transaction, andridu migrate verify
replays it. See Enabling versions.
Fixes
- On Windows, every command that opened a SQLite file by path failed with
parse SQLite path: … invalid port, includingridu dev,ridu migrate plan,upandverify,
and the server. Paths now becomefile:///C:/…URIs, and UNC shares work too. - On Windows, the admin never loaded under
ridu dev: no@admin/import resolved, because Vite's
module IDs start with a drive. A Windowsridu buildalso split@riducms/uiinto many small
chunks. - On Windows,
ridu migrate createwrote the migration and then exited with "Access is denied", and
the local storage adapter's health check, uploads and deletes failed the same way. Ridu no longer
syncs directories on Windows, where the file system already makes those changes durable. - On Windows, Ctrl+C on
ridu devleft the admin's Vite processes running and holding port 5173.
Each processridu devstarts now runs in a job object that ends its whole tree when Ridu stops,
even if Ridu itself is killed. Through the npm launcher, the first Ctrl+C lets Ridu shut down
cleanly and a second ends it at once.
Windows remains a source-build target without release qualification.
Breaking changes and upgrade
Update the Go module and all Ridu npm packages to 0.19.0 together, regenerate application contracts,
and rebuild the admin and application binary.
sqlite.CreateArtifact,postgres.CreateArtifactandpostgres.BuildArtifacttake an
ArtifactOptionsvalue in place of positional renames, destructive approval and transforms, as
mongodb.CreateArtifactalready did.sqlite.CreateArtifactWithRenamesis removed; pass
ArtifactOptions{Renames: …}. The CLI commands are unchanged.- Migration artifacts gain the
enable_versionsstep kind. Planner versions are unchanged, so
existing histories replay as before. - On PostgreSQL and MongoDB, a migration that enables versions needs
ridu migrate up --allow-maintenance. - The generated SQLite server now accepts Windows
file:URIs inRIDU_SQLITE_PATH. To use them
in an existing project, copysqliteDatabasePathfromcmd/server/main.goin a new project.
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.