Releases: orieg/expanse
Releases · orieg/expanse
Release list
v0.3.0
What's Changed
- docs(readme): update roadmap, comparative benchmarks, concurrency, and distribution channels by @orieg in #141
- ci(apt): generate index.html landing page for APT repository on GitHub Pages by @orieg in #142
- docs(readme): modernize layout with status pills, key features, and visual performance graphs by @orieg in #143
- docs(readme): polish pill order, add modern C example, and embed vector performance SVGs by @orieg in #144
- docs(readme): fix link to 10minutes.htm by @orieg in #145
- ci(apt): update maintainer link to personal website by @orieg in #146
- docs(assets): modernize benchmark vector graphics with academic layout and explicit units by @orieg in #147
- fix(ci, docs): update release actions for Node 24 and tight-center benchmark SVGs with honeycomb empirical OCC metrics by @orieg in #148
- feat(release): add RPM repository pipeline, web portal generator, and actionlint fixes by @orieg in #149
- fix(ui): responsive navigation, dual-theme support, and layout consistency by @orieg in #150
- fix(visualizer): remove duplicate theme toggle button in subheader by @orieg in #151
- feat(ui): add direct performance benchmarks navigation and hero action button by @orieg in #152
- docs(rfc): large-value architectural optimizations (#112) by @orieg in #153
- feat(bindings): Java / Scala language bindings & Maven Central distribution (Project Panama FFM) (#128) by @orieg in #154
- feat(bindings): Python language bindings & PyPI distribution (PyO3, GIL-free queries, cibuildwheel) (#129) by @orieg in #155
- docs(database): database engine subsystem integration patterns & architecture (#124) by @orieg in #157
- chore(release): bump workspace version to 0.3.0 by @orieg in #158
- feat(core): large-value optimizations, polymorphic slots & blob arena (Phases A-C) (#112) by @orieg in #159
- feat(core): large-value full system, zero-copy mmap, C ABI, bindings & benchmarks (#112) by @orieg in #161
- docs(rfc): 32-bit architecture & embedded microprocessor support (#109) by @orieg in #160
- bench(ycsb): implement standardized YCSB benchmark suite (Workloads A-F) by @orieg in #163
- fix(security): upgrade pyo3 to 0.29.0 to resolve 6 Dependabot security alerts by @orieg in #164
- feat(visualizer): modern architecture explorer and latest YCSB/Large-Value benchmark datasets by @orieg in #165
- fix(ui, miri): unify SVG dark/light theme switching with OS settings and guard Miri file I/O by @orieg in #166
- fix(miri, pages): resolve Stacked Borrows provenance and add continuous GitHub Pages CD by @orieg in #167
- ci(pages): switch pages workflow to gh-pages branch deployment by @orieg in #168
- feat(visualizer): retain URL hash routing on tab switch by @orieg in #170
- ci: optimize workflow matrix, path filtering, status check rollup, and add canonical CI/CD guide (#169) by @orieg in #171
- feat(bindings): header-only C++20 STL-compatible RAII wrapper (expanse.hpp) by @orieg in #185
- feat(bindings): native Node.js / Bun / Deno bindings (expanse-node) via napi-rs by @orieg in #184
- feat(bindings): .NET / C# bindings and NuGet package (Expanse.NET) via P/Invoke by @orieg in #182
- chore(node): update CI matrix and engines to Node.js 20, 22, and 24 by @orieg in #186
- feat(arch): implement 32-bit embedded architecture support (RV32 / ESP32 / Cortex-M) (#109) by @orieg in #183
- feat(ci): consolidate Node.js and .NET bindings into unified ci.yml with path filters by @orieg in #187
- docs: synchronize README.md and GitHub Pages visualizer with 32-bit embedded benchmarks by @orieg in #188
- feat(visualizer): add 32-bit embedded architectures (RV32, Cortex-M, ESP32) to interactive DAG simulation by @orieg in #189
- feat(integrations): RocksDB pluggable MemTable (ExpanseMemTableRepFactory) by @orieg in #190
- fix(docs): expand website Installation Hub with all language bindings & packages by @orieg in #192
- chore(release): synchronize all packages and language bindings to v0.3.0 by @orieg in #191
- fix(ci): build expanse-capi package for release targets instead of whole workspace by @orieg in #194
Full Changelog: v0.2.0...v0.3.0
What's Changed
- docs(readme): update roadmap, comparative benchmarks, concurrency, and distribution channels by @orieg in #141
- ci(apt): generate index.html landing page for APT repository on GitHub Pages by @orieg in #142
- docs(readme): modernize layout with status pills, key features, and visual performance graphs by @orieg in #143
- docs(readme): polish pill order, add modern C example, and embed vector performance SVGs by @orieg in #144
- docs(readme): fix link to 10minutes.htm by @orieg in #145
- ci(apt): update maintainer link to personal website by @orieg in #146
- docs(assets): modernize benchmark vector graphics with academic layout and explicit units by @orieg in #147
- fix(ci, docs): update release actions for Node 24 and tight-center benchmark SVGs with honeycomb empirical OCC metrics by @orieg in #148
- feat(release): add RPM repository pipeline, web portal generator, and actionlint fixes by @orieg in #149
- fix(ui): responsive navigation, dual-theme support, and layout consistency by @orieg in #150
- fix(visualizer): remove duplicate theme toggle button in subheader by @orieg in #151
- feat(ui): add direct performance benchmarks navigation and hero action button by @orieg in #152
- docs(rfc): large-value architectural optimizations (#112) by @orieg in #153
- feat(bindings): Java / Scala language bindings & Maven Central distribution (Project Panama FFM) (#128) by @orieg in #154
- feat(bindings): Python language bindings & PyPI distribution (PyO3, GIL-free queries, cibuildwheel) (#129) by @orieg in #155
- docs(database): database engine subsystem integration patterns & architecture (#124) by @orieg in #157
- chore(release): bump workspace version to 0.3.0 by @orieg in #158
- feat(core): large-value optimizations, polymorphic slots & blob arena (Phases A-C) (#112) by @orieg in #159
- feat(core): large-value full system, zero-copy mmap, C ABI, bindings & benchmarks (#112) by @orieg in #161
- docs(rfc): 32-bit architecture & embedded microprocessor support (#109) by @orieg in #160
- bench(ycsb): implement standardized YCSB benchmark suite (Workloads A-F) by @orieg in #163
- fix(security): upgrade pyo3 to 0.29.0 to resolve 6 Dependabot security alerts by @orieg in #164
- feat(visualizer): modern architecture explorer and latest YCSB/Large-Value benchmark datasets by @orieg in #165
- fix(ui, miri): unify SVG dark/light theme switching with OS settings and guard Miri file I/O by @orieg in #166
- fix(miri, pages): resolve Stacked Borrows provenance and add continuous GitHub Pages CD by @orieg in #167
- ci(pages): switch pages workflow to gh-pages branch deployment by @orieg in #168
- feat(visualizer): retain URL hash routing on tab switch by @orieg in #170
- ci: optimize workflow matrix, path filtering, status check rollup, and add canonical CI/CD guide (#169) by @orieg in #171
- feat(bindings): header-only C++20 STL-compatible RAII wrapper (expanse.hpp) by @orieg in #185
- feat(bindings): native Node.js / Bun / Deno bindings (expanse-node) via napi-rs by @orieg in #184
- feat(bindings): .NET / C# bindings and NuGet package (Expanse.NET) via P/Invoke by @orieg in #182
- chore(node): update CI matrix and engines to Node.js 20, 22, and 24 by @orieg in h...
v0.2.0
What's Changed
- docs: repo is public; main protection active and enforced by @orieg in #2
- feat(ci): post benchmark results as a PR comment with base deltas by @orieg in #4
- fix(strmap): iterative teardown and removal — no stack overflow on long keys, plus the coverage to see it by @orieg in #7
- eval(bench): cache-pressure arm — does our layout hold when it stops fitting in cache? by @orieg in #5
- perf: monomorphize immed_find, word-wise pop0, class-sized root leaves by @orieg in #6
- bench(instrument): same-shape vs-stock arms, symbols bound in setup by @orieg in #8
- fix(strmap): iterative ordered navigation by @orieg in #9
- fix(ci): per-commit concurrency group so main runs are never evicted by @orieg in #10
- perf(types): inline the tag decode by @orieg in #11
- docs(bench): collapse B2 to a single authoritative baseline by @orieg in #12
- perf(types): force-inline the tag decode — first arm below stock libjudy by @orieg in #13
- perf(alloc): per-kind alignment — raw byte storage off the memalign path by @orieg in #14
- perf(get): match the leaf path's compare idiom in immed_find by @orieg in #15
- perf(get): locate_slot scans immediates in place, like descend by @orieg in #16
- bench(churn): steady-state mixed arm in both harnesses by @orieg in #17
- perf(map): direct copy for class-crossing leaf resizes by @orieg in #18
- perf(bits): runtime popcnt dispatch for the bitmap rank operations by @orieg in #19
- docs(readme): status as scannable tables by @orieg in #21
- perf(set): direct copy for class-crossing leaf resizes — the set twin of #18 by @orieg in #20
- perf(mutate): scratch-free bitmap-leaf build (scope cut to the measured win) by @orieg in #22
- perf(mutate): in-place node allocation and loop-folding same-level re-entries (#24) by @orieg in #28
- perf(alloc): transition NodeAlloc to layout-rounded bytes/key accounting (#25) by @orieg in #29
- feat(validate): defensive trie validator, stats collection, and navigation benchmarks (#26) by @orieg in #30
- chore: panic=abort release profile, glibc-hwcaps recipes, and doc cleanup (#27) by @orieg in #31
- perf(ci): side-by-side x86-64-v3 modern architecture benchmark reporting and hwcaps docs by @orieg in #34
- perf(leaf): O(log N) binary search probe for dense linear leaves (#32) by @orieg in #35
- perf(mutate): monotonic ascending append fast-path for linear leaves (#32) by @orieg in #36
- perf(leaf): branchless pop <= 2 unrolling in lower_bound_fixed (#32) by @orieg in #37
- docs: update benchmark table, algorithm reference, and interactive visualizer (#32) by @orieg in #38
- perf(leaf): AVX2/SSE2 128-bit vector search and lower_bound scans for linear leaves (#32) by @orieg in #39
- perf(root): monotonic append fast-path for root leaf in ExpanseSet and ExpanseMap (#32) by @orieg in #40
- bench: add linear_leaf distribution to instructions benchmark matrix (#32) by @orieg in #41
- docs: clarify benchmark arms catalog, SIMD vector kernels, and visualizer (#32) by @orieg in #42
- perf(trie): multi-level sequential run bypass for ExpanseSet and ExpanseMap by @orieg in #43
- docs(visualizer): add interactive Structural Hierarchy DAG, Growth Lifecycle DAG, and Baseline Comparison mode by @orieg in #44
- perf(cursor): record InsertPath bottom-up to eliminate descent store overhead on random inserts by @orieg in #45
- docs(visualizer): embed ground-truth code & benchmark data, streamline into 2 unified views by @orieg in #46
- feat(visualizer): 15-milestone 1M population scaling, custom slider styling & automated zero-drift sync test by @orieg in #47
- docs: visualizer architecture, data sync protocol & developer workflow guidelines by @orieg in #48
- fix(visualizer): close unclosed comment in architecture_visualizer.html & add JS syntax unit test by @orieg in #49
- feat(visualizer): multi-level trie depth scaling, subarray cascade loops & 8-byte digit breakdown by @orieg in #50
- fix(visualizer): connect Branch U to Bitmap Leaf and illuminate dynamic active traversal paths by @orieg in #51
- feat(visualizer): add multi-factorial workload dynamics, 10M keys scaling milestone, and OCC/mutation pipeline tracing by @orieg in #52
- refactor(visualizer): rename 10M milestone from Enterprise to 8-Lvl Dense by @orieg in #53
- feat(visualizer): add drop-in C-compat ABI benchmark matrix vs stock libjudy by @orieg in #54
- feat(visualizer): clean up View 2 table alignments and sync exact PR CI benchmark dataset by @orieg in #55
- perf(mutate): defer ancestor pop0 increments during clustered and sequential runs by @orieg in #56
- perf(bits): vectorize and unroll 8-byte branch header search by @orieg in #57
- perf(leaf): unroll lower_bound and search for pop <= 4 by @orieg in #58
- perf(capi): direct inlined fast paths for Judy1Test and JudyLGet by @orieg in #59
- perf(bits): fast fused test_and_subexpanse_rank and 32-bit subexpanse count by @orieg in #60
- perf(leaf): fast single-instruction packed key reads and writes for 1, 2, and 4 byte widths by @orieg in #61
- perf(clustered): optimize leaf insert/realloc copies, fast handle access, and CI regression guard by @orieg in #62
- docs: add comprehensive CI architecture & regression guard guide in docs/CI.md by @orieg in #63
- ci: add docs-only fast path for heavy jobs (#64) by @orieg in #67
- perf(set): fast-track LeafB1 bypass terminal_pop and flush on navigation by @orieg in #68
- perf(alloc): slab block freelist recycling for fast steady-state allocations by @orieg in #69
- perf(simd): vectorized SIMD leaf lower_bound and search for 8-byte and 16-byte spans by @orieg in #71
- docs: update performance table and recent optimizations in README by @orieg in #72
- docs: clarify standard baseline vs x86-64-v3 compilation in performance section by @orieg in #74
- pkg(capi): enable crates.io publishing for expanse-capi by @orieg in #75
- perf(get): elide decode_matches when level matches and add path cache to get_value_slot by @orieg in #76
- perf: pure 64-bit SWAR find_byte_8 and root leaf delete hysteresis by @orieg in #77
- perf: direct branch arm dispatch and level lookup in get traversal by @orieg in #79
- fix(ci): format Regression Guard using GitHub Markdown alert syntax by @orieg in #80
- ci: refine file-scope change detection for fuzz-smoke and heavy test jobs by @orieg in #81
- perf: monomorphized linear leaf locate with fused match and bounds elimination by @orieg in #82
- port: enable cargo test --workspace --all-targets on macOS and non-Linux platforms by @orieg in #85
- feat(capi): add expanse_strmap_t ordered string map bindings to modern C API by @orieg in #83
- perf: contiguous insert cursor linear leaf bypass for sequential runs (#32) by @orieg in #86
- perf: OCC epoch freelist recycling to prevent allocator roundtrips (#1, #84) by @orieg in #87
- perf: cross-chunk path compression in ExpanseStrMap (#84) by @orieg in #88
- perf: BranchU descent unrolling, 32-bit subexpanse rank, and LeafB1 hysteresis (#32, #1) by @orieg in #89
- perf: restore hardware bt, specialize linear leaf search, and streamline BranchU (#32, #1) by @orieg in #90
- perf: eliminate demotion heap allocation and accelerate BranchL3/L7 navigation (#32, #1) by @orieg in #91
- perf: unaligned arithmetic pac...