Додатково повідомляється про затвердження нової схеми нумерації версій Ruby, яка буде застосована в наступних випусках. Номер версії буде визначатися в форматі MAJOR.MINOR.TEENY.PATCH, де значення MAJOR буде збільшуватися при значних порушеннях зворотної сумісності. Нові MINOR-випуски планується формувати раз на рік, при цьому в даних випусках допускається порушення зворотної сумісності API. У TEENY-випусках, які виходитимуть раз на 2-3 місяці, будуть усуватися помилки та вразливості при повному збереженні сумісності API. Значення PATCH відображатиме число комітів з моменту минулого мінорного випуску.
Основні зміни в Ruby 2.1:
- Підтримка локального кешування методів у VM, замість використання глобального кешу;
- Новий збирач сміття RGenGC;
- Розширення та стабілізація можливостей конструкції «Refinements» (Module#refine) для підвищення безпеки внесення змін в код на льоту;
- Підтримка нового синтаксису числових і комплексних літералів («42r» для Rational (42, 1), 3.14r» для 3.14.rationalize, «42i» для Complex (0, 42), «42ri» для Complex (0, 42r));
- Значення за замовчуванням для аргументів ключових слів тепер можуть бути пропущені (наприклад, замість «def foo (a:10)» можна вказати «def foo (a:)»);
- Змінено значення, що повертається за замовчуванням для конструкцій «def» (замість nil повертає ім'я методу, наприклад, «def foo() end» поверне «:foo»);
- Для прискорення обчислень з даними типу Bignum задіяна бібліотека GMP;
- Нові методи String#scrub і String#scrub! для перевірки та виправлення некоректної строкової послідовності;
- Новий метод Socket.getifaddrs, асоційований з функцією getifaddrs() стандартної системної бібліотеки;
- Оновлення RDoc 4.1.0 і RubyGems 2.2.0;
- Оптимізація рядків «літерал». Freeze на рівні VM (наприклад, вказівка рядка як «bar»f дозволяє заморозити дане значення і працювати з нею без створення нової копії рядка при виконанні кожної опреаціі);
- У класи Array і Enumerable додані нові методи Array#to_h і Enumerable#to_h для перетворення масиву/списку з пар ключів і значень в хеш;
- Підтримка методу Exception#cause, що дозволяє звернутися до попереднього виключення при обробці нового винятку;
- Оновлення бібліотек BigDecimal, JSON, NKF, Rake, RubyGems і RDoc;
- Видалення curses зі стандартного набору бібліотек (бібліотеку curses винесено в окремий gem curses).