Skip to content

Latest commit

 

History

History
117 lines (67 loc) · 5.32 KB

Changelog.md

File metadata and controls

117 lines (67 loc) · 5.32 KB

Unreleased

0.10.5 – 2023-03-04

  • Remove features const_mut_refs and use_spin_nightly.

    Since rust 1.61, the required const features are available in stable rust, and lock_api >= 0.4.7 automatically uses them. To avoid a breaking change, the features are still listed in Cargo.toml, but have no effect and are marked as deprecated. This bumps the minimum supported rust version to 1.61.

0.10.4 – 2022-10-10

0.10.3 – 2022-09-06

  • Fix build on stable by adding missing field in HoleList initializer (#68)
    • Fixes a bug introduced in v0.10.2.

0.10.2 – 2022-09-06

Fix for potential out-of-bound writes that were possible on Heap initialization and Heap::extend. See the security advisory for details. The issues were fixed in the following way:

  • The initialization functions now panic if the given size is not large enough to store the necessary metadata. Depending on the alignment of the heap bottom pointer, the minimum size is between 2 * size_of::<usize> and 3 * size_of::<usize>.
  • The extend method now panics when trying to extend an unitialized heap.
  • Extend calls with a size smaller than size_of::<usize>() * 2 are now buffered internally and not added to the list directly. The buffered region will be merged with future extend calls.
  • The size() method now returns the usable size of the heap, which might be slightly smaller than the top() - bottom() difference because of alignment constraints.

0.10.1 – 2022-07-07

  • Fixed logic for freeing nodes (#64)

0.10.0 – 2022-06-27

  • Changed constructor to take *mut u8 instead of usize (#62)
    • NOTE: Breaking API change
  • Reworked internals to pass Miri tests (#62)

0.9.1 – 2021-10-17

  • Add safe constructor and initialization for Heap (#55)
  • Merge front/back padding after allocate current hole (#54)

0.9.0 – 2021-05-01

  • Update spinning_top dependency to v0.2.3 (#50)

0.8.11 – 2021-01-02

  • Add new use_spin_nightly feature, which, together with const_mut_refs, makes the empty method of LockedHeap const (#49)

0.8.10 – 2020-12-28

  • Made hole module public for external uses (#47)

0.8.9 – 2020-12-27

  • Don't require nightly for use_spin feature (#46)

0.8.8 – 2020-12-16

  • Do not require alloc crate (#44)

0.8.7 – 2020-12-10

  • Unstable Breakage: fix(alloc_ref): Use new nightly Allocator trait #42
  • Build on stable without features #43
    • Adds a new const_mut_refs crate feature (enabled by default).
    • By disabling this feature, it's possible to build the crate on stable Rust.

0.8.6 – 2020-09-24

  • Fix build error on latest nightly (#35)

0.8.5 – 2020-08-13

  • Update AllocRef implementation for latest API changes (#33)

0.8.4

  • Add function to get used and free heap size (#32)

0.8.3

  • Prevent writing to heap memory range when size too small (#31)

0.8.2

  • Update AllocRef implementation for latest API changes (#30)

0.8.1

  • AllocRef::alloc is now safe and allows zero-sized allocations (#28)
    • This is technically a breaking change for the unstable alloc_ref feature of this crate because it now requires a newer nightly version of Rust.

0.8.0

  • Breaking: Make AllocRef implementation optional behind new alloc_ref feature
    • To enable the AllocRef implementation again, enable the alloc_ref feature of this crate in your Cargo.toml
  • Fix build on nightly 1.43.0 (05-03-2020) (#25)

0.7.0

  • Use new spinning_top crate instead of spin (#23)

0.6.6

  • The Alloc trait was renamed to AllocRef (#20)

0.6.5

  • Align up the Hole initialization address (#18)
  • Remove alloc feature gate, which is now stable