PackageTrack
Sign in Get early access

embassy-sync

no-std, no-alloc synchronization primitives with async support

0.8.0 6.0M downloads/mo #4152 most downloaded on crates.io embassy-rs/embassy

What this package is like to depend on

Last release 5 months ago

20 Mar 2026

Ships fairly regularly

a new release about every 4 months

Most releases are documented

notes for 11 of 13 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

13 releases · first in 2022

1 release in the last 12 months

see the full history below

Release timeline

13 releases · Sep 2022 to Mar 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 13
  1. 0.8.0 20 Mar 2026
    Release notes
    • Fix wakers getting dropped by Signal::reset
    • Remove Sized trait bound from MutexGuard::map
    • Update to embedded-io-async 0.7.0
    • Fix Pipe::try_write docs
    • Implement futures_sink::Sink for Channel and channel::Sender
    Open source →
  2. 0.7.2 27 Aug 2025
    Release notes
    • Add get_mut to LazyLock
    • Add more Debug impls to embassy-sync, particularly on OnceLock
    Open source →
  3. 0.7.1 12 Aug 2025

    Nothing published for this version

  4. 0.7.0 28 May 2025
    Release notes
    • Add remove_if to priority_channel::{Receiver, PriorityChannel}.
    • impl Stream for channel::{Receiver, Channel}.
    • Fix channels to wake senders on clear(). For Channel, PriorityChannel, PubSub, zerocopy_channel::Channel.
    • Allow zerocopy_channel::Channel to auto-implement Sync/Send.
    • Add must_use to MutexGuard.
    • Add a RwLock.
    • Add lock_mut to blocking_mutex::Mutex.
    • Don't select a critical-section implementation when std feature is enabled.
    • Improve waker documentation.
    • Improve Signal and Watch documentation.
    • Update to defmt 1.0. This remains compatible with latest defmt 0.3.
    • Add peek method on channel and priority_channel.
    • Add dynamic sender and receiver that are Send + Sync for channel.
    Open source →
  5. 0.6.2 16 Jan 2025
    Release notes
    • Add dynamic dispatch variant of Pipe.
    Open source →
  6. 0.6.1 22 Nov 2024
    Release notes
    • Add LazyLock sync primitive.
    • Add Watch sync primitive.
    • Add clear, len, is_empty and is_full functions to zerocopy_channel.
    • Add capacity, free_capacity, clear, len, is_empty and is_full functions to channel::{Sender, Receiver}.
    • Add capacity, free_capacity, clear, len, is_empty and is_full functions to priority_channel::{Sender, Receiver}.
    • Add GenericAtomicWaker utility.
    Open source →
  7. 0.6.0 29 May 2024
    Release notes
    • Add capacity, free_capacity, clear, len, is_empty and is_full functions to Channel.
    • Add capacity, free_capacity, clear, len, is_empty and is_full functions to PriorityChannel.
    • Add capacity, free_capacity, clear, len, is_empty and is_full functions to PubSubChannel.
    • Made PubSubBehavior sealed
      • If you called .publish_immediate(...) on the queue directly before, then now call .immediate_publisher().publish_immediate(...)
    • Add OnceLock sync primitive.
    • Add constructor for DynamicChannel
    • Add ready_to_receive functions to Channel and Receiver.
    Open source →
  8. 0.5.0 04 Dec 2023
    Release notes
    • Add a PriorityChannel.
    • Remove nightly and unstable-traits features in preparation for 1.75.
    • Upgrade heapless to 0.8.
    • Upgrade static-cell to 2.0.
    Open source →
  9. 0.4.0 31 Oct 2023
    Release notes
    • Re-add impl_trait_projections
    • switch to embedded-io 0.6
    Open source →
  10. 0.3.0 14 Sep 2023
    Release notes
    • switch to embedded-io 0.5
    • add api for polling channels with context
    • standardise fn names on channels
    • add zero-copy channel
    Open source →
  11. 0.2.0 13 Apr 2023
    Release notes
    • pubsub: Fix messages not getting popped when the last subscriber that needed them gets dropped.
    • pubsub: Move instead of clone messages when the last subscriber pops them.
    • pubsub: Pop messages which count is 0 after unsubscribe.
    • Update embedded-io from 0.3 to 0.4 (uses async fn in traits).
    • impl Default for WakerRegistration
    • impl Default for Signal
    • Remove unnecessary uses of atomic-polyfill
    • Add #[must_use] to all futures.
    Open source →
  12. 0.1.0 26 Oct 2022
    Release notes
    • First release
    Open source →
  13. 0.0.0 18 Sep 2022

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive