Skip to content

chore(deps): bump parking_lot from 0.12.5 to 0.13.0 - #1992

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/parking_lot-0.13.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/parking_lot-0.13.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Bumps parking_lot from 0.12.5 to 0.13.0.

Release notes

Sourced from parking_lot's releases.

parking_lot-v0.13.0

  • 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

... (truncated)

Changelog

Sourced from parking_lot's changelog.

0.13.0 (parking_lot), 0.10.0 (parking_lot_core), 0.5.0 (lock_api) - 2026-10-21

  • 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)

... (truncated)

Commits
  • 1a5c3dd Update changelog
  • ec07063 chore: release
  • f369d24 Merge pull request #538 from napi-rs/wasi-threads-parker
  • 2f4103f Remove the WASI backend note from stable restrictions
  • a3e8717 Reuse existing CI jobs for WASI coverage
  • c2bfc7b Merge pull request #549 from Amanieu/fix-l4re-condvar-clock
  • 696f28b Don't use pthread_condattr_setclock on L4RE
  • 52941c0 Share the libc dependency between Unix and WASI
  • 4fde6a7 Align the Rust setup action with existing workflows
  • f0ce547 Reuse the pthread backend for WASI on stable
  • Additional commits viewable in compare view

@dependabot dependabot Bot added the kind/dependencies For PRs that update dependencies or related components label Oct 29, 2026
@hyperlight-gh-bot

This comment has been minimized.

