Releases: Anyolite/anyolite
Releases · Anyolite/anyolite
Anyolite version 1.1.1
Version 1.1.1
NOTE: This version requires recompilation of mruby and the C files.
NOTE: This version will only work with mruby 3.3.0 and above.
Usability
- Updated mruby to 3.3.0
- Updated MRI to 3.0.6
- Added error messages when Rake fails at installing
- Added error messages when mruby/MRI is missing
Bugfixes
- Fixed Regex wrapper warnings when running Anyolite with newer Crystal versions
- Fixed warning message when compiling glue files
- Fixed some annotations not working properly
Anyolite version 1.1.0
Version 1.1.0
NOTE: This version requires recompilation of mruby and the C files.
NOTE: This version will only work with mruby 3.2.0 and above.
Features
- Added direct bindings to
Regex
from Crystal (Regexp
in Ruby) - Added option to use a separate Ruby interpreter
- Added safeguard to catch non-fatal Crystal exceptions and raise them as Ruby errors
- Added option to transform procs into bytecode
- Added function to disable external program execution
- Added interpreter depth counter
- Updated to mruby 3.2.0
- Updated to MRI 3.0.5
- Added backtrace function for mruby
- Added option to fully protect Crystal values from the Ruby GC
- Added standalone wrappers for class properties
Usability
- Updated mruby config file to use
libucrt
instead ofmsvcrt
- Discarded old and problematic Regex mruby gem
- Made arguments for
Anyolite.call_rb_method_of_object
optional - Added automatic conversion from Ruby class names to class objects in method callers
- Improved testing script
- Added check for
RbValue
andRbRef
to some macro methods - Added ability to pass Ruby blocks via Crystal to Ruby function calls
- Added some internal methods to mruby to handle fibers
- Added some exception checking methods
- Added methods to check reference table size
- Removed now optional
Dir
gem from default build config - Removed need for
use_general_object_format_chars
flag for MRI - Added global option to use keyword args for optional arguments only
Bugfixes
- Fixed error when running
shards install
on Windows - Fixed compilation warning messages for Windows
- Fixed problems with Regexes due to PCRE conflicts
- Fixed problems with Anyolite on Crystal 1.5.1
- Unspecified arguments now always correctly throw warnings instead of confusing errors
- Fixed compiletime error when casting to
Char
- Fixed errors when passing certain name arguments to Macros for calling Ruby functions
- Fixed
Anyolite.call_rb_method_of_object
argumentargs
not being optional - Fixed linker error due to typo in mruby bindings for block functions
- Fixed crash when casting Ruby numbers into objects in some cases
- Fixed script lines not printing exceptions
- Fixed memory leak when calling Ruby scripts and script lines
- Updated tests to account for reworked
inspect
method for enums - Fixed errors when building Anyolite in a path with spaces
- Fixed problems on Linux when
LD
is set, butgcc
should compile - Fixed Crystal functions for accessing global variables in mruby
- Fixed Anyolite to allow enums with types different than
Int32
Anyolite version 1.0.0
Version 1.0.0
This release marks the first full release of Anyolite, mostly
focussed on code quality, specs and bugfixes.
Features
Anyolite.eval
can be used to get return values from script lines- Added check methods for Ruby references
Breaking changes
- Compacted most macro function options into hashes
- Adds default
inspect
andto_s
methods to wrapped enums automatically - Updated mruby to 3.1.0 and MRI to 3.0.4
- Config files now require
rb_minor
argument for MRI specifically
Security
- Closing an interpreter will now correctly clean class and type caches
- Fixed segmentation fault when overwriting Crystal content of a class
- Changed block cache to a stack to avoid overwriting it
Usability
- Completed all wiki entries
- Unit tests in test script
- Converted macro body variables to fresh variables wherever possible
- More compatibility between methods accepting
RbRef
andRbValue
Bugfixes
- Fixed error when passing blocks to certain method types
- Methods
inspect
,to_s
andhash
will now correctly respond to annotations - Fixed UTF-8 problems in MRI tests
- Fixed crash on returning a
RbRef
Anyolite version 0.17.0
Version 0.17.0
Features
- Added annotation to ignore class ancestors
Breaking changes
- Renamed
master
branch tomain
- Changed internal representation of wrapped pointers
- Methods named
==
with no type specification will now returnfalse
instead of an error if types are incompatible
Usability
- Private ancestors will now be ignored automatically
Anyolite version 0.16.1
Version 0.16.1
Bugfixes
- Fixed typo in keyword module function wrappers
Anyolite version 0.16.0
Version 0.16.0
Features
- Added annotation
DefaultOptionalArgsToKeywordArgs
- Added option to include bytecode as an array at compiletime
- Added environment variable for changing the mruby config path
Usability
- Added more debug information
Bugfixes
- Fixed argument error for block methods without arguments
- Fixed build error on Windows while running Github Actions
Anyolite version 0.15.0
Version 0.15.0
Features
- Methods for undefining Ruby methods
Breaking changes
- Excluding copy methods manually will undefine them from Ruby
- Checks for overflow when casting numbers
Usability
- Anyolite now respects exclusions of
dup
andclone
- Instance method exclude annotations on classes or modules will exclude them from all inheriting classes
- Include annotations can reverse global exclusions
Bugfixes
- Ruby exceptions instead of Crystal exceptions for casting overflows
- Casting to
Number
in mruby produced wrong values
Anyolite version 0.14.0
Version 0.14.0
Features
- Support for copying wrapped objects
- Ruby classes and modules can be obtained by name
Breaking changes
- All classes and structs automatically wrap the Crystal
dup
function as a copy constructor - Updates in C glue functions
Anyolite version 0.13.2
Version 0.13.2
Features
- Windows support for the default mruby implementation
Usability
- CI for MRI (on Linux)
Bugfixes
- Fixed macro error for MRI
Anyolite version 0.13.1
Version 0.13.1
Bugfixes
- Fixed documentation