metrics-rs / metrics

A metrics ecosystem for Rust.
MIT License
1.1k stars 152 forks source link

Update portable-atomic requirement from 0.3 to 1.0 #340

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Updates the requirements on portable-atomic to permit the latest version.

Release notes

Sourced from portable-atomic's releases.

1.0.0

  • Add critical-section feature to use critical-section on targets where atomic CAS is not natively available. (#51, thanks @​Dirbaio)

    This is useful to get atomic CAS when --cfg portable_atomic_unsafe_assume_single_core can't be used, such as multi-core targets, unprivileged code running under some RTOS, or environments where disabling interrupts needs extra care due to e.g. real-time requirements.

    See documentation for more.

  • Remove outline-atomics feature. This was no-op since 0.3.19.

  • Documentation improvements.

Changelog

Sourced from portable-atomic's changelog.

[1.0.0] - 2023-01-15

  • Add critical-section feature to use critical-section on targets where atomic CAS is not natively available. (#51, thanks @​Dirbaio)

    This is useful to get atomic CAS when --cfg portable_atomic_unsafe_assume_single_core can't be used, such as multi-core targets, unprivileged code running under some RTOS, or environments where disabling interrupts needs extra care due to e.g. real-time requirements.

    See documentation for more.

  • Remove outline-atomics feature. This was no-op since 0.3.19.

  • Documentation improvements.

[0.3.19] - 2022-12-25

  • Add AtomicI*::{fetch_neg,neg} and AtomicF*::fetch_neg methods. (#54)

    AtomicI*::neg are equivalent to the corresponding fetch_* methods, but do not return the previous value. They are intended for optimization on platforms that have atomic instructions for the corresponding operation, such as x86's lock neg.

    Currently, optimizations by these methods (neg) are only guaranteed for x86.

  • Add Atomic{I,U}*::{fetch_not,not} methods. (#54)

    Atomic{I,U}*::not are equivalent to the corresponding fetch_* methods, but do not return the previous value. They are intended for optimization on platforms that have atomic instructions for the corresponding operation, such as x86's lock not, MSP430's inv.

    Currently, optimizations by these methods (not) are only guaranteed for x86 and MSP430.

    (Note: AtomicBool already has fetch_not and not methods.)

  • Enable outline-atomics for 128-bit atomics by default. (#57) See #57 for more.

  • Improve support for old nightly compilers.

[0.3.18] - 2022-12-15

  • Fix build error when not using portable_atomic_unsafe_assume_single_core cfg on AVR and MSP430 custom targets. (#50)

    Since 0.3.11, atomic CAS was supported without the cfg on AVR and MSP430 builtin targets, but that change was not applied to custom targets.

[0.3.17] - 2022-12-14

  • Optimize x86_64 128-bit atomic load/store on AMD CPU with AVX. (#49)

  • Improve support for custom targets on old rustc.

[0.3.16] - 2022-12-09

  • Add Atomic{I,U}*::{add,sub,and,or,xor} and AtomicBool::{and,or,xor} methods. (#47)

    They are equivalent to the corresponding fetch_* methods, but do not return the previous value. They are intended for optimization on platforms that implement atomics using inline assembly, such as the MSP430.

... (truncated)

Commits


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 1 year ago

A newer version of portable-atomic exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

tobz commented 1 year ago

@dependabot rebase

dependabot[bot] commented 1 year ago

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

tobz commented 1 year ago

@dependabot rebase

dependabot[bot] commented 1 year ago

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

tobz commented 1 year ago

Addressed manually.

dependabot[bot] commented 1 year ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.