Releases: lrleon/Aleph-w
v3.1.1
Release Notes
Below is an English draft of the release notes comparing v3.1.0 against the current master.
Overview
This iteration brings a major expansion to Aleph-w, with emphasis on:
- New algorithmic modules
- Stronger concurrency infrastructure
- New persistent and probabilistic data structures
- Reusable frameworks for search and adversarial games
- Broad improvements in hashing, core utilities, tests, examples, and documentation
From v3.1.0 to master, the change set includes:
- 377 files changed
- 128721 insertions
- 18716 deletions
Highlights
-
FFT and NTT
A substantial Fast Fourier Transform implementation was added infft.H, along with important improvements inntt.Hand modular arithmetic utilities. This expands the foundation for convolutions, algebraic processing, and related algorithms. -
Polynomial library
A new polynomial arithmetic layer was introduced withtpl_polynomial.Handtpl_multi_polynomial.H, backed by examples, benchmarks, validation scripts, and dedicated documentation. -
Adversarial search framework
Support was added for adversarial game engines throughNegamax.H, move-ordering utilities, and transposition tables viaTransposition_Table.H, including tests and examples for minimax/alpha-beta style scenarios. -
State-space search framework
A reusable infrastructure for state-space search was added throughState_Search.H,State_Search_IDA_Star.H, andstate_search_common.H, including incremental evaluator support and examples. -
Concurrency v2
thread_pool.H,experimental_async.H, and the newconcurrency_utils.Hsignificantly extend the library’s parallel execution and async support. -
B-Tree, B+ Tree, and file-backed variants
New implementations were added fortpl_b_tree.H,tpl_bplus_tree.H,tpl_file_b_tree.H,tpl_file_bplus_tree.H,tpl_file_b_map.H, andtpl_file_bplus_map.H, expanding support for balanced trees and persistence. -
Probabilistic filters
New probabilistic structures were introduced, includingcuckoo-filter.H,compact-cuckoo-filter.H,quotient-filter.H, andcompact-quotient-filter.H, along with updates tobloom-filter.H. -
Graph coloring
Graph_Coloring.Hwas added with greedy, Welsh-Powell, and DSatur coloring algorithms, plus corresponding tests and examples. -
Additional algorithmic utilities
New components also includeTwo_Sat.H, link-cut trees (tpl_link_cut_tree.H,tpl_link_cut_tree_with_edges.H), and updates across matching, shortest paths, and tree DP related modules.
Improvements and notable changes
-
Core containers and data structures
Additional operations such asclear()andcontains()were implemented across multiple data structures. -
Hashing
hash-fct.H,hash-fct.C,tpl_hash.H,tpl_lhash.H,tpl_linHash.H,tpl_odhash.H,tpl_olhash.H, and related components were expanded and revised, with new validation, restriction, and statistical tests. -
Error handling
Error handling was consolidated and redundant namespace directives were removed, improving internal consistency. -
Existing algorithms
Multiple existing modules were updated, including:
Hungarian.H,Min_Cost_Matching.H,Subset_Sum.H,Planarity_Test.H,Floyd_Warshall.H,Knapsack.H,LCA.H,LIS.H,Matrix_Chain.H,Tree_DP.H, and others. -
Documentation
Documentation was significantly expanded with new guides covering:
FFT, NTT, adversarial search, state-space search, B/B+ trees, ranges, geometry, error handling, and algorithm selection. -
Tests and examples
A large number of new tests and examples were added to cover the newly introduced modules and strengthen regression coverage.
Notes for users
-
Major functional expansion
This release extends Aleph-w beyond classic data structures and algorithms by introducing reusable frameworks for search, modern concurrency, and computational algebra. -
Improved ecosystem maturity
The growth inTests/,Examples/, anddocs/reflects a clear improvement in maintainability, validation, and usability of the new modules. -
Potential integration impact
While the Git summary does not immediately suggest a single global breaking API change, many public headers and foundational components were modified. Consumers should rebuild dependent code and review integration points, especially if relying on:
hashing, concurrency, dynamic containers, or error-handling utilities.
v3.1.0
v3.0.0
v3.0.0 — Release Notes
Overview
This release brings a substantial update over the older baseline (ecd4ca3), with a large expansion of data structures and algorithms coverage, major utility/infra additions, broad API and template evolution across the library, and a significantly more complete test suite.
Highlights
-
Much broader test coverage
- A large number of new tests were added across graphs, trees, hashing, geometry, and utilities.
- New helper scripts to run tests more easily.
-
New concurrency and utility building blocks
- New generic utilities around timing/chronos, ranges, parallel helpers, STL adapters, and “guard” helpers.
- New thread pool–style infrastructure.
-
Expanded graph and network capabilities
- Added/expanded support code and tests for graph traversal, indexing, copying, loading/IO, and multiple classic algorithms.
- Added network-related modules and tests (apps/utils/capacity/cost, etc.).
-
More container/data-structure variants
- New/expanded rank-augmented node types and related tree variants.
- Additional templates and helpers for skip lists, heaps, random queues, etc.
What’s New / Added
Testing
Added many new tests, including (non-exhaustive):
- Graphs
- Copy/functional/indexing/traversal/stress/scenario tests.
- Algorithmic tests (shortest paths, SCC, MST, flows, etc.).
- Trees & structures
- RB tree / treap / skip list / prefix tree / quadtree tests and generators.
- Hashing & containers
- Hash function tests, list/hash table tests, pointer table tests, iterator/range tests.
- Geometry
- Point/line/segment/polygon-related tests.
- Compression
- Huffman tests and visualisation-related checks.
Also added Ruby scripts to run all/one/disabled tests.
Library headers/modules
New headers and supporting modules were introduced, including areas like:
- Ranges and STL adaptation
- New “ranges” helper header(s).
- New STL-oriented utilities (functional/zip-related utilities).
- Parallelism / async utilities
- Parallel helper header(s).
- Thread pool infrastructure.
- Common algorithm support
- Shared helpers for shortest paths and other algorithm families.
- Quality-of-life utilities
- Guards, init helpers, date/time/string utilities, and general-purpose helpers.
Documentation and tooling
New documentation pages were added under docs/, including guides and code reviews for key subsystems (e.g., ranges, red-black trees, error handling, Kosaraju review), as well as additional scripts for CI/policy checks and Doxygen/audit workflows.
Changes (Behaviour / Maintenance)
- Large-scale updates across templates (
tpl_*) and core headers- Many core modules were modified, reflecting ongoing API/template evolution since the older reference revision.
- Cleanup/removal of legacy files
- Several outdated headers/docs were removed as part of repository cleanup and modernisation.
Notes for Upgraders
- If you’re upgrading from the older baseline, expect to potentially update:
- Include paths / removed legacy headers.
- Template usage in some
tpl_*structures due to refactors and feature growth.
- The easiest validation path is to run the expanded test suite (now significantly more comprehensive).
Status
- Done: Release notes prepared in English + Markdown, focusing only on features and differences (no license/commit mentions).
What's Changed
- Improvement on data structures by @lrleon in #3
- Geniussports by @lrleon in #4
- V2 of Aleph-w by @lrleon in #5
- V3 by @lrleon in #11
Full Changelog: Genius...v3.0.0