rubinius

The Rubinius Language Platform

MPL-2.0 License

Stars
3.1K

Bot releases are hidden (Show)

rubinius - Release 2.5.7

Published by brixen over 9 years ago

Version 2.5.7 (2015-06-16)

News:

  • Thread synchronization accessing an internal data structure is improved.
  • The C-API defines macros for HAVE_RB_HASH_DUP and HAVE_RB_HASH_FREEZE.
  • Bundler is updated to 1.10.4.

Changelog:

  • Updated bundler to 1.10.4. (Brian Shirai)
  • Removed SYNC_TL and other threading fixes. (Brian Shirai)
  • Announces new capi hash functions. (Filipe Dias)
  • Fix some sharing specs for Kernel#{send|send|public_send} (Kenichi Kamiya)
  • Fix some sharing specs for Marshal.#{load|restore} (Kenichi Kamiya)
  • Fix some sharing specs for Hash#{store|[]=} (Kenichi Kamiya)
  • Fix some sharing specs for Enumerable#{collect_concat|flat_map} (Kenichi Kamiya)
  • Fix some sharing specs for Dir.{exist?|exists?} (Kenichi Kamiya)
  • Fix some sharing specs for Array#{slice|[]} (Kenichi Kamiya)
  • Fix some sharing specs for Array#{inspect|to_s} (Kenichi Kamiya)
  • Delegate Proc#source_location to Method#source_location when the proc was created from a method (Rui Serra)
rubinius - Release 1.4.8

Published by brixen over 9 years ago

Version 1.4.8 (2015-06-09)

News:

  • Marshal correctly unmarshals an object that was a Bignum on 32bit and is a
    Fixnum on 64bit.
  • Regexp.new compatibility is improved.
  • Thread#pid is added. It returns a process-unique number for each Thread
    instance.
  • All threads are not forced to checkpoint when checking if the garbage
    collector should run.
  • Pre-installed gems are updated:
    • json 1.8.2 -> 1.8.3
    • rb-readline 0.5.2 -> 0.5.3
    • rubysl-base64 1.0.0 -> 1.0.1
    • rubysl-digest 1.0.1 -> 1.2.0
    • bundler 1.9.9 -> 1.10.3

Changelog:

  • Updated gems_list.txt. (Brian Shirai)
  • fixed construct_bignum to always add object to lookup table (sshao)
  • Added Bignum specs for unmarshaling 32-bit Bignums on 64-bit platforms (sshao)
  • removed ruby_version_is 1.8 guard for bignum in dump_spec (sshao)
  • add missing macports? and macports_llvm_config methods to configure (sshao)
  • Fixed copy-paste error in libsodium build. (Brian Shirai)
  • add 2.2 branch to ci (Benny Klotz)
  • Fix a GNUC check to work with GCC 5 (Jan Alexander Steffens (heftig))
  • Build libsodium. (Brian Shirai)
  • Vendored libsodium 1.0.3. (Brian Shirai)
  • Reintroduce TypeError raising for Regexp.new (Benny Klotz)
  • Reintroduce Number arg specs for Regexp.new (Benny Klotz)
  • use already defined methods from the fixture class (Benny Klotz)
  • Fix Method#== (Benny Klotz)
  • implement specs for comparing a method defined via define_method and a method defined via def (Benny Klotz)
  • Updated .gitignore. (Brian Shirai)
  • Updated daedalus and rubysl-digest. Closes #3312. (Brian Shirai)
  • Check for pending GC request without STW. (Brian Shirai)
  • Platform-specific gettid. Closes #3404, #3405. (Brian Shirai)
  • Clean bundler environment before running Homebrew during configuration (Michał Matyas)
rubinius - Release 2.5.6

Published by brixen over 9 years ago

Version 2.5.6 (2015-06-12)

