Ruby MRI

Interpreter for the Ruby programming language


title: "Ruby MRI" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["free-and-open-source-interpreters", "free-software-programmed-in-c", "ruby-(programming-language)"] description: "Interpreter for the Ruby programming language" topic_path: "general/free-and-open-source-interpreters" source: "https://en.wikipedia.org/wiki/Ruby_MRI" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Interpreter for the Ruby programming language ::

::data[format=table title="Infobox software"]

FieldValue
nameRuby
logoRuby-logo-notext.png
developerYukihiro Matsumoto (among others)
discontinuedyes
latest release version1.8.7
latest release date{{Cite web
urlhttps://www.ruby-lang.org/en/news/2008/05/31/ruby-1-8-7-has-been-released/
access-date24 March 2023
released{{Cite web
urlhttps://www.ruby-lang.org/en/news/2003/08/04/ruby-180-released/
access-date12 January 2018
operating systemCross-platform
replaced_byYARV
programming languageC
genreRuby programming language interpreter
licenseRuby License
Simplified BSD License
GNU General Public License (prior to 1.9.3)
website
::

| name = Ruby | logo = Ruby-logo-notext.png | screenshot = | caption = | developer = Yukihiro Matsumoto (among others) | discontinued = yes | latest release version = 1.8.7 | latest release date = {{Cite web |url=https://www.ruby-lang.org/en/news/2008/05/31/ruby-1-8-7-has-been-released/ |access-date=24 March 2023|title=Ruby 1.8.7 Released}} | released = {{Cite web |url=https://www.ruby-lang.org/en/news/2003/08/04/ruby-180-released/ |access-date=12 January 2018|title=Ruby-1.8.0 released!}} | operating system = Cross-platform | replaced_by = YARV | programming language = C | genre = Ruby programming language interpreter | license = Ruby License Simplified BSD License GNU General Public License (prior to 1.9.3) | website = ::figure[src="https://upload.wikimedia.org/wikipedia/commons/7/76/Yukihiro_Matsumoto.JPG" caption="Yukihiro Matsumoto, the creator of Ruby."] ::

Matz's Ruby Interpreter or Ruby MRI (also called CRuby) is an implementation of the Ruby programming language named after Ruby creator Yukihiro Matsumoto ("Matz"). Until the specification of the Ruby language in 2012, the MRI implementation was considered the de facto reference, especially since an independent attempt to create the specification (RubySpec) had failed. Starting with Ruby 1.9, and continuing with Ruby 2.x and above, the official Ruby interpreter has been YARV ("Yet Another Ruby VM").

Ruby 1.8 is the last version that uses MRI.

History

Yukihiro Matsumoto ("Matz") started working on Ruby on February 24, 1993, and released it to the public in 1995. "Ruby" was named as a gemstone because of a joke within Matsumoto's circle of friends alluding to the name of the Perl programming language.

The 1.8 branch has been maintained until June 2013, and 1.8.7 releases have been released since April 2008.{{cite web | url = http://www.ruby-forum.com/topic/154217#new | title = Ruby Core: Ruby 1.8.7-preview4 has been released | date = 2008-05-26 | quote = The new version of Ruby includes many bug fixes, lots of feature enhancements and some performance improvements since 1.8.6 while maintaining stability and backward compatibility with the previous release to a high degree, although there are ongoing efforts that need to be done toward adopting RubySpec. | last = Musha|first=Akinori | access-date = 2008-05-30}}{{cite web | url = http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7_preview4/NEWS | title = 1.8.7 NEWS | access-date = 2008-05-30}} This version provides bug fixes, but also many Ruby feature enhancements.

The RubySpec project has independently created a large test suite that captures 1.8.6/1.8.7/1.9 behavior as a reference conformance tool. Ruby MRI 1.9.2 passed over 99% of RubySpec., MRI Ruby 2.2 crashed on one of the tests. As a result of the limited uptake by the MRI developers, RubySpec project has been discontinued as of end of 2014.

Licensing terms

Prior to release 1.9.3, the Ruby interpreter and libraries were distributed as dual-licensed free and open source software, under the GNU General Public License or the Ruby License. In release 1.9.3, Ruby's License has been changed from a dual license with GPLv2 to a dual license with the 2-clause BSD license.

Operating systems

Ruby MRI is available for the following operating systems (supported Ruby versions can be different):

This list may not be exhaustive.

;PowerPC64 performance: Since version 2.2.1, Ruby MRI performance on PowerPC64 was improved.

Limitations

Commonly noted limitations include:

;Backward compatibility: Version 1.9 and 1.8 have slight semantic differences. The release of Ruby 2.0 sought to avoid such a conflict between different versions.

Threaded programs cannot use more than a single CPU core due to the Global interpreter lock.

References

References

  1. "ISO - ISO/IEC 30170:2012 - Information technology — Programming languages — Ruby".
  2. Matsumoto, Yukihiro. (26 Dec 2007). "Subject: [ANN] Ruby 1.9.0 is released".
  3. Bruce Stewart. (2001-11-29). "An Interview with the Creator of Ruby". O'Reilly.
  4. shyouhei. (30 Jun 2013). "We retire Ruby 1.8.7".
  5. Yugui. (18 Aug 2010). "Ruby 1.9.2 is released".
  6. Brian Shirai. (31 December 2014). "Matz's Ruby Developers Don't Use RubySpec and It's Hurting Ruby.".
  7. "Ruby License".
  8. "Ruby 1.9.3 Release News".
  9. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi. (2015). "Ruby 2.2.1 Released".
  10. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi. (2015). "v2.2.1 ChangeLog".
  11. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi. (2014). "Specifying non volatile registers for increase performance in ppc64".
  12. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi. (2014). "Specifying MACRO for increase performance in ppc64".
  13. Rick DeNatale. (December 26, 2007). "Ruby 1.9 released".
  14. Yusuke Endoh. (24 February 2013). "Ruby 2.0.0-p0 is released".

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

free-and-open-source-interpretersfree-software-programmed-in-cruby-(programming-language)