Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 22:55
a6206e5

1.0.0 (2026-09-23)

⚠ BREAKING CHANGES

  • rename print plugin to format
  • json: escape strings and unify write callbacks
  • parser: require a --input flag, --plugin is now a list
  • rename MetaData_FromName -> StructMetaData_FromName for consistency
  • seperate structs and enums into seperate tags
  • add Reflection class to type_mapper function handler
  • change tags to be namespaced
  • add basic plugin helpers, tests
  • rename FieldInfo -> StructFieldInfo and similar functions for consistency
  • rename *field_tags -> *struct_field_tags
  • rename struct_name field to be more consistent
  • rename field extension variables to be clearer
  • use dataclasses for plugin creating rather then global instances
  • data driven plugins
  • add base type lookup
  • add @Length tag for specifying inline array lengths
  • Use ReflectResult enum for error checking
  • automatically add structs as typed fields, regardless if it's in

BRREAKING

  • parser: require a --input flag, --plugin is now a list (9b9f836)

Features

  • get_array_element function for safely extracting members (717c5e0)
  • add @length tag for specifying inline array lengths (785a4c2)
  • add readonly and writeonly tags (9f1ea99)
  • add array lookups to reflection (382d57b)
  • add base type lookup (76a9896)
  • add basic plugin helpers, tests (8f0c566)
  • add better header formatting (80f86c3)
  • add check method to CBuilder (2f9f120)
  • add cmake and make examples (1164acd)
  • add enforcement and validation for field types (061e4bc)
  • add enum metadata macro (c6341da)
  • add get_type_size function (b6f9ced)
  • add getter functions with read length safety (a5ea290)
  • add git diagram (726ee3f)
  • add guard clauses to switch type (134e4bb)
  • add helper search macros (de24675)
  • add json validation testing with node (c52be19)
  • add metadata generation macro (c3ec843)
  • add metadata to parse script (f6a4d8c)
  • add reflect_query function (0e018fd)
  • add Reflection class to type_mapper function handler (e6eeb0f)
  • add resolve_field_metadata function (90de1e9)
  • add reverse lookup function for enums (83cf22e)
  • add stricter warnings to all compiled tests and examples (4a51b77)
  • add support for custom FieldType declartions (d80b0b6)
  • add visitor pattern to reflection (ccf1042)
  • allow for array defines (e92bdf7)
  • basic c code builder (5971d94)
  • basic json serialization (f121769)
  • cd: add function for easily creating reflection metadata (de65ef4)
  • check for member safety in enums (bc18797)
  • compile with strict compiler warnings (90e6ee2)
  • correctly generate EnumMemberExtension (ed284e0)
  • create plugin generator (eae1211)
  • create_plugin: check for existing file before overwriting (90a3a2f)
  • CVar builder class (cee125a)
  • data driven plugins (cd0af2c)
  • dependency sorting, strict errors (00990e0)
  • don't add stand alone function definition if it is marked extern (0380618)
  • dynamic array helpers (119e181)
  • fix typo in header generator (6514b88)
  • fix warnings, disable warnings on msvc (ec02782)
  • function generation (8c1f4b2)
  • get ready for initial release (e93b5d6)
  • implement function for getting names of the FieldTypes (01f85d5)
  • initial json prototype (f69b4c6)
  • initial plugin prototype (627e899)
  • json: add callback functions for flushing and resizing (54079da)
  • json: add debug information macro (dbd4054)
  • json: add json_key_name for adding custom key names to struct fields (ff7156a)
  • more helpers (347ed0e)
  • parser: add doc comments to plugin relevant functions (a3034e0)
  • plugins: add pre_macro field for plugins (70afa6a)
  • primitive plugin system with print extension (79ff8db)
  • printer: handle more primitive types (365695e)
  • reflector: strip spacing in function declarations (62f69f6)
  • seperate structs and enums into seperate tags (e8828bc)
  • show example json output (025bb34)
  • struct registry for lookups with recursive support (3f844eb)
  • support enum reflection (43e0dab)
  • unit testing (7dc183d)
  • unit tests for printer plugin (b48490e)
  • update header documentation with more examples (22f66a5)
  • update header formatting (32cd2cd)
  • update parser (b90d919)
  • update printer plugin to use builder pattern (68d9468)
  • update printer plugin with serialization features (dcc5c07)
  • Use ReflectResult enum for error checking (a384d44)
  • use dataclasses for plugin creating rather then global instances (a1cc9f1)

Bug Fixes

  • add bounds checking to memory access functions (5d96f4d)
  • add CMY_REFLECTION definition to generated file (9c62312)
  • add stddef.h to includes to fix undefined types (9fd8e9f)
  • allow for white space in function signature regex (0a1574d)
  • apply changes to generated files (c7e5262)
  • automatically add structs as typed fields, regardless if it's in (963b92d)
  • cast all getter functions out values to void* to fix warnings (ea2ac60)
  • change getters to include semicolon (5971d94)
  • check for array type in template, remove type unknown from type mapping (a98a78b)
  • check that filename exists in dict before overwriting (4aabdcc)
  • correctly add plugin (e5d2b57)
  • create function definitions even if no cases are defined (63f2310)
  • don't add function definition if it is extern (70d95aa)
  • fix bug in parser script (9c0d4d1)
  • fix corruption in adjacent fields (d903413)
  • fix nullptr dereference, sign conversivness, and include macro in header (afc6227)
  • formatting in readme and example (518f8de)
  • generate GET_EXT_* macros if field extensions is defined, indepedent of use (86f1d8e)
  • json: fix memory leak in test (6089d4f)
  • more consistent naming (c839de5)
  • preproc macro to correctly check for windows (9ceebd0)
  • prevent pedantic warning when not using parser (94b358e)
  • printer: change size of array to be of field->count, if in bounds (23f7439)
  • printer: use CMY_PRINTER_MAX_BUF_LEN for defining max buffer size (599c409)
  • rename MetaData_FromName -> StructMetaData_FromName for consistency (442adcf)
  • return REFLECT_ERR_NULL_PTR rather then false for generated funcs (f0107b4)
  • update readme to be more accurate to test case (4395758)
  • update readme to reflect new bounds checking (7114625)
  • windows: add no secure warnings for windows at top of header (fbc0994)
  • windows: add no secure warnings to implementation file (6bbfe23)

Miscellaneous Chores

  • initial automated release (e7c8bc6)

Code Refactoring

  • change tags to be namespaced (6e770cd)
  • json: escape strings and unify write callbacks (4567b90)
  • rename *field_tags -> *struct_field_tags (e105e90)
  • rename field extension variables to be clearer (64fd6b9)
  • rename FieldInfo -> StructFieldInfo and similar functions for consistency (76b22a5)
  • rename print plugin to format (da13d60)
  • rename struct_name field to be more consistent (175bca6)