Releases: Chaos-vy/ChaosTree
Release list
ChaosTree v1.2.0
ChaosTree v1.2.0 — Zero-Allocation Engine & JDK 11 Support
JDK 11 Support
- Full codebase compatibility with JDK 11.
- Removed Java 14+
recordclasses from core traversal paths.
Core Engine
- Replaced temporary traversal objects with primitive status codes + direct node mutation.
- GC allocation reduced from ~350 B/op → 48.0 B/op.
- Structural traversal allocation: 0 B/op.
N-ary Tree Performance
- Degree 64: ~102 ns/op in cache-scaling tests.
- B+ Tree range scans:
- 5.8 ms vs 8.1 ms for 1M elements.
- ~28% lower latency
- ~24% fewer L1 cache reads
- ~14% fewer CPU instructions
Binary Tree Telemetry
- Raw BST: 122 ns/op on Zipfian random lookups.
- Splay Tree: 351 ns/op under the same workload.
Codebase Integrity
- 0 PMD-CPD duplication violations at the configured 50-token / 10-line threshold.
Full JMH Reports:
Benchmark Reports
ChaosTree v1.1.0
ChaosTree v1.1.0
Release Date: 2026-08-07
Added
- Added
NavigableSetcompatibility. - The following
NavigableSetview operations are intentionally unsupported and throwUnsupportedOperationException:descendingSet()descendingIterator()subSet(T, boolean, T, boolean)headSet(T, boolean)tailSet(T, boolean)subSet(T, T)headSet(T)tailSet(T)
Changed
- Moved common Maven configuration from module
pom.xmlfiles to the parent POM. - Renamed
containsAll()tocontainsAllElements()to avoid ambiguity with theNavigableSetAPI. - Renamed
retainAll()toretainAllElements()to avoid ambiguity with theNavigableSetAPI. - Reworked binary tree insertion and deletion algorithms to use iterative implementations, eliminating recursion-related stack overflow limitations.
- Updated generic bounds from
<T extends Comparable<T>>to<T extends Comparable<? super T>>for improved type compatibility. - Renamed
ITreetoTree. - Renamed
ISearchTreetoSearchTree.
Improved
- Expanded ADRs and JavaDocs.
- CI/CD now validates the project across JDK 17, 21, and 25 on a full operating system matrix using
setup-java@v4.
ChaosTree v1.0.1
🌳 ChaosTree v1.0.1
Release Date: 2 July 2026
ChaosTree v1.0.1 is the first maintenance release for the 1.0.x series, focusing on correctness, API refinements, documentation, and regression coverage. This release contains no breaking API changes.
Correctness
- Fixed
BPlusTree.floor()boundary handling when the requested value falls before the first element of the routed leaf. - Fixed
retainAll()on empty trees to safely return instead of propagatingEmptyTreeException. - Standardized
NaryTree.height()so a single-node tree consistently reports a height of0.
API Improvements
- Implemented Java Collection Contract compliant
equals()andhashCode()across all tree families. - Replaced eager range evaluation with a lazy
BoundedInOrderIteratorforrangeStream(). - Optimized
lca()validation from O(N²) worst-case to O(H).
Developer Experience
- Improved
kthSmallest()bounds diagnostics. - Added package-level documentation across the public API.
- Updated complexity documentation for
kthSmallest(). - Declared
BPlusTreeasfinal. - Added
Release101VerificationTest, increasing automated regression coverage from 579 to 585 tests.
Compatibility
- Fully backward compatible with v1.0.0
- No breaking API changes
Thank you to everyone using and evaluating ChaosTree.
ChaosTree v1.0.0
🎉 ChaosTree v1.0.0 — Initial Release
The first stable public release of ChaosTree.
ChaosTree is a zero-dependency Java search tree library focused on correctness, performance, and clean API design. This release introduces complete Binary and N-ary search tree families, backed by extensive testing, benchmarking, and architectural documentation.
Highlights
Binary Family
- Binary Search Tree (BST)
- AVL Tree
- Red-Black Tree (RBT)
- Treap
- Splay Tree
N-ary Family
- B-Tree
- B+ Tree
Core API
ITreeabstractionISearchTreecontractBinaryTreeAPINaryTreeAPI
Features
- Collection-style operations
- Java Stream support
- Range queries
- Priority operations (
pollMin,pollMax) - Multiple traversal strategies
- ASCII tree visualization
Engineering
- 579 automated tests
- Randomized fuzz testing
- Concurrent-access validation
- JPMS module support
- JavaDoc documentation
- Cross-platform CI (Ubuntu, Windows, macOS)
- Verified on JDK 17, 21, 25, and 26
Documentation
- Architecture documentation
- 11 Architecture Decision Records (ADRs)
- Binary & N-ary API guides
- Complexity and implementation notes
- JMH benchmark suite
- Hardware-counter-backed performance analysis
Thank you for checking out ChaosTree. This release marks the beginning of the project, and future versions will continue expanding its capabilities while maintaining a strong focus on correctness, performance, and maintainability.