Skip to content

Releases: oracle/truffleruby

TruffleRuby - GraalVM Community Edition 1.0 RC3

02 Jul 13:24
Compare
Choose a tag to compare

TruffleRuby is high performance implementation of the Ruby programming language, compatible with MRI 2.4.4.

TruffleRuby is progressing fast but is currently probably not ready for you to try running your full Ruby application on. However it is ready for experimentation and curious end-users to try on their gems and smaller applications.

TruffleRuby runs Rails, and passes the majority of the Rails test suite. But it is missing support for Nokogiri and ActiveRecord database drivers which makes it not practical to run real Rails applications at the moment.

The Ruby language components can be installed in GraalVM using the gu utility.

Release Notes

  • is_a? can be called on foreign objects.
  • Qnil/Qtrue/Qfalse/Qundef can now be used as initial value for global variables in C extensions.
  • SIGPIPE is correctly caught on SubstrateVM, and the corresponding write() raises Errno::EPIPE when the read end of a pipe or socket is closed (#1375).
  • Use the magic encoding comment for determining the source encoding when using eval() (#1376).
  • Faster stat()-related calls, by returning the relevant field directly and avoiding extra allocations.
  • rb_str_new()/rb_str_new_cstr() are much faster by avoiding extra copying and allocations.
  • String#{sub,sub!} are faster in the common case of an empty replacement string.
  • Improved reading from IO with a delimiter (e.g., IO#each), improves e.g. iterating through lines in a File.
  • Use the byte[] of the given Ruby String when calling eval() directly for parsing.
  • More details in https://github.com/oracle/truffleruby/blob/master/CHANGELOG.md

TruffleRuby - GraalVM Community Edition 1.0 RC2

06 Jun 11:53
Compare
Choose a tag to compare

TruffleRuby is high performance implementation of the Ruby programming language, compatible with MRI 2.4.4.

TruffleRuby is progressing fast but is currently probably not ready for you to try running your full Ruby application on. However it is ready for experimentation and curious end-users to try on their gems and smaller applications.

TruffleRuby runs Rails, and passes the majority of the Rails test suite. But it is missing support for Nokogiri and ActiveRecord database drivers which makes it not practical to run real Rails applications at the moment.

The Ruby language components can be installed in GraalVM using the gu utility.

Release Notes

  • TruffleRuby is now compatible with Ruby 2.4.4.
  • object.class on a Java Class object will give you an object on which you can call instance methods, rather than static methods which is what you get by default.
  • Java.import name imports Java classes as top-level constants.
  • Coercion of foreign numbers to Ruby numbers now works.
  • to_s works on all foreign objects and calls the Java toString.
  • to_str will try to UNBOX and then re-try to_str, in order to provoke the unboxing of foreign strings.
  • More details in https://github.com/oracle/truffleruby/blob/master/CHANGELOG.md

TruffleRuby - GraalVM Community Edition 1.0 RC1

17 Apr 13:01
Compare
Choose a tag to compare

TruffleRuby is high performance implementation of the Ruby programming language, compatible with MRI 2.3.7.

TruffleRuby is progressing fast but is currently probably not ready for you to try running your full Ruby application on. However it is ready for experimentation and curious end-users to try on their gems and smaller applications.

TruffleRuby runs Rails, and passes the majority of the Rails test suite. But it is missing support for Nokogiri and ActiveRecord database drivers which makes it not practical to run real Rails applications at the moment.

The Ruby language components can be installed in GraalVM using the gu utility.