0.1.4 (2021-10-12)

Features

  • emit a nicer panic when thread count overflows MAX_SHARDS (#64) (f1ed058a)

0.1.3 (2021-08-02)

Bug Fixes

  • set up MSRV in CI (#61) (dfcc9080, closes #60)
  • tests: duplicate hint mod defs with loom (0ce3fd91)

0.1.2 (2021-08-01)

Bug Fixes

  • make debug assertions drop safe (26d35a69)

Features

  • improve panics on thread ID bit exhaustion (9ecb8e61)

0.1.1 (2021-1-4)

Bug Fixes

  • change loom to an optional dependency (9bd442b5)

0.1.0 (2020-10-20)

Bug Fixes

  • fix remove and clear returning true when the key is stale (b52d38b2)

Breaking Changes

  • Pool: change Pool::create to return a mutable guard (#48) (778065ea, closes #41, #16)
  • Slab: rename Guard to Entry for consistency (425ad398)

Features

  • add missing Debug impls (71a8883f)
  • Pool:
    • add Pool::create_owned and OwnedRefMut (f7774ae0)
    • add Arc<Pool>::get_owned and OwnedRef (3e566d91, closes #29)
    • change Pool::create to return a mutable guard (#48) (778065ea, closes #41, #16)
  • Slab:
    • add Arc<Slab>::get_owned and OwnedEntry (53a970a2, closes #29)
    • rename Guard to Entry for consistency (425ad398)
    • add slab-style VacantEntry API (6776590a, closes #16)

Performance

  • allocate shard metadata lazily (#45) (e543a06d)

0.0.9 (2020-04-03)

Features

  • Config: validate concurrent refs (9b32af58, closes #21)
  • Pool:
    • add fmt::Debug impl for Pool (ffa5c7a0)
    • add Default impl for Pool (d2399365)
    • add a sharded object pool for reusing heap allocations (#19) (89734508, closes #2, #15)
  • Slab::take: add exponential backoff when spinning (6b743a27)

Bug Fixes

  • incorrect wrapping when overflowing maximum ref count (aea693f3, closes #22)

0.0.8 (2020-01-31)

Bug Fixes

  • remove not adding slots to free lists (dfdd7aee)

0.0.7 (2019-12-06)

Bug Fixes

  • Config: compensate for 0 being a valid TID (b601f5d9)
  • DefaultConfig:

0.0.6 (2019-11-08)

Features

0.0.5 (2019-10-31)

Performance

  • consolidate per-slot state into one AtomicUsize (#6) (f1146d33)

Features

0.0.4 (2019-21-30)

Features

  • prevent items from being removed while concurrently accessed (872c81d1)
  • added Slab::remove method that marks an item to be removed when the last thread accessing it finishes (872c81d1)

Bug Fixes

  • nicer handling of races in remove (475d9a06)

Breaking Changes

  • renamed Slab::remove to Slab::take (872c81d1)
  • Slab::get now returns a Guard type (872c81d1)

0.0.3 (2019-07-30)

Bug Fixes

  • split local/remote to fix false sharing & potential races (69f95fb0)
  • set next pointer before head (cc7a0bf1)

Breaking Changes

  • removed potentially racy Slab::len and Slab::capacity methods (27af7d6c)

0.0.2 (2019-03-30)

Bug Fixes

  • fix compilation failure in release mode (617031da)

0.0.1 (2019-02-30)

  • Initial release