| # 2.2.1 |
| |
| ## What's Changed |
| * Refactor attribute filtering to apply per-flag by @KodrAus in https://github.com/bitflags/bitflags/pull/345 |
| |
| **Full Changelog**: https://github.com/bitflags/bitflags/compare/2.2.0...2.2.1 |
| |
| # 2.2.0 |
| |
| ## What's Changed |
| * Create SECURITY.md by @KodrAus in https://github.com/bitflags/bitflags/pull/338 |
| * add docs to describe the behavior of multi-bit flags by @nicholasbishop in https://github.com/bitflags/bitflags/pull/340 |
| * Add support for bytemuck by @KodrAus in https://github.com/bitflags/bitflags/pull/336 |
| * Add a top-level macro for filtering attributes by @KodrAus in https://github.com/bitflags/bitflags/pull/341 |
| |
| ## New Contributors |
| * @nicholasbishop made their first contribution in https://github.com/bitflags/bitflags/pull/340 |
| |
| **Full Changelog**: https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0 |
| |
| # 2.1.0 |
| |
| ## What's Changed |
| * Add docs for the internal Field0 and examples of formatting/parsing by @KodrAus in https://github.com/bitflags/bitflags/pull/328 |
| * Add support for arbitrary by @KodrAus in https://github.com/bitflags/bitflags/pull/324 |
| * Fix up missing docs for consts within consts by @KodrAus in https://github.com/bitflags/bitflags/pull/330 |
| * Ignore clippy lint in generated code by @Jake-Shadle in https://github.com/bitflags/bitflags/pull/331 |
| |
| ## New Contributors |
| * @Jake-Shadle made their first contribution in https://github.com/bitflags/bitflags/pull/331 |
| |
| **Full Changelog**: https://github.com/bitflags/bitflags/compare/2.0.2...2.1.0 |
| |
| # 2.0.2 |
| |
| ## What's Changed |
| * Fix up missing isize and usize Bits impls by @KodrAus in https://github.com/bitflags/bitflags/pull/321 |
| |
| **Full Changelog**: https://github.com/bitflags/bitflags/compare/2.0.1...2.0.2 |
| |
| # 2.0.1 |
| |
| ## What's Changed |
| * Fix up some docs issues by @KodrAus in https://github.com/bitflags/bitflags/pull/309 |
| * Make empty_flag() const. by @tormeh in https://github.com/bitflags/bitflags/pull/313 |
| * Fix formatting of multi-bit flags with partial overlap by @KodrAus in https://github.com/bitflags/bitflags/pull/316 |
| |
| ## New Contributors |
| * @tormeh made their first contribution in https://github.com/bitflags/bitflags/pull/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 https://github.com/bitflags/bitflags/pull/259 |
| * BitFlags trait by @arturoc in https://github.com/bitflags/bitflags/pull/220 |
| * Add a hidden trait to discourage manual impls of BitFlags by @KodrAus in https://github.com/bitflags/bitflags/pull/261 |
| * Sanitize `Ok` by @konsumlamm in https://github.com/bitflags/bitflags/pull/266 |
| * Fix bug in `Debug` implementation by @konsumlamm in https://github.com/bitflags/bitflags/pull/268 |
| * Fix a typo in the generated documentation by @wackbyte in https://github.com/bitflags/bitflags/pull/271 |
| * Use SPDX license format by @atouchet in https://github.com/bitflags/bitflags/pull/272 |
| * serde tests fail in CI by @arturoc in https://github.com/bitflags/bitflags/pull/277 |
| * Fix beta test output by @KodrAus in https://github.com/bitflags/bitflags/pull/279 |
| * Add example to the README.md file by @tiaanl in https://github.com/bitflags/bitflags/pull/270 |
| * Iterator over all the enabled options by @arturoc in https://github.com/bitflags/bitflags/pull/278 |
| * from_bits_(truncate) fail with composite flags by @arturoc in https://github.com/bitflags/bitflags/pull/276 |
| * Add more platform coverage to CI by @KodrAus in https://github.com/bitflags/bitflags/pull/280 |
| * rework the way cfgs are handled by @KodrAus in https://github.com/bitflags/bitflags/pull/281 |
| * Split generated code into two types by @KodrAus in https://github.com/bitflags/bitflags/pull/282 |
| * expose bitflags iters using nameable types by @KodrAus in https://github.com/bitflags/bitflags/pull/286 |
| * Support creating flags from their names by @KodrAus in https://github.com/bitflags/bitflags/pull/287 |
| * Update README.md by @KodrAus in https://github.com/bitflags/bitflags/pull/288 |
| * Prepare for 2.0.0-rc.1 release by @KodrAus in https://github.com/bitflags/bitflags/pull/289 |
| * Add missing "if" to contains doc-comment in traits.rs by @rusty-snake in https://github.com/bitflags/bitflags/pull/291 |
| * Forbid unsafe_code by @fintelia in https://github.com/bitflags/bitflags/pull/294 |
| * serde: enable no-std support by @nim65s in https://github.com/bitflags/bitflags/pull/296 |
| * Add a parser for flags formatted as bar-separated-values by @KodrAus in https://github.com/bitflags/bitflags/pull/297 |
| * Prepare for 2.0.0-rc.2 release by @KodrAus in https://github.com/bitflags/bitflags/pull/299 |
| * Use strip_prefix instead of starts_with + slice by @QuinnPainter in https://github.com/bitflags/bitflags/pull/301 |
| * Fix up some clippy lints by @KodrAus in https://github.com/bitflags/bitflags/pull/302 |
| * Prepare for 2.0.0-rc.3 release by @KodrAus in https://github.com/bitflags/bitflags/pull/303 |
| * feat: Add minimum permissions to rust.yml workflow by @gabibguti in https://github.com/bitflags/bitflags/pull/305 |
| |
| ## New Contributors |
| * @wackbyte made their first contribution in https://github.com/bitflags/bitflags/pull/271 |
| * @atouchet made their first contribution in https://github.com/bitflags/bitflags/pull/272 |
| * @tiaanl made their first contribution in https://github.com/bitflags/bitflags/pull/270 |
| * @rusty-snake made their first contribution in https://github.com/bitflags/bitflags/pull/291 |
| * @fintelia made their first contribution in https://github.com/bitflags/bitflags/pull/294 |
| * @nim65s made their first contribution in https://github.com/bitflags/bitflags/pull/296 |
| * @QuinnPainter made their first contribution in https://github.com/bitflags/bitflags/pull/301 |
| * @gabibguti made their first contribution in https://github.com/bitflags/bitflags/pull/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 https://github.com/bitflags/bitflags/pull/301 |
| * Fix up some clippy lints by @KodrAus in https://github.com/bitflags/bitflags/pull/302 |
| |
| ## New Contributors |
| * @QuinnPainter made their first contribution in https://github.com/bitflags/bitflags/pull/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`](https://github.com/KodrAus/bitflags-serde-legacy) library. |
| |
| ## What's Changed |
| |
| * Add missing "if" to contains doc-comment in traits.rs by @rusty-snake in https://github.com/bitflags/bitflags/pull/291 |
| * Forbid unsafe_code by @fintelia in https://github.com/bitflags/bitflags/pull/294 |
| * serde: enable no-std support by @nim65s in https://github.com/bitflags/bitflags/pull/296 |
| * Add a parser for flags formatted as bar-separated-values by @KodrAus in https://github.com/bitflags/bitflags/pull/297 |
| |
| ## New Contributors |
| * @rusty-snake made their first contribution in https://github.com/bitflags/bitflags/pull/291 |
| * @fintelia made their first contribution in https://github.com/bitflags/bitflags/pull/294 |
| * @nim65s made their first contribution in https://github.com/bitflags/bitflags/pull/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 https://github.com/bitflags/bitflags/pull/259 |
| * BitFlags trait by @arturoc in https://github.com/bitflags/bitflags/pull/220 |
| * Add a hidden trait to discourage manual impls of BitFlags by @KodrAus in https://github.com/bitflags/bitflags/pull/261 |
| * Sanitize `Ok` by @konsumlamm in https://github.com/bitflags/bitflags/pull/266 |
| * Fix bug in `Debug` implementation by @konsumlamm in https://github.com/bitflags/bitflags/pull/268 |
| * Fix a typo in the generated documentation by @wackbyte in https://github.com/bitflags/bitflags/pull/271 |
| * Use SPDX license format by @atouchet in https://github.com/bitflags/bitflags/pull/272 |
| * serde tests fail in CI by @arturoc in https://github.com/bitflags/bitflags/pull/277 |
| * Fix beta test output by @KodrAus in https://github.com/bitflags/bitflags/pull/279 |
| * Add example to the README.md file by @tiaanl in https://github.com/bitflags/bitflags/pull/270 |
| * Iterator over all the enabled options by @arturoc in https://github.com/bitflags/bitflags/pull/278 |
| * from_bits_(truncate) fail with composite flags by @arturoc in https://github.com/bitflags/bitflags/pull/276 |
| * Add more platform coverage to CI by @KodrAus in https://github.com/bitflags/bitflags/pull/280 |
| * rework the way cfgs are handled by @KodrAus in https://github.com/bitflags/bitflags/pull/281 |
| * Split generated code into two types by @KodrAus in https://github.com/bitflags/bitflags/pull/282 |
| * expose bitflags iters using nameable types by @KodrAus in https://github.com/bitflags/bitflags/pull/286 |
| * Support creating flags from their names by @KodrAus in https://github.com/bitflags/bitflags/pull/287 |
| * Update README.md by @KodrAus in https://github.com/bitflags/bitflags/pull/288 |
| |
| ## New Contributors |
| * @wackbyte made their first contribution in https://github.com/bitflags/bitflags/pull/271 |
| * @atouchet made their first contribution in https://github.com/bitflags/bitflags/pull/272 |
| * @tiaanl made their first contribution in https://github.com/bitflags/bitflags/pull/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]) |
| |
| [#256]: https://github.com/bitflags/bitflags/pull/256 |
| |
| # 1.3.1 |
| |
| - Revert unconditional `#[repr(transparent)]` ([#252]) |
| |
| [#252]: https://github.com/bitflags/bitflags/pull/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]) |
| |
| [#187]: https://github.com/bitflags/bitflags/pull/187 |
| [#202]: https://github.com/bitflags/bitflags/pull/202 |
| [#206]: https://github.com/bitflags/bitflags/pull/206 |
| [#207]: https://github.com/bitflags/bitflags/pull/207 |
| [#211]: https://github.com/bitflags/bitflags/pull/211 |
| [#225]: https://github.com/bitflags/bitflags/pull/225 |
| [#227]: https://github.com/bitflags/bitflags/pull/227 |
| [#229]: https://github.com/bitflags/bitflags/pull/229 |
| [#235]: https://github.com/bitflags/bitflags/pull/235 |
| [#244]: https://github.com/bitflags/bitflags/pull/244 |
| [#245]: https://github.com/bitflags/bitflags/pull/245 |
| [#246]: https://github.com/bitflags/bitflags/pull/246 |
| [#247]: https://github.com/bitflags/bitflags/pull/247 |
| [#249]: https://github.com/bitflags/bitflags/pull/249 |
| |
| # 1.2.1 |
| |
| - Remove extraneous `#[inline]` attributes ([#194]) |
| |
| [#194]: https://github.com/bitflags/bitflags/pull/194 |
| |
| # 1.2.0 |
| |
| - Fix typo: {Lower, Upper}Exp - {Lower, Upper}Hex ([#183]) |
| |
| - Add support for "unknown" bits ([#188]) |
| |
| [#183]: https://github.com/rust-lang-nursery/bitflags/pull/183 |
| [#188]: https://github.com/rust-lang-nursery/bitflags/pull/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]) |
| |
| [#171]: https://github.com/rust-lang-nursery/bitflags/pull/171 |
| [#173]: https://github.com/rust-lang-nursery/bitflags/pull/173 |
| [#175]: https://github.com/rust-lang-nursery/bitflags/pull/175 |
| |
| # 1.0.4 |
| |
| - Support Rust 2018 style macro imports ([#165]) |
| |
| ```rust |
| use bitflags::bitflags; |
| ``` |
| |
| [#165]: https://github.com/rust-lang-nursery/bitflags/pull/165 |
| |
| # 1.0.3 |
| |
| - Improve zero value flag handling and documentation ([#157]) |
| |
| [#157]: https://github.com/rust-lang-nursery/bitflags/pull/157 |
| |
| # 1.0.2 |
| |
| - 30% improvement in compile time of bitflags crate ([#156]) |
| |
| - Documentation improvements ([#153]) |
| |
| - Implementation cleanup ([#149]) |
| |
| [#156]: https://github.com/rust-lang-nursery/bitflags/pull/156 |
| [#153]: https://github.com/rust-lang-nursery/bitflags/pull/153 |
| [#149]: https://github.com/rust-lang-nursery/bitflags/pull/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]) |
| |
| [#135]: https://github.com/rust-lang-nursery/bitflags/pull/135 |
| [#136]: https://github.com/rust-lang-nursery/bitflags/pull/136 |
| |
| # 1.0.0 |
| - **[breaking change]** Macro now generates [associated constants](https://doc.rust-lang.org/reference/items.html#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]) |
| |
| [#24]: https://github.com/rust-lang-nursery/bitflags/pull/24 |
| [#106]: https://github.com/rust-lang-nursery/bitflags/pull/106 |
| [#112]: https://github.com/rust-lang-nursery/bitflags/pull/112 |
| [#115]: https://github.com/rust-lang-nursery/bitflags/pull/115 |
| |
| ## How to update your code to use associated constants |
| Assuming the following structure definition: |
| ```rust |
| bitflags! { |
| struct Something: u8 { |
| const FOO = 0b01, |
| const BAR = 0b10 |
| } |
| } |
| ``` |
| In 0.9 and older you could do: |
| ```rust |
| let x = FOO.bits | BAR.bits; |
| ``` |
| Now you must use: |
| ```rust |
| 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]) |
| |
| [#105]: https://github.com/rust-lang-nursery/bitflags/pull/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]) |
| |
| [#74]: https://github.com/rust-lang-nursery/bitflags/pull/74 |
| [#84]: https://github.com/rust-lang-nursery/bitflags/pull/84 |
| [#85]: https://github.com/rust-lang-nursery/bitflags/pull/85 |
| [#86]: https://github.com/rust-lang-nursery/bitflags/pull/86 |
| [#87]: https://github.com/rust-lang-nursery/bitflags/pull/87 |
| |
| # 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 |
| |
| [#55]: https://github.com/rust-lang-nursery/bitflags/pull/55 |
| [#57]: https://github.com/rust-lang-nursery/bitflags/pull/57 |
| |
| # 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]) |
| |
| [#49]: https://github.com/rust-lang-nursery/bitflags/pull/49 |
| [#51]: https://github.com/rust-lang-nursery/bitflags/pull/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 |