Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

v1.4.7

Version 1.4.7 (2015-05-20)
News:

* Array#concat performance is improved.

* Struct performance is improved.

* A deadlock with synchronous JIT compiled is fixed.

* The Console connection mechanism is reworked to avoid littering the file
  system with temporary files when the process is killed.

* The std{in, out, err} file descriptors cannot be closed. If Rubinius is
  exec'd from a process that has closed these file descriptors, new file
  descriptors pointing to temporary files are opened.

* C-API functions and macros are added to support current MRI openssl C-ext.

* System resource finalization does not set up C-API native method mechanisms
  when it is not needed.

* A deadlock updating the internal Metrics data structures is fixed.

* The stack size for internal threads is lowered where appropriate.

* The C-API provides rb_struct_s_members.

* Array#concat is fixed when the array being added to has a shifted start
  index.

* The -Xjit.profile option emits profiling instrumentation in methods compiled
  by the JIT. Also, the JIT is not disabled during profiling when this option
  is specified.

* Thread#pid returns the PID of the thread on Linux and some platform-specific
  integer value on OS X.

* Bundler is updated to 1.9.9.

Changelog:

* Updated bundler to 1.9.9. (Brian Shirai)
* Updated gems_list.txt. (Brian Shirai)
* Updated daedalus-core to 0.5.0. (Brian Shirai)
* Use sychronized check for sleep in Thread#stop?. (Brian Shirai)
* Updated daedalus-core to 0.4.0. (Brian Shirai)
* Clean up a small bit of SharedState cruft. (Brian Shirai)
* Match only v1.x tags. (Brian Shirai)
* Match only v2.x tags. (Brian Shirai)
* Quotes inline code/shell elements (Ben Lovell)
* Wraps CONTRIBUTING at 80 columns (Ben Lovell)
* Finalize unmanaged resources immediately. (Brian Shirai)
* Cleaned up ThreadGroup. (Brian Shirai)
* Updated bundler to 1.9.8. (Brian Shirai)
* Use rubysl-digest 2.0.7 (Yorick Peterse)
* Added RbConfig::CONFIG['THREAD_MODEL'] (Yorick Peterse)
* Added Thread#pid. Closes #3365. (Brian Shirai)
* Removed timeout from Process.detach specs. (Brian Shirai)
* Updated rubinius-profiler. (Brian Shirai)
* Don't disable the JIT if -Xjit.profile. (Brian Shirai)
* Fixed -Xjit.profile. Closes #3212. (Brian Shirai)
* Fixed Array::concat, again. (Brian Shirai)
* Added spec for Array#concat with shifted start. (Brian Shirai)
* Added rb_struct_s_members() (Yorick Peterse)
* Added stdarg.h include to ruby.h. (Brian Shirai)
* Update bundler to 1.9.7. (Brian Shirai)
* Updated rubysl-openssl to 2.3.0. (Brian Shirai)
* Added rb_absint_size. (Brian Shirai)
* Added rb_vsprintf. (Brian Shirai)
* Added C-API specs for rb_vsprintf. (Brian Shirai)
* Added rb_{alloc,free}_tmp_buffer. (Brian Shirai)
* Added C-API specs for rb_{alloc,free}_tmp_buffer. (Brian Shirai)
* Fixed Array#concat. (Brian Shirai)
* Fixed deadlock in Metrics. Possibly related to #3366. (Brian Shirai)
* Disable OS X on Travis awaiting LLVM 3.6 support. (Brian Shirai)
* Simplified node, process info logging format. (Brian Shirai)
* Set stack size for internal threads. (Brian Shirai)
* Introduce unmanaged finalizer kind. (Brian Shirai)
* Added RHASH_SET_IFNONE/rb_hash_set_ifnone (Yorick Peterse)
* Alias rb_funcallv to rb_funcall2 (Yorick Peterse)
* Added macro RSTRING_GETMEM (Yorick Peterse)
* Added rb_sym2str() (Yorick Peterse)
* Added rb_hash_lookup2() (Yorick Peterse)
* Imported ALLOCV macros from MRI (Yorick Peterse)
* Imported ZALLOC/ZALLOC_N from MRI (Yorick Peterse)
* Imported PRI* macros from MRI (Yorick Peterse)
* Fixed Thread#join(timeout). Closes #3390. (Brian Shirai)
* Don't allow closing std{in, out, err}. (Brian Shirai)
* Fill in standard IO file descriptors on startup. (Brian Shirai)
* Reworked Console connection mechanism. (Brian Shirai)
* Fixed deadlock with synchronous JIT. (Brian Shirai)
* Don't allow closing std{in, out, err}. (Brian Shirai)
* Fill in standard IO file descriptors on startup. (Brian Shirai)
* Switch config to .rbxconfig. (Brian Shirai)
* Updated daedalus-core. (Brian Shirai)
* Don't call looping Module#constants from loop in Type.include_modules_from. (Joe Eli McIlvain)
* Better fix for optimized specialization for Struct. (Joe Eli McIlvain)
* Fix optimized specialization for Struct. (Joe Eli McIlvain)
* Improved Array#sample. (Brian Shirai)
* In Array::concat, avoid creating a tuple if the current is large enough. (Joe Eli McIlvain)
* In Array::concat, use Tuple::create_dirty instead of create. (Joe Eli McIlvain)
* Add specs for cases where timezone used was changed. (Filipe Dias)
* Include configuration.hpp from builtin/jit.cpp. Patch by @ff2000. (Joe Eli McIlvain)
* Add guard around reference to RBX_LLVM_VERSION. Patch by @ff2000. (Joe Eli McIlvain)
* Expose logger::write to Ruby. (Brian Shirai)
* Fixed testing Symbol is a valid constant. (Brian Shirai)
* Fix Module::find_method for prepended modules. (Joe Eli McIlvain)
* Add some specs for JIT'd call sites (one failing). (Joe Eli McIlvain)
* Fix method aliasing with prepended modules. (Joe Eli McIlvain)
* Add failing spec for prepended module method aliasing. (Joe Eli McIlvain)
* Fix Module#public_instance_method for prepended modules. (Joe Eli McIlvain)
* Fix Module#instance_method for prepended modules. (Joe Eli McIlvain)
* Use consistent style in prepend specs. (Joe Eli McIlvain)
* Add specs for prepended module method ownership (one failing). (Joe Eli McIlvain)
* Added Rubinius.primitive :variable_scope_allocate. (Joe Eli McIlvain)
* Ruby spec for multibyte constant names (Yorick Peterse)
* Fix detecting of constants with Unicode (Yorick Peterse)
* Updated gems_list.txt. (Brian Shirai)
* Mark RuntimeData correctly. (Brian Shirai)

