rubinius

The Rubinius Language Platform

MPL-2.0 License

Stars
3.1K

Bot releases are hidden (Show)

rubinius - Release 3.8

Published by brixen almost 9 years ago

Version 3.8 (2016-01-15)

  • Updated Dockerfile for 15.10 to 3.7. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.7. (Brian Shirai)
  • Set thread's group in rb_thread_create (Ahmad Sherif)
    Fixes #3545
  • Add a spec for setting thread's group in rb_thread_create (Ahmad Sherif)
  • Implement Hash#to_proc (Ahmad Sherif)
  • Add specs for Hash#to_proc (Ahmad Sherif)
  • Removed Socketable/io_accept primitive (Yorick Peterse)
    This is no longer in use by rubysl-socket and serves no further purpose.
  • Bumped rubysl-socket to 2.1.1 (Yorick Peterse)
rubinius - Release 3.7

Published by brixen almost 9 years ago

Version 3.7 (2016-01-13)

  • Updated Dockerfile for 15.10 to 3.6. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.6. (Brian Shirai)
  • Implement Numeric#positive? & Numeric#negative? (Kirill Nikitin)
  • Added 2.3 specs for #positive? and #negative? (Kirill Nikitin)
    Added specs for #positive? and #negative? for classes Bignum, Fixnum, Float,
    Numeric and Rational classes
  • Make rb_rescue returns the break value when passed function yields to a block with a break (Ahmad Sherif)
    Fixes #3546
  • Add a spec covering rb_rescue returning the break value when the passed function yields to a block with a break (Ahmad Sherif)
  • Implement Array#bsearch_index (Ahmad Sherif)
  • Add specs for Array#bsearch_index (Ahmad Sherif)
rubinius - Release 3.6

Published by brixen almost 9 years ago

Version 3.6 (2016-01-12)

  • Updated Dockerfile for 15.10 to 3.5. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.5. (Brian Shirai)
  • multiple calls of close, close_read, and close_write should no longer raise IOError (Chuck Remes)
  • spec 2.3 behavior where multiple calls to #close no longer raise IOError (Chuck Remes)
  • implement 2.3 behavior to no longer raise IOError on multiple #close (Chuck Remes)
rubinius - Release 3.5

Published by brixen almost 9 years ago

Version 3.5 (2016-01-10)

  • Updated Dockerfile for 15.10 to 3.4. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.4. (Brian Shirai)
  • Updated Dockerfile for 15.10 to 3.4. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.4. (Brian Shirai)
  • puts: Make it more compatible to MRI (Andre Richter)
  • puts calls #to_ary on non-String objects, without checking its existance beforehand.
    This behavior is copied for cases where the receiver has a #method_missing in place that catches this call
  • If puts calls #to_s, and #to_s does not return a string (e.g. some bogus override of #to_s), it outputs generic object infos (Class name and address)
  • Implement #dig for Hash, Array and Struct classes (Ahmad Sherif)
  • Add specs for #dig implmenetation for Hash, Array and Struct classes (Ahmad Sherif)
rubinius - Release 3.4

Published by brixen almost 9 years ago

Version 3.4 (2016-01-09)

  • Updated Dockerfile for 15.10 to 3.3. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.3. (Brian Shirai)
  • Generalize test for nil. (Brian Shirai)
  • Added CoC to READMEs. (Brian Shirai)
  • Add spec for Enumerable#first with multiple yield parameters (Kenichi Kamiya)
  • Fix yield parameter of Enumerable#first (Kenichi Kamiya)
  • puts: Check if argument responds to :to_ary, instead of checking its type being Array (Andre Richter)
  • spec 2.2 behavior where limit 0 raises ArgumentError (Chuck Remes)
  • add 2.2 behavior to #each handling of limit 0 (Chuck Remes)
rubinius - Release 3.3

Published by brixen almost 9 years ago

Version 3.3 (2016-01-08)

  • Updated Dockerfile for 15.10 to 3.2. (Brian Shirai)
  • Updated Dockerfile for 14.04 to 3.2. (Brian Shirai)
  • Bump Psych to 2.0.17 (Yorick Peterse)
  • If on OS X, check for homebrew-supplied openssl libraries (Andre Richter)
  • Set platform instance variables earlier and use them instead of RUBY_PLATFORM where feasible. (Andre Richter)
  • Use nil_p() instead of '== cNil'. (Brian Shirai)
  • Bumped rubysl-socket version to 2.1.0 (Yorick Peterse)
rubinius - Release 3.2

Published by brixen almost 9 years ago

Version 3.2 (2016-01-04)

  • Fixed deploying website and homebrew releases. (Brian Shirai)
  • Version 3.1. (Brian Shirai)
  • Version 3.1. (Brian Shirai)
  • Added deploy for Dockerfile updates. (Brian Shirai)
  • update ruby compat version from 2.1.0 to 2.2.0 (Chuck Remes)
  • Added untag to scripts/tag.sh. (Brian Shirai)
  • A few improvements for untag. (Brian Shirai)
  • Switched to rbx-2.2.mspec. (Brian Shirai)
  • Added --deprecated command line option. (Brian Shirai)
rubinius - Release 3.1

Published by brixen almost 9 years ago

Version 3.1 (2016-01-04)

  • Cleaned cruft replaced by diagnostics. (Brian Shirai)
  • Added memory summary to diagnostics. (Brian Shirai)
  • Reworked ObjectMemory diagnostics. (Brian Shirai)
  • Default eden to 30mb. (Brian Shirai)
  • Calculate total memory diagnostics better. (Brian Shirai)
    Approximately 20% of the process RSS is still not visible in the diagnostics
    and ~10% of that looks JIT related.
  • Removed left over Bert files. (Brian Shirai)
  • Remove threads from list when they finish executing. (Brian Shirai)
  • Removed "BUNDLER WITH" crap from Gemfile.lock (Yorick Peterse)
    Bundler no longer adds this when nothing changes, thankfully.
  • Default to non-zero spec process exit status. (Brian Shirai)
  • Reworked halting the system. (Brian Shirai)
    This is the first step of a much refactor to introduce a proper System object
    instead of hanging all the process boot and halt logic off the Environment
    object. A lot of boot and halt code can then be cleaned up (eg creating and
    initializing the object space, loading the kernel code, etc).

The main process thread (the one the OS creates when the process is first
created) now boots the system and spawns a thread to start running Ruby code.
The main thread goes on to process signals and halting the process. This is
the only thread that processes halt code.

When the process forks, a new thread is created to process signals and
halting. In the future, fork() and exec() will be disallowed on all internal
threads and only allowed on threads running Ruby code.

  • Smash another racey process spec. (Brian Shirai)
    There is no way to guarantee that the Process.exit from the thread completes
    before the Process.exit in the main thread. That's not how actual threads
    with no global interpreter lock work.
  • Fixed default CI spec exit status. (Brian Shirai)
  • Updated Bundler to 1.10.5. (Brian Shirai)
  • Fixed setting log file access permissions. (Brian Shirai)
    Since the process umask can override our open permissions, we need to explicitly
    set the permissions.
  • Hold all threads before finishing finalizers on halt. (Brian Shirai)
  • Synchronize ThreadGroup#add. Closes #3467. (Brian Shirai)
    Ruby generally makes no guarantees about thread safety, however, many
    accidental "guarantees" are assumed by Ruby programmers because of MRI's
    global interpreter lock.

Rubinius makes internal operaions thread safe but generally does not make any
thread safety guarantees for common Ruby objects like Array or Hash instances.
It's perfectly possible to "corrupt" an Array by concurrently modifying it
without synchronization.

ThreadGroup presents an interesting case, however, because it is arguably a
system structure. The API of ThreadGroup is minimal, consisting of these
methods: add, enclose, enclosed?, list.

Of these, only add presents a thread safety issue from the perspective of a
potentially "corrupted" structure (ie the list of Threads in the group). It's
possible for one Thread to enclose the group and another to get 'false' when
calling #enclosed? "after" the other Thread called #enclose. That's not a case
we are concerned with. The case of calling #add (which will implicitly also
remove the Thread from another group if it is a member) should probably be
thread safe.

For this reason, we add synchronization around adding (and removing) a Thread
from a ThreadGroup.

  • Switched JIT log warnings to info. (Brian Shirai)
  • Rename Float#negative? to Float#signbit? (Robin Dupret)
    Ruby 2.3 ships with a new Numeric#negative? method. Rubinius implements
    this method since b92c84f7, for internal usage though ; it delegates to
    the signbit C++ function.

