# Rubinius : Use Ruby™
Rubinius is an implementation of the Ruby programming language. The Rubinius bytecode virtual machine is written in C++. The bytecode compiler is written in pure Ruby. The vast majority of the core library is also written in Ruby, with some supporting primitives that interact with the VM directly.
Author: Less Than Three. <3. http://less.thanthree.com

1.2.3

## Overview

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

1.2.2 is a bugfix release for 1.2.1. It contains a security fix, a few highly visible bugfixes, a few platform and performance changes.

## 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.

## Summary

#### Stats

- Release Date: Feb 22, 2011
- Commits: 44
- Days since last release: 7
- Issues fixed: 6 since 1.2.1

#### Authors

- Brian Ford
- Evan Phoenix
- Dirkjan Bussink
- Jeremy Evans
- Mikko Perttunen
- Wayne E. Seguin

##### Closed Issues

- 7cbb344 Use coersion if possible in StringScanner. Fixes #696
- 94b1db0 Fix memory leak in BERT. Fixes #699
- c38052b Deal with gentoo/linux .so craziness. Fixes #698
- 93e172e Fix crash bug in syck. Fixes #690
- 2aec333 Properly manipulate the GIL around FFI calls (cremes). Fixes #688
- 246963a Allow for defining attribute methods on an immediate. Fixes #694

##### Security

- Updated fileutils.rb to MRI 1.8.7p334 to fix security issue.

##### Bug Fixes

- (CRASH) Allow a CM to have no StaticScope (alexsuraci)
- (CRASH) Update the current call_frame when waiting on the GIL.
- (CRITICAL) Enforce compiler signature check (and install the signature).
- Fix EBADF errors by being more careful with fd’s and IO objects
- Ignore spurious wakeups in Thread#join
- Fixed Kernel#private_methods, #public_methods.
- Fixed Kernel#singleton_methods.
- Fix object_id collision between two immediates if a shift would overflow
- Fail out of configure with better info on what happened
- Update rb-readline to 4610e69.
- Fixed issue installing over previous install.

##### Platform

- Rescue all lowlevel errors (OpenBSD raises EPERM sometimes)
- Fix build on OpenBSD

##### Performance

- Introduce object_instance_of primitive to speed up type checks

##### Enhancements

- Parse -X options from RBXOPT environment variable.
- Default rbc.db to ./.rbx.

##### Documentation

- Updated how-to/write-a-blog-post/ en doc.