Read release notes

v2.5.5

Version 2.5.5 (2015-05-15)
News:

* The C-API provides rb_struct_s_members.

* Array#concat is fixed when the array being added to has a shifted start
  index.

* The -Xjit.profile option emits profiling instrumentation in methods compiled
  by the JIT. Also, the JIT is not disabled during profiling when this option
  is specified.

* Thread#pid returns the PID of the thread on Linux and some platform-specific
  integer value on OS X.

* The rubysl-digest gem is updated to 2.0.7.

* Bundler is updated to 1.9.8.

Changelog:

* Updated bundler to 1.9.8. (Brian Shirai)
* Use rubysl-digest 2.0.7 (Yorick Peterse)
* Added RbConfig::CONFIG['THREAD_MODEL'] (Yorick Peterse)
* Added Thread#pid. Closes #3365. (Brian Shirai)
* Removed timeout from Process.detach specs. (Brian Shirai)
* Updated rubinius-profiler. (Brian Shirai)
* Don't disable the JIT if -Xjit.profile. (Brian Shirai)
* Fixed -Xjit.profile. Closes #3212. (Brian Shirai)
* Fixed Array::concat, again. (Brian Shirai)
* Added spec for Array#concat with shifted start. (Brian Shirai)
* Added rb_struct_s_members() (Yorick Peterse)

Read release notes

v2.5.4

Version 2.5.4 (2015-05-13)
News:

* Module#prepend compatibility has been improved.