News:

  • Trapped signal procs are processed on a dedicated thread rather than being
    interleaved with a program threads.
  • Array#zip compatibility is improved.
  • The C-API provides rb_hash_dup and rb_hash_freeze.
  • The C-API prototype for rb_ary_entry is fixed.
  • Marshal correctly unmarshals an object that was a Bignum on 32bit and is a
    Fixnum on 64bit.
  • Rubinius::Thunk#value accessor is added.
  • Enumerable#each_cons and Enumerator#size compatibility is improved.
  • Enumerator::Lazy compatibility is improved.
  • Struct#each_pair compatibility is improved.
  • Proc#curry compatibility is improved.
  • Regexp.new compatibility is improved.
  • Method#== compatibility is improved.
  • All threads are not forced to checkpoint when checking if the garbage
    collector should run.
  • Thread#stop? access to internal state is synchronized.
  • Unmanaged resources are finalized immediately.
  • ThreadGroup implementation is improved.
  • Pre-installed gems are updated:
    • daedalus-core 0.3.0 -> 0.5.0
    • json 1.8.2 -> 1.8.3
    • rb-readline 0.5.2 -> 0.5.3
    • rubysl-digest 2.0.7 -> 2.0.8
    • bundler 1.9.8 -> 1.10.3
  • RubyGems is updated to 2.4.8. See CVE-2015-3900.

Changelog:

  • Updated pre-installed gems. (Brian Shirai)
  • Update LICENSE year range to 2015. (Joe Eli McIlvain)
  • Fixed broken SignalException spec. (Brian Shirai)
  • Reworked signal handling. Closes #3418. (Brian Shirai)
  • Fix Array#zip for enumerator arguments. Fixes #3436 (Kenichi Kamiya)
  • Add Array#zip specs for enumerator arguments (Kenichi Kamiya)
  • Updated rubygems to 2.4.8. Closes #3435 (Brian Shirai)
  • Unspecify OSX image (Tamir Duberstein)
  • Add some capi hash functions (Tamir Duberstein)
  • Correct rb_ary_entry declaration (Tamir Duberstein)
  • Fix OSX build to use llvm35 (Tamir Duberstein)
  • fixed construct_bignum to always add object to lookup table (sshao)
  • Added Bignum specs for unmarshaling 32-bit Bignums on 64-bit platforms (sshao)
  • Initialize FinalizeObject::kind to a known value. (Joe Eli McIlvain)
  • Add specs for Rubinius::Thunk#value accessors. (Joe Eli McIlvain)
  • Add Rubinius::Thunk#value accessors. (Joe Eli McIlvain)
  • Fix Enumerable#each_cons for Enumerator#size with larger argument (Kenichi Kamiya)
  • Add an Enumerable#each_cons spec for Enumerator#size (Kenichi Kamiya)
  • Fix Enumerator#size for callable Non-Proc size (Kenichi Kamiya)
  • Add an Enumerator#size spec for callable Non-Proc size (Kenichi Kamiya)
  • Fix Enumerator::Lazy#take with 0 argument (Kenichi Kamiya)
  • Add Enumerator::Lazy#take specs with 0 argument (Kenichi Kamiya)
  • Fix stop iteration point of Enumerator::Lazy#take (Kenichi Kamiya)
  • Fix Enumerator::Lazy#take to switch size with Infinity (Kenichi Kamiya)
  • Add an Enumerator::Lazy#take spec to switch size with Infinity (Kenichi Kamiya)
  • Fix Struct#each_pair for block variable (Kenichi Kamiya)
  • Add a Struct#each_pair spec to check block variable (Kenichi Kamiya)
  • Fix a matcher of Struct#each_pair spec (Kenichi Kamiya)
  • Use before in Struct#each_pair specs (Kenichi Kamiya)
  • Fixed copy-paste error in libsodium build. (Brian Shirai)
  • add 2.2 branch to ci (Benny Klotz)
  • Added mirror for Proc.from_block. (Brian Shirai)
  • Use Module#thunk_method in Proc#curry. (Brian Shirai)
  • Added mirror for Proc#curry. Improves #3406. (Brian Shirai)
  • Fix a GNUC check to work with GCC 5 (Jan Alexander Steffens (heftig))
  • Build libsodium. (Brian Shirai)
  • Vendored libsodium 1.0.3. (Brian Shirai)
  • Reintroduce TypeError raising for Regexp.new (Benny Klotz)
  • Reintroduce Number arg specs for Regexp.new (Benny Klotz)
  • use already defined methods from the fixture class (Benny Klotz)
  • Fix Method#== (Benny Klotz)
  • implement specs for comparing a method defined via define_method and a method defined via def (Benny Klotz)
  • ported over jruby's fix for Proc#curry, this closes #2951 (Benny Klotz)
  • Updated .gitignore. (Brian Shirai)
  • Updated daedalus and rubysl-digest. Closes #3312. (Brian Shirai)
  • Check for pending GC request without STW. (Brian Shirai)
  • Platform-specific gettid. Closes #3404, #3405. (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 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)
  • Clean bundler environment before running Homebrew during configuration (Michał Matyas)
