1
0
mirror of https://github.com/danog/strum.git synced 2024-11-30 04:28:59 +01:00
strum/CHANGELOG.md
2020-03-02 00:01:53 +00:00

3.5 KiB

Changelog

0.18.0

  • Only copy across "doc", "cfg", "allow", "deny" attributes from main enum variants to discriminant variants. #73
  • The formatting of generated serialization variants returned by get_serializations() from an enum that derives EnumMessage is now affected by the serialize_all property on the enum. #84
  • IntoEnumIterator now has the constraint IntoEnumIterator::Iterator<Item=Self> and Self: Sized. This makes it much easier to be generic over IntoEnumIterator and enum variants must be sized. [#80]

0.17.1

  • Fixed an issue caused by combining #60 and #76

0.17.0

  • Breaking Change. Enum variant names now exports an associated constant VARIANTS in the strum::VariantNames trait instead of adding a variants method directly to the enum. The fix is to use strum::VariantNames in your module and replace occurrances of variants() with VARIANTS.
  • 🐛 fix - stop incrementing iterator index after we reach the end. #76
  • Strum iterators now implemented DoubleEndedIterator. #60

0.16.0

  • Added serialize UPPERCASE
  • Added "case-styles" to match the formatting convention they imply such as kebab-case and camelCase.
  • Added Enum Variant Names to improve compatibility with structopt and clap. #56
  • Added derive re-export to strum to allow re-exporting macros from main crate. #57
  • Bumped syn and quote to 1.0. This raises minimal compatible rust version to 1.31.
  • Did internal refactoring to improve organization of code. Shouldn't change user-facing api though.
  • Added license file to subdirectories so they are included in crate distros.

0.15.0

Added

  • Added Feature flags to rename macros. This is to improve compatibility with older versions of rust. Wiki

0.14.0

Added

  • Allow Missing Docs on EnumCount. PR #43
  • Fix serialize_all in AsRefStr, AsStaticStr and IntoStaticStr. PR #42
    • This is a bug fix, but it may break code that was relying on the incorrect behavior.

0.13.0

Added

  • Added a derive to implement From<YourEnum> for &'static str. This deprecates AsStaticStr since the new solution doesn't require a strum specific trait to use.

0.12.0

Added

  • Serialization case can be controlled using #[strum(serialize_all = "snake_case")]. (#21)
  • #[derive(EnumDiscriminants)] generates enum with variants without fields. (#33)

0.10.0

Added

  • Implemented Clone for EnumIters. (#18)
  • Added AsStaticRef derive to allow enums to impl AsStaticRef<str>. (#23)

Fixed

  • #[allow(missing_docs)] on generated EnumIters. (#19)