v0.1.7 (2023-10-04)
Bug Fixes
- index out of bounds in
get()
and get_owned()
(#88) (fdbc930f) - unique_iter: prevent panics if a slab is empty (#88) (bd599e0b, closes #73)
0.1.6 (2023-09-27)
Features
- publicly export
UniqueIter
(#87) (e4d6482d, closes #77)
Bug Fixes
- use a smaller
CustomConfig
for 32-bit tests (#84) (828ffff9, closes #82)
0.1.5 (2023-08-28)
Bug Fixes
- Slab: invalid generation in case of custom config (#80) (ca090279)
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)