rubinius - Release 1.4.7

Published by brixen over 9 years ago

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)
rubinius - Release 2.5.5

Published by brixen over 9 years ago

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)
rubinius - Release 2.5.4

Published by brixen over 9 years ago

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)
rubinius - Release 2.5.3

Published by brixen over 9 years ago

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. (Yorick Peterse)
  • Process aborts if resources are not available for internal threads. (Brian Shirai)
  • Bundler is updated to 1.9.4. (Brian Shirai)
rubinius - Release 1.4.6

Published by brixen over 9 years ago

Version 1.4.6 (2015-04-28)

News:

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

Changelog:

  • Mark RuntimeData correctly. (Brian Shirai)
rubinius - Release 1.4.5

Published by brixen over 9 years ago

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)
rubinius - Release 1.4.4

Published by sshao over 9 years ago

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)
rubinius - Release 1.4.3

Published by brixen over 9 years ago

Version 1.4.3

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)
rubinius - Release 1.4.2

Published by brixen over 9 years ago

Version 1.4.2 (2015-01-30)

News:

  • The semanics of Kernel#require are changed to match those of Ruby 1.9+ where
    a file is only required one time regardless of the path passed to #require
    when that path refers to the same file.
  • Enumerable#enum_with_index is provided.
  • The HAMT implementation of Hash#select hondles frozen instances.
  • All changes from master for 2.5.2 that are not language version dependent are
    merged into 1.8.7 branch.

Changelog:

  • Enumerable#enum_with_index is provided. (Sophia Shao)
  • Kernel#require stores absolute paths preventing multiple requires of a
    single file based on different require paths. (Sophia Shao)
  • HAMT Hash#select handles frozen instances. (Sophia Shao)
  • All master branch changes for 2.5.2 are included. (Brian Shirai)
rubinius - Release 2.5.2

Published by brixen over 9 years ago

Version: 2.5.2 (2015-01-30)

News:

  • Thread handling has been improved based on analysis by Joe Eli McIlvain
    using valgrind:
    1. Metrics counts for threads are updated before destructing thread state.
    2. Threads sleeping when fork() is called are cleaned up in the child.
    3. Thread state is destructed after joining the system thread.
    4. Stopping internal threads uses a timeout to avoid system hangs.
    5. The system checkpoints before fork().
  • Configure finds LLVM if it is available via MacPorts.
  • The StatsD emmiter for Metrics includes PID in the key prefix to improve
    support for systems using multiple processes or forking subprocesses.
  • Process.groups used to return a maximum of 32 groups unless the
    Process.maxgroups= accessor was called to increase the maximum. This created
    an issue installing the rubysl-openssl gem for users with more than 32
    groups. The default value of 32 is specified in MRI documentation. The
    default value is retained for compatibility but Process.groups first
    queries the total number of groups then returns an Array of all groups.

Changelog:

  • Metrics tracking of Thread count is improved. (Joe Eli McIlvain)
  • HAMT Hash#select handles frozen instances. (Sophia Shao)
  • LLVM is detected from MacPorts. (Todd A. Jacobs)
  • Thread cleanup is improved. (Brian Shirai, Joe Eli McIlvain)
  • Thread handling around fork() is improved. (Brian Shirai)
  • StatsD tag prefix includes PID by default. (Brian Shirai)
  • Process.groups returns all groups on the system. (Brian Shirai)
