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