@jsturtevant

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps [parking_lot](https://github.com/Amanieu/parking_lot) from 0.12.5 to 0.13.0.
- [Release notes](https://github.com/Amanieu/parking_lot/releases)
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md)
- [Commits](Amanieu/parking_lot@parking_lot-v0.12.5...parking_lot-v0.13.0)

---
updated-dependencies:
- dependency-name: parking_lot
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/parking_lot-0.13.0 branch from 7677bca to f28c276 Compare October 29, 2026 22:32
@hyperlight-gh-bot

Copy link
Copy Markdown

Benchmark Results

Measured commit: f28c2761bc7a
Baseline commit: 3233086b0243

kvm / amd (Linux) (➖ stable)

No benchmark improved or regressed.

Benchmark Results

function_call_codec

decode_vec_bytes_copy encode_control
374.89 µs (➖ 1.00x faster)
byte_chunks 782.18 ns (➖ 1.02x slower)
vec_bytes 630.96 ns (➖ 1.08x slower)

payload_allocation

slot_pool_segmented
65536 142.17 ns (➖ 1.02x faster)
262144 520.82 ns (➖ 1.00x faster)

sandboxes

create_initialized_and_drop
medium 82.01 ms (➖ 1.00x slower)

slot_pool

alloc_dealloc_4096 alloc_dealloc_128 alloc_dealloc_1500
7.68 ns (➖ 1.00x faster) 7.70 ns (➖ 1.00x slower) 7.69 ns (➖ 1.00x faster)

snapshot_files

load_snapshot_unverified
small 93.09 µs (➖ 1.01x slower)

virtq_readonly

slot_pool_segmented slot_pool_segmented_fragmented
65536 1.91 µs (➖ 1.09x faster) 2.05 µs (➖ 1.07x slower)
262144 7.70 µs (➖ 1.09x faster) 7.26 µs (➖ 1.04x slower)

virtq_readwrite

slot_pool_segmented slot_pool_segmented_fragmented
8192 1.02 µs (➖ 1.01x slower) 1.04 µs (➖ 1.02x slower)
65536 6.64 µs (➖ 1.04x slower) 6.18 µs (➖ 1.08x faster)
262144 28.10 µs (➖ 1.04x slower)
kvm / intel (Linux) (➖ stable)

No benchmark improved or regressed.

Benchmark Results

function_call_codec

decode_vec_bytes_copy encode_control
672.07 µs (➖ 1.01x faster)
byte_chunks 690.44 ns (➖ 1.02x faster)
vec_bytes 508.90 ns (➖ 1.04x faster)

payload_allocation

slot_pool_segmented
65536 171.52 ns (➖ 1.00x faster)
262144 501.07 ns (➖ 1.01x slower)

sandboxes

create_initialized_and_drop
medium 115.43 ms (➖ 1.05x slower)

slot_pool

alloc_dealloc_4096 alloc_dealloc_128 alloc_dealloc_1500
6.78 ns (➖ 1.00x faster) 6.78 ns (➖ 1.00x slower) 6.79 ns (➖ 1.00x faster)

snapshot_files

load_snapshot_unverified
small 44.90 µs (➖ 1.02x slower)

virtq_readonly

slot_pool_segmented slot_pool_segmented_fragmented
65536 2.15 µs (➖ 1.02x slower) 2.13 µs (➖ 1.00x faster)
262144 7.55 µs (➖ 1.00x slower) 7.52 µs (➖ 1.00x slower)

virtq_readwrite

slot_pool_segmented slot_pool_segmented_fragmented
8192 722.28 ns (➖ 1.01x slower) 729.03 ns (➖ 1.01x faster)
65536 7.11 µs (➖ 1.02x faster) 7.00 µs (➖ 1.02x faster)
262144 31.39 µs (➖ 1.05x slower)
mshv3 / amd (Linux) (➖ stable)

No benchmark improved or regressed.

Benchmark Results

function_call_codec

decode_vec_bytes_copy encode_control
380.07 µs (➖ 1.04x slower)
byte_chunks 940.16 ns (➖ 1.05x faster)
vec_bytes 712.11 ns (➖ 1.02x faster)

payload_allocation

slot_pool_segmented
65536 255.74 ns (➖ 1.33x slower)
262144 733.44 ns (➖ 1.01x slower)

sandboxes

create_initialized_and_drop
medium 58.44 ms (➖ 1.01x faster)

slot_pool

alloc_dealloc_4096 alloc_dealloc_128 alloc_dealloc_1500
9.49 ns (➖ 1.01x faster) 9.50 ns (➖ 1.00x faster) 9.63 ns (➖ 1.00x faster)

snapshot_files

load_snapshot_unverified
small 84.92 µs (➖ 1.00x slower)

virtq_readonly

slot_pool_segmented slot_pool_segmented_fragmented
65536 2.23 µs (➖ 1.01x faster) 2.38 µs (➖ 1.08x faster)
262144 9.71 µs (➖ 1.01x slower) 11.53 µs (➖ 1.01x slower)

virtq_readwrite

slot_pool_segmented slot_pool_segmented_fragmented
8192 1.28 µs (➖ 1.08x slower) 1.28 µs (➖ 1.04x faster)
65536 10.11 µs (➖ 1.04x slower) 8.25 µs (➖ 1.49x faster)
262144 35.97 µs (➖ 1.06x faster)
mshv3 / intel (Linux) (➖ stable)

No benchmark improved or regressed.

Benchmark Results

function_call_codec

decode_vec_bytes_copy encode_control
665.14 µs (➖ 1.00x slower)
byte_chunks 915.88 ns (➖ 1.00x slower)
vec_bytes 664.38 ns (➖ 1.01x slower)

payload_allocation

slot_pool_segmented
65536 260.35 ns (➖ 1.03x slower)
262144 669.46 ns (➖ 1.01x slower)

sandboxes

create_initialized_and_drop
medium 72.59 ms (➖ 1.07x slower)

slot_pool

alloc_dealloc_4096 alloc_dealloc_128 alloc_dealloc_1500
8.75 ns (➖ 1.01x faster) 8.72 ns (➖ 1.09x faster) 8.76 ns (➖ 1.01x faster)

snapshot_files

load_snapshot_unverified
small 46.89 µs (➖ 1.05x faster)

virtq_readonly

slot_pool_segmented slot_pool_segmented_fragmented
65536 2.32 µs (➖ 1.01x slower) 2.30 µs (➖ 1.00x slower)
262144 8.00 µs (➖ 1.00x slower) 8.06 µs (➖ 1.00x slower)

virtq_readwrite

slot_pool_segmented slot_pool_segmented_fragmented
8192 917.87 ns (➖ 1.01x faster) 923.37 ns (➖ 1.00x faster)
65536 7.55 µs (➖ 1.00x slower) 7.60 µs (➖ 1.00x slower)
262144 41.72 µs (➖ 1.09x slower)
hyperv-ws2025 / amd (Windows) (➖ stable)

No benchmark improved or regressed.

Benchmark Results

function_call_codec

decode_vec_bytes_copy encode_control
1.89 ms (➖ 1.00x faster)
byte_chunks 1.22 µs (➖ 1.03x slower)
vec_bytes 785.14 ns (➖ 1.01x slower)

payload_allocation

slot_pool_segmented
65536 239.50 ns (➖ 1.01x faster)
262144 785.15 ns (➖ 1.01x faster)

sandboxes

create_initialized_and_drop
medium 79.53 ms (➖ 1.06x faster)

slot_pool

alloc_dealloc_4096 alloc_dealloc_128 alloc_dealloc_1500
10.01 ns (➖ 1.01x faster) 9.98 ns (➖ 1.01x faster) 9.90 ns (➖ 1.10x faster)

snapshot_files

load_snapshot_unverified
small 645.80 µs (➖ 1.06x faster)

virtq_readonly

slot_pool_segmented slot_pool_segmented_fragmented
65536 2.35 µs (➖ 1.10x faster) 2.38 µs (➖ 1.02x slower)
262144 9.18 µs (➖ 1.01x slower) 9.38 µs (➖ 1.00x faster)

virtq_readwrite

slot_pool_segmented slot_pool_segmented_fragmented
8192 1.24 µs (➖ 1.02x faster) 1.28 µs (➖ 1.01x faster)
65536 9.66 µs (➖ 1.08x slower) 8.95 µs (➖ 1.07x faster)
262144 38.43 µs (➖ 1.26x faster)
hyperv-ws2025 / intel (Windows) (➖ stable)

No benchmark improved or regressed.

Benchmark Results

function_call_codec

decode_vec_bytes_copy encode_control
3.06 ms (➖ 1.04x slower)
byte_chunks 1.20 µs (➖ 1.00x slower)
vec_bytes 763.29 ns (➖ 1.01x faster)

payload_allocation

slot_pool_segmented
65536 209.14 ns (➖ 1.01x faster)
262144 757.94 ns (➖ 1.02x slower)

sandboxes

create_initialized_and_drop
medium 106.26 ms (➖ 1.04x faster)

slot_pool

alloc_dealloc_4096 alloc_dealloc_128 alloc_dealloc_1500
10.25 ns (➖ 1.01x slower) 9.88 ns (➖ 1.01x slower) 9.78 ns (➖ 1.01x slower)

snapshot_files

load_snapshot_unverified
small 491.68 µs (➖ 1.05x faster)

virtq_readonly

slot_pool_segmented slot_pool_segmented_fragmented
65536 2.49 µs (➖ 1.00x faster) 2.30 µs (➖ 1.01x faster)
262144 7.54 µs (➖ 1.00x slower) 7.64 µs (➖ 1.01x slower)

virtq_readwrite

slot_pool_segmented slot_pool_segmented_fragmented
8192 1.10 µs (➖ 1.03x slower) 1.22 µs (➖ 1.16x slower)
65536 8.45 µs (➖ 1.01x faster) 8.81 µs (➖ 1.03x slower)
262144 45.47 µs (➖ 1.14x faster)

Reported by cargo ci bench-report --candidate run:40966654003 --config-file bench_report.toml.

@jsturtevant

Copy link
Copy Markdown
Contributor

this is the same as #1831, where we need to bump past 1.95

  • parking_lot 0.13.0
  • parking_lot_core 0.10.0
  • lock_api 0.5.0

All require Rust 1.95, while hyperlight-host requires Rust 1.89

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/dependencies For PRs that update dependencies or related components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant