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
- Structured decoding via `DecodedStore`, a zero-allocation random-access view into indexed-encoded data, with constant-instruction-count field access regardless of tuple width ([#78](https://github.com/frankmcsherry/columnar/pull/78), [#79](https://github.com/frankmcsherry/columnar/pull/79))
15
+
-`FromBytes::validate` implementations for `Fixeds`, `Strides`, `Empties`, `Bools`, and `Discriminant`; `Stash::try_from_bytes` as the validated constructor ([#85](https://github.com/frankmcsherry/columnar/pull/85))
16
+
-`Discriminant::is_heterogenous()` and homogeneous enum optimization: enum containers now skip per-element discriminant and offset metadata when all elements share the same variant
17
+
-`no_std` support (with `alloc`) ([#94](https://github.com/frankmcsherry/columnar/pull/94))
18
+
-`BorrowedOf` type alias, mirroring the existing `ContainerOf` ([#81](https://github.com/frankmcsherry/columnar/pull/81))
19
+
-`Strides::pop` for unsealing lists at merge boundaries ([#98](https://github.com/frankmcsherry/columnar/pull/98))
20
+
-`Strings::get_str()` convenience method for when you want `&str` with explicit validation ([#88](https://github.com/frankmcsherry/columnar/pull/88))
21
+
- Trait implementations for `Repeats` and `Lookback` types ([#91](https://github.com/frankmcsherry/columnar/pull/91))
22
+
- Additional `Bytes`/`Stash` properties and methods ([#97](https://github.com/frankmcsherry/columnar/pull/97))
23
+
24
+
### Changed
25
+
26
+
-`Strings::Ref` changed from `&str` to `&[u8]` — UTF-8 validation at index time caused up to 17x slowdown and blocked compiler optimizations ([#86](https://github.com/frankmcsherry/columnar/pull/86))
27
+
-`element_sizes` now returns `Result`, defaulting to `Err` for unimplemented types — previously missing implementations silently accepted any byte length ([#80](https://github.com/frankmcsherry/columnar/pull/80))
28
+
- Decoding pipeline preserves `u64` alignment throughout, making field casts infallible and enabling dead-code elimination of unused fields ([#78](https://github.com/frankmcsherry/columnar/pull/78))
29
+
- Refreshed `Trees` container and its JSON example to current conventions ([#92](https://github.com/frankmcsherry/columnar/pull/92), [#93](https://github.com/frankmcsherry/columnar/pull/93))
30
+
- Removed vestigial `const N: usize` generic from `Repeats` ([#91](https://github.com/frankmcsherry/columnar/pull/91))
31
+
32
+
### Removed
33
+
34
+
-`HeapSize` trait, replaced by `AsBytes` which exposes actual byte slices rather than capacity metrics ([#87](https://github.com/frankmcsherry/columnar/pull/87))
35
+
-`EncodeDecode` trait and `Sequence` encoding format, superseded by the `indexed` module ([#78](https://github.com/frankmcsherry/columnar/pull/78))
36
+
-`from_u64s`, `decode_u64s`, and `from_byte_slices` methods, replaced by `DecodedStore`/`from_store` ([#79](https://github.com/frankmcsherry/columnar/pull/79))
0 commit comments