Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

261 lines (241 sloc) 9.921 kB
layout class


The Rubinius team is proud to announce the availability of 1.2.4.

1.2.4 is a bugfix release for 1.2.3. It contains a large number of bug and compatibility fixes as well as a handful of performance improvements.

Starting with this release, the github repository has changed. It is now located at


Rubinius is a high performance environment for running code written in the Ruby programming language. It provides a number of virtual machine features found in other popular language runtimes such as generational garbage collection, Just-In-Time compilation, and compatibility with existing C APIs.



  • Release Date: Jul 05, 2011
  • Commits: 675
  • Days since last release: 112
  • Issues fixed: 49 since 1.2.3


  • Evan Phoenix
  • Brian Ford
  • Pavel Argentov
  • Dirkjan Bussink
  • burningTyger
  • Nikolai Lugovoi
  • Karol Hosiawa
  • Maximilian Lupke
  • Chuck Remes
  • Shane Becker
  • nazgob
  • Max Lupke
  • Charles Oliver Nutter
  • MenTaLguY
  • Flavio Castelli
  • Aman Gupta
  • Gibheer
  • Ivan Samsonov
  • heron lee medeiros
  • Victor Costan
  • Wayne E. Seguin
  • Jorge Dias
  • Konstantin Haase
  • Christopher Bertels
  • Peter Suschlik
  • Samsonov Ivan
  • David Czarnecki
  • Jesse Cooke
  • Tony Arcieri
  • eianco
  • Brian Miller
  • srawlins
  • Heron Medeiros
  • Markus Prinz
  • Franck Verrot
  • Lars Gierth
  • Matthew Draper
  • Dudley Flanders
  • Josep M. Bach
  • Herminio Torres
  • Chris Bunch
  • Wim Looman
  • Graham Batty
  • jc00ke
  • Dr Nic Williams
  • Aaron Patterson
  • Jano González
  • Gonçalo Silva
  • Gildo Fiorito
  • Jeremy Evans
  • George Ogata
  • Lionel Orry
  • Matthijs van der Vleuten
  • Mike Perham
  • Petr Hosek
  • Postmodern
  • Przemek Owczarek
  • Przemysław Grzegorczyk
  • Santosh Kumar
  • Stanislav Sedov
  • Chris Lee
  • Steve Klabnik
  • fyskij
  • hosiawak
  • leoncio caminha
  • Aviv Ben-Yosef
  • ren
  • Albert Vernon
  • Scott Noel-Hemming
