Rails 7.2 bringt Updates für Dev Container, Kompilierung und Dokumentation

Das Webframework für die Programmiersprache Ruby setzt nun Ruby 3.1 voraus und führt neue Möglichkeiten für Development Container ein.

In Pocket speichern vorlesen Druckansicht
Ein roter Stein rechts neben einer Tastatur und einem Bildschirm.

(Bild: Bild erzeugt mit KI)

Lesezeit: 3 Min.

Das Entwicklungsteam hinter Ruby on Rails hat die neue Minor-Version Rails 7.2 veröffentlicht. In das wichtigste Webframework für Ruby-Entwickler sind knapp 2500 Commits eingeflossen. Unter anderem bringen sie Neuerungen für den Umgang mit Development Containers, aktuellen Ruby-Versionen und Rubys JIT-Compiler YJIT.

Es handelt sich bei Rails 7.2 um ein Minor Release der siebten Hauptversion, die im Dezember 2021 mit Fokus auf die Full-Stack-Entwicklung und unter einem Node.js-freien Ansatz erschien. Zudem besteht seitdem die freie Bundler-Wahl, nachdem diese zuvor auf webpack beschränkt gewesen war.

In Rails stehen Development Container (Dev Container) zur Verfügung, um Container als Entwicklungsumgebung mit vollständigen Features zu verwenden. Darin lassen sich – lokal sowie in öffentlichen oder privaten Clouds – beispielsweise Anwendungen ausführen und Tools, Libraries oder Runtimes trennen, die für eine Codebasis benötigt werden.

Die neue Rails-Version erlaubt es nun, eine Dev-Container-Konfiguration für eine Anwendung zu erstellen. Sie umfasst einen .devcontainer-Ordner mit einem Dockerfile, einer docker-compose.yml-Datei und einer devcontainer.json-Datei. Standardmäßig enthält ein Dev Container einen Redis-Container, eine Datenbank, einen Headless-Chrome-Container für Systemtests und Active Storage.

Eine neue Anwendung mitsamt Dev Container lässt sich wie folgt erstellen:

$ rails new myapp --devcontainer

Für bestehende Anwendungen lässt sich der neue devcontainer-Befehl nutzen:

$ rails devcontainer

Weitergehende Informationen zum Umgang mit Dev Containers bietet die Dokumentation.

An einer übersichtlicheren Dokumentation arbeitet das Entwicklungsteam ebenfalls. Bisher beschränken sich die Updates auf die Edge Guides, die sich auf den aktuellen Master Branch für Rails beziehen. Wenn die finalen Änderungen abgeschlossen sind, sollen die Updates auf die Guides für stabile Versionen von Rails 7 ausgeweitet werden.

Das Layout der Guides bleibt dabei bestehen, jedoch sollen sie unter anderem ein reduziertes Design, eine vereinfachte Navigation und eine angeheftete Chapter-Navigationsleiste beim Scrollen bieten.

Die Rails-Dokumentation wird derzeit überarbeitet, wie die Vorher- (links) und Nachher-Ansicht (rechts) zeigt.

(Bild: Ruby on Rails)

Das neue Rails-Release setzt Ruby in der Mindestversion 3.1 voraus. Bisher entfernten lediglich Rails-Hauptversionen die Kompatibilität mit älteren Versionen der Programmiersprache. Das ändert sich nun, denn ab sofort fallen Ruby-Versionen, die ihr End-of-Life-Datum erreicht haben, auch in Minor-Versionen aus dem Rails-Support.

Ruby 3.0 hat sein End-of-Life-Datum erreicht und wird von Rails nicht mehr unterstützt.

(Bild: ruby-lang.org)

Informationen über den Lifecycle von Ruby-Versionen bietet die offizielle Ruby-Website. Das End-of-Life-Datum für Version 3.1 soll demnach am 31. März 2025 eintreten.

Neuerungen gibt es zudem für den Umgang mit YJIT – Rubys JIT-Compiler, der seit Ruby 3.1 in CRuby verfügbar ist und eine Latenzverbesserung von 15 bis 25 Prozent ermöglichen soll. Wer Ruby 3.3 oder neuer verwendet, wird YJIT nun in Rails 7.2 standardmäßig aktiviert vorfinden. Deaktivieren lässt sich der Compiler via Rails.application.config.yjit = false.

Alle weiteren Updates in Rails 7.2 lassen sich einem Blogeintrag und den Release Notes entnehmen.

(mai)