1.2.0

## Overview

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

1.1.1 is bugfix release for 1.1, containing minor performance improvements, compatibility adjustments, and bugfixes.

## About

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.

#### Stats

- Release Date: November 16th, 2010
- Commits: 206
- Days since last release: 64

#### Authors

- Brian Ford
- Charles Comstock
- Dirkjan Bussink
- Eero Saynatkari
- Eric Wong
- Evan Phoenix
- Ivan Samsonov
- Jari Bakken
- Jeremy Durham
- Matthew Draper
- Sean Bryant
- Tony Arcieri

## Summary

- Make CM#locate_line more strict. Fixes #563
- Make sure that the preinstalled dir is always present
- Updated Rapa source to 36f91258.
- Fixed code confusing GCC overflow checks in unpack.
- Show the missing file error to -c more clearly. Fixes #568
- Add ruby-debug stub gem
- Use redo_coerced when calling Float#divide. Fixes #564
- Remove old SendSite/Selector cruft
- Fix CompiledMethod#locate_line
- Add Rubinius::OS_ARGV and Rubinius::OS_STARTUP_DIR
- Change IO::Buffer => IO::InternalBuffer. Fixes #560
- Make sure there is a fallback policy. Fixes #561
- Explicitly add -fno-omit-frame-pointer to the build flags
- Workaround for FreeBSD by exposing dlopen directly
- Support for native extensions with a . in their name
- Add hook to allow code to install a custom debugger
- Add ability to scope and stop only in certain stack frames. Fixes #558
- Add rb_set_end_proc to ruby.h
- Make Readline library configurable.
- Imported pure Ruby Readline (rb-readline at e591463)
- Add Array#select via aliasing
- Handle next’ing out of rescue handlers. Fixes #556
- Fix Bignum#» to respect 2s complement properly
- Follow the weird self-in-eval behavior
- Add enough delegation to support Method#parameters. Fixes #557
- Wipe out CDPATH when building. Fixes #555
- Use Kernel.exec, not just exec because self is uncontrolled.
- Implement rb_set_end_proc
- Add rb_thread_wait_for
- Cleanup unused base64 code
- Fixed rbx compile -N broken by #531 fix.
- Ensure ObjectFlags bit fields are endian portable.
- Check nil object identity in IO#puts. Closes #550.
- Rework loader error reporting when running a script. Closes #551.
- Specify the version for FFI::Library::LIBC like ffi-ruby gem. Closes #546.
- Create gem cache dir with mkdir_p. Closes #541 again.
- Fixed function declarations. Closes #543.
- Backport add –cxx to configure from multiverse (6596ed7). Closes #542.
- Add rb_struct_new and rb_ary_freeze. Fixes #540
- Make sure the user’s gem cache directory exists. Fixes #541
- Incorporate rubygems loadtime speedup patch
- Speed up rubygems gemspec loading via caching
- Remove CompiledMethod#compile
- Seperate out running finalizers in profiler output
- Add ability to cache eval compile requests
- Handle fixnums in JIT float ops too
- Emit error message when attempting to run .rbc file.
- Add RE_* option macros to CAPI
- Get syslog passing the specs
- Avoid exception in Backtrace#show when show_color is false.
- Handle attr_assgn in splat properly. Fixes #531.
- Implement rb_protect_inspect and rb_inspecting_p. Fixes #517.
- Implement rb_exec_recursive (mostly cripped from 1.8.7)
- Make rb_gc_force_recycle a noop
- Add rb_cmpint, rb_cmperr, and rb_equal
- Don’t cache on autoload failure. Fixes #529
- Write out a newline for an empty string too. Fixes #525
- Add Regexp#search_from. Fixes #524
- Use string coersion for filename in class_eval / module_eval
- Current var_table can be NULL, fixes #527
- Add missing return value used in Errno.handle checks
- Allow for subclassing Thread, fixes #526
- Thread#new throws an exception when not given a block
- Propagate –cc configure setting to CC, CXX env vars. Closes #520.
- Removed -D from ‘rbx compile’ options. Closes #523.
- Better docs on installing gems with rbx.
- Fixed String#casecmp. Closes #518.
- Fixed –help output.
- See README for build, install directions. Closes #521.
- taking care of rb_ary_to_s for issue 517
- new capi method rb_obj_dup
- rb_str_new4 implementation.
- Improve performance of String#gsub. Fixes #515
- Use String#data to avoid subclass clobber. Fixes #516.
- Kernel.loop rescues StopIteration
- Convert Generator to use Fiber
- Add support for Enumerator#next using Threads and Fibers
- Use offset instead of substring. Fixes #514
- Allow for reopening subclasses of Module
- StringIO#gets can accepts string as separator. Fixes #513
- Better install UX and README instructions. Closes #511.
- Discover gdbm better. (Jeremey Evans)
- Build openssl ext with NO_STATIC_ENGINE on OpenBSD. (Jeremy Evans)
- Remove illegal casts. Fixes #509.
- Refuse to configure, build if RUBYLIB is set.
- Fix OpenBSD complaints about strcpy, sprintf.
- Don’t enable execinfo by default on OpenBSD.
- Add -D__STDC_LIMIT_MACROS to CFLAGS if it’s not there.
- Speed up rb_yield using some type checking tricks
- Fixed pack to taint output for tainted directives string.
- Added configure option to specify ‘rake’ command.
- Fix for missing pthread functions on OpenBSD.
- Fix String#split edge case. Fixes #505
- Set __STDC_LIMIT_MACROS for proper C99 compat. Fixes #507
- Relock the GIL in readline. Fixes #504.
- Set eval introduced locals in the proper scope. Fixes #506.
- Some OpenBSD fixes from Jeremy Evans.
- Set the scope of masgn locals early. Fixes #502.
- Use same wording/quoting as MRI. Fixes #503
- subclassing IO works properly for pipe/popen
- Enable running docs site with bootstrap Ruby using ‘rake docs’.
- Reorganize how the MRI backtrace is rendered. Fixes #501.
- Add missing pop to fix stack effect. Fixes #490
- Return the user’s object, not the coerced one. Fixes #499.
- Add Socket#connect_nonblock. Fixes #498.
- Add rb_io_close
- Add rb_memerror as a fatal condition. Fixes #496
- Add -fPIC to rbconfig CCDLFLAGS like MRI. Closes #492.
- Don’t allow meta classes to be allocated
- Preserve zero length captures. Fixes #495