diff --git a/Changelog.md b/Changelog.md index 75643ce..442cd64 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,62 @@ ## Releases +### 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 of `msvcrt` +* 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` and `RbRef` 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` argument `args` 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, but `gcc` should compile +* Fixed Crystal functions for accessing global variables in mruby +* Fixed Anyolite to allow enums with types different than `Int32` + ### Version 1.0.0 This release marks the first full release of Anyolite, mostly diff --git a/README.md b/README.md index 6ace710..332d49a 100644 --- a/README.md +++ b/README.md @@ -140,61 +140,7 @@ The term 'anyoli' means 'green' in the Maasai language, thus naming 'anyolite'. ## Upcoming releases -### 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 of `msvcrt` -* 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` and `RbRef` 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` argument `args` 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, but `gcc` should compile -* Fixed Crystal functions for accessing global variables in mruby -* Fixed Anyolite to allow enums with types different than `Int32` +None yet ### Later releases diff --git a/shard.yml b/shard.yml index 380e323..9068d52 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: anyolite -version: 1.0.0 +version: 1.1.0 authors: - Hadeweka