Skip to content

Release v0.4.10

Choose a tag to compare

@github-actions github-actions released this 13 Jul 13:46

Orisun v0.4.10

Orisun v0.4.10

This release supersedes the failed v0.4.5, v0.4.6, v0.4.7, v0.4.8, and v0.4.9 release attempts. The functional release contents are the accumulated changes since v0.4.4, plus the FoundationDB release-build correction from v0.4.9 and the deterministic SQLite group-commit test fix in v0.4.10.

Release Status

  • v0.4.5 failed before producing a complete usable release.
  • v0.4.6 and v0.4.7 were follow-up release attempts while stabilizing CI and release validation.
  • v0.4.8 passed release validation, including go test -p 1 -timeout 90m -v ./..., but failed in the FoundationDB release artifact jobs.
  • v0.4.9 aligned the Go FoundationDB binding with the packaged FoundationDB 7.3 runtime and headers, but release validation exposed a timing race in a SQLite group-commit concurrency test harness.
  • v0.4.10 fixes that test harness race while preserving the SQLite CCC concurrency assertions.

SQLite CCC And Concurrency

  • Added focused coverage for concurrent SQLite saves so CCC behavior remains deterministic under concurrent requests.
  • Verified that only one conflicting writer can win when concurrent requests target the same content-query consistency context.
  • Preserved the ALREADY_EXISTS/optimistic-concurrency behavior for losing writes.
  • Added group-commit coverage for batching, overflow, cancellation, panic recovery, notifier behavior, clean shutdown, direct-mode parity, gap-free concurrent commits, and cross-flush expected-position conflicts.
  • Fixed the group-commit blocker helper so tests wait for the current blocker flush to start, instead of assuming the single-flush counter begins at zero. This removes the CI race seen in TestGroupCommit_InBatchSameExpectedPositionOnlyOneWins after a seed save had already incremented the counter.

FoundationDB Build Fix

  • Downgraded github.com/apple/foundationdb/bindings/go from the API-800 binding revision to the FoundationDB 7.3-compatible revision v0.0.0-20260416192139-3ea44ce1d900.
  • Kept the release/runtime FoundationDB package line at 7.3.77, which is the packaged client/server version used by the existing CI and Docker release paths.
  • Fixed the v0.4.8 failure mode where the Go binding requested a newer C API than the 7.3 headers exposed during the FoundationDB binary and Docker builds.
  • Verified both the containerized cmd/orisun-fdb compile path and the FDB Docker image build path after the downgrade.

SQLite Durability And Metadata

  • Added the SQLite group-commit write path.
  • Defaulted SQLite to FULL synchronous mode for safer local durability.
  • Preserved SQLite metadata separation from boundary event databases.
  • Covered legacy metadata migration for boundary and admin state.

Release Pipeline

  • Added FoundationDB Docker image coverage to CI.
  • Removed the generic Docker image build from CI in favor of backend-specific image validation.
  • Extended integration and package test timeouts so release validation has enough room for the Docker-backed suites.
  • Stabilized release validation around the full package test run.

Documentation

  • Added the Orisun logo and consolidated documentation entry pages.
  • Replaced em dashes in documentation with standard punctuation.

Verification

Validated locally during the v0.4.9/v0.4.10 release preparation:

  • go test ./foundationdb
  • TEST_PKGS=./cmd/orisun-fdb scripts/fdb_test_container.sh -run '^$'
  • docker build -t orisun-fdb:release-fix -f Dockerfile.fdb .
  • docker build --platform linux/amd64 -t orisun-fdb:release-fix-amd64 -f Dockerfile.fdb . reached and completed the go build -tags foundationdb stage; the resulting amd64 image was present locally.
  • go test -p 1 -timeout 90m -v ./...
  • go test ./sqlite -run 'TestGroupCommit_InBatchSameExpectedPositionOnlyOneWins|TestGroupCommit_InBatchConflictEarlierWinsLaterAlreadyExists|TestGroupCommit_CancelledWhileQueuedIsDroppedWithoutAllocatingIDs' -count=20
  • go test ./sqlite

Commits Since v0.4.4

  • fb80b2a test: make sqlite group commit blocker deterministic
  • 327fc41 fix: align FoundationDB binding with 7.3 runtime
  • fa22e49 ci: extend package test timeout
  • 27ed534 ci: stabilize release validation
  • 07cbe72 ci: extend integration test timeout
  • f7a2371 test sqlite CCC concurrent saves
  • 9c26176 Add FoundationDB Docker image to CI
  • 7e31c88 Remove generic Docker image build from CI
  • d6a3109 Add SQLite group commit write path
  • 6e55a11 fix(sqlite): default to FULL synchronous mode
  • 8ec14cc fix(sqlite): default to FULL synchronous mode
  • 65fd0f0 docs: replace em-dashes with standard punctuation
  • 77720a5 docs: add Orisun logo and consolidate entry pages

Installation

Linux

# PostgreSQL-only binary
curl -L https://github.com/oexza/Orisun/releases/download/v0.4.10/orisun-pg-linux-amd64 -o orisun-pg
chmod +x orisun-pg

# SQLite-only binary
curl -L https://github.com/oexza/Orisun/releases/download/v0.4.10/orisun-sqlite-linux-amd64 -o orisun-sqlite
chmod +x orisun-sqlite

# FoundationDB-only binary (Linux only; requires the FoundationDB
# client library installed: foundationdb-clients 7.3.x)
curl -L https://github.com/oexza/Orisun/releases/download/v0.4.10/orisun-fdb-linux-amd64 -o orisun-fdb
chmod +x orisun-fdb

macOS

# PostgreSQL-only binary for Apple Silicon
curl -L https://github.com/oexza/Orisun/releases/download/v0.4.10/orisun-pg-darwin-arm64 -o orisun-pg
chmod +x orisun-pg

# SQLite-only binary for Apple Silicon
curl -L https://github.com/oexza/Orisun/releases/download/v0.4.10/orisun-sqlite-darwin-arm64 -o orisun-sqlite
chmod +x orisun-sqlite

Windows

Download the PostgreSQL-only or SQLite-only binary from the assets below.

Docker

docker pull orexza/orisun:0.4.10-pg
docker pull orexza/orisun:0.4.10-sqlite
docker pull orexza/orisun:0.4.10-fdb

Channel tags are also available: pg, sqlite, and fdb.