Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump bitflags from 1.3.2 to 2.0.1 #3250

Merged
merged 5 commits into from
Apr 10, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 16, 2023

Bumps bitflags from 1.3.2 to 2.0.1.

Release notes

Sourced from bitflags's releases.

2.0.1

What's Changed

New Contributors

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

2.0.0

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.

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. You'll need to 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.

What's Changed

... (truncated)

Changelog

Sourced from bitflags's changelog.

2.0.1

What's Changed

New Contributors

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

2.0.0

What's Changed

New Contributors

... (truncated)

Commits
  • 8b43d2b Merge pull request #317 from KodrAus/cargo/2.0.1
  • 836eabb update changelog
  • 11de329 prepare for 2.0.1 release
  • af44dcc Merge pull request #316 from KodrAus/fix/multi-bit-flag-fmt
  • 5ba27cf use the iterator state as the source of extra bits
  • c4c13dc add repro for multi-bit flags
  • ad02711 Merge pull request #313 from tormeh/tormod/const-empty-flag
  • 242f5e7 Make empty_flag() const.
  • 2c12c2e Merge pull request #309 from bitflags/KodrAus-patch-3
  • d1d153b fix up some docs issues
  • Additional commits viewable in compare view

Dependabot compatibility score

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)

Bumps [bitflags](https://github.com/bitflags/bitflags) from 1.3.2 to 2.0.1.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](bitflags/bitflags@1.3.2...2.0.1)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Mar 16, 2023
@dependabot dependabot bot requested review from a team, awygle and nick-mobilecoin and removed request for a team March 16, 2023 06:07
@nick-mobilecoin nick-mobilecoin self-assigned this Mar 16, 2023
Per <https://github.com/bitflags/bitflags/releases/tag/2.0.0> this
changes the serialized format of items containing bitflags.
@nick-mobilecoin nick-mobilecoin requested review from a team and jcape and removed request for nick-mobilecoin and a team March 16, 2023 14:35
@nick-mobilecoin
Copy link
Collaborator

Per https://github.com/bitflags/bitflags/releases/tag/2.0.0 the serialized format of bitflags changed

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.

It looks like bitflags is only used in attest/core/src/error.rs.

I'm guessing this may result in clients unable to deserialize the error.

@awygle
Copy link
Contributor

awygle commented Mar 16, 2023

I'd suggest we should remove the bitflags dependency entirely and replace it with a manual implementation in the style of https://github.com/KodrAus/bitflags-serde-legacy

@jcape
Copy link
Contributor

jcape commented Mar 16, 2023

The only places we're using serde currently are:

  1. Across enclave boundaries
  2. In one place in SCP message payloads
  3. Serde-JSON in mobilecoind-json and full-service.

Because we (generally) don't update dependencies without bumping the enclave version (we made an exception), and enclave upgrades are flag-days, I'm OK to continue using bitflags for this, TBH.

@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Mar 21, 2023

A newer version of bitflags 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.

@jcape jcape assigned jcape and nick-mobilecoin and unassigned nick-mobilecoin and jcape Mar 27, 2023
Copy link
Contributor

@jcape jcape left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I'll assign someone to fix up the hysteresis so this can get merged.

@jcape jcape enabled auto-merge (squash) April 10, 2023 18:55
@jcape jcape merged commit f66c071 into master Apr 10, 2023
@jcape jcape deleted the dependabot/cargo/bitflags-2.0.1 branch April 10, 2023 19:53
NotGyro pushed a commit that referenced this pull request Apr 10, 2023
* chore(deps): bump bitflags from 1.3.2 to 2.0.1

Bumps [bitflags](https://github.com/bitflags/bitflags) from 1.3.2 to 2.0.1.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](bitflags/bitflags@1.3.2...2.0.1)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update bitflag usage for the 1.0->2.0 changes

Per <https://github.com/bitflags/bitflags/releases/tag/2.0.0> this
changes the serialized format of items containing bitflags.

* Update enclave lock files

* Rust fmt

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nick Santana <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants