All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.5 - 2026-03-09
- (nearest-derive) add Flat bounds to unbounded type params in emit impl (#32)
0.4.4 - 2026-03-09
- add
arrayemitter for[T; N]fields (#30)
0.4.3 - 2026-03-09
- deduplicate buffer operations between Emitter and Region (#28)
0.4.2 - 2026-03-08
- rewrite README with comprehensive examples and comparison (#26)
0.4.1 - 2026-03-08
- remove alloc dependency from Session list operations (#24)
0.4.0 - 2026-03-08
- use explicit near()/list()/maybe() wrappers for Emit builders (#21)
0.3.2 - 2026-03-08
- self-sufficient Near and NearList Flat impls (#18)
0.3.1 - 2026-02-15
- add consuming conversions for Region (#17)
- add #[flat(into)] and #[flat(rename)] derive macro attributes (#16)
- add collection methods to NearList and Session (#15)
- implement Display for Near, NearList, and Region
- add unsafe Region::from_bytes_unchecked() and from_buf_unchecked()
- implement FusedIterator for NearListIter and add NearList::last
- implement PartialEq and Eq for Region, Near, and NearList
- avoid raw byte comparison on types with enum padding in Miri tests
- fix crate version in README.md
0.3.0 - 2026-02-15
- add optional
serdefeature with Serialize/Deserialize for Region - [breaking] add
Flat::validatewithRegion::as_bytes/Region::from_bytes
- mark pub(crate) functions with unsafe preconditions as unsafe fn
- copy before validate in
from_bytesto avoid double read
- document serialization, features, no_std and serde in lib.rs and README
0.2.1 - 2026-02-15
- correct swapped arrows in Region memory layout diagram
- add 5 real-world examples (expr, json, ecs, fs, fsm)
0.2.0 - 2026-02-15
- [breaking] add
no_stdsupport withBuftrait andFixedBuf<N>
- resolve broken doc links for no_std compatibility
- make README badges clickable links
0.1.2 - 2026-02-15
- rewrite lib.rs crate docs and README
0.1.1 - 2026-02-15
- update README badges for consistency and clarity
- update README license badge for clarity
- Fix CI badge
- Update README badges: improve clarity and remove redundant links
0.1.0 - 2026-02-15
Initial release.
Region<T>: owning contiguous byte buffer with rootTat byte 0.Near<T>: self-relative pointer stored as a 4-byteNonZero<i32>offset.NearList<T>: segmented linked list with 8-byte header (offset + length).SessionAPI: branded mutable session using the ghost-cell pattern (for<'id>) preventingReftokens from escaping or crossing sessions.Flatmarker trait with#[derive(Flat)]for safe region-storable types.Emit<T>builder trait with declarative tree-shaped region construction.Region::trimfor compaction of dead bytes after mutations.- Session operations:
splice,splice_list,re_splice_list,map_list,filter_list,push_front,push_back,extend_list,graft. CursorAPI for fluent chained navigation and mutation.- Compile-fail tests verifying
Refescape prevention, cross-session safety,Droprejection, enum repr requirements, andFlatfield enforcement. - Miri validation with
-Zmiri-permissive-provenance.