Skip to content

Latest commit

 

History

History
330 lines (233 loc) · 14.3 KB

CHANGELOG.md

File metadata and controls

330 lines (233 loc) · 14.3 KB

2.0.1

What's Changed

  • Fix up some docs issues by @KodrAus in #309
  • Make empty_flag() const. by @tormeh in #313
  • Fix formatting of multi-bit flags with partial overlap by @KodrAus in #316

New Contributors

  • @tormeh made their first contribution in #313

Full Changelog: https://github.com/bitflags/bitflags/compare/2.0.0...2.0.1

2.0.0

What's Changed

  • Fix a typo and call out MSRV bump by @KodrAus in #259
  • BitFlags trait by @arturoc in #220
  • Add a hidden trait to discourage manual impls of BitFlags by @KodrAus in #261
  • Sanitize Ok by @konsumlamm in #266
  • Fix bug in Debug implementation by @konsumlamm in #268
  • Fix a typo in the generated documentation by @wackbyte in #271
  • Use SPDX license format by @atouchet in #272
  • serde tests fail in CI by @arturoc in #277
  • Fix beta test output by @KodrAus in #279
  • Add example to the README.md file by @tiaanl in #270
  • Iterator over all the enabled options by @arturoc in #278
  • from_bits_(truncate) fail with composite flags by @arturoc in #276
  • Add more platform coverage to CI by @KodrAus in #280
  • rework the way cfgs are handled by @KodrAus in #281
  • Split generated code into two types by @KodrAus in #282
  • expose bitflags iters using nameable types by @KodrAus in #286
  • Support creating flags from their names by @KodrAus in #287
  • Update README.md by @KodrAus in #288
  • Prepare for 2.0.0-rc.1 release by @KodrAus in #289
  • Add missing "if" to contains doc-comment in traits.rs by @rusty-snake in #291
  • Forbid unsafe_code by @fintelia in #294
  • serde: enable no-std support by @nim65s in #296
  • Add a parser for flags formatted as bar-separated-values by @KodrAus in #297
  • Prepare for 2.0.0-rc.2 release by @KodrAus in #299
  • Use strip_prefix instead of starts_with + slice by @QuinnPainter in #301
  • Fix up some clippy lints by @KodrAus in #302
  • Prepare for 2.0.0-rc.3 release by @KodrAus in #303
  • feat: Add minimum permissions to rust.yml workflow by @gabibguti in #305

New Contributors

  • @wackbyte made their first contribution in #271
  • @atouchet made their first contribution in #272
  • @tiaanl made their first contribution in #270
  • @rusty-snake made their first contribution in #291
  • @fintelia made their first contribution in #294
  • @nim65s made their first contribution in #296
  • @QuinnPainter made their first contribution in #301
  • @gabibguti made their first contribution in #305

Full Changelog: https://github.com/bitflags/bitflags/compare/1.3.2...2.0.0

2.0.0-rc.3

What's Changed

  • Use strip_prefix instead of starts_with + slice by @QuinnPainter in #301
  • Fix up some clippy lints by @KodrAus in #302

New Contributors

  • @QuinnPainter made their first contribution in #301

Full Changelog: https://github.com/bitflags/bitflags/compare/2.0.0-rc.2...2.0.0-rc.3

2.0.0-rc.2

Changes to serde serialization

⚠️ NOTE ⚠️ This release changes the default serialization you'll get 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 behavior, see the bitflags-serde-legacy library.

What's Changed

  • Add missing "if" to contains doc-comment in traits.rs by @rusty-snake in #291
  • Forbid unsafe_code by @fintelia in #294
  • serde: enable no-std support by @nim65s in #296
  • Add a parser for flags formatted as bar-separated-values by @KodrAus in #297

New Contributors

  • @rusty-snake made their first contribution in #291
  • @fintelia made their first contribution in #294
  • @nim65s made their first contribution in #296

Full Changelog: https://github.com/bitflags/bitflags/compare/2.0.0-rc.1...2.0.0-rc.2

2.0.0-rc.1

This is a big release including a few years worth of work on a new BitFlags trait, iteration, and better macro organization for future extensibility.

