]> git.proxmox.com Git - rustc.git/blame - vendor/parking_lot-0.10.2/CHANGELOG.md
New upstream version 1.47.0+dfsg1
[rustc.git] / vendor / parking_lot-0.10.2 / CHANGELOG.md
CommitLineData
f035d41b
XL
1## parking_lot 0.10.2 (2020-04-10)
2
3- Update minimum version of `lock_api`.
4
5## parking_lot 0.10.1, parking_lot_core 0.7.1, lock_api 0.3.4 (2020-04-10)
6
7- Add methods to construct `Mutex`, `RwLock`, etc in a `const` context. (#217)
8- Add `FairMutex` which always uses fair unlocking. (#204)
9- Fixed panic with deadlock detection on macOS. (#203)
10- Fixed incorrect synchronization in `create_hashtable`. (#210)
11- Use `llvm_asm!` instead of the deprecated `asm!`. (#223)
12
13## lock_api 0.3.3 (2020-01-04)
14
15- Deprecate unsound `MappedRwLockWriteGuard::downgrade` (#198)
16
17## parking_lot 0.10.0, parking_lot_core 0.7.0, lock_api 0.3.2 (2019-11-25)
18
19- Upgrade smallvec dependency to 1.0 in parking_lot_core.
20- Replace all usage of `mem::uninitialized` with `mem::MaybeUninit`.
21- The minimum required Rust version is bumped to 1.36. Because of the above two changes.
22- Make methods on `WaitTimeoutResult` and `OnceState` take `self` by value instead of reference.
23
24## parking_lot_core 0.6.2 (2019-07-22)
25
26- Fixed compile error on Windows with old cfg_if version. (#164)
27
28## parking_lot_core 0.6.1 (2019-07-17)
29
30- Fixed Android build. (#163)
31
32## parking_lot 0.9.0, parking_lot_core 0.6.0, lock_api 0.3.1 (2019-07-14)
33
34- Re-export lock_api (0.3.1) from parking_lot (#150)
35- Removed (non-dev) dependency on rand crate for fairness mechanism, by
36 including a simple xorshift PRNG in core (#144)
37- Android now uses the futex-based ThreadParker. (#140)
38- Fixed CloudABI ThreadParker. (#140)
39- Fix race condition in lock_api::ReentrantMutex (da16c2c7)
40
41## lock_api 0.3.0 (2019-07-03, _yanked_)
42
43- Use NonZeroUsize in GetThreadId::nonzero_thread_id (#148)
44- Debug assert lock_count in ReentrantMutex (#148)
45- Tag as `unsafe` and document some internal methods (#148)
46- This release was _yanked_ due to a regression in ReentrantMutex (da16c2c7)
47
48## parking_lot 0.8.1 (2019-07-03, _yanked_)
49
50- Re-export lock_api (0.3.0) from parking_lot (#150)
51- This release was _yanked_ from crates.io due to unexpected breakage (#156)
52
53## parking_lot 0.8.0, parking_lot_core 0.5.0, lock_api 0.2.0 (2019-05-04)
54
55- Fix race conditions in deadlock detection.
56- Support for more platforms by adding ThreadParker implementations for
57 Wasm, Redox, SGX and CloudABI.
58- Drop support for older Rust. parking_lot now requires 1.31 and is a
59 Rust 2018 edition crate (#122).
60- Disable the owning_ref feature by default.
61- Fix was_last_thread value in the timeout callback of park() (#129).
62- Support single byte Mutex/Once on stable Rust when compiler is at least
63 version 1.34.
64- Make Condvar::new and Once::new const fns on stable Rust and remove
65 ONCE_INIT (#134).
66- Add optional Serde support (#135).
67
68## parking_lot 0.7.1 (2019-01-01)
69
70- Fixed potential deadlock when upgrading a RwLock.
71- Fixed overflow panic on very long timeouts (#111).
72
73## parking_lot 0.7.0, parking_lot_core 0.4.0 (2018-11-26)
74
75- Return if or how many threads were notified from `Condvar::notify_*`
76
77## parking_lot 0.6.3 (2018-07-18)
78
79- Export `RawMutex`, `RawRwLock` and `RawThreadId`.
80
81## parking_lot 0.6.2 (2018-06-18)
82
83- Enable `lock_api/nightly` feature from `parking_lot/nightly` (#79)
84
85## parking_lot 0.6.1 (2018-06-08)
86
87Added missing typedefs for mapped lock guards:
88
89- `MappedMutexGuard`
90- `MappedReentrantMutexGuard`
91- `MappedRwLockReadGuard`
92- `MappedRwLockWriteGuard`
93
94## parking_lot 0.6.0 (2018-06-08)
95
96This release moves most of the code for type-safe `Mutex` and `RwLock` types
97into a separate crate called `lock_api`. This new crate is compatible with
98`no_std` and provides `Mutex` and `RwLock` type-safe wrapper types from a raw
99mutex type which implements the `RawMutex` or `RawRwLock` trait. The API
100provided by the wrapper types can be extended by implementing more traits on
101the raw mutex type which provide more functionality (e.g. `RawMutexTimed`). See
102the crate documentation for more details.
103
104There are also several major changes:
105
106- The minimum required Rust version is bumped to 1.26.
107- All methods on `MutexGuard` (and other guard types) are no longer inherent
108 methods and must be called as `MutexGuard::method(self)`. This avoids
109 conflicts with methods from the inner type.
110- `MutexGuard` (and other guard types) add the `unlocked` method which
111 temporarily unlocks a mutex, runs the given closure, and then re-locks the
112 mutex.
113- `MutexGuard` (and other guard types) add the `bump` method which gives a
114 chance for other threads to acquire the mutex by temporarily unlocking it and
115 re-locking it. However this is optimized for the common case where there are
116 no threads waiting on the lock, in which case no unlocking is performed.
117- `MutexGuard` (and other guard types) add the `map` method which returns a
118 `MappedMutexGuard` which holds only a subset of the original locked type. The
119 `MappedMutexGuard` type is identical to `MutexGuard` except that it does not
120 support the `unlocked` and `bump` methods, and can't be used with `CondVar`.