{"ecosystem":"cargo","package":"strum","from_version":null,"to_version":null,"changes":[{"from_version":"0.27.2","to_version":"0.28.0","change_type":"behavior","description":"[#474](https://github.com/Peternator7/strum/pull/474): EnumDiscriminants will now copy `default` over from the","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#462](https://github.com/Peternator7/strum/pull/462): Add missing `#[automatically_derived]` to generated impls not","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#466](https://github.com/Peternator7/strum/pull/466): Bump MSRV to 1.71, required to keep up with updated `syn` and","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#461](https://github.com/Peternator7/strum/pull/461): Allow any kind of passthrough attributes on `EnumDiscriminants`.","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#469](https://github.com/Peternator7/strum/pull/469): Use absolute paths in generated proc macro code to avoid","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#465](https://github.com/Peternator7/strum/pull/465): Upgrade `phf` dependency to v0.13.","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#473](https://github.com/Peternator7/strum/pull/473): Fix `cargo fmt` / `clippy` issues and add GitHub Actions CI.","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#477](https://github.com/Peternator7/strum/pull/477): `strum::ParseError` now implements `core::fmt::Display` instead","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#476](https://github.com/Peternator7/strum/pull/476): **Breaking Change** - `EnumString` now implements `From<&str>`","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"[#431](https://github.com/Peternator7/strum/pull/431): Fix bug where `EnumString` ignored the `parse_err_ty`","migration_hint":null},{"from_version":"0.27.2","to_version":"0.28.0","change_type":"breaking","description":"Previously only list-style attributes (e.g. `#[strum_discriminants(derive(...))]`) were supported. Now path-only","migration_hint":null},{"from_version":"0.26.4","to_version":"0.27.0","change_type":"behavior","description":"[#391](https://github.com/Peternator7/strum/pull/391): `EnumProperties` doesn't provide default implementations anymore.","migration_hint":null},{"from_version":"0.26.4","to_version":"0.27.0","change_type":"breaking","description":"[#384](https://github.com/Peternator7/strum/pull/384): MSRV is now 1.66.1","migration_hint":null},{"from_version":"0.26.1","to_version":"0.26.2","change_type":"breaking","description":"[#334](https://github.com/Peternator7/strum/pull/334): Support prefix in `AsRefStr`. Technically a breaking change,","migration_hint":null},{"from_version":"0.26.1","to_version":"0.26.2","change_type":"breaking","description":"[#337](https://github.com/Peternator7/strum/pull/337): Fix missing generic impls for `EnumTryAs`","migration_hint":null},{"from_version":"0.25.3","to_version":"0.26.0","change_type":"breaking","description":"`Display` now supports format strings using named fields in the enum variant. This should be a no-op for most code.","migration_hint":null},{"from_version":"0.25.3","to_version":"0.26.0","change_type":"breaking","description":"EnumDiscriminant now inherits the repr and discriminant values from your main enum. This makes the discriminant type","migration_hint":null},{"from_version":"0.25.3","to_version":"0.26.0","change_type":"breaking","description":"The Iterator struct generated by EnumIter now has new bounds on it. This shouldn't break code unless you manually","migration_hint":null},{"from_version":"0.25.3","to_version":"0.26.0","change_type":"renamed","description":"The `EnumVariantNames` macro has been renamed `VariantNames`. The deprecation warning should steer you in","migration_hint":null},{"from_version":"0.24.3","to_version":"0.25.0","change_type":"behavior","description":"[270](https://github.com/Peternator7/strum/pull/270) Change the `to_string` behavior when using `default`. Now, when","migration_hint":null},{"from_version":"0.24.3","to_version":"0.25.0","change_type":"behavior","description":"[268](https://github.com/Peternator7/strum/pull/268) Update the behavior of `EnumCount` to exclude variants that are","migration_hint":null},{"from_version":"0.24.3","to_version":"0.25.0","change_type":"breaking","description":"[#261](https://github.com/Peternator7/strum/pull/261) Upgrade syn dependency to version 2. This bumps the msrv to","migration_hint":null},{"from_version":"0.24.2","to_version":"0.24.3","change_type":"breaking","description":"[#231](https://github.com/Peternator7/strum/pull/231) Add ignore lints for EnumIter not implementing Copy or Debug","migration_hint":null},{"from_version":"0.24.0","to_version":"0.24.2","change_type":"breaking","description":"[#217](https://github.com/Peternator7/strum/pull/217): Automatically implement `TryFrom` in `FromRepr`. This is","migration_hint":null},{"from_version":"0.24.0","to_version":"0.24.2","change_type":"breaking","description":"[#220](https://github.com/Peternator7/strum/pull/220). Add support for PHF in `EnumString` (opt-in runtime","migration_hint":null},{"from_version":"0.24.0","to_version":"0.24.2","change_type":"breaking","description":"[#224](https://github.com/Peternator7/strum/pull/224) tweaked the algorithm.","migration_hint":null},{"from_version":"0.24.0","to_version":"0.24.2","change_type":"breaking","description":"Reverted [#217](https://github.com/peternator7/strum/pull/217) because it was disruptive and non-trivial to work around","migration_hint":null},{"from_version":"0.22.0","to_version":"0.23.0","change_type":"breaking","description":"This is a small breaking change. If you had manually implemented `TryFrom<str>` for your enum, this will cause a conflict. You","migration_hint":null},{"from_version":"0.22.0","to_version":"0.23.0","change_type":"breaking","description":"[#186](https://github.com/Peternator7/strum/pull/186) Automatically implement `TryFrom<str>` for enums that implement `EnumString`.","migration_hint":null},{"from_version":"0.22.0","to_version":"0.23.0","change_type":"breaking","description":"[#185](https://github.com/Peternator7/strum/pull/185) Adds the `FromRepr` derive that adds a `from_repr(x: usize) -> Option<Self>`","migration_hint":null},{"from_version":"0.22.0","to_version":"0.23.0","change_type":"breaking","description":"This cannot be a trait method currently because only inherent methods support `const`.","migration_hint":null},{"from_version":"0.22.0","to_version":"0.23.0","change_type":"breaking","description":"`from_repr` will be `const` if you use a recent rust version.","migration_hint":null},{"from_version":"0.22.0","to_version":"0.23.0","change_type":"breaking","description":"[#189](https://github.com/Peternator7/strum/pull/189) Use `core::result::Result` instead of `std::result::Result`. This should be","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"api","description":"It is unlikely this will break anyone, but the new signature for functions generated by EnumMessage","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"breaking","description":"Added support for ascii_case_insensitive string comparisons. [#157](https://github.com/Peternator7/strum/pull/157)","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"breaking","description":"Replace `std::` with `core::` to support no-std projects. [#145](https://github.com/Peternator7/strum/pull/145)","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"breaking","description":"**Breaking Changes**","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"breaking","description":"MSRV is updated to 1.32 because `heck` does not work in `1.31.1` anymore. Rust 1.32 came out Jan 2019 so hopefully","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"breaking","description":"[#160](https://github.com/Peternator7/strum/pull/160) enum messages: Make the returned values all 'static","migration_hint":null},{"from_version":"0.20.0","to_version":"0.21.0","change_type":"removed","description":"[#149](https://github.com/Peternator7/strum/pull/149) Remove the \"rename\" feature. In Rust 2018, macros should be","migration_hint":null},{"from_version":"0.19.0","to_version":"0.19.1","change_type":"breaking","description":"**Breaking Change**: EnumVariantNames now properly adjusts to the `to_string` and `serialize` attributes.","migration_hint":null},{"from_version":"0.19.0","to_version":"0.19.1","change_type":"breaking","description":"There's a regression in this release that may make strum imcompatible with other plugins if those","migration_hint":null},{"from_version":"0.18.0","to_version":"0.19.0","change_type":"behavior","description":"**Breaking Change**. `default` and `disabled` should now be written as markers instead of key value pairs.","migration_hint":null},{"from_version":"0.18.0","to_version":"0.19.0","change_type":"breaking","description":"Added repository to Cargo.toml. [#90](https://github.com/Peternator7/strum/pull/90)","migration_hint":null},{"from_version":"0.18.0","to_version":"0.19.0","change_type":"breaking","description":"Correctly handle fill align in `Display` impls. [#95](https://github.com/Peternator7/strum/pull/95)","migration_hint":null},{"from_version":"0.18.0","to_version":"0.19.0","change_type":"breaking","description":"**Breaking Change**: Use Associated Constant for EnumCount instead of const fn and free constant. [#99](https://github.com/Peternator7/strum/pull/99)","migration_hint":null},{"from_version":"0.18.0","to_version":"0.19.0","change_type":"breaking","description":"**Breaking Change**. Most of the strum plugins will now error more aggresively on invalid options being","migration_hint":null},{"from_version":"0.18.0","to_version":"0.19.0","change_type":"breaking","description":"Fixed a regression using `nth_back`. [#85](https://github.com/Peternator7/strum/pull/85)","migration_hint":null},{"from_version":"0.16.0","to_version":"0.17.0","change_type":"breaking","description":"**Breaking Change**. Enum variant names now exports an associated constant `VARIANTS` in the","migration_hint":null},{"from_version":"0.16.0","to_version":"0.17.0","change_type":"breaking","description":"[#74](https://github.com/Peternator7/strum/pull/74)","migration_hint":null},{"from_version":"0.16.0","to_version":"0.17.0","change_type":"breaking","description":"[#75](https://github.com/Peternator7/strum/pull/75)","migration_hint":null},{"from_version":"0.16.0","to_version":"0.17.0","change_type":"breaking","description":"🐛 fix - stop incrementing iterator index after we reach the end. [#76](https://github.com/Peternator7/strum/pull/76)","migration_hint":null},{"from_version":"0.16.0","to_version":"0.17.0","change_type":"breaking","description":"Strum iterators now implemented [DoubleEndedIterator](https://doc.rust-lang.org/std/iter/trait.DoubleEndedIterator.html). [#60](https://github.com/Peternator7/strum/pull/60)","migration_hint":null}],"total":53,"note":"Curated major-version breaking changes. Always verify against the package's official changelog before migrating.","_cache":"miss"}