Skip to content

Releases: puffball1567/rochedb

RocheDB v0.5.0

Choose a tag to compare

@puffball1567 puffball1567 released this 14 Jul 18:24
b466095

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:
    • batchPutAtomic
    • batchUpdateAtomic
    • batchDeleteAtomic
  • Added opt-in embedded cooperative coordinate locks:
    • acquireRingLock
    • acquireStellarLock
    • withRingLock
    • withStellarLock
    • releaseLock
    • lockActive
  • 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=shops

Benchmark 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.000 while scanned/query dropped
    8000 -> 1000 and estimated tokens/query dropped 3955 -> 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.nim
  • nim check src/rochecli.nim
  • scripts/test_core.sh
  • scripts/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, and retrieve paths do not check them.
  • RocheDB is not a payment ledger or a financial-core database.

RocheDB v0.4.1

Choose a tag to compare

@puffball1567 puffball1567 released this 14 Jul 10:36
d66b222

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 / devel integration workflow.
  • Clarified branch roles for:
    • main
    • devel
    • feature/...
    • docs/...
    • test/...
    • release/vX.Y.Z
    • hotfix/...
  • Linked the workflow from CONTRIBUTING.md.
  • Linked the workflow from the documentation index.

Branch Policy Summary

  • main is the released, tagged, public-stable branch.
  • devel is the integration branch for the next release.
  • Normal feature, test, and documentation work targets devel.
  • Release branches are cut from devel and merged into main.
  • 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

Choose a tag to compare

@puffball1567 puffball1567 released this 14 Jul 10:11
1da0e71

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_tls as 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.nim

Without -d:ssl, non-TLS operation remains available.

Verification

Before release, the following checks passed locally or in GitHub Actions:

  • nim check src/rochedb.nim
  • nim check src/rochecli.nim
  • nim check src/roched.nim
  • nim check src/rochedb_capi.nim
  • nim check -d:ssl src/rochecli.nim
  • nim check -d:ssl src/roched.nim
  • nim check -d:ssl src/rochedb_capi.nim
  • C ABI contract test
  • scripts/cluster_tls_smoke.sh
  • scripts/test_all_smoke.sh
  • GitHub Actions CI jobs added in this release

RocheDB v0.3.0 Technical Preview

Pre-release

Choose a tag to compare

@puffball1567 puffball1567 released this 12 Jul 14:43
f76e5c1

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_json for 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=auto payload 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 readRing filtering, 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.md to make the release validation matrix explicit.

Validation Run

The v0.3.0 pre-release verification pass included:

  • scripts/test_core.sh
  • scripts/cli_crud_smoke.sh
  • scripts/test_all_smoke.sh
  • C ABI shared-library build
  • gcc examples/cabi_contract.c ...
  • LD_LIBRARY_PATH=lib bin/cabi_contract
  • nimble check
  • git 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 roched directly 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

Choose a tag to compare

@puffball1567 puffball1567 released this 08 Jul 08:04
b53fd44

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

Choose a tag to compare

@puffball1567 puffball1567 released this 07 Jul 12:35
7262806

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

Choose a tag to compare

@puffball1567 puffball1567 released this 07 Jul 11:28
4796357

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

Choose a tag to compare

@puffball1567 puffball1567 released this 07 Jul 10:43
78f8993

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

Choose a tag to compare

@puffball1567 puffball1567 released this 07 Jul 10:21
027d252

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 --peers delivery through UAPPLY.
  • 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/roche CLI 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.sh
  • scripts/test_all_smoke.sh
  • scripts/cli_crud_smoke.sh
  • scripts/universe_sync_failure_smoke.sh
  • scripts/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 roched directly 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