Skip to content

2026.09.12

Latest

Choose a tag to compare

@matz matz released this 12 Sep 12:56
· 15 commits to master since this release
112bae8

The first dated release of spinel. The name says when it was cut (YYYY.MM.DD, .N for a second one on the same day) and claims nothing about how finished the compiler is; what a release promises is recorded in docs/limitations.md and in the tests, and ruby tools/promise_diff.rb will report what changed between this tag and any later commit.

What this one stands on:

  • The subset is documented: docs/limitations.md says what spinel does not do and why, split into what is by design and what is not yet built.
  • The behaviour is pinned: 3,596 test programs, each diffed against CRuby 4.0.4's output, plus the ruby/spec retention gate (language, core/array, core/string, core/hash, core/integer, core/range) run as gate legs on every push, on Linux (gcc and clang) and macOS.
  • The collector holds up on a real application: the generational object mark is the default as of this release (SPINEL_GC_MINOR=0 is the way back). Every test program is clean under the generational verifier with stress on, the LangArena suite runs end to end at 0.94x wall and 0.71x peak RSS, and the Rails-shaped application from #4311 answers under load with the verifier reporting nothing.

Build from source (make deps && make); spinel --version prints the build revision and this release name. See the README for the quick start and docs/spin.md for projects and packages.