mirror of
https://github.com/danog/strum.git
synced 2024-11-26 20:14:40 +01:00
3.5 KiB
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 derivesEnumMessage
is now affected by theserialize_all
property on the enum. #84 - IntoEnumIterator now has the constraint
IntoEnumIterator::Iterator<Item=Self>
andSelf: Sized
. This makes it much easier to be generic overIntoEnumIterator
and enum variants must be sized. [#80]
0.17.1
0.17.0
- Breaking Change. Enum variant names now exports an associated constant
VARIANTS
in thestrum::VariantNames
trait instead of adding avariants
method directly to the enum. The fix is touse strum::VariantNames
in your module and replace occurrances ofvariants()
withVARIANTS
. - 🐛 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
andcamelCase
. - Added Enum Variant Names to improve compatibility with
structopt
andclap
. #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 to1.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
andIntoStaticStr
. 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 deprecatesAsStaticStr
since the new solution doesn't require astrum
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
forEnumIter
s. (#18) - Added
AsStaticRef
derive to allow enums toimpl AsStaticRef<str>
. (#23)
Fixed
#[allow(missing_docs)]
on generatedEnumIter
s. (#19)