Repository navigation
LayerKeySort v3.0.0-preview.5
Pre-release
Pre-release
LayerKeySort v3.0.0-preview.5
Preview.5 is an experimental release-candidate preparation snapshot. Its purpose is to check the current V3 public contract, documentation, builds, and consumer paths before considering v3.0.0-rc.1. It does not declare an RC or stable V3 release.
Purpose and changes
- Reviews the 59-function public API, ownership and borrowed-lifetime rules, comparator requirements, error behavior, examples, and test coverage. No public function signature or production behavior changes were needed.
- Aligns version and publication wording across the README, changelog, API, usage, integration, migration, development, compatibility, and benchmark guides.
- Keeps the CMake numeric project version at
3.0.0while the public header reports3.0.0-preview.5. - Leaves the ordering algorithm, Path model, LK1 v1 format, and captured benchmark data unchanged.
Validation
The implementation commit 2a11d8548deb866736fd4da94277b375ef912e0e passed strict GCC C17, MSVC Debug and Release, CTest 7/7 in each, all three examples, MSVC AddressSanitizer, a 100,000-step manual mutation soak, add_subdirectory, local and real remote FetchContent, and a standalone public-header consumer. The publication-state commit 763c2b6339b28b499db244ba1362770812c8c0a6 passed all five GitHub Actions jobs: CI run.
Known limitations
- Managed insertion may relabel up to the full collection, with workload-dependent Path memory and latency costs. No worst-case
O(log n)complete-insertion or formal amortized bound is claimed. - Item objects and comparator context remain caller-owned; comparator-relevant fields must remain stable while resident.
- LK1 is a sortable representation of one coordinate, not whole-Tree persistence or permanent item identity.
- Passing tests and CI supports RC consideration but does not prove production readiness, universal platform behavior, or a theoretical complexity bound.
Tag target: 763c2b6339b28b499db244ba1362770812c8c0a6.