Ruby 3.1.0 zusätzlich in allen Tarifen
Die neue Version Ruby 3.1.0, erschienen Ende Dezember 2021, steht ab sofort in allen unterstützten Tarifen als zusätzliche Version zur Verfügung. Anders als bei Major-Versionen oft üblich, wurde bei den Änderungen darauf geachtet, dass diese mit der vorangegangenen Version 3.0.x kompatibel bleibt. Eine Umstellung sollte i.d.R. problemlos und ohne größere Anpassungen möglich sein.
Neuerungen in Ruby 3.1.0
Zu den nennenswerten Neuerungen zählt sicherlich der neue – aber noch experimentelle – Just-in-Time JIT Compiler: YJIT
Dieser soll den 2018 mit Ruby eingeführten MJIT ersetzen. Hauptgrund dafür ist, dass der bisherige Compiler die in ihn gesteckten Erwartetungen bzgl. Performanceverbesserungen in der Praxis nicht umsetzen konnte. Der neue YJIT, ursprünglich von Shopify entwickelt, soll diese nun erfüllen. Aktuell ist er jedoch nur als experimentelle Funktion in Ruby 3.1 erhalten und daher standardmäßig deaktiviert. Mit dem Befehl “–yjit” kann er bei Bedarf aktiviert werden.
Aber auch wer den bestehenden MJIT nutzt, sollte sich die neue Ruby-Version ansehen, denn es gab hier ebenfalls kleine Verbesserungen bei den Standardeinstellungen v.a. für Rails wie der Erhöhung des “jit-max-cache” und der Unterstützung des zeitwerk modes ab Rails 6+.
Ein neuer vielseitigerer Debugger: Ruby hatte bisher die lib/debug.rb mitgebracht. Allerdings wirkte sich dieser negativ auf die Performance des Systems aus und der Feature-Umfang war für eher spartanisch. Die neue “debug.gem” ersetzt die bisherige “debug.rb” nun komplett. Unter den neuen Funktionen finden sich z.B. Multi-Process- und Multi-Thread-Debugging oder ein Tracing-Feature. Neben deutlich besserer Performance können Entwickler die debug.gem auch in Visual Studio Code sowie Google Chrome nutzen.
Weitere zahlreiche kleinere Neuerungen und Änderungen wie der Einführung einer besseren Fehlerlokalisierung im Backtrace durch “error_highlight“. Initiale Unterstützung steht jedoch nur für NameError zur Verfügung. Wer sich für mehr Details bei den Änderungen interessiert, dem sei die offizielle Ankündigung des Ruby-Projekts nahegelegt: https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
Ruby 3.1.0 steht in allen Tarifen mit Ruby-Unterstützung ab sofort zur Verfügung. Der Pfad dafür lautet: /opt/plesk/ruby/3.1.0
Weiterhin sind die Versionen 3.0.x, 2.7.x sowie 2.6.x nutzbar.