* Checking if a Symbol is a valid constant is fixed.

* Array#concat and Array#sample performance is improved.

* Struct performance is improved.

* A deadlock with synchronous JIT compiled is fixed.

* The Console connection mechanism is reworked to avoid littering the file
  system with temporary files when the process is killed.

* The std{in, out, err} file descriptors cannot be closed. If Rubinius is
  exec'd from a process that has closed these file descriptors, new file
  descriptors pointing to temporary files are opened.

* C-API functions and macros are added to support current MRI openssl C-ext.

* System resource finalization does not set up C-API native method mechanisms
  when it is not needed.

* A deadlock updating the internal Metrics data structures is fixed.

* The stack size for internal threads is lowered where appropriate.

* The rubysl-openssl version is updated to 2.3.0.

* Bundler is updated to 1.9.7.

Changelog:

* Added stdarg.h include to ruby.h. (Brian Shirai)
* Update bundler to 1.9.7. (Brian Shirai)
* Updated rubysl-openssl to 2.3.0. (Brian Shirai)
* Added rb_absint_size. (Brian Shirai)
* Added rb_vsprintf. (Brian Shirai)
* Added C-API specs for rb_vsprintf. (Brian Shirai)
* Added rb_{alloc,free}_tmp_buffer. (Brian Shirai)
* Added C-API specs for rb_{alloc,free}_tmp_buffer. (Brian Shirai)
* Fixed Array#concat. (Brian Shirai)
* Fixed deadlock in Metrics. Possibly related to #3366. (Brian Shirai)
* Disable OS X on Travis awaiting LLVM 3.6 support. (Brian Shirai)
* Simplified node, process info logging format. (Brian Shirai)
* Set stack size for internal threads. (Brian Shirai)
* Introduce unmanaged finalizer kind. (Brian Shirai)
* Added RHASH_SET_IFNONE/rb_hash_set_ifnone (Yorick Peterse)
* Alias rb_funcallv to rb_funcall2 (Yorick Peterse)
* Added macro RSTRING_GETMEM (Yorick Peterse)
* Added rb_sym2str() (Yorick Peterse)
* Added rb_hash_lookup2() (Yorick Peterse)
* Imported ALLOCV macros from MRI (Yorick Peterse)
* Imported ZALLOC/ZALLOC_N from MRI (Yorick Peterse)
* Imported PRI* macros from MRI (Yorick Peterse)
* Fixed Thread#join(timeout). Closes #3390. (Brian Shirai)
* Don't allow closing std{in, out, err}. (Brian Shirai)
* Fill in standard IO file descriptors on startup. (Brian Shirai)
* Reworked Console connection mechanism. (Brian Shirai)
* Fixed deadlock with synchronous JIT. (Brian Shirai)
* Switch config to .rbxconfig. (Brian Shirai)
* Updated daedalus-core. (Brian Shirai)
* Don't call looping Module#constants from loop in Type.include_modules_from. (Joe Eli McIlvain)
* Better fix for optimized specialization for Struct. (Joe Eli McIlvain)
* Fix optimized specialization for Struct. (Joe Eli McIlvain)
* Improved Array#sample. (Brian Shirai)
* Merge pull request #3386 from fmfdias/add_specs_for_special_timezone_changes (Jesse Cooke)
* In Array::concat, avoid creating a tuple if the current is large enough. (Joe Eli McIlvain)
* In Array::concat, use Tuple::create_dirty instead of create. (Joe Eli McIlvain)
* Add specs for cases where timezone used was changed. (Filipe Dias)
* Include configuration.hpp from builtin/jit.cpp. Patch by @ff2000. (Joe Eli McIlvain)
* Add guard around reference to RBX_LLVM_VERSION. Patch by @ff2000. (Joe Eli McIlvain)
* Expose logger::write to Ruby. (Brian Shirai)
* Fixed testing Symbol is a valid constant. (Brian Shirai)
* Fix Module::find_method for prepended modules. (Joe Eli McIlvain)
* Add some specs for JIT'd call sites (one failing). (Joe Eli McIlvain)
* Fix method aliasing with prepended modules. (Joe Eli McIlvain)
* Add failing spec for prepended module method aliasing. (Joe Eli McIlvain)
* Fix Module#public_instance_method for prepended modules. (Joe Eli McIlvain)
* Fix Module#instance_method for prepended modules. (Joe Eli McIlvain)
* Use consistent style in prepend specs. (Joe Eli McIlvain)
* Add specs for prepended module method ownership (one failing). (Joe Eli McIlvain)
* Added Rubinius.primitive :variable_scope_allocate. (Joe Eli McIlvain)
* Ruby spec for multibyte constant names (Yorick Peterse)
* Fix detecting of constants with Unicode (Yorick Peterse)

