All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fix
vector::Iteris notClonewhentriompheis enabled (#107)
- HashMap and HashSet iterators improved to not perform allocations whenever possible (#112)
- HashMap and HashSet new/default functions improved to not perform allocations for the empty map/set (#112)
- BuildHasher is now required to be Clone (technically a breaking change, but unlikely in practice) (#112)
- Restore Performance improvements for mutation of HashMap and HashSet (#108)
- OrdMap and OrdSet implementation rewritten as a B+Tree with significant performance improvements (#109)
- OrdMap and OrdSet new/default functions improved to not perform allocations for the empty map/set (#109)
- Support different pointer types (thanks @inker0!) (#90). This is technically a breaking change since some types (like iterators) grew additional generic parameters.
- Make
Vector::skipbetter in corner cases (#104)
- Bump MSRV to 1.77
- Fix bounds checks on
Focus::narrowandFocus::split_at(#89)
- Remove the implementation of
ExactSizedIteratorforOrdMap::range, since it was incorrect. This is a breaking change. - Fix stacked-borrows violations in
Vector. - Fix docs for
OrdMap::get_prevandOrdMap::get_next.
- Implement
IntoIteratorfor&mut Vector, as the standard library does for&mut Vec.
- Make
OrdSet::get_prevandOrdSet::get_nextmore generic, using theBorrowtrait. - Improve the performance of HashMap iterators (#73)
- Speedup hashmap by speeding up node creation (#76)
Vector::truncateno longer panics if thelenargument is larger than the vector's length (instead it does nothing)- Added
OrdSet::getto align withstd::collections::BTreeSetand make it possible to get values in the set by using a borrowed form of the element.
- Some unnecessary trait bounds on
HashMapwere removed.
-
The
differencealias forsymmetric_differencehas been deprecated.To avoid conflicting with the std library where
differenceis equivalent to imbl'srelative_complement.
- Fixed several critical bugs in
Vector(see PRs #34 and #37). - Removed
HashandPartialOrdimpls forHashMapandHashSet. - Made all container types covariant in their type parameters.
- Added
Vector::insert_ord_byandVector::insert_ord_by_key - Added
Fromimpls from arrays.
- Fixed #18, a critical bug that prevented everything from being
SendandSync. - Fixed value priority of unions in
OrdMapandHashMap: the values inselfshould always win.
This is the initial release of imbl, our fork/continuation of im. It is
fully compatible with version 15.0.0 of im, and this changelog only lists
those things which have changed since the fork.
- Fixed bugs when deleting elements from large
OrdMaps andOrdSets - Fixed bugs where iterating over
OrdMaps andOrdSets could skip some elements.
[2.0.0] - 2022-04-12: https://github.com/jneem/imbl/compare/v1.0.1...HEAD [1.0.1]: https://github.com/jneem/imbl/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/jneem/imbl/compare/releases/tag/v1.0.0