However, signbit's behavior can't match MRI Float#negative?'s one
since the former operates on the sign while the latter operates on the
value (see http://git.io/vm1fg).

  • Allow passing strings to #{private,public}_constant (Robin Dupret)
    The maintained constants table is dealing with symbols but these methods
    can take strings as arguments ; it's pretty common to pass class.name
    as an argument.
  • Add specs for passing strings to constant visibility methods (Robin Dupret)
  • Added failing Range#bsearch specs (Yorick Peterse)
    These are taken from the ones mentioned by @heftig in #3458.
  • Port over jruby's Enumerable#slice_when (Benny Klotz)
  • check for birthtime() function (Benny Klotz)
  • Implement File#birthtime, File.birthtime and File::Stat#birthtime (Benny Klotz)
  • Implement Stat#birthtime primitive (Benny Klotz)
  • adapt specs for specifics platform checks, delete failing tags (Benny Klotz)
  • implement Method#curry, add comments to failing example, remove working examples from tags file (Benny Klotz)
  • Only darwin supports birthtime (Benny Klotz)
    After some research only darwin seems to support birthtime via
    st_birhttimespec in the stat struct.

See https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/stat.2.html
and https://github.com/ruby/ruby/blob/fc7711ff17cde31aec0e2c1d29faca264b49da6b/file.c#L829 for reference.

  • remove accidental commited nil#frozen spec (Benny Klotz)
  • fix whitespace (Benny Klotz)
  • grouped together *time methods, added documentation (Benny Klotz)
  • check for struct member st_birthtimespec of struct stat instead of posix function birthtime (Benny Klotz)
  • Add frozen nil/true/false specs (Rui Serra)
  • Update hash spec to include quoted symbol key syntax (Rui Serra)
    In order not to break the whole hash_spec.rb, the new syntax is eval'd.
  • Add spec for MRI bug #9593 (Rui Serra)
  • Add block and lambda specs for MRI bug #9593 (Rui Serra)
  • Update hash_spec.rb for duplicate key precedence (Rui Serra)
  • Update regexp/character_classes_spec.rb since U+180E is no longer considered a whitespace character (Rui Serra)
  • Add Float#next_float and Float#prev_float (Jason Yeo)
  • Remove tags (Jason Yeo)
  • remove comments (Benny Klotz)
  • added failing spec for lambda with optional parameter (Benny Klotz)
  • Implement Enumerable#min with optional arguments (Kenichi Kamiya)
  • Implement Enumerable#max with optional arguments (Kenichi Kamiya)
  • Implement Enumerable#min_by with optional arguments (Kenichi Kamiya)
  • Implement Enumerable#max_by with optional arguments (Kenichi Kamiya)
  • Add Enumerable#{min,max,min_by,max_by} specs with nil (Kenichi Kamiya)
  • Adjust Enumerable#{min,max,min_by,max_by} with nil (Kenichi Kamiya)
  • Standardize a block variable name in Enumerable (Kenichi Kamiya)
  • Fix Stat::stat_birthtime. (Rui Serra)
    This commit fixes a build error due to a signature mismatch of the Time::at
    method and the way it was being used in Stat::stat_birthtime.
  • Fix true/false frozen specs to operate on the proper values (Nathan Currier)
  • Implement {Method,UnboundMethod}#super_method (Robin Dupret)
    The implementation relies on Module#direct_superclass to run through the
    whole ancestry chain as #superclass would not include the modules.

The method is about 2 times slower than the MRI implementation though.
Benchmark: http://git.io/vmhpf.

  • Add some other cases for #super_method specs (Robin Dupret)
    Based on commit ruby/ruby@b4981594.

  • Mark nil/true/false as frozen (Yorick Peterse)
    Interesting enough MRI still lets you define methods on these objects
    even when they're frozen. For example, this works just fine:

    def nil.foo
    end

    nil.foo

  • Add a String#split spec with 0 limit (Kenichi Kamiya)

  • Fix String#split with 0 limit. Fixes #3474 (Kenichi Kamiya)

  • Fix Range#bsearch for matching end value in find-minimum mode (Kenichi Kamiya)
    Fixes #3458

  • Add a C-API "rb_hash_clear" (Kenichi Kamiya)

  • Log class names for invalid ivars_ references (Yorick Peterse)
    This makes it a bit easier to see what kind of objects we're dealing
    with when this occurs.

  • Fixed typ in the OnStack class (Yorick Peterse)

  • Fix correction to documentation for OnStack class. (Joe Eli McIlvain)

  • Specify superclass in respect to prepend (Ben Lovell)
    This was unspecified/recently merged to ruby/rubyspec. Rubinius does
    the Right Thing ™️

  • Clean up log output of serial_debug/ic_debug (Yorick Peterse)
    Output is now sent to STDERR (to make it easier to redirect) and the
    actual debug messages have been trimmed a bit.

  • Expand $PID in Metrics filename. (Brian Shirai)

  • Contributing notes on version managers/releases (Yorick Peterse)

  • Changed "of the issue" to "if the issue" (Yorick Peterse)

  • Fixes to assist building Rubinius under Alpine Linux (with musl). (Nathan Sullivan)
    Not 100% building yet, but these cover some outstanding issues

  • Remove converting to negative fd (Benny Klotz)
    Convert a fd to -(fd + 1) if its a Fixnum seems wrong.
    Negative fds's are mostly invalid.

  • add spec for Process.spawn redirecting STDERR to child STDOUT (Benny Klotz)

  • remove obsolete assignment (Benny Klotz)

  • change => to is (Benny Klotz)

  • allow nil,true,false to be modified when frozen (Chuck Remes)

  • Check if struct stat has nanosecond resolution. (Andre Richter)
    Check for st_atim, st_mtim, st_ctim, etc. in struct stat (sys/stat.h)

  • Add nanosecond support for Stat::[amc]time (Andre Richter)

  • Spec: Check microsecond resolution for File#utime (Andre Richter)

  • Implement microsecond resolution for File#utime (Andre Richter)

  • File#utime: Don't check for usec resolution on Darwin (Andre Richter)

  • Add specs for unicode_normalize (Jason Yeo)

  • Add spec for unicode_normalize! (Jason Yeo)

  • Add specs for exceptions (Jason Yeo)

  • Add specs for unicode_normalized? (Jason Yeo)

  • Add a note about where I took the unicode examples (Jason Yeo)

  • Add tags for unicode_normalize (Jason Yeo)

  • Remove :each (Jason Yeo)

  • Wrap lines to < 80 chars (Jason Yeo)

  • Added MPL-2.0. (Brian Shirai)

  • Try adding Dockerfiles for ubuntu 14.04, 15.10. (Brian Shirai)

  • Clarify copyright entity for license. (Brian Shirai)

  • Simplify, just one Dockerfile for now. (Brian Shirai)

  • Revert "Simplify, just one Dockerfile for now." (Brian Shirai)
    This reverts commit de7a8a1007d29700f4a1af8a0dac52de41f33f2c.

  • Imported https://github.com/rubinius/rubinius-docker/pull/1. (Brian Shirai)
    Added whitespace to break up the steps and added gems/bin to PATH.

  • Add BSD text to license. (Brian Shirai)

  • Break up old/new license & clarify what we use (Yorick Peterse)

rubinius - Release 3.0

Published by brixen almost 9 years ago

Version 3.0 (2016-01-01)

rubinius - Release 2.71828182

Published by brixen almost 9 years ago

Version 2.71828182 (2015-12-28)

rubinius - Release 2.11

Published by brixen almost 9 years ago

Version 2.11 (2015-12-28)

  • Fixed updating website versions. (Brian Shirai)
  • Array#sample checks all indexes when spinning. Fixes #3506. (Brian Shirai)
  • Enable building with various OpenSSL versions on OSX. (Brian Shirai)
  • Guard JIT specs for JIT being enabled. (Brian Shirai)
  • Try using a default openssl on Travis. (Brian Shirai)
  • Updated rubysl-openssl to 2.8. (Brian Shirai)
  • Use _NSGetEnviron on OSX. Fixes #3446. (Brian Shirai)
rubinius - Release 2.10

Published by brixen almost 9 years ago

Version 2.10 (2015-12-26)

  • Updated MSpec source to [33m4d5. (Yorick Peterse)
  • Moved autorelease methods to FFI::Pointer (Yorick Peterse)
    This allows code to alter the autorelease behaviour of regular
    Rubinius::FFI::Pointer instances. As an example, rubysl-socket returns a
    bunch of ifaddr pointers which are freed using freeifaddrs(). By default
    these pointers have auto-releasing enabled which results in Rubinius
    attempting to finalize/free already free'd pointers which in turn
    segfaults Rubinius.
  • Compile fails on arm because of unknown opcode. (dafoxia)
    "stmeqia" is an mistyped and unknown opcode.
    Replaced with "stmiaeq".
    Compiling on ARM now possible.
    Maybe an update do a newer version of libffi is also possible.
  • Allow #instance_eval to evaluate procs originated from methods (Ahmad Sherif)
    Fixes #3539
  • Add a spec covering calling #instance_eval with a proc from a method (Ahmad Sherif)
  • Disable Git colours when syncing mspec (Yorick Peterse)
  • Fixed updating website on deploy. (Brian Shirai)
  • Fixed creating GitHub release. (Brian Shirai)
  • Updated rubysl-openssl to 2.7. (Brian Shirai)
rubinius - Release 2.9

Published by brixen almost 9 years ago

Version 2.9 (2015-12-25)

  • Create SHA1 digests of deploy files. (Brian Shirai)
  • Update website when deploying. (Brian Shirai)
  • Rewrote gems:update_list in Bash. (Brian Shirai)
  • Updated gems_list.txt. (Brian Shirai)
  • Update Homebrew recipe when deploying. (Brian Shirai)
  • Test IO#read_nonblock raising EAGAINWaitReadable (Yorick Peterse)
    IO#read_nonblock is supposed to raise IO::EAGAINWaitReadable instead of
    a regular Errno::EAGAIN error.
  • Added spec for IO#write_nonblock raising (Yorick Peterse)
    This tests for IO#write_nonblock raising IO::EAGAINWaitWritable when an
    operation would block (instead of just raising Errno::EAGAIN).
  • Use correct exceptions in IO#(read/write)_nonblock (Yorick Peterse)
    IO#read_nonblock should raise IO::EAGAINWaitReadable (or
    IO::EWOULDBLOCKWaitReadable) while
    IO#write_nonblock should raise IO::EAGAINWaitWritable (or
    IO::EWOULDBLOCKWaitWritable).
  • Added EINPROGRESS Wait classes (Yorick Peterse)
    These will be used by rubysl-socket for connecting a socket in a
    non-blocking manner.
  • Added specs for RARRAY_AREF. (Brian Shirai)
    This macro does no bounds checking on MRI. Initially added it to support
    updated code for openssl from MRI. Considered changing the use of it in
    openssl C-ext but other extensions will surely use it as well FOR SPEED.

