Flower 0.2.0 adds continuous backups with point-in-time restores, and foreign keys that the server enforces.
Get started: Run Flower in five minutes downloads the server below and installs the SDK:
npm install @flower-js/sdk@0.2.0New
- Backups and point-in-time restores. Set
FLOWER_BACKUP_URLtos3://BUCKET/PREFIX(AWS S3 or any S3-compatible store;FLOWER_BACKUP_S3_*sets the endpoint and credentials) orfile:///PATH. The leader then ships every entry it applies, stamped with the time it was applied, and now and then writes a compressed base of the whole state (zstd). Retention keeps 30 days by default.flower backup restore --data DIR --id N --advertise HOST:PORT --at TIME(or--index N) rebuilds the state as of any moment in that window, offline, into the data directory of a new single-node cluster.flower backup listshows what each generation can restore, andGET /admin/backupshows what a node's backup is doing. Guide: Backups & restores. - Foreign keys.
collection.references(target, on, { onDelete })declares that each row holds the key of one oftarget's rows: in a field, in several fields that make up a tuple key, or in its own key. At the end of every mutation, the server checks that each row written refers only to rows that exist, and that no deleted row is still referred to. Otherwise the mutation fails withFOREIGN_KEY_VIOLATION.onDeleteisrestrict(the default),cascadeorsetNull. Reference: References.
Upgrading from 0.1.0
Upgrade every node of a cluster together: stop them all, replace the binary, then start them again. Foreign keys add a replicated command, so the compatibility contract's state machine version goes from 17 to 18, and 0.1.0 and 0.2.0 nodes refuse to talk to each other. Data directories written by 0.1.0 open as they are. They can't be downgraded afterwards.
Also
- The handbook no longer calls Flower unreleased, and its backups page uses the release's
./flower. - The SDK is published to npm by the release workflow itself, through npm trusted publishing, with a provenance statement.
Downloads
| Archive | Runs on |
|---|---|
flower-0.2.0-x86_64-unknown-linux-gnu.tar.gz |
Linux x86-64, glibc 2.35+ |
flower-0.2.0-aarch64-unknown-linux-gnu.tar.gz |
Linux Arm64, glibc 2.35+ |
flower-0.2.0-x86_64-apple-darwin.tar.gz |
macOS 15+, Intel |
flower-0.2.0-aarch64-apple-darwin.tar.gz |
macOS 15+, Apple silicon |
Each archive holds the standalone flower server, its MIT license and third-party notices. The .sha256 files verify the archives. macOS builds are not notarized. flower-js-sdk-0.2.0.tgz is the tested SDK package, as published to npm.
Full Changelog: v0.1.0...v0.2.0