Closed Issues
  • 47c3b17 Move prototypes to util to mitigate nokogiri bug. Fixes #1061
  • 45e0601 Add HAVE_ macros for blocking region stuff. Fixes #977
  • f6567b8 Don't use Kernel#sleep to know how much time has past. Fixes #986
  • ee2bdc2 Make sure that a local addrinfo side is found. Fixes #989
  • 3fa02ec Fix CompiledMethod#locate_line. Fixes #1040
  • f6ac3c8 Include stdint.h where it's needed. Fixes #1036
  • ecadf56 Fix []= with splats and all that jazz. Fixes #1021
  • 57b1181 Fix Method#parameters for non-CompiledMethods. Fixes #925
  • 6e3be13 Fix, .start, and .fork. Fixes #945
  • 5637a52 Guard all NME operations that need an NMF. Fixes #935
  • aeced68 Add rb_check_to_integer, Fixes #933
  • 38a5f97 Add support for -s on the cli. Fixes #879
  • 52532b0 Don't count a space leader request against the total width. Fixes #893
  • bef7f50 Handle certain operator symbol values specially. Fixes #895
  • 06da168 Handle STDIN being closed by default. Fixes #916
  • a81a80d Only check frozen if there is modification in Array#delete. Fixes #913
  • 75a1817 Create a specific Time subclass. Fixes #902
  • 675e9ca Provide size for converting byte_array into string. Fixes #887
  • 6a5cd94 Handle reopening a module that was included into Object. Fixes #883
  • 185efbf Fix Object.const_defined? wrt include modules. Fixes #865
  • cf9aea7 Exclude singleton classes from OS.each_object. Fixes #867
  • 7c0371e Set -P option to compiler to print the AST. Fixes #861
  • dba9314 Handle detect the ip for a line better. Fixes #719
  • 06c3412 in Array#==, use the raw Tuples. Fixes #822
  • 3973f6d Move Module#constants/constants_table => constant_table. Fixes #735
  • 02330f0 Use an offensive copy in Array#permutation. Fixes #775
  • c401af1 Add Rubinius.current_file. Fixes #841
  • 944a6d1 Fix build on FreeBSD - Fixes #844
  • 9c72fba Conditional SSLv2 usage. Fixes #818
  • f079e72 Handle Marshal'ing a Mutex and Channel better. Fixes #821
  • 9f3d790 Add rb_cMethod. Fixes #816
  • f1c6d65 Remove duplicate local names from #local_variables. Fixes #772
  • 9693227 Don't screw with vcall new. Fixes #777
  • e70c097 Disable fibers on >= 10.7. Fixes #815
  • 29e5f49 Apply StringScanner speedup patch. Fixes #716
  • 0640ece Apply patch for todo. Fixes #810
  • 087ae79 Handle the GIL around FFI callbacks. Fixes #796
  • d3026d6 Read the static scope for an inlined block properly. Fixes #807
  • c2992f9 Also install tooling extensions. Fixes #806
  • 26b1398 assume RWX memory is available for ffi on linux (jit requirement); selinux users: setsebool allow_execmem true. Fixes #782
  • 115c1a0 improve performance of Time#<=>. Fixes #785
  • cf71b7d correct BigDecimal::ROUND_HALF_DOWN/ROUND_HALF_EVEN behavior. Fixes #781
  • d962458 Ignore requests to set DATA unless in the main script. Fixes #790
  • b653999 Marshal.load raises ArgumentError on unknown class/modules (Fixes #791)
  • 2675eb8 Make sure that String::c_str() unshares before clamping. Fixes #793
  • 596adbb rb_ary_reverse reverses in-place (Fixes #792)
  • 44b68fc Added testrb bin from MRI. Fixes #788
  • bd3deed Put IRB help in the right place. Fixes #783
  • f4210b9 Fix tested braces in Dir.glob (@meadow). Fixes #778
  • New blog post: rubinius around the world map and pins of shirts/tshirts
  • New blog post: rubinius summit hollywood edition june twenty oh elleven
  • Added AST docs
  • Add German translation of GC docs
  • Updated spanish translation to the How-To Write Documentation page
  • Translated debugger and memory analysis to Polish
  • New blog Post: 2.0 Developer Preview.
  • Start French documentation
  • Translating Rubinius English Documentation to Portuguese Brazilian - Appendix b
  • New blog post: rubinius rewards
  • Add brief overview of Actors to concurrency docs
  • FreeBSD notice in Requirements
  • Updated RVM section in Readme with more detail and clarity.
  • New blog post: Running Ruby With No Ruby.
Platform Fixes
  • Add a bunch of errno's from FreeBSD
Performance Fixes
  • Speed up capi::HandleSet by adding an allocationless fast path
  • Increase the malloc threshold to 100M
  • 3x speedup in String#insert
  • String#[] perf improved by 55% for the Fixnum case by removing not needed coerce_to
  • Speed up some easy case for Array#*
  • Speed up Array#map and #map! by 3x
  • Increase performance of Module#public_/private_ and protected_methods
  • Improve perf of Module#instance_methods and LookupTable#each
  • Speed up Dir.glob for realistic workloads
  • Improve the performance of mp_set_long
  • Improve performance of Time#to_f
  • Added Rubinius::KERNEL_PATH and install kernel .rb files.
  • Add ability to display CAPI methods in backtraces
  • Slow but usable IO.ioctl
  • Add FFI::Pointer.size for compatibility with ruby-ffi
  • Add ability to set the marksweep allocation threshold
  • Added version checking to rbc loading.
  • Improve the details the VM can show about a CompiledMethod
  • New blog post: adam prescott on scopes in rubinius
  • Remove Moment, not in use.
  • Added -Xprofiler.output=name option.
  • Simplify FalseClass#^.
  • Ignore tooling/profiler generated Makefile.
  • Move profiler to generic tooling framework
  • Add rb_struct_getmember to CAPI
  • Add rb_alias to CAPI
  • Add rb_ary_to_ary to CAPI
  • BIG improvement for Time#<=>, credit should go to meadow
  • Add tool for rendering call graph as HTML
  • Add @avibryant's protobuf decoding benchmark
  • Update to latest OpenSSL extension from 1.8.7
  • Add ability to disable inlining a method preemptively
Bug Fixes
  • Load correct digest file, fixes broken Rubygems
  • Fix Module#dup: use the direct_superclass instead of superclass
  • Fixing inplace edit when no backup extension provided
  • Add CodeLoader.compiled_hook, triggered after a source file is compiled
  • Ported OpenStruct fix from MRI.
  • Tag OpenStruct failures.
  • Let IO#each increase the line count
  • Memory allocated with ALLOC_N not freed by XFREE in edge cases
  • Add spec for File.owned? and fix a bug
  • Fixed memory leak, memory allocated by new[] was freed by delete instead of delete[]
  • Removed characters accessor from String.
  • Add 'more correct' -S flag for running gem commands in README
  • Add support for -i CLI option
  • Pick the proper local address to bind with
  • Stop currently running methods to fix profiler results
  • Fix SortedSet to ensure objects comparable with <=>
  • Translate appendix-a-glossary.markdown to pt-br
  • Fixed rb_num2long, rb_num2ulong.
  • Reenter managed mode BEFORE creating an FFI result object
  • Honor Time subclasses in the right places
  • rbx report should not fail silently when Gist submission didn't work
  • Add bounds checking to to_chars and make sure it's 0 terminated
  • Add dummy P rules for pack/unpack
  • Have libc include a version number to deal with gentoo
  • Fixed
  • Allow rbx_meta_to_s to raise an exception
  • Make Module#const_get the proper arity (rails fix)
  • Fix Kernel#binding and it's self(ish) rules
  • Freeze strings returned by ENV.[].
  • Fix <=, ==, >= comparisons to avoid trivial object identity comparisons.
  • Bounds check and avoid c_str() in Regexp prims
  • Fix building with LLVM disabled
  • Add workaround for setting ruby_verbose / ruby_debug in C extensions
  • Fix render_profile, scripts, and thread runtimes
  • Use Type.object_kind_of? instead of Class.===.
  • Use object's #respond_to? in Type.try_convert.
  • Add additional safety checks to using the data of a String in the vm
  • Correct mistaken usage of $stdin instead of $stdout in putc
  • Fix #source_location for methods defined using define_method.
  • Fix Marshal.dump for 64-bit Fixnum
  • Errno::ISCONN -> Errno::EISCONN
  • Marshal.load wraps NameError in ArgumentError
  • Fixed YAML parsing second fraction to microseconds from iso8601 date
  • Fix colliding Hash#entries method name
  • Fix build on OpenBSD
  • Fixed Array.slice!(0) for consecutive calls
  • Fix Enumerable.include?(obj) to use call e_item==(obj), not obj==(e_item)
  • Force LLVM to treat sandy bridge as core2
Jump to Line
Something went wrong with that request. Please try again.