Ruby Standard Gems

About the Gemified Standard Library

Ruby's standard library is in the process of being gemified. More and more libraries will be turned into RubyGems, which can be updated independently from Ruby.

There are two different kinds of standard gems:

Gemification Progress

As of Ruby 2.7, 57% (62 of 108) standard libraries have been gemified.

Standard gems changes in Ruby: 2.7 - 2.6 - 2.5 - 2.4 - 2.3 - 2.2

Checkout Hiroshi Shibata's talk at RubyConf 2017 for more info. Also see Ruby issue #5481 for the current state of the gemification project.

Standard Gems Version Data

Every Ruby version ships a specific set of default and bundled gems. The tables below list included gems of the current Ruby version 2.7.0. There is also version comparison that shows which Ruby version comes with which gem versions. The raw data is available as default_gems.json and bundled_gems.json.

Default Gems (Ruby 2.7.0)

Gem Version Description Resources
benchmark 0.1.0 Benchmark utility: Measures and reports the time used to execute code RubyGems, GitHub, CRuby, RDoc
bigdecimal c 2.0.0 Support for arbitrary-precision floating point decimal arithmetic RubyGems, GitHub, CRuby, RDoc
bundler 2.1.2 Bundler is the local package manager for Ruby applications RubyGems, GitHub, CRuby, RDoc
cgi c 0.1.0 Support for CGI (Common Gateway Interface) RubyGems, GitHub, CRuby (1), CRuby (2), CRuby (3), RDoc
csv 3.1.2 Support for CSV (Comma-separated Values) RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
date c 3.0.0 The Date and DateTime classes RubyGems, GitHub, CRuby, RDoc (1), RDoc (2)
dbm c 1.1.0 Support for DBM databases RubyGems, GitHub, CRuby, RDoc
delegate 0.1.0 Provides three ways to delegate method calls RubyGems, GitHub, CRuby, RDoc
did_you_mean 1.4.0 Patches error messages to suggest correct spelling of methods/classes/variables RubyGems, GitHub, CRuby (1), CRuby (2)
etc c 1.1.0 Access UNIX info from /etc RubyGems, GitHub, CRuby, RDoc
fcntl c 1.0.0 Loads values from the OS' fcntl.h to be used for low-level file descriptor manipulation system calls with IO#fcntl and IO.sysopen RubyGems, GitHub, CRuby, RDoc
fiddle c 1.0.0 Support for FFI (Foreign Function Interface) RubyGems, GitHub, CRuby, RDoc
fileutils 1.4.1 Utilities for working with the file system, such as copying, moving, or deleting files RubyGems, GitHub, CRuby, RDoc
forwardable 1.3.1 Provides a way to delegate method calls. Also see this overview of delegation in Ruby, which contains an example RubyGems, GitHub, CRuby (1), CRuby (2), CRuby (3), RDoc
gdbm c 2.1.0 Support for GDBM databases RubyGems, GitHub, CRuby, RDoc
getoptlong 0.1.0 GNU getopt_long() style command-line option parsing RubyGems, GitHub, CRuby, RDoc
io-console c 0.5.3 Patches IO for simple and portable access to the console RubyGems, GitHub, CRuby, RDoc
ipaddr 1.2.2 IP address manipulation (IPv4 and IPv6) RubyGems, GitHub, CRuby, RDoc
irb 1.2.1 Interactive Ruby Console (REPL) RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
json c 2.3.0 Support for JSON (JavaScript Object Notation) RubyGems, GitHub, CRuby, RDoc
logger 1.4.2 Logging utility RubyGems, GitHub, CRuby, RDoc
matrix 0.2.0 Support for matrices RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
mutex_m 0.1.0 A mixin that makes any object behave like a mutex RubyGems, GitHub, CRuby, RDoc
net-pop 0.1.0 Support for POP3 (Post Office Protocol) RubyGems, GitHub, CRuby, RDoc
net-smtp 0.1.0 Support for SMTP (Simple Mail Transfer Protocol) RubyGems, GitHub, CRuby, RDoc
observer 0.1.0 Implementation of the observer pattern, a way to let interested other objects know o an objetc's updates GitHub, CRuby, RDoc
open3 0.1.0 Simple spawning of child processes RubyGems, GitHub, CRuby, RDoc
openssl c 2.1.2 Wraps OpenSSL for cryptographic functionality RubyGems, GitHub, CRuby, RDoc
ostruct 0.2.0 Wrapper around Hash which lets you read and set attributes with a method-based API RubyGems, GitHub, CRuby, RDoc
prime 0.1.1 Access to prime numbers and prime factorization GitHub, CRuby, RDoc
pstore 0.1.0 Transactional file storage for Ruby objects RubyGems, GitHub, CRuby, RDoc
psych c 3.1.0 Support for YAML (YAML Ain't Markup Language) RubyGems, GitHub, CRuby, RDoc
rdoc 6.2.1 Ruby documentation generator RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
readline 0.0.2 If available, readline-ext will be loaded, or (Ruby-only) reline will be used. RubyGems, CRuby, RDoc
readline-ext c 0.1.0 Interface to GNU Readline and NetBSD Editline RubyGems, CRuby, RDoc
reline 0.1.2 Ruby-only implementation of GNU Readline / NetBSD Editline RubyGems, GitHub, CRuby
rexml 3.2.3 Support for XML (Extensible Markup Language) RubyGems, GitHub, CRuby, RDoc
rss 0.2.8 Support for RSS (Rich Site Summary) and Atom RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
rubygems 3.1.2 RubyGems allows you to download, install, and use Ruby software packages on your system RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
sdbm c 1.0.0 Support for SDBM databases RubyGems, GitHub, CRuby, RDoc
singleton 0.1.0 Mixin for Ruby classes that should only have one instance RubyGems, GitHub, CRuby, RDoc
stringio c 0.1.0 Makes strings behave like IO objects RubyGems, GitHub, CRuby, RDoc
strscan c 1.0.3 Lexical string scanning RubyGems, GitHub, CRuby, RDoc
timeout 0.1.0 Auto-terminates code blocks after the time limit is reached GitHub, CRuby, RDoc
tracer 0.1.0 Outputs the code execution trace via Kernel#set_trace_func GitHub, CRuby (1), CRuby (2), RDoc
uri 0.10.0 URI/URL manipulation GitHub, CRuby (1), CRuby (2), RDoc
webrick 1.6.0 HTTP Server RubyGems, GitHub, CRuby (1), CRuby (2), RDoc
yaml 0.1.0 require 'yaml' will load the psych default gem, yaml/dbm is a wrapper around DBM using YAML serialization, and yaml/store lets you use pstore with YAML GitHub, CRuby (1), CRuby (2), CRuby (3), RDoc (1), RDoc (2), RDoc (3)
zlib c 1.1.0 Interface to the zlib compression library RubyGems, GitHub, CRuby, RDoc

Bundled Gems (Ruby 2.7.0)

Gem Version Description Resources
minitest 5.13.0 Test/spec framework, comes with mocking and benchmark capabilities RubyGems, GitHub
net-telnet 0.2.0 Support for Telnet RubyGems, GitHub
power_assert 1.1.5 Debug tool that displays intermediate results of a method chain RubyGems, GitHub
rake 13.0.1 A Ruby task runner, inspired by make RubyGems, GitHub
test-unit 3.3.4 A xUnit family unit testing framework (compatibility layer for minitest) RubyGems, GitHub
xmlrpc 0.3.0 Remote Procedure Calls via XML and HTTP RubyGems, GitHub

Gems per Ruby Version

Unmaintained Default Gems

See the unmaintained page for a list of default gems lacking a maintainer…

Removed Standard Gems

See the removed page for a list of default gems which are not part of Ruby, anymore.

Non-Gemified Standard Libraries

A list of standard libraries which have not yet turned into gems can be found at libraries. The respective JSON file is at libraries.json.


This page and the JSON data files it is based on are maintained on GitHub. Originally based on episode 20 of Idiosyncratic Ruby and put together by Jan Lelis.

Page Version: 1.17.1

Data Protection

Fork me on GitHub