anymap/CHANGELOG.md
2022-01-26 00:16:15 +11:00

71 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 1.0.0 (unreleased)
- Removed `anymap::any::Any` in favour of just plain `std::any::Any`, since its
`Send`/`Sync` story is now long stable.
- This loses `Any + Sync`. `CloneAny + Sync` is also removed for consistency.
(So `Any + Sync` is gone, but `Any`, `Any + Send` and `Any + Send + Sync`
remain, plus the same set for `CloneAny`.)
- `anymap::any::CloneAny` moved to `anymap::CloneAny`.
With nothing public left in `anymap::any`, it is removed.
- Relicensed from MIT/Apache-2.0 to BlueOak-1.0.0/MIT/Apache-2.0.
- Increased the minimum supported version of Rust from 1.7.0 to 1.34.0.
- Remove `bench` Cargo feature (by shifting benchmarks out of `src/lib.rs` into
`benches/bench.rs`; it still wont run on anything but nightly, but that
dont signify). Technically a [breaking-change], but it was something for
development only, so Im not in the slightest bit concerned by it.
- Implement `Default` on `Map` (not just on `RawMap`)
- The implementation of `Into<RawMap<A>>` for `Map<A>` has been
replaced with the more general `From<Map<A>>` for `RawMap<A>`.
- Worked around the spurious `where_clauses_object_safety` future-compatibility lint that has been raised since mid-2018.
If you put `#![allow(where_clauses_object_safety)]` on your binary crates for this reason, you can remove it.
I dont plan for there to be any real changes from 0.12.1;
it should be just a bit of housecleaning and a version bump.
# 0.12.1 (2017-01-20)
- Remove superfluous Clone bound on Entry methods (#26)
- Consistent application of `#[inline]` where it should be
- Fix bad performance (see 724f94758def9f71ad27ff49e47e908a431c2728 for details)
# 0.12.0 (2016-03-05)
- Ungate `drain` iterator (stable from Rust 1.6.0)
- Ungate efficient hashing (stable from Rust 1.7.0)
- Remove `unstable` Cargo feature (in favour of a `bench` feature for benchmarking)
# 0.11.2 (2016-01-22)
- Rust warning updates only
# 0.11.1 (2015-06-24)
- Unstable Rust compatibility updates
# 0.11.0 (2015-06-10)
- Support concurrent maps (`Send + Sync` bound)
- Rename `nightly` feature to `unstable`
- Implement `Debug` for `Map` and `RawMap`
- Replace `clone` Cargo feature with arcane DST magicks
# Older releases (from the initial code on 2014-06-12 to 0.10.3 on 2015-04-18)
Im not giving a changelog for these artefacts of ancient history.
If you really care you can look through the Git history easily enough.
Most of the releases were just compensating for changes to the language
(that being before Rust 1.0; yes, this crate has been around for a while).
I do think that [`src/lib.rs` in the first commit] is a work of art,
a thing of great beauty worth looking at; its simplicity is delightful,
and it doesnt even need to contain any unsafe code.
[`src/lib.rs` in the first commit]: https://github.com/chris-morgan/anymap/tree/a294948f57dee47bb284d6a3ae1b8f61a902a03c/src/lib.rs