Skip to content

Commit 8401ca3

Browse files
dfa1claude
andcommitted
chore: prepare release 0.12.2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent cda7c94 commit 8401ca3

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@ All notable changes to **vortex-java** are documented here.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [0.12.2] — 2026-07-10
9+
10+
**Registry cleanup and schema fidelity** are the two themes of this release. `ReadRegistry` and
11+
`WriteRegistry` are now builder-only (matching `LayoutRegistry`), replacing `ServiceLoader`
12+
discovery with explicit `registerDefaults()` calls — registration is now visible at the call site
13+
instead of hidden in `META-INF/services` files. The `fbs-gen` code generator now strips trailing
14+
underscores from schema type names before prefixing with `Fbs`, keeping generated Java identifiers
15+
clean (`FbsStruct_``FbsStruct`) while staying wire-identical to the upstream FlatBuffers schema.
16+
Several correctness fixes land too: blank column names (produced by real Raincloud corpus files)
17+
are now accepted on both paths; `EncodingId`/`LayoutId` reject control characters; unsigned
18+
Parquet columns compare correctly; and six decoders receive tighter validation against malformed
19+
input (`ConstantEncodingDecoder`, `AlpRdEncodingDecoder`, `SparseEncodingDecoder`,
20+
`DateTimePartsArrays`, `VarBinArray.DictMode`, `ScanIterator`).
921

1022
### Changed
1123

@@ -26,6 +38,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2638
- `RaincloudConformanceIntegrationTest` now writes both the vortex-java and Parquet oracle CSVs to temp files and streams them line-by-line for comparison; previously it materialized both into heap `String` objects, causing OOM for large corpus files (≥157 MB) that were previously hidden by throwing before reaching the corrupted line. ([#254](https://github.com/dfa1/vortex-java/issues/254))
2739
- `RaincloudConformanceIntegrationTest` oracle now formats `INT32`/`INT64` Parquet columns with a `UINT_32`/`UINT_64` logical-type annotation using `Integer.toUnsignedString`/`Long.toUnsignedString`, matching the unsigned representation that Vortex stores as `U32`/`U64`; previously the Parquet signed interpretation diverged for values above `Integer.MAX_VALUE` (e.g. `total_boosters` in the covid-world-vaccination-progress corpus). ([#253](https://github.com/dfa1/vortex-java/issues/253))
2840

41+
## [Unreleased]
42+
2943
## [0.12.1] — 2026-07-08
3044

3145
**Null validity** and **real-world file compatibility** are the two themes of this release. The

0 commit comments

Comments
 (0)