Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 1.26 KB

File metadata and controls

34 lines (25 loc) · 1.26 KB

Changelog - aimdb-derive

All notable changes to the aimdb-derive crate will be documented in this file.

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

No changes yet.

0.1.0 - 2025-12-23

Added

  • Initial Release: #[derive(RecordKey)] macro for compile-time checked record keys
  • Attributes:
    • #[key = "..."] (required): String representation for each variant
    • #[key_prefix = "..."] (optional): Namespace prefix applied to all variants
    • #[link_address = "..."] (optional): Connector metadata (MQTT topics, KNX addresses)
  • Generated Implementations:
    • impl RecordKey with as_str() and link_address() methods
    • impl Borrow<str> for O(1) HashMap lookups
    • impl Hash that hashes the string key (satisfies Borrow<str> contract)
  • Compile-Time Validation:
    • Duplicate key detection
    • Unit variant enforcement (no tuple/struct variants)
    • Missing #[key] attribute detection
  • no_std Support: Fully compatible with no_std environments