Skip to content

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Mar 18, 2023

This PR contains the following updates:

Package Type Update Change
bitflags dependencies major 1 -> 2

Release Notes

bitflags/bitflags (bitflags)

v2.9.4

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.9.3...2.9.4

v2.9.3

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.9.2...2.9.3

v2.9.2

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.9.1...2.9.2

v2.9.1

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.9.0...2.9.1

v2.9.0

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.8.0...2.9.0

v2.8.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.7.0...2.8.0

v2.7.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.6.0...2.7.0

v2.6.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.5.0...2.6.0

v2.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.4.2...2.5.0

v2.4.2

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.4.1...2.4.2

v2.4.1

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.4.0...2.4.1

v2.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.3.3...2.4.0

v2.3.3

Compare Source

Changes to -=

The -= operator was incorrectly changed to truncate bits that didn't correspond to valid flags in 2.3.0. This has
been fixed up so it once again behaves the same as - and difference.

Changes to !

The ! operator previously called Self::from_bits_truncate, which would truncate any bits that only partially
overlapped with a valid flag. It will now use bits & Self::all().bits(), so any bits that overlap any bits
specified by any flag will be respected. This is unlikely to have any practical implications, but enables defining
a flag like const ALL = !0 as a way to signal that any bit pattern is a known set of flags.

Changes to formatting

Zero-valued flags will never be printed. You'll either get 0x0 for empty flags using debug formatting, or the
set of flags with zero-valued flags omitted for others.

Composite flags will no longer be redundantly printed if there are extra bits to print at the end that don't correspond
to a valid flag.

What's Changed

Full Changelog: bitflags/bitflags@2.3.2...2.3.3

v2.3.2

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.3.1...2.3.2

v2.3.1

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.3.0...2.3.1

v2.3.0

Compare Source

Major changes

BitFlags trait deprecated in favor of Flags trait

This release introduces the Flags trait and deprecates the BitFlags trait. These two traits are semver compatible so if you have public API code depending on BitFlags you can move to Flags without breaking end-users. This is possible because the BitFlags trait was never publicly implementable, so it now carries Flags as a supertrait. All implementations of Flags additionally implement BitFlags.

The Flags trait is a publicly implementable version of the old BitFlags trait. The original BitFlags trait carried some macro baggage that made it difficult to implement, so a new Flags trait has been introduced as the One True Trait for interacting with flags types generically. See the the macro_free and custom_derive examples for more details.

Bits trait publicly exposed

The Bits trait for the underlying storage of flags values is also now publicly implementable. This lets you define your own exotic backing storage for flags. See the custom_bits_type example for more details.

What's Changed

Full Changelog: bitflags/bitflags@2.2.1...2.3.0

v2.2.1

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.2.0...2.2.1

v2.2.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.1.0...2.2.0

v2.1.0

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.0.2...2.1.0

v2.0.2

Compare Source

What's Changed

Full Changelog: bitflags/bitflags@2.0.1...2.0.2

v2.0.1

Compare Source

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@2.0.0...2.0.1

v2.0.0

Compare Source

Major changes

This release includes some major changes over 1.x. If you use bitflags! types in your public API then upgrading this library may cause breakage in your downstream users.

⚠️ Serialization

You'll need to add the serde Cargo feature in order to #[derive(Serialize, Deserialize)] on your generated flags types:

bitflags! {
    #[derive(Serialize, Deserialize)]
    #[serde(transparent)]
    pub struct Flags: T {
        ..
    }
}

where T is the underlying bits type you're using, such as u32.

The default serialization format with serde has changed if you #[derive(Serialize, Deserialize)] on your generated flags types. It will now use a formatted string for human-readable formats and the underlying bits type for compact formats.

To keep the old format, see the https://github.com/KodrAus/bitflags-serde-legacy library.

⚠️ Traits

Generated flags types now derive fewer traits. If you need to maintain backwards compatibility, you can derive the following yourself:

#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy)]
⚠️ Methods

The unsafe from_bits_unchecked method is now a safe from_bits_retain method.

You can add the following method to your generated types to keep them compatible:

#[deprecated = "use the safe `from_bits_retain` method instead"]
pub unsafe fn from_bits_unchecked(bits: T) -> Self {
    Self::from_bits_retain(bits)
}

where T is the underlying bits type you're using, such as u32.

⚠️ .bits field

You can now use the .bits() method instead of the old .bits.

The representation of generated flags types has changed from a struct with the single field bits to a newtype.

What's Changed

New Contributors

Full Changelog: bitflags/bitflags@1.3.2...2.0.0

v1.3.2

Compare Source

  • Allow non_snake_case in generated flags types (#​256)

v1.3.1

Compare Source

  • Revert unconditional #[repr(transparent)] (#​252)

v1.3.0

Compare Source

This release bumps the Minimum Supported Rust Version to 1.46.0

  • Add #[repr(transparent)] (#​187)

  • End empty doc comment with full stop (#​202)

  • Fix typo in crate root docs (#​206)

  • Document from_bits_unchecked unsafety (#​207)

  • Let is_all ignore extra bits (#​211)

  • Allows empty flag definition (#​225)

  • Making crate accessible from std (#​227)

  • Make from_bits a const fn (#​229)

  • Allow multiple bitflags structs in one macro invocation (#​235)

  • Add named functions to perform set operations (#​244)

  • Fix typos in method docs (#​245)

  • Modernization of the bitflags macro to take advantage of newer features and 2018 idioms (#​246)

  • Fix regression (in an unreleased feature) and simplify tests (#​247)

  • Use Self and fix bug when overriding stringify! (#​249)


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/bitflags-2.x branch from 3d1a17f to c5dbced Compare May 1, 2024 11:17
Copy link
Author

renovate bot commented May 1, 2024

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path crates/proto/Cargo.toml --package [email protected] --precise 2.5.0
    Updating crates.io index
error: failed to select a version for the requirement `bitflags = "^1.1.0"`
candidate versions found which didn't match: 2.5.0
location searched: crates.io index
required by package `redox_syscall v0.2.5`
    ... which satisfies dependency `redox_syscall = "^0.2"` (locked to 0.2.5) of package `tempfile v3.2.0`
    ... which satisfies dependency `tempfile = "^3"` (locked to 3.2.0) of package `csi-mount-utils v0.1.0 (/tmp/renovate/repos/github/YoloDev/csi-rs/crates/mount-utils)`
perhaps a crate was updated and forgotten to be re-vendored?

@renovate renovate bot force-pushed the renovate/bitflags-2.x branch from c5dbced to 64873b2 Compare May 8, 2024 05:25
Copy link
Author

renovate bot commented Aug 11, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path crates/proto/Cargo.toml --package [email protected] --precise 2.9.4
error: failed to acquire package cache lock

Caused by:
  failed to open: /home/ubuntu/.cargo/.package-cache

Caused by:
  failed to create directory `/home/ubuntu/.cargo`

Caused by:
  File exists (os error 17)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants