Skip to content

Update Rust crate parking_lot to 0.13 - #117

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/parking_lot-0.x
Oct 21, 2026
Merged

renovate[bot] merged 1 commit into
mainfrom
renovate/parking_lot-0.x

Conversation

@renovate

@renovate renovate Bot commented Oct 21, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Type Update Change
parking_lot workspace.dependencies minor 0.12 → 0.13

Release Notes

Amanieu/parking_lot (parking_lot)

v0.13.0

Compare Source

  • Signficantly improved Mutex and RwLock performance under contention by
    deferring waking up parked threads until after the lock is released. (#​545)
  • Added per-acquisition state to lock_api raw locks. RawMutex::Guard
    replaces GuardMarker; rwlocks have separate SharedGuard, ExclusiveGuard,
    and UpgradableGuard types. Unlock operations consume this state, while
    upgrade and downgrade operations return replacement state. Bump and raw
    condition-variable waits borrow and update the state. Consuming operations
    must release their acquisition on unwind; borrowing operations must restore
    ownership and valid state, or abort if restoration fails. (#​544)
  • Raised the MSRV to Rust 1.95 and upgraded all crates to edition 2024. (#​533)
  • Removed the hardware-lock-elision feature. (#​533)
  • Removed automatic eventual fairness. Fair unlocking remains available through
    the explicit fair-unlock APIs. This removes UnparkResult::be_fair. (#​533)
  • Removed the no-op lock_api/nightly feature. (#​533)
  • Removed the legacy lock_api const_new methods and the redundant
    parking_lot const_* constructor functions; the corresponding new
    methods can be called in constant contexts. (#​533)
  • Replaced the recursive read methods on RwLock with a dedicated reader-biased
    RecursiveRwLock type. The RawRwLockRecursive and RawRwLockRecursiveTimed
    extension traits have been removed from lock_api. (#​533)
  • Added Once::new_completed for constructing a Once in the completed state. (#​520)
  • Added Once::{is_completed, wait, wait_force} and the corresponding
    OnceState query methods. (#​533)
  • Made additional lock, timeout, parking, and spin-wait accessors usable in
    constant contexts. (#​533)
  • Added into_inner_with_raw to lock_api's Mutex, RwLock, and ReentrantMutex. (#​524)
  • Added RawCondvar, RawCondvarTimed, and the generic Condvar wrapper to
    lock_api, and implemented parking_lot::Condvar using them. Custom raw
    condition variables may allow spurious wakeups; their notification methods
    must then return false or 0. parking_lot::Condvar still guarantees no
    spurious wakeups and exact notification counts. (#​523) (#​533)
  • Corrected the Send and Sync bounds of lock guards in lock_api. (#​533)
  • Made RawMutex::is_locked and RawRwLock::{is_locked, is_locked_exclusive} required methods. (#​533)
  • Renamed MappedRwLockReadGuard::try_map_or_else to try_map_or_err. (#​533)
  • Clarified the safety requirements of raw lock implementations, including
    acquire/release synchronization, moving or dropping a locked raw lock,
    preserving the original lock mode on a failed upgrade, and stable thread IDs.
    Acquisitions may unwind without leaving a new acquisition held; consuming
    guard operations release their acquisition on unwind, while bump and wait
    operations must restore ownership or abort. (#​533) (#​544)
  • Clarified the aliasing requirements of unsafe raw-access, force-unlock, and
    guard-construction APIs in lock_api. (#​533)
  • Guard unlocked and unlocked_fair operations now abort if re-locking panics.
    Default raw-lock bump implementations also abort if re-locking panics. (#​533)
  • Guard with_upgraded operations abort if raw upgrading or downgrading panics,
    preserving continuous lock ownership. (#​544)
  • Parking-lot operations in parking_lot_core are now guaranteed to never
    unwind. (#​533)
  • Documented that parking-lot-based synchronization primitives must not be used
    internally by global allocators. (#​533)
  • Fixed unlock_upgradable_fair not forcing a fair handoff. (#​533)
  • Fixed conditional Condvar waits reporting a timeout without rechecking the predicate. (#​533)
  • Fixed the generic thread parker continuously busy-spinning while parked. (#​533)
  • Fixed parking on WASI by using the pthread backend when the nightly atomic
    intrinsics are unavailable, including on stable threaded WASI targets. (#​538)
  • Fixed timed waits on ESP-IDF using the wrong clock. (#​533)
  • Made timed waits on Apple platforms independent of wall-clock changes. (#​533)
  • Fixed the futex timeout ABI on 32-bit Linux targets, including time64-only
    architectures, with fallback to time32 when the kernel lacks time64 support. (#​533)
  • Corrected RwLock deadlock tracking to avoid false positives and missed
    cycles, and prevented dependency feature unification from enabling tracking
    when only parking_lot_core/deadlock_detection is enabled. (#​533)
  • Added Once deadlock tracking and made overlapping wait cycles report as a
    single component. (#​533)
  • Fixed compilation on L4Re. (#​549)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot enabled auto-merge (squash) October 21, 2026 11:03
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 553b50b6-0cbb-484c-889f-9f9b4758af6f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@renovate
renovate Bot merged commit 09e230d into main Oct 21, 2026
7 checks passed
@renovate
renovate Bot deleted the renovate/parking_lot-0.x branch October 21, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants