Skip to content

Releases: lrleon/Aleph-w

v3.1.1

05 Apr 17:25
ad7410a

Choose a tag to compare

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 in fft.H, along with important improvements in ntt.H and modular arithmetic utilities. This expands the foundation for convolutions, algebraic processing, and related algorithms.

  • Polynomial library
    A new polynomial arithmetic layer was introduced with tpl_polynomial.H and tpl_multi_polynomial.H, backed by examples, benchmarks, validation scripts, and dedicated documentation.

  • Adversarial search framework
    Support was added for adversarial game engines through Negamax.H, move-ordering utilities, and transposition tables via Transposition_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 through State_Search.H, State_Search_IDA_Star.H, and state_search_common.H, including incremental evaluator support and examples.

  • Concurrency v2
    thread_pool.H, experimental_async.H, and the new concurrency_utils.H significantly extend the library’s parallel execution and async support.

  • B-Tree, B+ Tree, and file-backed variants
    New implementations were added for tpl_b_tree.H, tpl_bplus_tree.H, tpl_file_b_tree.H, tpl_file_bplus_tree.H, tpl_file_b_map.H, and tpl_file_bplus_map.H, expanding support for balanced trees and persistence.

  • Probabilistic filters
    New probabilistic structures were introduced, including cuckoo-filter.H, compact-cuckoo-filter.H, quotient-filter.H, and compact-quotient-filter.H, along with updates to bloom-filter.H.

  • Graph coloring
    Graph_Coloring.H was added with greedy, Welsh-Powell, and DSatur coloring algorithms, plus corresponding tests and examples.

  • Additional algorithmic utilities
    New components also include Two_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 as clear() and contains() 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 in Tests/, Examples/, and docs/ 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

05 Mar 19:11
1e36d99

Choose a tag to compare

Improvements and fixes to some algorithms & data structures

  • Geometry: fixed some bugs
  • Data structures: tpl_interval_tree.H,

v3.0.0

27 Jan 20:39
c01b334

Choose a tag to compare

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

Full Changelog: Genius...v3.0.0

Genius1.0

08 Mar 19:51

Choose a tag to compare

new release with new functions adapted to protobuf usage