All Versions
21
Latest Version
Avg Release Cycle
-
Latest Release
-
Changelog History
Page 2
Changelog History
Page 2
-
v0.6.0 Changes
๐ Features
- Wrappers for unions
- Wrappers for nilable objects
๐ฅ Breaking changes
- Wrapping of specific functions has a more consistent syntax using Arrays instead of Hashes
Safety
- More useful compiletime errors for macros
- More information when encountering type casting errors
- ๐ Use Array(TypeDeclaration) instead of Hash for keywords in internal methods
Usability
- Cleaned up some code fragments
๐ Bugfixes
- Wrapped struct objects were immutable
-
v0.5.0 Changes
๐ Features
- ๐ Support for enums
- Ability to rename classes and modules
Usability
- Empty argument list for specialization can be specified with nil
- ๐ Exclusion message for mruby methods, finalize and to_unsafe
- Exclusion of non-public methods
- Exclusion of to_unsafe
- ๐ Non-fatal runtime errors are triggered in mruby instead of Crystal
๐ Bugfixes
- Proper resolution of class and module hierarchies
-
v0.4.1 Changes
Usability
- Method names in annotations can be given as strings
- ๐ More and better verbose information for wrapping
๐ Bugfixes
- Setters can be excluded correctly
- Manually wrapped properties work correctly now
- Correct handling of generic function arguments like Int, Number or Float
-
v0.4.0 Changes
๐ Features
- Easier wrapping of classes and all of their methods and constants
- Annotation to exclude functions from wrapping
- Annotation to specialize functions for wrapping
- Annotation to rename wrapped functions
- Full wrapping of module and class hierarchies
๐ฅ Breaking changes
- ๐ Function names with operators do not include the operator into the ruby name anymore
- Unified module and class cache
Usability
- ๐ Documentation updates for the new wrapping routines
- Functions with only an operator in their name can now be wrapped using
MrbWrap::Empty
๐ Bugfixes
- Nested classes and modules can now be wrapped reliably
-
v0.3.0 Changes
๐ Features
- Crystal structs are wrapped using wrapper objects
๐ฅ Breaking changes
- Struct hash values as object ID replacements are obsolete
- Option hash for reference table instead of flags
- ๐ Consistent naming for mruby hooks
Safety
- Structs with equal hash values do not interfere anymore
Usability
- MrbModule instances and Crystal modules can both be used in wrapper methods
-
v0.2.3 Changes
Usability
- More options for adjusting reference table
๐ Bugfixes
- ๐ Fixed reference counter not increasing
-
v0.2.2 Changes
Usability
- โ Added more debugging methods
- Allowed for custom object IDs by defining
mruby_object_id
for a class
๐ Bugfixes
- ๐ Fixed problems with struct wrapping
-
v0.2.1 Changes
Usability
- ๐ Operator suffixes as general optional argument for MrbWrap functions
- Option to inspect reference table
- Reference counting in reference table
- Reference table can be cleared
๐ Bugfixes
- ๐ Fixed structs not being able to be wrapped
- ๐ Fixed example in documentation
- ๐ Fixed memory leak when returning nontrivial objects in mruby
- โ Removed constructor limitations for types being able to be used as return values
-
v0.2.0 Changes
๐ Features
- ๐ Keyword argument support
- ๐ Support for optional keywords
- Casting from MrbValue objects to closest Crystal values
- Option to use a JSON config file
๐ฅ Breaking changes
- Optional arguments are passed using tuples instead of
MrbWrap::Opt
Safety
- Class checks for arguments
- Checks for correct keyword classes
- Module cache analogous to the class cache
Usability
- Simplified some macro functions considerably
- Arguments can be specified consistently as arrays or standalone
- ๐ Documentation builds only for releases
- Uniform system for passing optional arguments
- ๐ Updated examples and documentation for keyword support
๐ Bugfixes
- ๐ Fixed erros when naming MrbState instances anything other than 'mrb'
-
v0.1.1 Changes
Safety
- โ Added safeguards for reference table access
๐ Bugfixes
- ๐ Fixed mruby function return values not being cached
- ๐ Fixed minor documentation errors