# Changelog The format is based on [Keep a Changelog]. [Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ ## [0.29.1] - 2024-05-24 - Fix backward iterator seek [#215](https://github.com/paritytech/trie/pull/215) ## [0.29.0] - 2024-03-04 - Implements `DoubleEndedIterator` for trie iterator [#208](https://github.com/paritytech/trie/pull/208) ## [0.28.0] - 2023-09-12 - Make `trie_nodes_recorded_for_key` work for inline values [#194](https://github.com/paritytech/trie/pull/194) - trie-db: Fetch the closest merkle value [#199](https://github.com/paritytech/trie/pull/199) - fixing triedbmut lookup, added some testing in test. [#198](https://github.com/paritytech/trie/pull/198) ## [0.27.1] - 2023-03-17 - Fix `TrieDBRawIterator::prefix_then_seek` [#190](https://github.com/paritytech/trie/pull/190) ## [0.27.0] - 2023-03-14 - Fix compact proof to skip including value node hashes [#187](https://github.com/paritytech/trie/pull/187) - Update dependencies. [#188](https://github.com/paritytech/trie/pull/188) ## [0.26.0] - 2023-02-24 - `TrieDBRawIterator` and `TrieDBNodeIterator` now return a node inside of an `Arc` instead of `Rc` [#185](https://github.com/paritytech/trie/pull/185) - `TrieDBRawIterator` is now `Send` and `Sync` [#185](https://github.com/paritytech/trie/pull/185) ## [0.25.1] - 2023-02-14 - Fix recorder behavior: [#184](https://github.com/paritytech/trie/pull/184) ## [0.25.0] - 2023-02-03 - Updated `hashbrown` to 0.13.2: [#177](https://github.com/paritytech/trie/pull/177) - Iterator refactoring: [#181](https://github.com/paritytech/trie/pull/181) - Removed `TrieDBKeyIterator::suspend` and `SuspendedTrieDBKeyIterator` - Added `TrieDBRawIterator` ## [0.24.0] - 2022-08-04 - Do not check for root in `TrieDB` and `TrieDBMut` constructors: [#155](https://github.com/paritytech/trie/pull/155) To get back the old behavior you have to add the following code: ``` if !db.contains(root, EMPTY_PREFIX) { return Err(InvalidStateRoot(root)) } ``` - Introduce trie level cache & recorder: [#157](https://github.com/paritytech/trie/pull/157) This pull requests introduced a cache that is directly baked into the trie-db. This cache can be used to speed up accessing data in the trie. Alongside the cache, the recorder was also made a first class citizen of the trie. The pull requests introduces quite a lot of changes to the trie api. `TrieDB` and `TrieDBMut` are now for example now using a builder pattern. For more information see the pr. ## [0.23.1] - 2022-02-04 - Updated `hashbrown` to 0.12. [#150](https://github.com/paritytech/trie/pull/150) ## [0.23.0] - 2021-10-19 - Support for value nodes. [#142](https://github.com/paritytech/trie/pull/142) ## [0.22.6] - 2021-07-02 - Updated `hashbrown` to 0.11. [#131](https://github.com/paritytech/trie/pull/131) ## [0.22.3] - 2021-01-28 ### Added - Decode with an iterator. [#121](https://github.com/paritytech/trie/pull/121) ## [0.22.2] - 2021-01-05 - Update `hashbrown` to 0.9. [#118](https://github.com/paritytech/trie/pull/118) ## [0.22.1] - 2020-07-24 - Use `ahash` feature of hashbrown. [#103](https://github.com/paritytech/trie/pull/103) ## [0.22.0] - 2020-07-06 - Update hashbrown to 0.8. [#97](https://github.com/paritytech/trie/pull/97) ## [0.21.0] - 2020-06-04 - Added `ALLOW_EMPTY` to `TrieLayout`. [#92](https://github.com/paritytech/trie/pull/92) ## [0.20.0] - 2020-02-07 - Prefix iterator. [#39](https://github.com/paritytech/trie/pull/39) - Update trie-root to v0.16.0 and memory-db to v0.19.0 and reference-trie to v0.20.0 [#78](https://github.com/paritytech/trie/pull/78) ## [0.19.2] - 2020-01-16 - Compact proofs support. [#45](https://github.com/paritytech/trie/pull/45)