¯(ツ)

  • Added RARRAY_AREF. (Brian Shirai)
  • Updated openssl gem version. (Brian Shirai)
  • Use iterative algo to parse Regexp. (Brian Shirai)
  • Added io/nonblock to bootstrap gems. (Brian Shirai)
  • Updated openssl gem to 2.6. (Brian Shirai)
  • Ignore missing file when updating gems_list.txt. (Brian Shirai)
  • Added ifa_broadaddr/ifa_dstaddr to ifaddrs struct (Yorick Peterse)
  • Added commit log to release text. (Brian Shirai)
  • Fixed list of files to upload for deploy. (Brian Shirai)
rubinius - Release 2.8

Published by brixen almost 9 years ago

Version 2.8 (2015-12-23)

rubinius - Release 2.6

Published by brixen almost 9 years ago

Version 2.6 (2015-12-06)

rubinius - Release 2.7

Published by brixen almost 9 years ago

Version 2.7 (2015-12-20)

rubinius - Release 2.5.8

Published by brixen over 9 years ago

Version 2.5.8 (2015-07-14)

News:

  • Array#flatten compatibility when calling #to_a on elements is improved.

  • Fixed checking the return value of malloc() in case allocation fails.

  • The C++ abort, bug, warn methods use the logger facility.

  • Internal locking is improved.

  • Rubinius::Metrics performance counters are now only counters and not gauges
    because counters preserve their characteristics under sampling.

  • Parsing of configuration options containing a '.' is improved.

  • Rubinius::Metrics FileEmitter writes performance counters to a specified
    file every -Xsystem.metrics.interval milliseconds.

  • BasicObject#equal? is used for Symbol#==.

  • The young generation garbage collector size and lifetime auto-tuning is
    removed. The size can be set with -Xgc.young_bytes, which defaults to 40mb.
    The lifetime can be set with -Xgc.young_lifetime, which defaults to 2.

  • Comparable#== uses a recursion guard instead of rescuing SystemStackError.

  • Marshal#load compatibility is improved for an instance of a Hash that has
    been extended.

  • Configuration options are available for -Xsystem.log.limit,
    -Xsystem.log.access and -Xsystem.log.archives. This provides native log
    rotation by Rubinius that does not depend on signals. Use of signals for key
    functionality in a runtime like Rubinius is problematic because the running
    Ruby program could trap those signals and interfere with the system.

    The option -Xsystem.log.limit sets a limit in bytes on the size of the log
    file.

    The option -Xsystem.log.archives sets a limit on the number of archives that
    are retained. The active log file is zipped and the files are rotated up to
    the limit, resulting in, for example, rbx-user.log, rbx-user.log.1.Z, etc.

    The option -Xsystem.log.access sets the access permissions on the log file.

  • Rubinius::Diagnostics are added. The diagnostics provide state-oriented
    logging, in contrast to the Rubinius::Metrics, which provide monotonic
    counters on various aspects of work performed by the program. The
    diagnostics are emitted in summary form to the log file at regular
    intervals, but only if the values have updated since the last time they were
    emitted, so they do not consume much log space.

  • Threads are immediately removed from the internal list of threads when the
    thread function completes. The Thread object preserves all other state as
    long as it is reachable in the object graph. The process memory for the
    Thread is recovered by a finalizer function when the Thread object is no
    longer reachable.

  • System halt is reworked to prevent race conditions on cleaning up resources
    when the process is halting. The halt code is no longer run by any Ruby
    thread executing, but instead is run on the dedicated thread that processes
    signals.

  • Bundler is updated to 1.10.5.

