Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
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 )
You can’t perform that action at this time.