Skip to content

Releases: b4moss/es4

v0.10.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 12 Oct 04:11
31ca62d

What's Changed

v0.10.0 — BREAKING: key hierarchy delimiter / → : + Scan (Issue #37)

  • feat(state): key delimiter / → : + Scan by @cursor in #39

Breaking

  • Hierarchy delimiter is now : (ValidateKey / validateKey)
  • / is allowed as an ordinary character
  • HTTP mapping A: /v1/keys/a:b:c (one path segment). Old /v1/keys/a/b → 404
  • Firestore Doc ID: : → %3A (Go/Node parity)
  • Recovery Restore: old /-hierarchy keys are dropped (decision D). No automatic migration — discard and re-ingest

Added

  • Scan(prefix) ([]string, error) — batch, no paging, usable inside Tx (Go Store/Tx/DB + Node)

Packages

  • packages/go → 0.10.0 (packages/go/v0.10.0)
  • @b4moss/es4 → 0.10.0

Full Changelog: v0.9.0...v0.10.0

Go module v0.10.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 12 Oct 04:11
31ca62d

Go module github.com/b4moss/es4/packages/go v0.10.0.

v0.9.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 12:50
1fd0515

What's Changed

v0.9.0 — Node.js / TypeScript port(Go v0.8.0 契約パリティ)

packages/node

  • Options(Defaults → YAML → ES4_*、snake_case)
  • State: Memory · SQLite · Redis/Valkey · Firestore
  • Tx、内部 Snapshot / Recovery(file / libsql / object)
  • HTTP Es4 Server(/livez /readyz /v1/keys/...)
  • E2E: object / file / memory / libsql / redis / valkey / firestore(layer=all は redis/valkey/firestore 除外)
  • CI: e2e.yml の runtime(go | node | both)

Go 契約・ソースは変更なし。リリースブランチへの PR は未作成。

Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 12:29
2303b5e

What's Changed

v0.8.0 — 外部サービスの充実(State Backend)

State backends

  • Memory / SQLite(既存)
  • Redis/Valkey(同一プロトコルアダプタ)— layer=redis / layer=valkey
  • Firestore(単一 collection・Clear は設定 collection のみ)— layer=firestore
  • 新 layer は layer=all に含めない

Full Changelog: v0.7.3...v0.8.0

v0.7.3

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 09:33
b432474

What's Changed

Full Changelog: v0.7.2...v0.7.3

v0.7.2

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 09:13
a52ea78

What's Changed

Full Changelog: v0.7.1...v0.7.2

v0.7.1

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 09:00
c8936da

E2E three-layer enhance

  • File SQLite layer: C1–C5 (local persistence + restart)
  • In-memory layer: C2 / C4 / C5 (no restart restore)
  • S3 / Object: existing §5.1–§5.5 assertions unchanged
  • Actions: .github/workflows/e2e.yml (workflow_dispatch, layer input)

See #22

v0.7.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 08:39
ed3bb6d

Phase 6 — E2E Object Recovery × RustFS

  • E2E suite (//go:build e2e) against RustFS in Docker for Object Recovery restart restore (Snapshot-saved only)
  • Manual GitHub Actions workflow (workflow_dispatch only): .github/workflows/e2e-object-recovery.yml
  • Spec: docs/tests/e2e/e2e-spec.md

See #18

v0.6.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 08:25
d15cf64

Phase 5 — State Backend Adapter boundary

  • Harden shared Store contract for Memory and SQLite with table-driven contract tests (Export deep copy, Replace atomicity, Close→ErrClosed, invalid keys/values)
  • Document Adapter boundaries; Redis/Valkey remain Unscheduled
  • SQLite internal only: explicit deep copy on Get/Export; Exists via SELECT 1 … LIMIT 1

See #16

v0.5.0

Choose a tag to compare

@kohki-shikata kohki-shikata released this 29 Sep 08:16
7f7d8ff

Phase 4 / SemVer v0.5.0

Es4 Server(単一プロセス HTTP)を着地。

追加

  • cmd/es4-server + internal/server(stdlib net/http)
  • State: PUT/GET/DELETE/HEAD /v1/keys/{key…}、POST /v1/clear
  • Tx: POST /v1/tx → keys / clear / commit / rollback
  • GET /livez 常時 200 / GET /readyz は Restore Ready 後のみ 200
  • 待受: PORT > ES4_LISTEN_ADDR > :8080
  • docker/Dockerfile(マルチステージ、EXPOSE 8080)
  • Cloud Run 向け: 公開パスは末尾 / なし(付きは 404)

検証

cd packages/go && go test ./... PASS

PR: #15