Changelog:

  • Fixed setting log file access permissions. (Brian Shirai)
  • Updated Bundler to 1.10.5. (Brian Shirai)
  • Fixed default CI spec exit status. (Brian Shirai)
  • Smash another racey process spec. (Brian Shirai)
  • Reworked halting the system. (Brian Shirai)
  • Default to non-zero spec process exit status. (Brian Shirai)
  • Removed "BUNDLER WITH" crap from Gemfile.lock (Yorick Peterse)
  • Remove threads from list when they finish executing. (Brian Shirai)
  • Removed left over Bert files. (Brian Shirai)
  • Calculate total memory diagnostics better. (Brian Shirai)
  • Default eden to 30mb. (Brian Shirai)
  • Reworked ObjectMemory diagnostics. (Brian Shirai)
  • Added memory summary to diagnostics. (Brian Shirai)
  • Cleaned cruft replaced by diagnostics. (Brian Shirai)
  • Added collection counts to Baker, Immix diagnostics. (Brian Shirai)
  • Fixed CodeManager diagnostics. (Brian Shirai)
  • Fixed calculating C-API handle diagnostics. (Brian Shirai)
  • Fixed InflatedHeaders diagnostics. (Brian Shirai)
  • Fixed BakerGC diagnostics. (Brian Shirai)
  • Added config for log file access permission. (Brian Shirai)
  • Added Rubinius::Diagnostics. (Brian Shirai)
  • Fix lookup of respond_to_missing? method and add some specs. (Joe Eli McIlvain)
  • Fixed header file for GCC. (Brian Shirai)
  • Fixed include for Linux. (Brian Shirai)
  • Added config items -Xsystem.log.limit, -Xsystem.log.archives. (Brian Shirai)
  • Added log rotation with compression. (Brian Shirai)
  • More Metrics cleanup. (Brian Shirai)
  • Added Marshal#load spec for extended Array. (Brian Shirai)
  • Fixed Marshal#construct_hash to handle edge case of extended Hash (sshao)
  • added edge-case Marshal#load spec for extended Hashes containing user-marshaled objects (sshao)
  • Merge pull request #3452 from eregon/comparable_equal_recursion (Brian Shirai)
  • Added spec for Comparable#<=> with #<=> calling super. (Benoit Daloze)
  • Added spec for Comparable#<=> without #<=> defined. (Benoit Daloze)
  • Changed Comparable#== to use a recursion guard. (Benoit Daloze)
  • Added a couple more machine metrics. (Brian Shirai)
  • A few more JIT metrics. (Brian Shirai)
  • Rewrote Rubinius::Metrics. (Brian Shirai)
  • Removed young generation auto-tuning. (Brian Shirai)
  • Merge pull request #3449 from eregon/symbol_equal (Yorick Peterse)
  • Use BasicObject#equal? for Symbol#==. (Benoit Daloze)
  • Added OnStack for backtrace / Location Array. (Brian Shirai)
  • Fix for GCC's idiotic warn unused-result. (Brian Shirai)
  • Revert "Switched StatsD to counter." (Brian Shirai)
  • Fixed parsing StatsD config . (Brian Shirai)
  • Added Metrics FileEmitter. (Brian Shirai)
  • Fixed parsing config values with '.'. (Brian Shirai)
  • Switched StatsD to counter. (Brian Shirai)
  • Converted Metrics to only counters. (Brian Shirai)
  • Added typedef for InternalThreadList. (Brian Shirai)
  • Removed Thread#critical=. (Brian Shirai)
  • Merge pull request #3448 from nirvdrum/fix_step_float_iterations_size (Yorick Peterse)
  • Fixed return value for Rubinius::Mirror::Range#step_float_iterations_size. (Kevin Menard)
  • More locking fixes. (Brian Shirai)
  • Emit abort, bug, warn content with logger. (Brian Shirai)
  • Added log of exit status. (Brian Shirai)
  • Fixed latent SEGVs from malloc() returning NULL. (Brian Shirai)
  • Fixed Array#flatten. (Brian Shirai)
  • Added Array#flatten specs. (Brian Shirai)
