v0.2.0-pre.14 — store capabilities audit + crossShardJoin
Pre-release
Pre-release
Store capabilities audit (#271) — `serverWriteTime` + `getStoreTime()` and corrected `casAtomic` across the non-CAS store adapters. S3 and R2 gain true CAS via conditional writes (`IfNoneMatch` / `IfMatch` / 412), validated against real S3 and R2 (create-only, stale-version, and concurrent-race CAS all pass).
crossShardJoin (#271, milestone 16) — `crossShardJoin` (co-partitioned per-shard join + union) and `broadcastJoin` (shared dimension enrichment) on `ShardedQuery`. `join.ts` and its `partitionScope` seam untouched; `.live()` / `.aggregate()` / `.groupBy()` throw on joined queries in v1.
Behavior change — `to-cloudflare-r2` pre-built-client path now reports `store.name` `'cloudflare-r2'` (was `'s3'`).