Releases: puffball1567/rochedb
Release list
RocheDB v0.5.0
RocheDB v0.5.0
RocheDB v0.5.0 is a technical-preview release focused on making RocheDB's
placement-aware data model more explicit and more useful for ordinary
application workflows.
Release:
https://github.com/puffball1567/rochedb/releases/tag/v0.5.0
RocheDB is still not presented as a production replacement for Redis,
PostgreSQL, MongoDB, Apache Arrow, or a dedicated vector database. The stronger
claim in this release is narrower: RocheDB can make meaningful data placement
part of the read path, operating boundary, and high-integrity application
workflow.
Main Changes
- Added stellar locality lens workflows.
- Added
roche get --stellar=...with--subring, filter, selection, and
grouped output. - Added
roche stellar attach|detach|list. - Added non-copy visibility metadata for existing rings.
- Added embedded atomic bulk helpers:
batchPutAtomicbatchUpdateAtomicbatchDeleteAtomic
- Added opt-in embedded cooperative coordinate locks:
acquireRingLockacquireStellarLockwithRingLockwithStellarLockreleaseLocklockActive
- Added
docs/unique-data-model.md. - Added
examples/stellar_data_model_demo.sh. - Updated benchmark comparison tables and benchmark notes with the latest local
and Docker-Docker measurements.
Why This Release Matters
RocheDB's model is no longer only "place records in rings and retrieve from
rings". This release adds a clearer shape for application data:
ring = meaningful coordinate
stellar = locality lens over related coordinates
subring = narrowed field of view
lock = opt-in coordination around a coordinate or lens
atomic = all-or-nothing embedded bulk workflow
This makes RocheDB more useful for ordinary application domains such as SaaS,
CRM, support tools, catalogs, user/order detail views, and AI/RAG knowledge
systems. It does not turn RocheDB into a payment ledger or a financial core
database, but it gives application workflows stronger primitives around
external payment systems, retries, webhooks, and coordinated updates.
Example
roche put --ring=users/123 \
--payload='{"kind":"user","name":"Alice"}' --codec=json
roche put --ring=shops/1123 \
--payload='{"kind":"shop","name":"Orbit Store"}' --codec=json
roche put --ring=orders/A-001 \
--payload='{"kind":"order","orderNo":"A-001","total":42}' --codec=json
roche stellar attach --stellar=commerce/order/A-001 --ring=users/123
roche stellar attach --stellar=commerce/order/A-001 --ring=shops/1123
roche stellar attach --stellar=commerce/order/A-001 --ring=orders/A-001
roche get --stellar=commerce/order/A-001 \
--selection='{ kind name orderNo total }'
roche get --stellar=commerce/order/A-001 --subring=shopsBenchmark Notes
The benchmark documents were updated with the latest local verification pass.
The headline working-set results remain stable:
- Working-set benchmark: scanned/query
10000 -> 100. - Memory-pressure benchmark: candidate memory/query
46.539 MiB -> 0.465 MiB
in the light verification run. - Synthetic RAG benchmark: recall stayed
1.000while scanned/query dropped
8000 -> 1000and estimated tokens/query dropped3955 -> 657. - Local Redis comparison: RocheDB single TCP GET remains in the same latency
class as Redis GET, while RocheDB batch get remains faster than Redis
pipeline GET in the local helper run.
These are local benchmark results, not universal performance claims. The point
is that the reduced working set is not being bought with an obviously slow
local read path.
Verification
The local verification pass included:
nim check src/rochedb.nimnim check src/rochecli.nimscripts/test_core.shscripts/cli_crud_smoke.sh- working-set, memory-pressure, RAG, Redis, PostgreSQL, and Docker-Docker
comparison helpers during the feature branch verification cycle git diff --check
Known Boundaries
- Cluster transaction coordinator redundancy is still planned.
- Dynamic membership / arc-table based remapping is still planned.
- Cooperative locks are embedded opt-in workflow guards in this release; normal
put,get,list, andretrievepaths do not check them. - RocheDB is not a payment ledger or a financial-core database.
RocheDB v0.4.1
RocheDB v0.4.1
RocheDB v0.4.1 is a documentation and process patch release.
Release:
https://github.com/puffball1567/rochedb/releases/tag/v0.4.1
Main Changes
- Added
docs/development-workflow.md. - Documented the stable-main /
develintegration workflow. - Clarified branch roles for:
maindevelfeature/...docs/...test/...release/vX.Y.Zhotfix/...
- Linked the workflow from
CONTRIBUTING.md. - Linked the workflow from the documentation index.
Branch Policy Summary
mainis the released, tagged, public-stable branch.develis the integration branch for the next release.- Normal feature, test, and documentation work targets
devel. - Release branches are cut from
develand merged intomain. - Tags are created only from
main.
Verification
The documentation workflow PR passed the repository CI before merge into
devel:
- Nim checks and C ABI
- Core test suite
- CLI, cluster, recovery, and universe smoke
- TLS transport smoke
RocheDB v0.4.0
RocheDB v0.4.0
RocheDB v0.4.0 adds TLS transport support and repository-level CI coverage.
Release:
https://github.com/puffball1567/rochedb/releases/tag/v0.4.0
Main Changes
- Added optional TLS transport for
roched, RocheDB Nim clients, CLI commands,
and the C ABI. - Added
roche_connect_auth_tlsas an additive C ABI entry point. - Added TLS CLI flags:
--tls--tls-ca=FILE--tls-server-name=NAME--tls-insecure-skip-verify
- Added TLS server flags:
--tls-cert=FILE--tls-key=FILE--tls-ca=FILE--tls-server-name=NAME--tls-insecure-skip-verify
- Added
docs/tls-transport.md. - Added a TLS smoke test that verifies:
- TLS health check;
- authenticated JSON put/get over TLS;
- plain clients are rejected by a TLS listener.
- Added GitHub Actions CI for:
- Nim semantic checks;
- SSL-enabled semantic checks;
- C ABI contract coverage;
- core tests;
- CLI, cluster, recovery, and universe smoke tests;
- TLS transport smoke tests.
Build Note
TLS support requires building RocheDB with Nim's SSL support:
nim c -d:ssl -d:release -o:bin/roched src/roched.nim
nim c -d:ssl -d:release -o:bin/roche src/rochecli.nimWithout -d:ssl, non-TLS operation remains available.
Verification
Before release, the following checks passed locally or in GitHub Actions:
nim check src/rochedb.nimnim check src/rochecli.nimnim check src/roched.nimnim check src/rochedb_capi.nimnim check -d:ssl src/rochecli.nimnim check -d:ssl src/roched.nimnim check -d:ssl src/rochedb_capi.nim- C ABI contract test
scripts/cluster_tls_smoke.shscripts/test_all_smoke.sh- GitHub Actions CI jobs added in this release
RocheDB v0.3.0 Technical Preview
RocheDB v0.3.0 Technical Preview
RocheDB v0.3.0 expands the driver-facing and codec-aware read surface. The
notable change is C ABI v2 with roche_read_ring_json, which gives external
drivers a stable ring-read page shape similar to the CLI roche get --ring=...
workflow.
This is still a technical preview / research OSS release. Do not present it as
a production replacement for Redis, PostgreSQL, MongoDB, Apache Arrow, or a
mature vector database. The defensible claim remains narrower: RocheDB can
reduce working-set size and downstream retrieval input when data is placed in
meaningful rings, while the implementation is gaining the operational checks
needed for broader evaluation.
Highlights
- C ABI v2 with
roche_read_ring_jsonfor JSON filters, optional projection,
cursor/page reads, sorting, codec metadata, and stable page-shaped JSON
responses. - Unified ring-oriented CLI read behavior around one result shape for one or
many records. - Explicit CLI and documentation paths for JSON, NIF, BIF, raw, and
ring-profile--codec=autopayload workflows. - Expanded C ABI contract smoke coverage for JSON projection, NIF/BIF metadata,
invalid filters, invalid sort fields, and null-ring errors. - Expanded embedded API coverage for
readRingfiltering, pagination, sorting,
defaulting, and codec-aware projection rejection. - Expanded CLI smoke coverage for codec display, BIF base64/hex/adapter views,
invalid filters, invalid sort fields, invalid projection requests, shell, and
user-facing auth errors. - Added
docs/test-coverage.mdto make the release validation matrix explicit.
Validation Run
The v0.3.0 pre-release verification pass included:
scripts/test_core.shscripts/cli_crud_smoke.shscripts/test_all_smoke.sh- C ABI shared-library build
gcc examples/cabi_contract.c ...LD_LIBRARY_PATH=lib bin/cabi_contractnimble checkgit diff --check
scripts/test_all_smoke.sh covers core tests, CLI CRUD, cluster transactions,
cluster failure, authz/RBAC, wire fuzz, recovery, universe sync failure, and
remote universe sync. Driver compatibility remains optional through
ROCHE_TEST_DRIVERS=1.
Known Gaps
- TLS is not implemented; do not expose
rocheddirectly on untrusted
networks. - Cluster membership is static.
- node0 remains the cluster transaction landing coordinator.
- Cluster coordinator redundancy, dynamic membership, and epoch migration are
not implemented. - Universe sync is durable eventual sync, not immediate global serializability.
- Long-running cluster soak, mixed-version protocol, larger universe backlog,
and multi-environment validation are expected to grow through external
evaluation and reports.
Links
- README:
README.md - Test coverage:
docs/test-coverage.md - Status / roadmap:
docs/rochedb-status.md - Public API:
docs/public-api.md - Configuration reference:
docs/config-reference.md - CLI reference:
docs/cli-reference.md - Payload codecs:
docs/payload-codecs.md - Universe sync:
docs/universe-sync.md - Topology examples:
docs/topology-examples.md - Benchmarks:
docs/rochedb-bench.md - Release checklist:
docs/release-checklist.md - Driver installation guide:
docs/driver-installation.md - Threat model:
docs/threat-model.md - Third-party notices:
THIRD_PARTY_NOTICES.md
RocheDB v0.2.5
Summary
- Restores the ordinary cluster GET/BGET read path after transaction landing-zone support added an extra request on normal reads.
- Keeps read-your-writes behavior for accepted-but-not-yet-applied cluster writes by tracking pending IDs on the current client.
- Fixes benchmark stable-ring selection so full-period orbits are not treated as stable during cluster latency runs.
- Updates PostgreSQL and Redis benchmark documentation with the 2026-07-08 local retest results.
- Adds comparison-friendly benchmark tables at docs/benchmark-comparison.md.
Verification
- scripts/test_core.sh
- scripts/cluster_tx_smoke.sh
RocheDB v0.2.3
Build-warning patch release.\n\n- Removes the roched selector getData path that triggered Nim's ProveInit warning during server builds.\n- Bumps package metadata to 0.2.3.\n\nVerified with local server build, CLI smoke, Nimble check, and isolated local Nimble install.
RocheDB v0.2.2
Nimble installation patch release.\n\n- Updates documentation now that nimble install rochedb is available.\n- Clarifies that non-Nim packages remain repository-local foundations.\n- Bumps package metadata to 0.2.2.\n- Adds roched --help so documented server verification works.
RocheDB v0.2.1
Documentation patch release.\n\n- Clarifies that installed CLI usage should call roche directly.\n- Adds Nimble PATH setup for ~/.nimble/bin.\n- Adds system install guidance for /usr/local/bin/roche and /usr/local/bin/roched.\n- Adds a dedicated installation page and links it from README and GitHub Pages docs.
RocheDB v0.2.0 Technical Preview
RocheDB v0.2.0 Technical Preview
RocheDB v0.2.0 expands the ring/galaxy-oriented prototype with a stronger
operational surface: Universe sync, recovery-oriented topology configuration,
Docker Compose demos, CLI workflows, and GitHub Pages documentation.
This is still a technical preview / research OSS release. Do not present it as
a production replacement for Redis, PostgreSQL, MongoDB, Apache Arrow, or a
mature vector database. The defensible claim remains narrower: RocheDB can
reduce working-set size and downstream retrieval input when data is placed in
meaningful rings, while the implementation is gaining the operational checks
needed for broader evaluation.
Highlights
- Universe sync outbox with WAL-backed events, idempotent apply, ack/prune,
local data-dir sync, and remote--peersdelivery throughUAPPLY. - Remote sync observability through
universe-status --peers --metrics. - Restart and duplicate-delivery smoke coverage for remote universe sync.
- Recovery topology configuration using
universes,galaxies, local/remote
archive placement, auth references, priorities, snapshot sequence checks, and
readonly mirrors. - Docker Compose demos for a single galaxy, a three-node galaxy, and a
local/remote universe-shaped topology. bin/rocheCLI CRUD workflows, ring list/count, atlas, and a minimal
interactive shell.- GitHub Pages documentation structure with public API, config, CLI, topology,
universe sync, protocol compatibility, cloud metrics, and threat model pages. - Wire/client errors now surface as user-facing CLI errors instead of assertion
defects for normal operational failures such as failed authentication.
Validation Run
The v0.2 pre-release verification pass should include:
scripts/test_core.shscripts/test_all_smoke.shscripts/cli_crud_smoke.shscripts/universe_sync_failure_smoke.shscripts/universe_sync_remote_smoke.sh- Docker Compose demo checks in
examples/compose/README.md nimble check- Markdown link checks for README and docs
Known Gaps
- TLS is not implemented; do not expose
rocheddirectly on untrusted
networks. - Cluster membership is static.
- node0 remains the cluster transaction landing coordinator.
- Cluster coordinator redundancy, dynamic membership, and epoch migration are
not implemented. - Universe sync is durable eventual sync, not immediate global serializability.
- Server-side warp scheduling is not implemented.
- Package publication workflows are not complete.
- WASM browser support, React Native local-state support, Unity assets, Unreal
plugins, Kubernetes manifests, and multi-VM / multi-AZ benchmarks are later
roadmap items.
Links
- README:
README.md - Status / roadmap:
docs/rochedb-status.md - Public API:
docs/public-api.md - Configuration reference:
docs/config-reference.md - CLI reference:
docs/cli-reference.md - Universe sync:
docs/universe-sync.md - Topology examples:
docs/topology-examples.md - Benchmarks:
docs/rochedb-bench.md - Release checklist:
docs/release-checklist.md - Driver installation guide:
docs/driver-installation.md - Threat model:
docs/threat-model.md - Third-party notices:
THIRD_PARTY_NOTICES.md