Releases: taiki-e/portable-atomic
1.5.1
-
Fix bug in
i{8,16}
fetch_{or,xor}
on RISC-V without A-extension whereunsafe-assume-single-core
andforce-amo
are enabled. -
Optimize
swap
for targets that do not have native atomic CAS instructions.
1.5.0
-
Add
from_ptr
. -
Add
force-amo
feature (portable_atomic_force_amo
cfg) for single-core RISC-V without A-extension. (#124) -
Support run-time detection on AArch64 on pre-1.61 rustc. (#98)
This also solves a compatibility issue with rustc_codegen_cranelift.
-
Support run-time detection of FEAT_LSE2. (#126)
-
Support run-time detection of FEAT_LSE on AArch64 NetBSD. (#66)
-
Acknowledge ESP-IDF targets' 64-bit atomics are not lock-free. See #122 for more.
-
Optimize 128-bit weak CAS on powerpc64.
-
Optimize interrupt disable on no-std pre-v6 ARM where
unsafe-assume-single-core
anddisable-fiq
are enabled. (771c45d) -
Improve detection of Apple hardware. (5c3a43b)
-
Improve compatibility with the future version of Miri.
1.4.3
1.4.2
- Optimize
AtomicBool
on RISC-V/LoongArch64. This is the same as rust-lang/rust#114034, but is available for all rustc versions.
1.4.1
- Improve compatibility with the future version of Miri.
1.4.0
-
Allow using embedded-related cfgs as Cargo features. (#94, thanks @Dirbaio)
Originally, we were providing these as cfgs instead of features, but based on a strong request from the embedded ecosystem, we have agreed to provide them as features as well. See #94 for more.
cfgs are kept and can be used as aliases for features.
-
Acknowledge all x86_64 Apple targets support 128-bit atomics.
Our code already recognizes this via
cfg(target_feature)
, so this only affects docs and users using pre-1.69 stable rustc.See also rust-lang/rust#112150.
-
Optimize 128-bit atomics on aarch64/s390x.
1.3.3
-
Fix build error on aarch64 ILP32 ABI targets (tier 3).
-
Optimize 128-bit atomics on s390x.
1.3.2
-
Fix bug in powerpc64/s390x 128-bit atomic RMWs on old nightly.
-
Optimize 128-bit atomics on powerpc64/s390x.
1.3.1
- Documentation improvements.
0.3.20
The latest version of portable-atomic is 1.x. This release makes portable-atomic 0.3 is built on top of portable-atomic 1.x to make bug fixes and improvements such as support for new targets in 1.x available to the ecosystem that depends on older portable-atomic. portable-atomic 0.3 is still maintained passively, but upgrading to portable-atomic 1.x is recommended. (There are no breaking changes from 0.3, except that a deprecated no-op outline-atomics
Cargo feature has been removed.) (#99)