anyolite v0.11.0 Release Notes
-
๐ Features
- ๐ Superclass hierarchies will be transferred to Ruby
- Wrapping will skip classes if their superclass was not yet wrapped
Anyolite.wrap
will run multiple tries to ensure superclasses being wrapped first- Classes will only be wrapped twice with
overwrite: true
option - ๐ Objects may check whether they are created in mruby
- ๐ Ability to call mruby methods for mruby objects from Crystal by their name
- ๐ Ability to call mruby class and module methods from Crystal
- ๐ Macros to get the Ruby equivalents of modules and classes
- ๐ Checks for Ruby method availability from within Crystal
- Caching of RbValues in the reference table to avoid duplicate objects
- ๐ Storing of pure Ruby objects in GC-safe containers
- ๐ Annotations to enable obtaining Ruby block arguments
- ๐ A method to call contained Ruby procs from their containers in Crystal
๐ฅ Breaking changes
- Reference table now has a reference to the interpreter
- Interpreter and reference table operate together now
- Reference table system was reworked completely
Usability
- ๐ Updated documentation to new features from 0.10.0 and 0.11.0
- If nil is expected, cast everything to it without exceptions
- Simplified internal object casting