Skip to content

Commit dc5687e

Browse files
dfa1claude
andcommitted
docs(changelog): cut 0.12.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 86170cf commit dc5687e

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.12.0] — 2026-07-04
11+
12+
Identity gets **types**: encoding ids, layout ids, and column names are now validated domain
13+
primitives (`EncodingId`, `LayoutId`, `ColumnName` — sealed `WellKnown`/`Custom` shapes with a
14+
total `parse`, strings only at the wire boundary), layout decode becomes **pluggable** through
15+
`LayoutDecoder`/`LayoutRegistry`, and the reader gains compatibility with current Rust writers'
16+
`vortex.zoned` zone-map id. Field names are strict on both sides of the file boundary — the
17+
writer refuses what the reference toolchain cannot survive (a NUL-named column SIGABRTs its
18+
Arrow FFI), the reader rejects duplicate/blank/control names loudly instead of corrupting
19+
silently. Plus the dictionary code-scan lane lands in both fused compute kernels (~20×/~22×,
20+
multi-leaf `AND` ~11×), and `Chunk` columns are one order-preserving typed map. Every wire-level
21+
claim measured against the Rust (JNI) oracle; behavior divergences documented in
22+
[docs/compatibility.md](docs/compatibility.md).
23+
1024
### Added
1125

1226
- `Compute.filteredSum(filterColumn, predicate, aggColumn)` fuses a filter and a sum into a single scan — a row folds into the total only when the predicate selects it (a null filter row is excluded) and the aggregate value is non-null — with no intermediate selection bitmap. It matches a hand-written fused loop and is ~1.5× faster than the two-pass `filter` + `sum`. ([57d2225b](https://github.com/dfa1/vortex-java/commit/57d2225b))

0 commit comments

Comments
 (0)