PackageTrack
Sign in Get early access

portable-atomic-util

Synchronization primitives built with portable-atomic.

0.2.7 92M downloads/mo #849 most downloaded on crates.io taiki-e/portable-atomic-util

What this package is like to depend on

Last release 4 months ago

16 Apr 2026

Ships unpredictably

gaps range from 1 weeks to 1.2 years

Nearly every release is documented

notes for 9 of 9 stable releases

5 versions withdrawn

withdrawn after publishing

4 years old

14 releases · first in 2023

3 releases in the last 12 months

see the full history below

Release timeline

14 releases · Jan 2023 to Apr 2026
2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 14
  1. 0.2.7 16 Apr 2026
    Release notes
    • Implement serde serialization and deserialization for Arc, gated behind "serde" feature. (#2, thanks @tommasoclini)
    Open source →
    Release notes
    • Implement serde serialization and deserialization for Arc, gated behind "serde" feature. (#2, thanks @tommasoclini)
    Open source →
  2. 0.2.6 14 Mar 2026
    Release notes

    portable-atomic-util has been extracted from the portable-atomic repository into its own repository: https://github.com/taiki-e/portable-atomic-util

    Open source →
    Release notes

    portable-atomic-util has been extracted from the portable-atomic repository into its own repository: https://github.com/taiki-e/portable-atomic-util

    Open source →
  3. 0.2.5 31 Jan 2026
    Release notes
    Open source →
    Release notes
    Open source →
  4. 0.2.4 23 Nov 2024
    Release notes
    Open source →
    Release notes
    Open source →
  5. 0.2.3 17 Oct 2024
    Release notes
    Open source →
    Release notes
    Open source →
  6. 0.2.2 11 Jul 2024
    Release notes Open source →
    Release notes Open source →
  7. 0.2.1 22 Jun 2024 withdrawn
    Release notes
    • Support impl Error for Arc<T: Error> in no-std at Rust 1.81+. (30b9f90)

    • Implement Default for Arc<[T]> and Arc<str> at Rust 1.51+. (align to the std Arc change in Rust 1.80) (c6ee296)

    • Implement {AsFd, AsRawFd} for Arc<T> on HermitOS. (b778244)

    Open source →
    Release notes

    Note: This release has been yanked due to an issue fixed in 0.2.2.

    • Support impl Error for Arc<T: Error> in no-std at Rust 1.81+. (30b9f90)

    • Implement Default for Arc<[T]> and Arc<str> at Rust 1.51+. (align to the std Arc change in Rust 1.80) (c6ee296)

    • Implement {AsFd, AsRawFd} for Arc<T> on HermitOS. (b778244)

    Open source →
  8. 0.2.0 07 May 2024
    Release notes
    • Rewrite Arc based on std::sync::Arc's implementation. (#142)

      This fixes accidental API differences with std (#139, #140) and adds many missing APIs compared to std:

      • Add Arc::{downcast, into_inner, make_mut, new_cyclic} (#142)
      • Implement {fmt::Display, fmt::Pointer, Error, From<T>, From<Box<T>>, From<Cow<'a,T>>, AsFd, AsRawFd, AsHandle, AsSocket} for Arc<T> (#142, 78690d7, aba0930)
      • Implement {From<&[T]>, From<Vec<T>>, From<[T; N]>, FromIterator<T>} for Arc<[T]> (#142, 5e9f693)
      • Implement TryFrom<Arc<[T]>> for Arc<[T; N]> (#142)
      • Implement From<Arc<str>> for Arc<[u8]> (#142)
      • Implement {From<&str>, From<String>} for Arc<str> (#142)
      • Implement {Read, Write, Seek} for Arc<File> (591ece5)
      • Remove T: UnwindSafe bound from impl UnwindSafe for Arc<T> (#142)
    • Add task::Wake. (#145)

      This is equivalent to std::task::Wake, but using portable_atomic_util::Arc as a reference-counted pointer.

    • Respect RUSTC_WRAPPER in rustc version detection.

    Open source →
    Release notes
    • Rewrite Arc based on std::sync::Arc's implementation. (#142)

      This fixes accidental API differences with std (#139, #140) and adds many missing APIs compared to std:

      • Add Arc::{downcast, into_inner, make_mut, new_cyclic} (#142)
      • Implement {fmt::Display, fmt::Pointer, Error, From<T>, From<Box<T>>, From<Cow<'a,T>>, AsFd, AsRawFd, AsHandle, AsSocket} for Arc<T> (#142, 78690d7, aba0930)
      • Implement {From<&[T]>, From<Vec<T>>, From<[T; N]>, FromIterator<T>} for Arc<[T]> (#142, 5e9f693)
      • Implement TryFrom<Arc<[T]>> for Arc<[T; N]> (#142)
      • Implement From<Arc<str>> for Arc<[u8]> (#142)
      • Implement {From<&str>, From<String>} for Arc<str> (#142)
      • Implement {Read, Write, Seek} for Arc<File> (591ece5)
      • Remove T: UnwindSafe bound from impl UnwindSafe for Arc<T> (#142)
    • Add task::Wake. (#145)

      This is equivalent to std::task::Wake, but using portable_atomic_util::Arc as a reference-counted pointer.

    • Respect RUSTC_WRAPPER in rustc version detection.

    Open source →
  9. 0.1.5 17 Dec 2023
    Release notes
    • Improve offset calculation in Arc::{into_raw,as_ptr,from_ptr}. (#141, thanks @gtsiam)
    Open source →
    Release notes
    • Improve offset calculation in Arc::{into_raw,as_ptr,from_ptr}. (#141, thanks @gtsiam)
    Open source →
  10. 0.1.4 16 Dec 2023
    Release notes
    • Fix a bug where Arc::{into_raw,as_ptr} returned invalid pointers for larger alignment types. (#138, thanks @notgull)
    Open source →
    Release notes
    • Fix a bug where Arc::{into_raw,as_ptr} returned invalid pointers for larger alignment types. (#138, thanks @notgull)
    Open source →
  11. 0.1.3 06 May 2023 withdrawn
    Release notes

    Note: This release has been yanked due to a bug fixed in 0.1.4.

    • Enable portable-atomic's require-cas feature to display helpful error messages to users on targets requiring additional action on the user side to provide atomic CAS. (#100)
    Open source →
  12. 0.1.2 04 Apr 2023 withdrawn
    Release notes

    Note: This release has been yanked due to a bug fixed in 0.1.4.

    • Implement AsRef, Borrow, and Unpin on Arc. (#92 #93, thanks @notgull)
    Open source →
  13. 0.1.1 24 Mar 2023 withdrawn
    Release notes

    Note: This release has been yanked due to a bug fixed in 0.1.4.

    Open source →
  14. 0.1.0 15 Jan 2023 withdrawn
    Release notes

    Note: This release has been yanked due to a bug fixed in 0.1.4.

    Initial release

    Open source →

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