Das Erlang-Team hat am 20. Juni 2018 Erlang/OTP 21.0 mit Änderungen an Laufzeit, Compiler und Standardbibliotheken veröffentlicht. Die Hauptversion enthält auch inkompatible Änderungen. Sie betrifft damit die technische Grundlage bestehender Erlang- und BEAM-Anwendungen, nicht nur neue Sprachfunktionen.
Auf 64-Bit-Systemen können kompakte Instruktionen bei Code unter vier Gigabyte den Speicherbedarf des geladenen Codes verringern. Die Ankündigung nennt dafür rund 20 Prozent. Das ist keine Aussage über den gesamten Speicherverbrauch einer Anwendung. Für Compileroptimierungen nennt das Team etwa zehn Prozent Verbesserungen in Benchmarks, ohne jedem Projekt denselben Gewinn zuzusichern.
Logger und Verbindungen ändern ihr Verhalten
Die offiziellen Release Notes zu OTP 21.0 beschreiben die neue Logger-API. Aufrufe von error_logger werden weitergeleitet und alte Event-Handler bleiben nutzbar. Bei der Konfiguration können neue Logger-Parameter jedoch bestehende Vorgaben übersteuern.
Die SSL-Anwendung unterstützt DTLS. 3DES-Verfahren und Cipher Suites mit RSA-Schlüsselaustausch gehören nicht mehr zu den Standardvorgaben. Für verteilte Erlang-Systeme kommen Änderungen beim Aufbau von Verbindungen hinzu: Einige Operationen warten nicht mehr bis zum Abschluss des Verbindungsaufbaus.
Auch Werkzeuge wie escript und erlc laden die Datei .erlang nicht mehr automatisch. Elixir 1.5 hatte zuvor bereits OTP 20 für bestimmte Debugging-Funktionen vorausgesetzt. Bei einem Laufzeitwechsel sind deshalb neben dem eigenen Code auch die verwendeten Sprach- und Werkzeugversionen zu prüfen.