Read release notes

v2.5.3

Version 2.5.3 (2015-04-28)
News:

* The default log file location is changed to $TMPDIR or /tmp. The default
name is changed to $program_name-$user.log, where $program name is the
configured executable name and $user is the user running the process. The
default permissions are changed to 0644.

* Logging output now includes system and process information, for example, the
user executing the process, the JIT status, version and commit hash, etc.

* The internal thread infrastructure has been improved around fork(), exec()
and shutdown.

* The process will abort if resources are not available for spawning internal
threads.

* Thread#join has been reworked to use a thread-specific condition variable
and mutex.

* An unconditional (non-level specific) logging method has been added.

* Logging has been added for the command line arguments, fork child PID, and
exec arguments.

* Immediate JIT requests are synchronized.

* Calls to Autoload#resolve are synchronized.

* Various compatibility improvements to Enumerable, Enumerator, and String.

* RubyGems is updated to 2.4.6.

* Bundler is updated to 1.9.4.

Changelog:

* Forking from multiple threads is synchronized. (Brian Shirai)
* Kernel#inspect does not dispatch to Kernel#to_s. (Brian Shirai)
* The process state is re-initialized after fork(). (Brian Shirai)
* ConstantTable storage is created lazily. (Brian Shirai)
* Thread::Backtrace::Location#path compatibility is improved. (Yorick Peterse)
* InternalThread infrastructure is rewritten. (Brian Shirai)
* Added RUBY_ENGINE_VERSION. (Brian Shirai)
* JIT compiler thread coordination is improved. (Brian Shirai)
* Enumerator#each_slice, #each_with_index are improved. (Brandon Fish)
* Lazy enumerator compatibility is improved. (Yorick Peterse)
* Marshal support is improved. (Sophia Shao)
* Enumerable#size, #each_cons, #each_slide is improved. (Filipe Dias)
* Enumerator#size is improved. (Filipe Dias)
* String#sub, #sub! is improved. (Filipe Dias)
* Rubinius::Mirror.subject= is improved. (thedarkone, Filipe Dias)
* Proc#curry is improved. (Rui Serra)
* Default log location and permissions are changed. (Brian Shirai)
* Process user name is added to fatal log output. (Brian Shirai)
* FS-API paths are changed. (Brian Shirai)
* InternalThread::shutdown is improved. (Brian Shirai)
* Rubinius::Console request processing is improved. (Brian Shirai)
* Runinius::Console input/output is updated ofter fork(). (Brian Shirai)
* The rubysl-fcntl gem is updated to 1.0.2. (Sophia Shao)
* Rubinius vm_global_serial primitive is added. (Joe Eli McIlvain)
* Thread#join is reworked to use mutex and condition variable. (Brian Shirai)
* Unconditional log function logger::write is added. (Brian Shirai)
* RubyGems is updated to 2.4.6. (Brian Shirai)
* Logging is added for fork, exec, spawn, and backtick. (Brian Shirai)
* Immediate JIT requests are synchronized. (Brian Shirai)
* Object#inspect is not used in Kernel#method. (Yorick Peterse)
* Machine and process info is logged on startup. (Brian Shirai)
* Calls to Autoload#resolve are synchronized. (Brian Shirai)
* Process aborts if resources are not available for internal threads. (Brian Shirai)
* Bundler is updated to 1.9.4. (Brian Shirai)

Read release notes

v1.4.6

Version 1.4.6 (2015-04-28)
News:

