NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2184 most downloaded on crates.io
Prefix trie (tree) datastructure (both a set and a map) that provides exact and longest-prefix matches.
Last release 2 months ago
24 Jul 2026
Release timing varies
gaps range from 1 weeks to 9 months
Some releases are documented
notes for 8 of 26 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
26 releases · first in 2022
One column per quarter.
Nothing published for this version
rkyv zero-copy (de)serialization
rkyv zero-copy (de)serializationThis release adds a new rkyv feature flag, bringing zero-copy serialization support to PrefixMap, PrefixSet, and JointPrefixMap/JointPrefixSet. The archived types implement the same TrieView interface as their live counterparts, so you can look up, iterate, and compute covering/LPM/SPM queries directly on the archived (mmap'ed) representation without deserializing.
get, get_key_value, contains, get_lpm, get_spm, is_covered, is_covered_in_aggregate, address_count, children, iter/iter_from, and cover iterators are all available on the archived variants.ArchivedTrieRef type that implements TrieView, enabling integration with concrete (non-archive) types. The new functions on TrieView simplify this process.FilterView to filter a view by a predicate closure.ClonedView and CopiedView adapters.MapView combinator for TrieView.is_covered and is_covered_in_aggregate added to the core map/set API.TrieView that could cause UB.Default implementations on Joint iterators (were previously inconsistent/incorrect).step and navigate_to from the public TrieView interface (internal-only).Full Changelog: v0.9.4...v0.10.0
Feature: Add address_count to PrefixMap , PrefixSet , and JointPrefixMap by @digizeph in #31
address_count to PrefixMap, PrefixSet, and JointPrefixMap by @digizeph in #31remove_children now properly cleans up the tree.Full Changelog: v0.9.3...v0.9.4
PrefixMap::aggregate_consistent and PrefixSet::aggregate_consistent remove covering prefixes (that are covered with the same value). Any get_lpm call
PrefixMap::aggregate_consistent and PrefixSet::aggregate_consistent remove covering prefixes (that are covered with the same value). Any get_lpm call (for any prefix) will still return the same value (with a potential different result).PrefixSet::aggregate removes covering prefixes and merges adjacent ones. In contrast to aggregate_consistent, calling get_lpm on addresses (e.g., /32 on IPv4) still yields the same value. However, for prefixes, that is not the case.PrefixMap::aggregate, PrefixMap::aggregate_fill, and PrefixMap::aggregate_fill_default are implementation of the ORTC algorithm by R. P. Draves, C. King, S. Venkatachary, and B. D. Zill. The fill variants are allowed to add new prefixes (e.g., 0.0.0.0/0) with the provided default value, while the non-fill variant does ensures that uncovered prefixes remain uncovered.joint::map::OccupiedEntry::into_mut functionFull Changelog: v0.9.1...v0.9.3
Nothing published for this version
Add iter_from function to enable paginated output.
iter_from function to enable paginated output.eq_keys and eq_by)Eq implementation for PrefixMapremove_children in deep trees.remove_children.Full Changelog: v0.9.0...v0.9.1
Migrate to the TreeBitMap implementation by W. Eatherton, Z. Dittia, G. Varghes .
PrefixMap<P, (P, T)>.Full Changelog: v0.8.4...v0.9.0
Raise minimum dependency versions by @divergentdave in #25
Full Changelog: v0.8.3...v0.8.4
Fix memory leak during parent node collapse (Closes #23 ) by @nawed2010 in #24
Full Changelog: v0.8.2...v0.8.3
Reduced memory usage by applying niche optimization (thanks to #22 )
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →