PackageTrack
Sign in Get early access

yada

Yada is a yet another double-array trie library aiming for fast search and compact data representation.

0.7.0 13M downloads/mo #2728 most downloaded on crates.io takuyaa/yada

What this package is like to depend on

Last release 2 months ago

06 Jun 2026

Release timing varies

gaps range from 9 days to 2.3 years

Nearly every release is documented

notes for 11 of 11 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

11 releases · first in 2020

2 releases in the last 12 months

see the full history below

Release timeline

11 releases · Sep 2020 to Jun 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 11
  1. 0.7.0 06 Jun 2026
    Release notes

    Added

    • Validation in DoubleArray::new to prevent undefined behavior when constructing from malformed byte slices (#24), by @vabr-g and @kampersanda.
    • DoubleArray::new_unchecked (unsafe) for callers who can guarantee validity and want to skip the validation cost, by @vabr-g and @kampersanda.
    • YadaError variants EmptyDoubleArray, UnalignedDoubleArray, UnalignedDoubleArrayBlocks, and InvalidDoubleArrayUnit for byte slice validation failures, by @vabr-g and @kampersanda.
    • Debug impl for DoubleArray.

    Changed

    • BREAKING: DoubleArray::new now returns Result<Self, YadaError> instead of Self, by @vabr-g and @kampersanda.
    Open source →
    Release notes

    Added

    • Validation in DoubleArray::new to prevent undefined behavior when constructing from malformed byte slices (#24), by @vabr-g and @kampersanda.
    • DoubleArray::new_unchecked (unsafe) for callers who can guarantee validity and want to skip the validation cost, by @vabr-g and @kampersanda.
    • YadaError variants EmptyDoubleArray, UnalignedDoubleArray, UnalignedDoubleArrayBlocks, and InvalidDoubleArrayUnit for byte slice validation failures, by @vabr-g and @kampersanda.
    • Debug impl for DoubleArray.

    Changed

    • BREAKING: DoubleArray::new now returns Result<Self, YadaError> instead of Self, by @vabr-g and @kampersanda.
    Open source →
  2. 0.6.0 06 Jun 2026
    Release notes

    Added

    • YadaError enum and errors module with explicit error variants for build failures, by @kampersanda.
    • Keyset validation in DoubleArrayBuilder::build: detects empty keysets, empty keys, keys containing NUL bytes, duplicate keys, unsorted keysets, values greater than 2^31 - 1, and tries exceeding 2^29 units, by @kampersanda.
    • Default impl for DoubleArrayBuilder and Unit.
    • Display impl for Unit.
    • GitHub Actions CI: test (Linux x86/ARM, macOS, Windows), fmt, clippy, doc, and msrv jobs.
    • GitHub Actions release workflow: SemVer tag pushes verify the version, run tests, publish to crates.io via Trusted Publishing (OIDC), and create a GitHub Release from the matching CHANGELOG.md section.
    • RELEASE.md documenting the maintainer release procedure.
    • rust-version = "1.58.0" in Cargo.toml.

    Changed

    • BREAKING: DoubleArrayBuilder::build now returns Result<Vec<u8>, YadaError> instead of Option<Vec<u8>>, by @kampersanda.
    • Skip unnecessary recursion into leaf nodes during build, by @kampersanda.
    • Update README MSRV from 1.46.0 to 1.58.0.

    Removed

    • BREAKING: Removed the stateful build_from_keyset API. Use DoubleArrayBuilder::build instead, by @kampersanda.
    Open source →
    Release notes

    Added

    • YadaError enum and errors module with explicit error variants for build failures, by @kampersanda.
    • Keyset validation in DoubleArrayBuilder::build: detects empty keysets, empty keys, keys containing NUL bytes, duplicate keys, unsorted keysets, values greater than 2^31 - 1, and tries exceeding 2^29 units, by @kampersanda.
    • Default impl for DoubleArrayBuilder and Unit.
    • Display impl for Unit.
    • GitHub Actions CI: test (Linux x86/ARM, macOS, Windows), fmt, clippy, doc, and msrv jobs.
    • GitHub Actions release workflow: SemVer tag pushes verify the version, run tests, publish to crates.io via Trusted Publishing (OIDC), and create a GitHub Release from the matching CHANGELOG.md section.
    • RELEASE.md documenting the maintainer release procedure.
    • rust-version = "1.58.0" in Cargo.toml.

    Changed

    • BREAKING: DoubleArrayBuilder::build now returns Result<Vec<u8>, YadaError> instead of Option<Vec<u8>>, by @kampersanda.
    • Skip unnecessary recursion into leaf nodes during build, by @kampersanda.
    • Update README MSRV from 1.46.0 to 1.58.0.

    Removed

    • BREAKING: Removed the stateful build_from_keyset API. Use DoubleArrayBuilder::build instead, by @kampersanda.
    Open source →
  3. 0.5.1 25 Feb 2024
    Release notes

    Changed

    • Fix a corner case of exact_match_search by @BlueGreenMagick.
    • Add a test for the corner case.
    Open source →
  4. 0.5.0 01 Nov 2021
    Release notes

    Changed

    • Improve search performance using get_unchecked.
    Open source →
  5. 0.4.1 01 Nov 2021
    Release notes

    Changed

    • Improve search performance thnaks to inlining by @kampersanda.
    Open source →
  6. 0.4.0 10 Oct 2020
    Release notes

    Added

    • Add benchmarks.
    • Add file converter script for benchmarks.

    Changed

    • Relax the maximum size of a double array.
    Open source →
  7. 0.3.2 30 Sep 2020
    Release notes

    Changed

    • Make the DoubleArray cloneable by @johtani.
    Open source →
  8. 0.3.1 29 Sep 2020
    Release notes

    Changed

    • Fix duplicated offset issue.
    Open source →
  9. 0.3.0 27 Sep 2020
    Release notes

    Added

    • Add an example load_from_file.

    Changed

    • DoubleArrayBuilder does not require a trailing null character to build double arrays.
    • exact_match_search does not require a trailing null character in the keys.
    Open source →
  10. 0.2.0 26 Sep 2020
    Release notes

    Added

    • Specify Rust version by @johtani.
    • Add CHANGELOG.md.

    Changed

    • common_prefix_search returns key length.
    Open source →
  11. 0.1.0 20 Sep 2020
    Release notes

    Added

    • Initial release.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive