Skip to content

Commit 0cc77bf

Browse files
decebalclaude
andcommitted
docs: update README and CHANGELOG for v0.12.0
Update all version references from v0.10.7 to v0.12.0 across README badges, Docker image tags, and status sections. Add missing CHANGELOG entries for v0.11.0 (embedded Core, dependency upgrades) and v0.12.0 (network sync, conflict strategies, MCP tracker, WS backpressure). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ada6b35 commit 0cc77bf

File tree

4 files changed

+63
-41
lines changed

4 files changed

+63
-41
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: "AllSource Event Store - Monorepo"
33
status: CURRENT
4-
last_updated: 2026-02-26
5-
version: "0.11.0"
4+
last_updated: 2026-03-01
5+
version: "0.12.0"
66
---
77

88
<div align="center">
@@ -17,16 +17,16 @@ version: "0.11.0"
1717
[![Release](https://img.shields.io/github/v/release/all-source-os/all-source?label=release&color=blue)](https://github.com/all-source-os/all-source/releases/latest)
1818
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
1919

20-
[![Core](https://img.shields.io/badge/Core-v0.10.7-orange?logo=rust&logoColor=white)](apps/core/)
21-
[![Control Plane](https://img.shields.io/badge/Control_Plane-v0.10.7-00ADD8?logo=go&logoColor=white)](apps/control-plane/)
22-
[![Query Service](https://img.shields.io/badge/Query_Service-v0.10.7-4B275F?logo=elixir&logoColor=white)](apps/query-service/)
23-
[![Web](https://img.shields.io/badge/Web-v0.10.7-000000?logo=next.js&logoColor=white)](apps/web/)
20+
[![Core](https://img.shields.io/badge/Core-v0.12.0-orange?logo=rust&logoColor=white)](apps/core/)
21+
[![Control Plane](https://img.shields.io/badge/Control_Plane-v0.12.0-00ADD8?logo=go&logoColor=white)](apps/control-plane/)
22+
[![Query Service](https://img.shields.io/badge/Query_Service-v0.12.0-4B275F?logo=elixir&logoColor=white)](apps/query-service/)
23+
[![Web](https://img.shields.io/badge/Web-v0.12.0-000000?logo=next.js&logoColor=white)](apps/web/)
2424
[![MCP Server](https://img.shields.io/badge/MCP_Server-61_tools-8A2BE2)](apps/mcp-server-elixir/)
2525

26-
[![Core Image](https://img.shields.io/badge/ghcr.io-allsource--core:0.10.7-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-core)
27-
[![Control Plane Image](https://img.shields.io/badge/ghcr.io-allsource--control--plane:0.10.7-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-control-plane)
28-
[![Query Service Image](https://img.shields.io/badge/ghcr.io-allsource--query--service:0.10.7-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-query-service)
29-
[![Web Image](https://img.shields.io/badge/ghcr.io-allsource--web:0.10.7-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-web)
26+
[![Core Image](https://img.shields.io/badge/ghcr.io-allsource--core:0.12.0-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-core)
27+
[![Control Plane Image](https://img.shields.io/badge/ghcr.io-allsource--control--plane:0.12.0-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-control-plane)
28+
[![Query Service Image](https://img.shields.io/badge/ghcr.io-allsource--query--service:0.12.0-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-query-service)
29+
[![Web Image](https://img.shields.io/badge/ghcr.io-allsource--web:0.12.0-blue?logo=docker&logoColor=white)](https://ghcr.io/all-source-os/allsource-web)
3030

3131
</div>
3232

@@ -81,14 +81,16 @@ tooling/
8181

8282
---
8383

84-
## Project Status & Roadmap (v0.10.7)
84+
## Project Status & Roadmap (v0.12.0)
8585

86-
### What's New in v0.10.7
86+
### What's New in v0.12.0
8787

88-
- **Query ergonomics**: `event_type_prefix` and `payload_filter` query parameters for flexible event filtering
89-
- **Duplicate entity detection**: `GET /api/v1/entities/duplicates` — group events by payload fields and find duplicates
90-
- **Consumer patterns guide**: `docs/current/QUERY_PATTERNS.md` — best practices for pagination, saga orchestration, and MCP consumers
91-
- **Control plane auth fixes**: OAuth proxy, service JWT for Core requests, frontend URL for callbacks
88+
- **Network sync transport**: HTTP pull/push bidirectional sync with version vectors for offline-first embedded clients
89+
- **Configurable conflict resolution**: `MergeStrategy` (AppendOnly, LastWriteWins, FirstWriteWins) with per-entity-type prefix matching
90+
- **MCP tool event emission**: `McpToolTracker` with auto-timing feeding `ToolCallAuditProjection` end-to-end
91+
- **WebSocket backpressure**: configurable batching, max batch size, lagged notification (backward compatible)
92+
- **Embedded Core library** (v0.11.0): 8-phase implementation — use Core as an in-process library with TOON output for LLMs
93+
- **Full dependency upgrade** (v0.11.0): arrow 57, datafusion 52, rand 0.10, reqwest 0.13, tantivy 0.25, fastembed 5
9294

9395
> Full roadmap: [Consolidated Roadmap](docs/roadmaps/2026-02-15_CONSOLIDATED_ROADMAP.md) · Known gaps: [Roadmap P0](docs/roadmaps/2026-02-15_CONSOLIDATED_ROADMAP.md#p0-fix-existing-gaps)
9496
@@ -102,7 +104,7 @@ The database. Source of truth for all event data.
102104
- Leader-follower replication via WAL shipping ([design](docs/proposals/CORE_REPLICATION_DESIGN.md))
103105
- Schema registry, stream processing pipelines, multi-tenancy with RBAC
104106
- Vector search (fastembed + HNSW) and BM25 keyword search (tantivy)
105-
- **Embedded API**: use Core as an in-process library (83 tests, 8 phases complete) with TOON output for LLMs
107+
- **Embedded API**: use Core as an in-process library (1489 tests, 8 phases complete) with TOON output, network sync, and conflict strategies
106108

107109
### Go Control Plane (port 3901) — [docs](apps/control-plane/)
108110

@@ -148,27 +150,27 @@ AI-native interface for Claude Desktop or any MCP client.
148150
| **P0** | Fix existing gaps | 5 QS endpoints return 501, Core fork commit stubbed, MCP analytics are basic aggregations |
149151
| **P1** | SaaS launch | Fly.io deploy, LemonSqueezy products, onboarding wizard, landing page |
150152
| **P2** | QS Phase 3 | Phoenix Channels WebSocket, Broadway Kafka/RabbitMQ, distributed mode |
151-
| **P3** | Future | Multi-node Raft, geo-replication (CRDT), EventQL query language, GraphQL |
153+
| **P3** | Future | Multi-node Raft, geo-replication (CRDT), GraphQL |
152154

153155
---
154156

155157
## Docker Images
156158

157-
All services ship at **v0.10.7**. Total production footprint: **~129 MB**.
159+
All services ship at **v0.12.0**. Total production footprint: **~129 MB**.
158160

159161
| Service | Image | Size | Base |
160162
|---------|-------|:----:|------|
161-
| Core | `ghcr.io/all-source-os/allsource-core:0.10.7` | 15.7 MB | Distroless |
162-
| Control Plane | `ghcr.io/all-source-os/allsource-control-plane:0.10.7` | 27.9 MB | Distroless |
163-
| Query Service | `ghcr.io/all-source-os/allsource-query-service:0.10.7` | 35.1 MB | Alpine |
164-
| Web | `ghcr.io/all-source-os/allsource-web:0.10.7` | ~50 MB | Alpine |
163+
| Core | `ghcr.io/all-source-os/allsource-core:0.12.0` | 15.7 MB | Distroless |
164+
| Control Plane | `ghcr.io/all-source-os/allsource-control-plane:0.12.0` | 27.9 MB | Distroless |
165+
| Query Service | `ghcr.io/all-source-os/allsource-query-service:0.12.0` | 35.1 MB | Alpine |
166+
| Web | `ghcr.io/all-source-os/allsource-web:0.12.0` | ~50 MB | Alpine |
165167

166168
```bash
167169
# Quick start
168170
docker compose up -d
169171

170172
# Pull specific version
171-
docker pull ghcr.io/all-source-os/allsource-core:0.10.7
173+
docker pull ghcr.io/all-source-os/allsource-core:0.12.0
172174
```
173175

174176
See [Docker Guide](docs/deployment/DOCKER.md) · [Release Guide](docs/guides/RELEASE.md)
@@ -197,7 +199,7 @@ cd apps/query-service && mix phx.server
197199
### Testing
198200

199201
```bash
200-
cd apps/core && cargo test --lib # 1482 tests
202+
cd apps/core && cargo test --lib # 1489 tests
201203
cd apps/control-plane && go test ./...
202204
cd apps/query-service && mix test
203205
cd apps/mcp-server-elixir && mix test

bun.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/CHANGELOG.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,42 @@ All notable changes to AllSource Chronos are documented here.
44

55
## [Unreleased]
66

7+
## [0.12.0] - 2026-03-01
8+
9+
### Added
10+
- **Network sync transport**: `SyncClient` for HTTP pull/push bidirectional sync with `POST /api/v1/sync/pull` and `/api/v1/sync/push` endpoints; `EmbeddedCore::version_vector()`, `events_for_sync()`, `receive_sync_push()`
11+
- **Configurable conflict resolution**: `MergeStrategy` enum (AppendOnly, LastWriteWins, FirstWriteWins) with per-entity-type prefix matching via `Config::merge_strategy()`
12+
- **MCP tool event emission**: `McpToolTracker` with `emit_tool_result()`, `emit_tool_error()`, `track()` with auto-timing feeding `ToolCallAuditProjection`
13+
- **WebSocket backpressure**: `WebSocketConfig` with batching, `max_batch_size`, lagged notification (backward compatible — no config = original behavior)
14+
- 20 new tests (1489 lib tests total)
15+
716
### Fixed
8-
- **Crash-safe compaction**: WAL append moved inside write lock in `compact_entity_tokens` to prevent duplicate data on crash recovery
9-
- **Cross-tenant compaction guard**: Token compaction now validates all events share the same `tenant_id`, rejects multi-tenant merges
10-
- **True batch ingestion**: `EventStore::ingest_batch()` acquires write lock once for N events instead of N separate lock acquisitions
11-
- **TOON error handling**: `query_toon` propagates decode errors instead of silently returning empty results
12-
- **Duplicate projection module**: Removed `application/services/replicant_projections.rs` (identical to `embedded/replicant.rs`)
13-
- **Deterministic sync tests**: Replaced sleep-based timing with HLC node_id tie-breaking in bidirectional sync tests
17+
- E2E test health check gate and shared `demoLogin` fixture extraction
18+
19+
## [0.11.0] - 2026-03-01
1420

1521
### Added
22+
- **Embedded Core library API** (Issue #73): 8-phase implementation with 83 tests covering `EmbeddedCore` facade, bidirectional sync, CRDT conflict resolution, replicant worker protocol, AI projection templates, and TOON format
23+
- **Dashboard E2E test suite** with tenant auto-provisioning
1624
- **Projection backfill**: `register_projection_with_backfill()` replays existing events through newly registered projections
17-
- **Concurrency tests**: 10-task concurrent writer test (1000 events) and concurrent reader+writer test
18-
- **Crash recovery test**: Write → shutdown → reopen → verify events survive via WAL
19-
- **TOON round-trip tests**: Encode → decode verification including special characters and nested objects
20-
- **Cross-tenant compaction test**: Validates rejection of multi-tenant token merges
2125
- **SDK quickstart example**: `apps/core/examples/embedded_quickstart.rs`
2226
- **ADRs**: Architecture Decision Records for embedded core, crash-safe compaction, batch ingestion, projection backfill
27+
- **Concurrency tests**: 10-task concurrent writer test (1000 events) and concurrent reader+writer test
28+
- **Crash recovery test**: Write → shutdown → reopen → verify events survive via WAL
29+
30+
### Fixed
31+
- **14 principal engineer review findings**: crash-safe compaction (WAL append inside write lock), true batch ingestion (single lock acquisition), NaN panics, floating-point drift, TOCTOU races, projection guards
32+
- **Cross-tenant compaction guard**: Token compaction validates all events share the same `tenant_id`
33+
- **TOON error handling**: `query_toon` propagates decode errors instead of silently returning empty results
34+
- **Deterministic sync tests**: Replaced sleep-based timing with HLC node_id tie-breaking
35+
- **fastembed** `embed()` API change (now requires `&mut self`)
36+
- **jsonwebtoken v10** CryptoProvider requirement
37+
- **criterion::black_box** deprecation in benchmarks
38+
39+
### Changed
40+
- All Rust dependencies upgraded to latest (arrow 57, datafusion 52, rand 0.10, reqwest 0.13, tantivy 0.25, fastembed 5, jsonwebtoken 10, criterion 0.8)
41+
- Removed unused dependencies: `axum-extra`, `jsonschema`, `testcontainers`, `testcontainers-modules`
42+
- Comprehensive documentation audit and cleanup for v0.10.0+ architecture
2343

2444
## [0.10.7] - 2026-02-26
2545

0 commit comments

Comments
 (0)