rubinius - Release 1.4.11

Published by brixen over 9 years ago

Version 1.4.11 (2015-07-14)

News:

  • Configuration options are available for -Xsystem.log.limit and
    -Xsystem.log.archives. This provides native log rotation by Rubinius that
    does not depend on signals. Use of signals for key functionality in a
    runtime like Rubinius is problematic because the running Ruby program could
    trap those signals and interfere with the system.

    The option -Xsystem.log.limit sets a limit in bytes on the size of the log
    file.

    The option -Xsystem.log.archives sets a limit on the number of archives that
    are retained. The active log file is zipped and the files are rotated up to
    the limit, resulting in, for example, rbx-user.log, rbx-user.log.1.Z, etc.

  • Rubinius::Diagnostics are added. The diagnostics provide state-oriented
    logging, in contrast to the Rubinius::Metrics, which provide monotonic
    counters on various aspects of work performed by the program. The
    diagnostics are emitted in summary form to the log file at regular
    intervals, but only if the values have updated since the last time they were
    emitted, so they do not consume much log space.

  • Threads are immediately removed from the internal list of threads when the
    thread function completes. The Thread object preserves all other state as
    long as it is reachable in the object graph. The process memory for the
    Thread is recovered by a finalizer function when the Thread object is no
    longer reachable.

  • System halt is reworked to prevent race conditions on cleaning up resources
    when the process is halting. The halt code is no longer run by any Ruby
    thread executing, but instead is run on the dedicated thread that processes
    signals.