* JIT runtime data is processed by the garbage collector correctly.

Changelog:

* Mark RuntimeData correctly. (Brian Shirai)

Read release notes

v1.4.5

Version 1.4.5 (2015-04-27)
News:

* The default log file location is changed to $TMPDIR or /tmp. The default
name is changed to $program_name-$user.log, where $program name is the
configured executable name and $user is the user running the process. The
default permissions are changed to 0644.

* Logging output now includes system and process information, for example, the
user executing the process, the JIT status, version and commit hash, etc.

* The internal thread infrastructure has been improved around fork(), exec()
and shutdown.

* The process will abort if resources are not available for spawning internal
threads.

* Thread#join has been reworked to use a thread-specific condition variable
and mutex.

* An unconditional (non-level specific) logging method has been added.

* Logging has been added for the command line arguments, fork child PID, and
exec arguments.

* Immediate JIT requests are synchronized.

* Calls to Autoload#resolve are synchronized.

* RubyGems is updated to 2.4.6.

* Bundler is updated to 1.9.4.

Changelog:

* Default log location and permissions are changed. (Brian Shirai)
* Process user name is added to fatal log output. (Brian Shirai)
* FS-API paths are changed. (Brian Shirai)
* InternalThread::shutdown is improved. (Brian Shirai)
* Rubinius::Console request processing is improved. (Brian Shirai)
* Runinius::Console input/output is updated ofter fork(). (Brian Shirai)
* The rubysl-fcntl gem is updated to 1.0.2. (Sophia Shao)
* Rubinius vm_global_serial primitive is added. (Joe Eli McIlvain)
* Thread#join is reworked to use mutex and condition variable. (Brian Shirai)
* Unconditional log function logger::write is added. (Brian Shirai)
* RubyGems is updated to 2.4.6. (Brian Shirai)
* Logging is added for fork, exec, spawn, and backtick. (Brian Shirai)
* Immediate JIT requests are synchronized. (Brian Shirai)
* Object#inspect is not used in Kernel#method. (Yorick Peterse)
* Machine and process info is logged on startup. (Brian Shirai)
* Calls to Autoload#resolve are synchronized. (Brian Shirai)
* Process aborts if resources are not available for internal threads. (Brian Shirai)
* Bundler is updated to 1.9.4. (Brian Shirai)

Read release notes

v1.4.4

Version 1.4.4 (2015-03-19)
News:

* Marshal edge cases involving custom-defined methods have been fixed.

* rubysl and rubysl-irb version has been bumped to fix the readline dependency.

* Bundler updated to 1.8.5.

* Changes from master for 2.5.2 that are not language version dependent are merged into 1.8.7 branch.

Changelog:

* Updated gems_list.txt (to bump rubysl-irb version). (sshao)
* More master branch changes from 2.5.2 are included. (Brian Shirai)
* Fix Marshal for objects whose _dump returns an immediate. (sshao)
* Fixed Marshal again for objects whose _dump returns an immediate. (sshao)
* Updated gems_list.txt (to bump rubysl version). (sshao)
* Updated bundler in gems_list.txt. (Brian Shirai)

Read release notes

v1.4.3

Version 1.4.3 (2015-02-13)
News:

* Additional improvements have been made for the VM state after fork().

* The internal thread mechanism (eg JIT, signal handling, concurrent GC, etc.)
has been improved.

* The Rubinius build system will prefer clang if it is available.

* Bundler is updated to 1.8.2.

Changelog:

* Kernel#inspect does not dispatch to Kernel#to_s for MRI compatibility. (Brian Shirai)
* Build process prefers clang if it is available. (Brian Shirai)
* The VM state is reset after fork(). (Brian Shirai)
* The constant tables for class and modules is created lazily. (Brian Shirai)
* Internal threads are improved. (Brian Shirai)
* The crash handler includes the process PID in its output. (Brian Shirai)
* Bundler is updated to 1.8.2. (Brian Shirai)
* The C-API exception handling mechanism is enabled for Data finalizers. (Brian Shirai)

Read release notes

Read release notes

Read release notes

Something went wrong with that request. Please try again.