Wie immer in den letzten Jahren folgt das Ruby-Projekt auch 2016 seiner Tradition und bringt ein neues größeres Release der Skriptsprache Ruby heraus. Die zu Weihnachten veröffentlichte Version 2.4 bringt viele Neuerungen.
Dazu gehören beispielsweise Verbesserungen bei Hash-Tabellen, die Zusammenführung der Integer-Klassen Fixnum und Bignum in Integer und auch die Groß- und Kleinschreibung mit Unicode in String-Methoden. Wie bei jedem neuen größeren Release haben die Entwickler auch weiter an der Performance der Skriptsprache geschraubt.
Nähere Details zur Version Ruby 2.4
Die neue offene Adressierung (open addressing) macht zusammen mit einem Array, das die Einfügungsreihenfolge beibehält (inclusion order array), die interne Struktur von Hash-Tabellen (st_table) besser handhabbar.
Das auch neu eingeführte binding.irb verhält sich recht ähnlich wie das beim Debugging wichtige binding.pry. Es startet aber dazu eine reguläre IRB (Interactive Ruby Shell). Ein anderes neues Feature betrifft ebenfalls den Bereich Debugging: Die Deadlock-Erkennung von Ruby 2.4 listet Threads jetzt mit ihrem Backtrace und den abhängigen Threads .
Bisher enthielt Ruby mit Fixnum und Bignum zwei Integer-Subklassen. Für Ruby 2.4 wurden diese nun mit Integer zusammengeführt. Das führt dazu, dass alle C-Extensions, die Fixnum oder Bignum benutzen, für Ruby 2.4 überarbeitet werden müssen.
Die Methoden String/Symbol#upcase/downcase/swapcase/capitalize(!) nutzen bei der Konvertierung in Groß- oder Kleinschreibung in der neuen 2.4er-Version die Unicode-Regeln; bisher verwendeten sie ASCII-Regeln.
OpenSSL 1.1.0 wird jetzt ebenfalls von Ruby unterstützt; der Support für OpenSSL 0.9.7 und älter Verschlüsselungen wurde hingegen aus Sicherheitsgründen aufgegeben. Last not least wurden wurden die Komponenten ext/tk und XMPRPC jetzt aus der Standardbibliothek entfernt.