Changelog:

  • Updated rubysl-profiler to 1.0.1. (Brian Shirai)
  • Merge remote-tracking branch 'origin' into 1.8.7 (Brian Shirai)
  • Fixed default CI spec exit status. (Brian Shirai)
  • Smash another racey process spec. (Brian Shirai)
  • Reworked halting the system. (Brian Shirai)
  • Default to non-zero spec process exit status. (Brian Shirai)
  • Removed "BUNDLER WITH" crap from Gemfile.lock (Yorick Peterse)
  • Remove threads from list when they finish executing. (Brian Shirai)
  • Removed left over Bert files. (Brian Shirai)
  • Calculate total memory diagnostics better. (Brian Shirai)
  • Default eden to 30mb. (Brian Shirai)
  • Merge remote-tracking branch 'origin' into 1.8.7 (Brian Shirai)
  • Reworked ObjectMemory diagnostics. (Brian Shirai)
  • Merge remote-tracking branch 'origin' into 1.8.7 (Brian Shirai)
  • Added memory summary to diagnostics. (Brian Shirai)
  • Cleaned cruft replaced by diagnostics. (Brian Shirai)
  • Merge remote-tracking branch 'origin' into 1.8.7 (Brian Shirai)
  • Added collection counts to Baker, Immix diagnostics. (Brian Shirai)
  • Fixed CodeManager diagnostics. (Brian Shirai)
  • Fixed calculating C-API handle diagnostics. (Brian Shirai)
  • Fixed InflatedHeaders diagnostics. (Brian Shirai)
  • Merge remote-tracking branch 'origin' into 1.8.7 (Brian Shirai)
  • Merge remote-tracking branch 'origin' into 1.8.7 (Brian Shirai)
  • Fixed BakerGC diagnostics. (Brian Shirai)
  • Added config for log file access permission. (Brian Shirai)
  • Added Rubinius::Diagnostics. (Brian Shirai)
  • Fix lookup of respond_to_missing? method and add some specs. (Joe Eli McIlvain)
  • Fixed header file for GCC. (Brian Shirai)
  • Fixed include for Linux. (Brian Shirai)
  • Added config items -Xsystem.log.limit, -Xsystem.log.archives. (Brian Shirai)
  • Added log rotation with compression. (Brian Shirai)
  • More Metrics cleanup. (Brian Shirai)
