easy_memory v0.3.0 - Initial Baseline Release
This marks the first official tagged release of the easy_memory memory management system. The v0.3.0 version designation reflects the current maturity of the core engine. The fundamental architecture is established, fully functional, and rigorously verified, serving as the stable baseline for future sub-allocators and features.
Current State & Capabilities
The core memory management system is production-ready for its intended Thread-Local Storage (TLS) and single-threaded use cases. As of this release, the library provides:
- The core Arena allocator featuring an adaptive strategy (O(1) tail allocations, O(log n) Triple-Key LLRB tree fallback).
- Zero-overhead hierarchical memory management via nested scopes.
- The O(1) Scratchpad mechanism for strict lifecycle isolation.
- The Bump sub-allocator (including
trimandresetcapabilities). - Bit-packed metadata ensuring a strict 4-word overhead per block with dynamic alignment support.
- An exhaustive validation pipeline: 100% test coverage backed by a 66-job CI matrix verifying behavior across multiple architectures (x86, ARM, s390x), compilers, C standards, and strict sanitizers (ASan, UBSan, Valgrind).
Roadmap to v1.0.0
Subsequent 0.x.x releases will focus on expanding the feature set and eliminating remaining architectural limitations to reach the 1.0.0 milestone. The immediate roadmap includes:
- Iterative LLRB Tree: Replacing the current recursive implementation to guarantee fixed O(1) stack usage.
- New Sub-Allocators: Implementation of
Stack,Slab, andQueue(Ring Buffer) allocators. - Metrics & Telemetry: Built-in tracking for fragmentation indexes and peak memory usage.
- Benchmarking Suite: Automated performance profiling against system
mallocand alternative allocators.