What's Changed

  • Fix a typo and call out MSRV bump by @KodrAus in #259
  • BitFlags trait by @arturoc in #220
  • Add a hidden trait to discourage manual impls of BitFlags by @KodrAus in #261
  • Sanitize Ok by @konsumlamm in #266
  • Fix bug in Debug implementation by @konsumlamm in #268
  • Fix a typo in the generated documentation by @wackbyte in #271
  • Use SPDX license format by @atouchet in #272
  • serde tests fail in CI by @arturoc in #277
  • Fix beta test output by @KodrAus in #279
  • Add example to the README.md file by @tiaanl in #270
  • Iterator over all the enabled options by @arturoc in #278
  • from_bits_(truncate) fail with composite flags by @arturoc in #276
  • Add more platform coverage to CI by @KodrAus in #280
  • rework the way cfgs are handled by @KodrAus in #281
  • Split generated code into two types by @KodrAus in #282
  • expose bitflags iters using nameable types by @KodrAus in #286
  • Support creating flags from their names by @KodrAus in #287
  • Update README.md by @KodrAus in #288

New Contributors

  • @wackbyte made their first contribution in #271
  • @atouchet made their first contribution in #272
  • @tiaanl made their first contribution in #270

Full Changelog: https://github.com/bitflags/bitflags/compare/1.3.2...2.0.0-rc.1

1.3.2

  • Allow non_snake_case in generated flags types (#256)

1.3.1

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

1.3.0 (yanked)

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)

1.2.1

  • Remove extraneous #[inline] attributes (#194)

1.2.0

  • Fix typo: {Lower, Upper}Exp - {Lower, Upper}Hex (#183)

  • Add support for "unknown" bits (#188)

1.1.0

This is a re-release of 1.0.5, which was yanked due to a bug in the RLS.

1.0.5

  • Use compiletest_rs flags supported by stable toolchain (#171)

  • Put the user provided attributes first (#173)

  • Make bitflags methods const on newer compilers (#175)

1.0.4

  • Support Rust 2018 style macro imports (#165)

    use bitflags::bitflags;

1.0.3

  • Improve zero value flag handling and documentation (#157)

1.0.2

  • 30% improvement in compile time of bitflags crate (#156)

  • Documentation improvements (#153)

  • Implementation cleanup (#149)

1.0.1

  • Add support for pub(restricted) specifier on the bitflags struct (#135)
  • Optimize performance of all() when called from a separate crate (#136)

1.0.0

  • [breaking change] Macro now generates associated constants (#24)

  • [breaking change] Minimum supported version is Rust 1.20, due to usage of associated constants

  • After being broken in 0.9, the #[deprecated] attribute is now supported again (#112)

  • Other improvements to unit tests and documentation (#106 and #115)

How to update your code to use associated constants

Assuming the following structure definition:

bitflags! {
  struct Something: u8 {
     const FOO = 0b01,
     const BAR = 0b10
  }
}

In 0.9 and older you could do:

let x = FOO.bits | BAR.bits;

Now you must use:

let x = Something::FOO.bits | Something::BAR.bits;

0.9.1

  • Fix the implementation of Formatting traits when other formatting traits were present in scope (#105)

0.9.0

  • [breaking change] Use struct keyword instead of flags to define bitflag types (#84)

  • [breaking change] Terminate const items with semicolons instead of commas (#87)

  • Implement the Hex, Octal, and Binary formatting traits (#86)

  • Printing an empty flag value with the Debug trait now prints "(empty)" instead of nothing (#85)

  • The bitflags! macro can now be used inside of a fn body, to define a type local to that function (#74)

0.8.2

  • Update feature flag used when building bitflags as a dependency of the Rust toolchain

0.8.1

  • Allow bitflags to be used as a dependency of the Rust toolchain

0.8.0

  • Add support for the experimental i128 and u128 integer types (#57)
  • Add set method: flags.set(SOME_FLAG, true) or flags.set(SOME_FLAG, false) (#55) This may break code that defines its own set method

0.7.1

(yanked)

0.7.0

  • Implement the Extend trait (#49)
  • Allow definitions inside the bitflags! macro to refer to items imported from other modules (#51)

0.6.0

  • The no_std feature was removed as it is now the default
  • The assignment_operators feature was remove as it is now enabled by default
  • Some clippy suggestions have been applied