Rubinius v4.14 Release Notes

Release Date: 2020-01-26 // almost 2 years ago
  • 🔖 Version 4.14 (2020-01-26)

    ➕ Added start of array-type instructions. (Brian Shirai)

    ⏪ Revert "Disable experimental compiler plugins." (Brian Shirai)
    ⏪ This reverts commit 806f3be.

    More work on array-type instructions. (Brian Shirai)

    ➕ Added --sanitize configure flag. (Brian Shirai)
    🍎 This doesn't work yet on macOS 😭

    👍 clang: error: unsupported option '-fsanitize=leak' for target 'x86_64-apple-darwin19.2.0'

    🛠 Fix warning on Ubuntu Bionic. (Brian Shirai)
    ⚠ machine/ffi_util.cpp:53:10: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>.
    For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to
    ✂ remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to
    👉 use a system-defined macro "major", you should undefine it after including <sys/types.h>.

    Switch to AddressSanitizer. (Brian Shirai)

    ✨ Enhance --sanitize configure option. (Brian Shirai)

    🍎 Exclude sysmacros.h on macOS. (Brian Shirai)

    Clean up some Valgrind-exposed memory leaks. (Brian Shirai)

    👉 Use unsynchronized set during GC. (Brian Shirai)
    🔀 We only run one thread during GC, so we don't need synchronized (un)set.

    Track code return value for GC. (Brian Shirai)

    Rework extended header & memory handle mechanisms. (Brian Shirai)

    ➕ Added ref count instructions. (Brian Shirai)

    ➕ Added deprecation for Fixnum, Bignum. (Brian Shirai)

    Clean up from memory header rework. (Brian Shirai)

    ✂ Removed a bunch of Rake stuff. (Brian Shirai)

    Start to clean up 'Machine'. (Brian Shirai)

    Checkpoint for GC after saving object reference. (Brian Shirai)
    👀 It turns out, surprisingly enough, it's much easier to see the object we
    👀 are trying to trace if we put it where we can see it first.