You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
Lockstep version bump to 0.13.0 for the Redis Streams event sink release
(#222, #223). Includes documentation updates, SDK/executor rebuild,
changelog promotion, and golden fixture updates.
## Highlights
- Bump `quarry/types/version.go`, `sdk/package.json`,
`sdk/src/types/events.ts` to 0.13.0
- Rebuild SDK dist and executor bundle with new version
- Promote CHANGELOG.md `[Unreleased]` → `[0.13.0] - 2026-03-12`
- Update golden test fixtures with `contract_version` 0.13.0
- Update `PUBLIC_API.md` version references from 0.12.2 → 0.13.0
- Add event sink documentation to configuration guide and integration
guide
## Test plan
- [ ] CI passes (Go tests, SDK tests, typecheck, lint, biome)
- [ ] Golden fixture contract versions match 0.13.0
- [ ] `quarry/types/version.go` = `sdk/package.json` =
`CONTRACT_VERSION` = 0.13.0
- [ ] CHANGELOG.md has dated `[0.13.0]` section with link reference
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+21-1Lines changed: 21 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
12
12
---
13
13
14
+
## [0.13.0] - 2026-03-12
15
+
16
+
### Added
17
+
18
+
-**Integration**: Pluggable Redis Streams event sink — publishes every event in real time via `XADD` during run execution, enabling downstream consumers to watch events across all runs on a single stream (#222, #223)
19
+
-**CLI**: `--event-sink` repeatable flag to activate event sinks (`lode`, `redis`); multiple sinks fan out with independent delivery semantics (#223)
-**Runtime**: Fan-out event sink with per-sink delivery classification — `mandatory` sinks fail the run on error; `best_effort` sinks log warnings and continue (#223)
22
+
-**Contracts**: CONTRACT_INTEGRATION.md updated with Event Sink Model (scope, delivery semantics, failure behavior, fan-out inheritance) (#223)
23
+
-**Contracts**: CONTRACT_CLI.md updated with event sink flag specifications (#223)
24
+
-**Docs**: Integration guide updated with Redis Streams event sink section, comparison table, and YAML config example (#223)
25
+
-**Docs**: Configuration guide updated with event sink flags and YAML schema (#223)
26
+
27
+
### Changed
28
+
29
+
-**Docs**: PUBLIC_API.md updated with event sink flags and downstream integration references (#223)
30
+
31
+
---
32
+
14
33
## [0.12.2] - 2026-03-11
15
34
16
35
### Changed
@@ -510,7 +529,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|`--event-sink-redis-delivery`|`mandatory`| Delivery mode for Redis event sink |
484
+
485
+
> **Event sinks vs adapters:** Event sinks deliver events in real time during a
486
+
> run. Adapters fire once after a run completes. Both can be used together.
487
+
> When no `--event-sink` flags are set, events go to Lode only (default).
488
+
> See `docs/contracts/CONTRACT_INTEGRATION.md` and `docs/guides/integration.md`.
489
+
471
490
**Fan-out flags (derived work execution):**
472
491
473
492
| Flag | Default | Description |
@@ -726,22 +745,22 @@ executor runs under Node ESM.
726
745
727
746
Quarry ships container images via GHCR:
728
747
729
-
-**Full** (amd64 only): `ghcr.io/pithecene-io/quarry:0.12.2` — includes Chrome for Testing + fonts
730
-
-**Slim** (amd64 + arm64): `ghcr.io/pithecene-io/quarry:0.12.2-slim` — no browser (BYO via `--browser-ws-endpoint`)
748
+
-**Full** (amd64 only): `ghcr.io/pithecene-io/quarry:0.13.0` — includes Chrome for Testing + fonts
749
+
-**Slim** (amd64 + arm64): `ghcr.io/pithecene-io/quarry:0.13.0-slim` — no browser (BYO via `--browser-ws-endpoint`)
731
750
732
751
For `docker run`, Docker Compose, and sidecar patterns, see [docs/guides/container.md](docs/guides/container.md).
733
752
734
753
---
735
754
736
-
## Known Limitations (v0.12.2)
755
+
## Known Limitations (v0.13.0)
737
756
738
757
1.**Single executor type**: Only Node.js executor supported
739
758
2.**No built-in retries**: Retry logic is caller's responsibility
740
759
3.**No streaming reads**: Artifacts must fit in memory (note: the `streaming`*ingestion policy* is unrelated — it controls write batching, not read access)
741
760
4.**No transactional storage writes**: S3 and S3-compatible providers (R2, MinIO) do not provide transactional guarantees across writes
742
761
5.**No job scheduling**: Quarry supports in-process derived work via `--depth` but is not a scheduler; external orchestration is the caller's responsibility
743
762
6.**Puppeteer required**: All scripts run in a browser context
744
-
7.**Event bus adapters**: Webhook and Redis pub/sub adapters are available. Temporal, NATS, and SNS adapters are planned. See `docs/guides/integration.md`.
763
+
7.**Integration adapters and sinks**: Webhook, Redis Pub/Sub, and Redis Streams are available. Temporal, NATS, and SNS adapters are planned. Event sink read-side interfaces are tabled for future work. See `docs/guides/integration.md`.
745
764
8.**Fan-out partition defaults**: Child runs inherit the root run's `--source` and `--category` unless overridden via `emit.enqueue({ source, category })`. Overrides apply to individual child runs only and do not propagate to grandchildren.
746
765
9.**Fan-out target resolution**: `target` in `emit.enqueue()` is resolved as a file path relative to CWD (same as `--script`). Target resolution semantics may change in a future release; config-based logical names are under consideration.
747
766
@@ -810,6 +829,10 @@ processing after runs complete, see [docs/guides/integration.md](docs/guides/int
810
829
`--adapter redis` publishes to a Redis pub/sub channel after each run completes.
811
830
See adapter flags above.
812
831
832
+
**Event sinks** (v0.13.0+): `--event-sink redis` streams every event to a Redis
833
+
Stream in real time during the run. Can be combined with adapters for both
834
+
real-time event streaming and post-run notification.
835
+
813
836
**Fallback pattern**: Polling-based triggers with idempotent checkpoints.
814
837
815
838
---
@@ -818,7 +841,7 @@ See adapter flags above.
818
841
819
842
```bash
820
843
quarry version
821
-
# 0.12.2 (commit: ...)
844
+
# 0.13.0 (commit: ...)
822
845
```
823
846
824
847
SDK and runtime versions must match (lockstep versioning).
@@ -827,8 +850,8 @@ SDK and runtime versions must match (lockstep versioning).
0 commit comments