rubinius - Release 1.4.1

Published by brixen over 9 years ago

Version 1.4.1 (2015-01-26)

News:

The developer tools and IRB are included in the release builds again.

All changes from master for 2.5.1 that are not language version dependent are
merged into 1.8.7 branch.

Changelog:

  • The developer tool gems are installed. (Brian Shirai)
  • All master branch changes for 2.5.1 are included. (Brian Shirai)
rubinius - Release 2.5.1

Published by brixen over 9 years ago

Version: 2.5.1 (2015-01-26)

News:

  • The locking in the virtual machine around fork and fork/exec (e.g. for
    Process.spawn or Kernel#`) has been improved.
  • When executing, for example, Process.spawn or Kernel#`, the subprocess
    status is read from a pipe in the parent process. This read could get
    interrupted by the system. The interrupted reads are now handled properly.
  • On FreeBSD, the Readline C-ext (rubysl-readline) is used in place of the
    pure Ruby rb-readline because the latter depends on commands that are not
    available on FreeBSD.
  • Enumerable#flat_map compatibility is improved.
  • Command line option help and -Xhelp is improved.

Changelog:

  • The -Xhelp output is improved. (John Muhl)
  • Command help explains RBXOPT. (Jason R. Clark)
  • Enumerable#flat_map compatibility is improved. (Brian Shirai)
  • Rubinius::Metrics timer is canceled properly on FreeBSD. (Brian Shirai)
  • Reading subprocess status when spawning handles EINTR. (Brian Shirai)
  • The readline C-ext is used on FreeBSD. (Brian Shirai)
  • Locking for fork and fork/exec is improved. (Brian Shirai)
  • Rubinius::Metrics are free'd on process halt. (Joe Eli McIlvain)
rubinius - Release 2.5.0

Published by brixen almost 10 years ago

Version: 2.5.0 (2015-01-17)

News:

  • Process.spawn has been improved by not relying on the virtual machine to be
    in a partially functioning state after fork() is called and before exec() is
    called. All the subprocess state setup is done in the VM itself now, rather
    than calling back to Ruby. This significantly improves reliability.

  • The JIT has been improved to be more transparent. Previously, JIT failures
    could impact the semantics of running Ruby code. This is contrary to the
    purpose of a JIT, which is to provide exactly the same Ruby semantics while
    optimizing the execution of the Ruby code.

  • The JIT metrics are now emitted correctly. See the following blog post about
    using the Rubinius Metrics with InfluxDB and Grafana:

    http://rubini.us/2015/01/05/rubinius-metrics-meets-influxdb-part2/

  • The Psych gem is now pre-installed to provide YAML functionality. This
    replaces the previous use of Syck to bootstrap YAML for RubyGems.

  • RubyGems is updated to 2.4.5.

  • Bundler is updated to 1.7.12.

Changelog:

  • The JIT emits correct code for goto_if_nil, goto_if_not_nil. (Brian Shirai)
  • RubyGems is updated to 2.4.5. (Brian Shirai)
  • Building with GCC 4.6.3 is fixed. (Brian Shirai)
  • SystemCallError.new compatibility is improved. (Joe Eli McIlvain)
  • Thread#join timeout value is coerced to Float and nil values are handled
    correctly. (Joe Eli McIlvain)
  • File#reopen with a path closes the previous file descriptor. (Brian Shirai)
  • The C-API function rb_ary_new_from_args aliases rb_ary_new3. (Yorick Peterse)
  • The C-API function rb_ary_plus is added. (Yorick Peterse)
  • The C-API function rb_cloexec_open is added. (Sophia Shao)
  • Process.spawn is more robust. (Brian Shirai)
  • Enumerable#flat_map is improved. (Erik Michaels-Ober)
  • Block keyword parsing is updated to Ruby 2.2.0 behavior. (Brian Shirai)
  • Keyword argument objects that include both Symbol keys and other keys are
    now split into two separate Hash instances. (Brian Shirai)
  • String#scrub with BINARY input is fixed. (Yorick Peterse)
  • String#scrub is fixed with custom block encodings. (Yorick Peterse)
  • FFI::MemoryPointer#autorelease= is fixed. (Joe Eli McIlvain)
  • FFI::MemoryPointer#autorelease? is added. (Joe Eli McIlvain)
  • A missing method raises NoMethodError, a missing variable reference raises
    NameError. (Joe Eli McIlvain)
  • String ascii_only cache is reset when calling String#replace. (Yorick Peterse)
  • Process::Status creation is fixed. (Yorick Peterse)
  • String#include? does not accept a Fixnum. (Chris Seaton)
  • The fallback path for SHELL in configure is fixed. (Lars Kanis)
  • The C-API rb_data_type_struct matches Ruby 2.2.0. (Brian Shirai)
  • The included Bundler version is 1.7.12. (Brian Shirai)
  • The JIT internalizes a CompiledCode instance before processing. (Yorick Peterse)
  • The Psych gem version 2.0.10 is pre-installed. (Brian Shirai)
  • The JIT metrics are emitted correctly. (Brian Shirai)
rubinius - Release 2.4.1

Published by brixen almost 10 years ago

Version: 2.4.1 (2014-12-04)

News:

  • Several C-API now resolve autoloads when looking up a constant:

    o rb_path2class
    o rb_path_to_class
    o rb_const_get
    o rb_const_get_at
    o rb_const_get_from

  • The MRI C-API defines a number of constants that are specific to MRI's
    garbage collector and should never be used outside of MRI itself.
    Unfortunately, gems like Psych do use them, so we are forced to define them.

    o RUBY_DEFAULT_FREE
    o RUBY_NEVER_FREE
    o RUBY_TYPED_DEFAULT_FREE
    o RUBY_TYPEED_NEVER_FREE
    o RUBY_TYPED_FREE_IMMEDIATELY
    o RUBY_TYPED_WB_PROTECTED

  • The C-API defines the Check_TypedStruct constant.

  • Kernel#require_relative uses the current working directory when called in
    contexts like IRB or -e where a file does not define the relative path.

  • File.fnmatch support for FNM_EXTGLOB and FNM_PATHNAME is improved.

Changelog:

  • C-API rb_path2class, rb_path_to_class, rb_const_get, rb_const_get_at,
    rb_const_get_from resolve autoloads. (Brian Shirai)
  • C-API defines are added for RUBY_DEFAULT_FREE, RUBY_NEVER_FREE,
    RUBY_TYPED_DEFAULT_FREE, RUBY_TYPEED_NEVER_FREE, RUBY_TYPED_FREE_IMMEDIATELY,
    RUBY_TYPED_WB_PROTECTED. These defines are specific to MRI's garbage
    collector and should never be used outside of MRI itself, but gems like
    Psych do use them, so we are forced to define them. (Brian Shirai)
  • The C-API defines the Check_TypedStruct constant. (Brian Shirai)
  • Kernel#require_relative is improved for IRB and -e. (Brian Shirai)
  • File.fnmatch support for FNM_EXTGLOB and FNM_PATHNAME is improved.
    (Jesse Cooke)
rubinius - Release 2.4.0

Published by brixen almost 10 years ago

Version: 2.4.0 (2014-12-01)

This release is dedicated to the memory of Ezra Zygmuntowicz, a very good
friend to Rubinius, Ruby, and Rails. Thank you, Ez.

News:

  • File.fnmatch support for FNM_EXTGLOB has been added.
  • Marshal handles immediate values returned by custom _dump methods.
  • Kernel#caller_locations has been added. Kernel#caller now supports a limit
    argument.
  • Errno classes can be subclassed.
  • An issue caused by the god monitoring facility, where god would forcefully
    close all file descriptors in the process from 3 to 256, has been mitigated.
    Previously, this issue could cause Rubinius to hang when running god and
    exec'ing a subprocess.
  • Rubinius::Metrics.data.to_hash now re-uses a Hash instance instead of
    creating a new one on every call.

Changelog:

  • File defines FNM_EXTGLOB constant. (Jesse Cooke)
  • File.fnmatch supports FNM_EXTGLOB feature. (Jesse Cooke)
  • DTrace pre-linking enabled on Linux. (Yorick Peterse)
  • The double-conversion vendored library is updated to 1.1.5.
    (Gustavo Frederico Temple Pedrosa)
  • The libffi vendored library is updated to 3.2.
    (Gustavo Frederico Temple Pedrosa)
  • IO.write is improved for FIFOs. (skliew)
  • Marshal handles immediate values returned by custom _dump methods.
    (Sophia Shao)
  • Kernel#caller_locations is provided. (Yorick Peterse)
  • Kernel#caller supports a limit argument. (Yorick Peterse)
  • Errno classes can be subclassed. (Brian Shirai)
rubinius - Release 2.3.0

Published by brixen almost 10 years ago

Version: 2.3.0 (2014-10-31)

News:

  • Keyword arguments (both optional and required) are supported. Other syntax
    changes in MRI 2.1, like Complex and Rational literal suffixes and symbol
    list literals, are also supported.

  • Rubinius will read -X configuration options from CWD/.rbxrc. The format of
    the file is one -X configuration option per line. The available -X
    configuration options are listed by the -Xhelp option.

  • The basic infrastructure has been added for always-on metrics of Rubinius
    subsystems. The metrics are 64bit monotonic counters. The data is accessible
    with 'Rubinius::Metrics.data'. The object returned provides the following
    methods:

    • keys: return a list of symbol keys that name available metrics.
    • values: return the values of the available metrics.
    • []: return the value of the metric specified by the given key.
    • to_hash: return a Hash instance of the available metrics.

    The metrics can be emitted to StatsD at a regular interval. See the
    following -X configuration options:

    • system.metrics.interval
    • system.metrics.target
    • system.metrics.statsd.server
    • system.metrics.statsd.prefix

    The available metrics will be refined over time. Check the values returned
    by the 'Rubinius::Metrics.data.keys' method to determine which metrics are
    available.

  • Rubinius provides an interface to the syslog facility. This is used
    internally in Rubinius subsystems to standardize logging. Since the syslog
    interface available through libc only allows syslog to be opened once in a
    process, Rubinius provides the Rubinius::Logger class as a way for
    applications to use the same handle to syslog but provide a specific prefix
    for the application (or application components).

    • Logger.system: return new logger using the "system" prefix.
    • Logger.log_exception(message, exc): write a rendered exception with the
      system logger prefix.
    • Logger.new(name): return a new logger using the specified prefix.
    • Logger#fatal(message): write message to both STDERR and the log with a
      level of Fatal.
    • Logger#error(message): write message to the log with level of Error.
    • Logger#warn(message): write message to the log with level of Warn.
    • Logger#info(message): write message to the log with level of Info.
    • Logger#debug(message): write message to the log with level of Debug.

    The default level that will be written to the log is Warn or higher. To
    change the log level, use the system.log.level -X configuration option.

    The system.log -X configuration variable controls which logger is used. The
    available loggers are syslog, console, or path. The default logger is the
    file /var/log/$PROGRAM_NAME.log, where $PROGRAM_NAME is replaced by the
    value of Rubinius::PROGRAM_NAME. If this file is not writable,
    $TMPDIR/$PROGRAM_NAME.log (where TMPDIR is an environment variable) or
    /tmp/$PROGRAM_NAME.log will be used, if writable.

    If using another application component that opens syslog, this will
    interfere with Rubinius using syslog. In this scenario, consider using the
    Rubinius::Logger class in your application.

  • The infrastructure for Rubinius::Console has been added. Rubinius::Console
    will eventually replace IRB, the Rubinius debugger and profiler, and all the
    Rubinius::Agent features, including heap dump. Many of the Rubinius::Console
    features have not yet been implemented.

    The Rubinius::Console supports attaching to any running Rubinius instance as
    long as read/write access is available to the file system path specified by
    the system.fsapi.path -X configuration option. Accordingly, Console relies
    on the OS process and file system permissions to provide security and access
    control. With a utility like sshfs, Console can connect to a running
    Rubinius instance over the network.

    The goal of Console is to provide a single, comprehensive, integrated, and
    powerful interface to the behavior of the Rubinius system and applications
    running on it.

  • Support for automatically building LLVM from source, or accessing a
    pre-built binary of LLVM has been removed. Effort is being focused on
    supporting LLVM packages provided by the system. This is a better use of
    time and allows Rubinius to better integrate with existing systems. For
    example, many Linux distributions strenuously discourage alternately
    packaging system libraries to reduce security risks when defects in the
    libraries are detected and fixed.

Changelog:

  • Compatibility of INT2NUM is improved. (Yorick Peterse)
  • Compatibility of -c is improved. (Yorick Peterse)
  • Keyword arguments are supported. (Brian Shirai)
  • Encoding::Convert#inspect is improved. (Robin Dupret)
  • ObjectSpace.define_finalizer raises RuntimeError. (Joe McIlvain)
  • The C-API provides rb_rational_num, rb_rational_den, rb_big_cmp,
    rb_big_pack, rb_dbl2big, rb_thread_check_ints, rb_intern_const.
    (Yorick Peterse)
  • Compatibility of HAMT Hash is improved. (Brian Shirai)
  • The C-API rb_funcall3 disallows private methods. (Ryohei Ikegami)
  • The String#scrub! method is implemented. (Robin Dupret)
  • The Kernel#singleton_class? method is implemented. (Robin Dupret)
  • Enumerable#sort handles #to_a returning a frozen Array. (Alex Dowad)
  • Keyword coercion is improved. (Ryo Onodera)
  • JIT support for cast_for_multi_block_arg is fixed. (Sophia Shao)
  • Infrastructure for Rubinius::Console is added. (Brian Shirai)
  • Support for parsing -X options from CWD/.rbxrc is added. (Brian Shirai)
  • Support for aggregating internal metrics with optional export to StatsD is
    added. (Brian Shirai)
  • Support for Rubinius::Agent is removed as all functionality will be provided
    through the Rubinius::Console. (Brian Shirai)
  • Support for logging to syslog and file is added. (Brian Shirai)
  • Kernel.Float() raises RangeError with Complex argument. (Jesse Cooke)
  • Suppport for LLVM shard libraries is added. (Jan Alexander Steffens)
  • Kernel.Float() ignores trailing whitespace. (Jesse Cooke)
  • The C-API rb_Array compatibility is improved. (Sophia Shao)
  • PowerPC64 support for LLVM and Atomic is added.
    (Gustavo Frederico Temple Pedrosa)
  • Array#count specialization is added. (Joe McIlvain)
  • Kernel#itself is added. (Benny)
  • Support for LLVM 3.5 is added. (Yorick Peterse)
  • IO.new handles closed streams (Sophia Shao)
  • Compatibility of C-API functions rb_stdin, rb_stdout, rb_stderr, rb_defout
    is improved. (Sophia Shao)
  • Kernel.Float() coerces a Complex with only real part. (Benny)
  • The C-API provides rb_funcall_with_block. (Ryohei Ikegami)
  • Rubinius::FFI::Library#attach_function is improved. (Joe McIlvain)
  • IO.popen is improved. (Brian Shirai)
  • The C-API provides rb_class_path. (Brian Shirai)
  • Array#bsearch is implemented. (Brian Shirai)
  • Range#bsearch is implemented. (Brian Shirai)
rubinius - Release 2.2.10

Published by brixen over 10 years ago

Version: 2.2.10 (2014-06-27)

  • Process.spawn and Process.exec duplicate file descriptors when mapping a
    parent file descriptor to a new child file descriptor. (Brian Shirai)
Package Rankings
Top 6.73% on Proxy.golang.org
Badges
Extracted from project README
Gitter Build Status