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
Releases
latest 11-
0.7.006 Jun 2026Release notes
Open source →Added
- Validation in
DoubleArray::newto 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.YadaErrorvariantsEmptyDoubleArray,UnalignedDoubleArray,UnalignedDoubleArrayBlocks, andInvalidDoubleArrayUnitfor byte slice validation failures, by @vabr-g and @kampersanda.Debugimpl forDoubleArray.
Changed
- BREAKING:
DoubleArray::newnow returnsResult<Self, YadaError>instead ofSelf, by @vabr-g and @kampersanda.
Release notes
Open source →Added
- Validation in
DoubleArray::newto 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.YadaErrorvariantsEmptyDoubleArray,UnalignedDoubleArray,UnalignedDoubleArrayBlocks, andInvalidDoubleArrayUnitfor byte slice validation failures, by @vabr-g and @kampersanda.Debugimpl forDoubleArray.
Changed
- BREAKING:
DoubleArray::newnow returnsResult<Self, YadaError>instead ofSelf, by @vabr-g and @kampersanda.
- Validation in
-
0.6.006 Jun 2026Release notes
Open source →Added
YadaErrorenum anderrorsmodule 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 than2^31 - 1, and tries exceeding2^29units, by @kampersanda. Defaultimpl forDoubleArrayBuilderandUnit.Displayimpl forUnit.- GitHub Actions CI:
test(Linux x86/ARM, macOS, Windows),fmt,clippy,doc, andmsrvjobs. - 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.mdsection. RELEASE.mddocumenting the maintainer release procedure.rust-version = "1.58.0"inCargo.toml.
Changed
- BREAKING:
DoubleArrayBuilder::buildnow returnsResult<Vec<u8>, YadaError>instead ofOption<Vec<u8>>, by @kampersanda. - Skip unnecessary recursion into leaf nodes during build, by @kampersanda.
- Update README MSRV from
1.46.0to1.58.0.
Removed
- BREAKING: Removed the stateful
build_from_keysetAPI. UseDoubleArrayBuilder::buildinstead, by @kampersanda.
Release notes
Open source →Added
YadaErrorenum anderrorsmodule 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 than2^31 - 1, and tries exceeding2^29units, by @kampersanda. Defaultimpl forDoubleArrayBuilderandUnit.Displayimpl forUnit.- GitHub Actions CI:
test(Linux x86/ARM, macOS, Windows),fmt,clippy,doc, andmsrvjobs. - 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.mdsection. RELEASE.mddocumenting the maintainer release procedure.rust-version = "1.58.0"inCargo.toml.
Changed
- BREAKING:
DoubleArrayBuilder::buildnow returnsResult<Vec<u8>, YadaError>instead ofOption<Vec<u8>>, by @kampersanda. - Skip unnecessary recursion into leaf nodes during build, by @kampersanda.
- Update README MSRV from
1.46.0to1.58.0.
Removed
- BREAKING: Removed the stateful
build_from_keysetAPI. UseDoubleArrayBuilder::buildinstead, by @kampersanda.
-
0.5.125 Feb 2024Release notes
Open source →Changed
- Fix a corner case of
exact_match_searchby @BlueGreenMagick. - Add a test for the corner case.
- Fix a corner case of
-
0.5.001 Nov 2021 -
0.4.101 Nov 2021 -
0.4.010 Oct 2020Release notes
Open source →Added
- Add benchmarks.
- Add file converter script for benchmarks.
Changed
- Relax the maximum size of a double array.
-
0.3.230 Sep 2020 -
0.3.129 Sep 2020 -
0.3.027 Sep 2020Release notes
Open source →Added
- Add an example
load_from_file.
Changed
DoubleArrayBuilderdoes not require a trailing null character to build double arrays.exact_match_searchdoes not require a trailing null character in the keys.
- Add an example
-
0.2.026 Sep 2020Release notes
Open source →Added
- Specify Rust version by @johtani.
- Add CHANGELOG.md.
Changed
common_prefix_searchreturns key length.
-
0.1.020 Sep 2020