diff --git a/static-alloc/Cargo.toml b/static-alloc/Cargo.toml index ab1dade..7225020 100644 --- a/static-alloc/Cargo.toml +++ b/static-alloc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "static-alloc" -version = "0.3.0-prerelease" +version = "0.3.0" description = "A bump allocator on static memory for the alloc-traits crate" edition = "2024" documentation = "https://docs.rs/static-alloc" diff --git a/static-alloc/Changes.md b/static-alloc/Changes.md index 0bd0a1f..87b6759 100644 --- a/static-alloc/Changes.md +++ b/static-alloc/Changes.md @@ -1,3 +1,28 @@ +# v0.3. + +Structural: +- MSRV is now 1.85. +- Atomics are now polyfilled with `portable-atomic`. + +Feature changes: +- Renamed `MemBump` to `BumpSlice`. +- Added `BumpSlice` for the `Sync` allocator. + - A static reference to this type implements `GlobalAlloc`. +- The impl `Deref for sync::Bump` will no verify, through a + post-monomorphization error, that the layouts are actually compatible. If the + alignment of the underlying storage type is larger than `usize` this will + produce a static compile error. +- The implementation of `Bump` methods are now handled by an untyped proxy type + that's also shared with `BumpSlice`. This avoids monomorphization costs from + bloated codegen if multiple container types are used. +- Added `Bump::get_slice` to produce an allocation for multiple elements. + Future versions may complement the set of methods when it's clear how + initialization is best handled. + +Fixes: +- Fix an unsoundness related to `Deref` for `sync::Bump` (see above). If your + code compiles without change, your code could not have been affected. + # v0.2.6 - Fix an unsoundness bug in `MemBump::new` (available under feature `alloc`)