Skip to content

Releases: rubinius/rubinius

Release 4.0

04 May 23:37
6ed15a8
Compare
Choose a tag to compare

Version 4.0 (2019-05-04)

Release 3.107

15 Jul 19:36
387c488
Compare
Choose a tag to compare

Version 3.107 (2018-07-15)

  • Fixed marking finalizer of ManagedFinalizer. (Brian Shirai)

Release 3.106

07 Jul 20:39
737556c
Compare
Choose a tag to compare

Version 3.106 (2018-07-07)

  • Align frozen object's error message with MRI. (Jun Aruga)
  • Normalize RUBY_T_xxx definitions with MRI. (Brian Shirai)
    Taken from github.com/ruby/ruby commit 4b1fbbe92a758416294c3f336bb8e22bab3f1ff0

Release 3.105

28 May 19:14
477d83b
Compare
Choose a tag to compare

Version 3.105 (2018-05-28)

  • Load paths with trailing separator. Fixes #3797. (Brian Shirai)

Release 3.104

16 May 04:23
eced203
Compare
Choose a tag to compare

Version 3.104 (2018-05-15)

  • Add NULL check to reference_p predicate. (Brian Shirai)

Release 3.103

12 May 17:16
7f1b0ee
Compare
Choose a tag to compare

Version 3.103 (2018-05-11)

  • Populate INCFLAGS rather than CFLAGS at configure time (Aaron Stone)
  • Update configure to use incflags. (Brian Shirai)
  • Update rbconfig to use incflags. (Brian Shirai)

Release 3.102

11 May 18:48
e9b88b0
Compare
Choose a tag to compare

Version 3.102 (2018-05-11)

Thanks to @sodabrew and @saizai for figuring out what was happening.

Release 3.101

05 May 17:29
f06f55d
Compare
Choose a tag to compare

Version 3.101 (2018-05-05)

  • Switch to new MemoryHeader. (Brian Shirai)
  • Add mutex header. (Brian Shirai)
  • Cache Fiber's last value. (Brian Shirai)
    In the Rubinius implementation, every Fiber is actually a separate
    pthread that is coordinated by the owning Thread object. Passing values
    from and to the Fiber is mediated by the Thread.

Behind both a Thread and a Fiber is a data structure for various
information that supports the functioning of the Thread or Fiber. When
the underlying pthread function terminates, it sets sets that structure
to a "zombie" status so that its resources can eventually be released.
In doing so, it removes the reference to the Thread object associated
with the Fiber, so we need to cache the last value in the Fiber itself.

  • Fix isinf/isnan namespace issue on GNU stdlib. (Brian Shirai)
  • In README and README.md, refer to rubinius-book/getting_rubinius.html for more detailed information about building from source. (Jack Desert)
  • Don't set object reference to NULL. (Brian Shirai)
  • Hide some more core library methods. (Brian Shirai)
  • Reset logger lock after fork(). (Brian Shirai)

Release 3.100

02 Mar 17:46
250dab1
Compare
Choose a tag to compare

Version 3.100 (2018-03-02)

  • Add seq number & nodename to diagnostics JSON. (Brian Shirai)
  • Use better supported time rendering. (Brian Shirai)
  • Add thread name & ID to diagnostics. (Brian Shirai)
  • Add new object header. (Brian Shirai)
    The new header and extended header provide several capabilities:
  1. All header assignments are concurrency safe (ie devoid of
    pathological data races in read+update+write and write+write scenarios);
  2. Enables two kinds of managed objects: object-oriented ones (ie
    instances of a class) and data-oriented ones (ie instances of a type);
  3. Allows for asserting the "ownership" of managed objects based on the
    thread_id signature;
  4. Allows for moving objects by designating the location of an object as
    a pointer "forwarding" to the new location of the object;
  5. Allows for pinning a managed object so that its location cannot be
    changed;
  6. Allows for "visiting" an object by tracing the objects it references
    independently from the garbage collector's tracing of objects so that
    a subgraph of the object graph can be traced in a way that
    interleaves with the activity of the garbage collector marking
    visited objects;
  7. Allows for retaining objects based on a count of references to that
    object instead of only by reachability (ie the transitive closure
    over the object graph);
  8. Allows for extending the header to consume more than a single machine
    word (assumes 64-bit architecture);
  9. Allows for assigning a unique ID to an object that is bounded by the
    range of a Fixnum value by using an extended header;
  10. Enables storing a fixed-point memory address that indirectly
    references the managed object to provide opaque object references
    for the C-API;
  11. Allows for locking an object by the thread owning the object, or
    expanding the locking mechanism to a system-dependent mutex;
  12. Enables type-specific bits of information in the header.
  • Add object_id and C-API handle to new header. (Brian Shirai)
  • Replaced C macro approach to MemoryHeader. (Brian Shirai)
  • Added more MemoryHeader operations. (Brian Shirai)
  • Fixed variable reference. (Brian Shirai)
  • Fixed setting referenced count. (Brian Shirai)
  • Fixed MemoryHeader::get_object_id. (Brian Shirai)
  • Fixed MemoryHeader::get_handle. (Brian Shirai)
  • Added MemoryHeader locking. (Brian Shirai)
  • Try to use LLVM 5.0 on Travis Linux. (Brian Shirai)
  • Try forcing libc++ on Travis. (Brian Shirai)
  • Try installing libc++ on Travis. (Brian Shirai)
  • Of course I'd want libc++ without the ABI FFS. (Brian Shirai)
  • Fixed lock test. (Brian Shirai)
  • temp fix for cleaning up after gems with C-exts (Chuck Remes)
  • Remove legacy test-unit and preinstall test-unit gem. (Brian Shirai)
  • Use LLVM 5.0 for building binaries for Linux. (Brian Shirai)
  • Revert to non-libc++. (Brian Shirai)
  • Remove memory header lock test temporarily. (Brian Shirai)
  • Fixed disabling VM test. (Brian Shirai)

Release 3.99

10 Feb 01:08
985ac9e
Compare
Choose a tag to compare

Version 3.99 (2018-02-09)

  • Add profiler minimum sample config for reporting. (Brian Shirai)
  • Fix inline cache. Closes #3783. (Brian Shirai)