Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

Unreleased

0.2.3 - 2024-02-07

Fixed

  - c_enum! can now handle enums with more than 128 variants without hitting
    the macro recursion limit. Enums with more than 10k variants will still hit
    it eventually but this is less likely to be an issue for most.

0.2.2 - 2023-10-23

Changed

  - c_enum! will now emit the error message about multiple declarations in a
    block in most cases matching needing to be migrated to v0.2.0.

0.2.1 - 2023-10-23

Changed

  - c_enum! will now emit a custom error message indicating that declaring
    multiple enums in a single c_enum! block is not supported anymore.

0.2.0 - 2023-10-23

Added

  - c_enum! now has some extra syntax to allow directly applying attributes to
    the generated impl block.

Changed

  - It is now only possible to define a single enum instance within a c_enum!.
    This is to allow additional syntax in the future that is not supported when
    the macro allows multiple enum definitions.

0.1.2 - 2023-09-25

Fixed

  - CEnum::variant_label (and thus the Debug impl) now returns the actual
    variant label instead of the enum name. (by @dbartussek)
  - Variant values are now assigned as described in the documentation. Previously,
    variant values were assigned incorrectly (mostly to 0).

Changed

  - Trait implementations generated by the c_enum! macro are now annotated with
    #[automatically_derived].

0.1.1 - 2023-05-16

Changed

  - The CEnum trait has now been marked as #[doc(hidden)]

0.1.0 - 2023-05-16

This is the very first release of c-enum.

Added

  - The c_enum! macro.