rubinius - Release 1.4.10

Published by brixen over 9 years ago

Version 1.4.10 (2015-06-26)

News:

  • Fixed checking the return value of malloc() in case allocation fails.
  • The C++ abort, bug, warn methods use the logger facility.
  • Internal locking is improved.
  • Rubinius::Metrics performance counters are now only counters and not gauges
    because counters preserve their characteristics under sampling.
  • Rubinius::Metrics FileEmitter writes performance counters to a specified
    file every -Xsystem.metrics.interval milliseconds.
  • Object#equal? is used for Symbol#==.
  • The young generation garbage collector size and lifetime auto-tuning is
    removed. The size can be set with -Xgc.young_bytes, which defaults to 40mb.
    The lifetime can be set with -Xgc.young_lifetime, which defaults to 2.
  • Comparable#== uses a recursion guard instead of rescuing SystemStackError.
  • Marshal#load compatibility is improved for an instance of a Hash that has
    been extended.
  • Bundler is updated to 1.10.5.

Changelog:

  • Updated Bundler to 1.10.5. (Brian Shirai)
  • Added Marshal#load spec for extended Array. (Brian Shirai)
  • Fixed Marshal#construct_hash to handle edge case of extended Hash (sshao)
  • added edge-case Marshal#load spec for extended Hashes containing user-marshaled objects (sshao)
  • Added spec for Comparable#<=> with #<=> calling super. (Benoit Daloze)
  • Added spec for Comparable#<=> without #<=> defined. (Benoit Daloze)
  • Changed Comparable#== to use a recursion guard. (Benoit Daloze)
  • Added a couple more machine metrics. (Brian Shirai)
  • A few more JIT metrics. (Brian Shirai)
  • Rewrote Rubinius::Metrics. (Brian Shirai)
  • Fixed Marshal#construct_hash to handle edge case of extended Hash (sshao)
  • added edge-case Marshal#load spec for extended Hashes containing user-marshaled objects (sshao)
  • Removed young generation auto-tuning. (Brian Shirai)
  • Use BasicObject#equal? for Symbol#==. (Benoit Daloze)
  • Added OnStack for backtrace / Location Array. (Brian Shirai)
  • Fix for GCC's idiotic warn unused-result. (Brian Shirai)
  • Revert "Switched StatsD to counter." (Brian Shirai)
  • Fixed parsing StatsD config . (Brian Shirai)
  • Added Metrics FileEmitter. (Brian Shirai)
  • Fixed parsing config values with '.'. (Brian Shirai)
  • Switched StatsD to counter. (Brian Shirai)
  • Converted Metrics to only counters. (Brian Shirai)
  • Added typedef for InternalThreadList. (Brian Shirai)
  • Fixed return value for Rubinius::Mirror::Range#step_float_iterations_size. (Kevin Menard)
  • Fixed locking for Thread#critical= lock. (Brian Shirai)
  • More locking fixes. (Brian Shirai)
  • Emit abort, bug, warn content with logger. (Brian Shirai)
  • Added log of exit status. (Brian Shirai)
  • Fixed latent SEGVs from malloc() returning NULL. (Brian Shirai)
  • Fixed latent SEGVs from malloc() returning NULL. (Brian Shirai)
  • Updated bundler to 1.10.4. (Brian Shirai)
rubinius - Release 1.4.9

Published by brixen over 9 years ago

Version 1.4.9 (2015-06-16)

News:

  • Thread synchronization accessing an internal data structure is improved.
  • 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 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.
  • Struct#each_pair compatibility is improved.
  • Pre-installed gems are updated:
    • bundler 1.9.9 -> 1.10.4
    • 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
  • RubyGems is updated to 2.4.8. See CVE-2015-3900.

Changelog:

  • Updated gems_list.txt. (Brian Shirai)
  • Removed SYNC_TL and other threading fixes. (Brian Shirai)
  • 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)
  • 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 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)
Package Rankings
Top 6.73% on Proxy.golang.org
Badges
Extracted from project README
Gitter Build Status