2018-09-26 21:13:45 +02:00
# Changelog
2020-03-02 01:01:53 +01:00
## 0.18.0
2020-02-08 19:54:44 +01:00
* Only copy across `"doc", "cfg", "allow", "deny"` attributes from main enum variants to discriminant variants. [#73 ](https://github.com/Peternator7/strum/issues/73 )
2020-02-11 00:55:18 +01:00
* 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 ](https://github.com/Peternator7/strum/pull/84 )
2020-03-02 01:01:53 +01:00
* 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]
2020-02-08 19:54:44 +01:00
2019-12-20 03:28:30 +01:00
## 0.17.1
* Fixed an issue caused by combining [#60 ](https://github.com/Peternator7/strum/pull/60 ) and [#76 ](https://github.com/Peternator7/strum/pull/76 )
2019-12-20 00:18:17 +01:00
## 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` .
* [#74 ](https://github.com/Peternator7/strum/pull/74 )
* [#75 ](https://github.com/Peternator7/strum/pull/75 )
* 🐛 fix - stop incrementing iterator index after we reach the end. [#76 ](https://github.com/Peternator7/strum/pull/76 )
* Strum iterators now implemented [DoubleEndedIterator ](https://doc.rust-lang.org/std/iter/trait.DoubleEndedIterator.html ). [#60 ](https://github.com/Peternator7/strum/pull/60 )
2019-09-18 20:24:14 +02:00
## 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 ](https://github.com/Peternator7/strum/pull/56 )
* Added derive re-export to `strum` to allow re-exporting macros from main crate. [#57 ](https://github.com/Peternator7/strum/pull/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.
2019-03-27 04:44:39 +01:00
## 0.15.0
### Added
* Added Feature flags to rename macros. This is to improve compatibility with older versions of rust. [Wiki ](https://github.com/Peternator7/strum/wiki/Macro-Renames )
## 0.14.0
### Added
* Allow Missing Docs on EnumCount. [PR #43 ](https://github.com/Peternator7/strum/pull/43 )
* Fix serialize_all in `AsRefStr` , `AsStaticStr` and `IntoStaticStr` . [PR #42 ](https://github.com/Peternator7/strum/pull/42 )
* This is a bug fix, but it may break code that was relying on the incorrect behavior.
2018-12-24 17:58:14 +01:00
## 0.13.0
### Added
2019-03-27 04:44:39 +01:00
* Added a derive to implement `From<YourEnum>` for `&'static str` . This deprecates `AsStaticStr` since
2018-12-24 17:58:14 +01:00
the new solution doesn't require a `strum` specific trait to use.
## 0.12.0
2018-09-26 21:13:45 +02:00
### Added
* Serialization case can be controlled using `#[strum(serialize_all = "snake_case")]` . ([#21][#21])
* `#[derive(EnumDiscriminants)]` generates enum with variants without fields. ([#33][#33])
[#21]: https://github.com/Peternator7/strum/issues/21
[#33]: https://github.com/Peternator7/strum/issues/33
## 0.10.0
### Added
* Implemented `Clone` for `EnumIter` s. ([#18][#18])
* Added `AsStaticRef` derive to allow enums to `impl AsStaticRef<str>` . ([#23][#23])
### Fixed
* `#[allow(missing_docs)]` on generated `EnumIter` s. ([#19][#19])
[#18]: https://github.com/Peternator7/strum/pull/18
[#19]: https://github.com/Peternator7/strum/issues/19
[#23]: https://github.com/Peternator7/strum/issues/23