TruffleRuby - GraalVM Community Edition 1.0 RC13
Pre-release
Pre-release
·
16403 commits
to master
since this release
Note that as TruffleRuby RC 13 is built on Ruby 2.4.4 it is still vulnerable to CVE-2018-16395.
This will be fixed in the next release.
New features:
- Host interop with Java now works on SubstrateVM too.
Bug fixes:
- Fixed Enumerator::Lazy which wrongly rescued StandardError (#1557).
- Fixed several problems with
Numeric#step
related to default arguments, infinite sequences, and bad argument types (#1520). - Fixed incorrect raising of
ArgumentError
withRange#step
when at least one component of theRange
isFloat::INFINITY
(#1503). - Fixed the wrong encoding being associated with certain forms of heredoc strings (#1563).
- Call
#coerce
on right hand operator ifBigDecimal
is the left hand operator (#1533). - Fixed return type of division of
Integer.MIN_VALUE
andLong.MIN_VALUE
by -1 (#1581). Exception#cause
is now correctly set for internal exceptions (#1560).rb_num2ull
is now implemented as well as being declared in the ruby.h header (#1573).rb_sym_to_s
is now implemented (#1575).R_TYPE_P
now returns the type number for a wider set of Ruby objects (#1574).rb_fix2str
has now been implemented.rb_protect
will now work even ifNilClass#==
has been redefined.BigDecimal
has been moved out of theTruffle
module to match MRI.StringIO#puts
now correctly handlesto_s
methods which do not return strings (#1577).Array#each
now behaves like MRI when the array is modified (#1580).- Clarified that
$SAFE
can never be set to a non-zero value. - Fix compatibility with RubyGems 3 (#1558).
Kernel#respond_to?
now returns false if a method is protected and theinclude_all
argument is false (#1568).
Changes:
TRUFFLERUBY_CEXT_ENABLED
is no longer supported and C extensions are now always built, regardless of the value of this environment variable.- Getting a substring of a string created by a C extension now uses less memory as only the requested portion will be copied to a managed string.
-Xoptions
has been deprecated and will be removed - use--help:languages
instead.-Xlog=
has been deprecated and will be removed - use--log.level=
instead.-J
has been deprecated and will be removed - use--jvm.
instead.-J-cp lib.jar
and so on have been deprecated and will be removed - use--jvm.cp=lib.jar
or--jvm.classpath=lib.jar
instead.-J-cmd
,--jvm.cmd
,JAVA_HOME
,JAVACMD
, andJAVA_OPTS
do not work in any released configuration of TruffleRuby, so have been removed.-Xoption=value
has been deprecated and will be removed - use--option=value
instead.TracePoint
now raises anArgumentError
for unsupported events.TracePoint.trace
andTracePoint#inspect
have been implemented.
Compatibility:
- Improved the exception when an
-S
file isn't found. - Removed the message from exceptions raised by bare
raise
to better match MRI (#1487). TracePoint
now handles the:class
event.
Performance:
- Sped up
String
handling in native extensions, quite substantially in some cases, by reducing conversions between native and managed strings and allowing for mutable metadata in native strings.