Zum Inhalt springen

Node.js 27 Alpha bringt V8 15.6 und streicht altes OpenSSL

Die erste Node.js-27-Alpha vom 29. Oktober aktualisiert V8 auf 15.6, verlangt OpenSSL 3 oder neuer und startet Nodes neuen Rhythmus von einem Major-Release pro Jahr.

Von

3 Min. Lesezeit

XLinkedIn

Maschinell übersetzt aus dem englischen Original, das Claire Whitmore auf Fakten geprüft und redigiert hat. Es gilt die englische Fassung. So arbeiten wir

Screenshot of the Node.js blog post for 27.0.0-alpha.0.0.0, with the Node.js logo graphic and the release notes' table of contents beside it.

Die Zahlen

semver-major commits in the first alpha
~100
JavaScript engine, up from 14.6 in Node.js 26
V8 15.6
planned date for Node.js 27.0.0
April 2027
planned end of life for Node.js 27
April 2030

Das Node.js-Projekt hat am 29. Oktober 2026 die erste Node.js-27-Alpha veröffentlicht, mit dem Tag 27.0.0-alpha.0.0.0. Es ist der erste Build nach Nodes neuem Plan mit einem Major-Release pro Jahr. Die Alpha aktualisiert die JavaScript-Engine V8 auf Version 15.6, verlangt OpenSSL 3 oder neuer und enthält rund 100 Semver-Major-Commits. Das sind Änderungen, die bestehenden Code brechen können.

Die Alpha ist nicht für den Produktionseinsatz gedacht. Sie richtet sich an Autoren von Bibliotheken und an Teams, die Breaking Changes in ihren Test-Pipelines finden wollen, Monate bevor Node.js 27.0.0 im April 2027 erscheint.

Der neue Release-Plan

Bisher brachte Node.js zwei Major-Versionen pro Jahr heraus, und nur die geradzahligen erhielten Long-Term Support (LTS). Ab Node.js 27 gibt es ein Major-Release pro Jahr, und jedes Release wird zu LTS. Das steht im Beitrag des Projekts zum Release-Plan.

Jede Version verbringt sechs Monate als Alpha, von Oktober bis März. In diesem Zeitraum sind Semver-Major-Änderungen weiterhin erlaubt. Alpha-Builds sind im Gegensatz zu Nightly-Builds signiert, getaggt und getestet, doch ihre APIs können sich zwischen Releases ändern.

PhaseNode.js 27
Alpha beginntOktober 2026
27.0.0 (Current)April 2027
Wechsel zu LTSOktober 2027
Ende des SupportsApril 2030

LTS dauert weiterhin etwa 30 Monate, und jede Linie erhält 36 Monate vom ersten Current-Release bis zum Ende des Supports. Node.js 26 ist die letzte Linie nach dem alten Modell. Das Projekt sagt, der Plan "ist nicht endgültig und kann geändert werden".

Die Änderung geht auf einen Vorschlag zurück, den TSC-Mitglied Rafael Gonzaga im Juli 2025 eröffnet hat, berichtete InfoQ. Ziel war es, die Maintainer zu entlasten, die Fixes in Release-Linien zurückportieren mussten, die kaum jemand nutzte. Gonzaga schrieb auch den Beitrag zum Alpha-Release.

Was in der Alpha bricht

Die Release Notes listen viele Änderungen auf. Diese treffen echte Apps am wahrscheinlichsten:

  • OpenSSL 3 oder neuer ist Pflicht. Node.js bündelt jetzt OpenSSL 4.1.0, das am 23. Oktober erschien und DTLS 1.3 mitbringt. Die Unterstützung für OpenSSL-Engines ist beendet.
  • Native Addons müssen neu gebaut werden. NODE_MODULE_VERSION ist jetzt 153.
  • Neues Standard-Speicherlimit. Ohne --max-old-space-size liegt das Heap-Limit bei der Hälfte des physischen Speichers, zwischen 256 MB und 4 GB. Speicher von Buffer und ArrayBuffer zählt jetzt dazu.
  • Ein neues Serialisierungsformat. Daten, die v8.serialize(), structuredClone() und postMessage() schreiben, lassen sich von älteren Node.js-Versionen nicht lesen.
  • HTTP-Standardwerte haben sich geändert. Der Standardwert von keepAliveTimeout steigt auf 65 Sekunden, und req.headers hat jetzt einen Null-Prototype.
  • Intel-Macs sind jetzt experimentell. Das Intel-macOS-Binary ist als "Coming soon" aufgeführt.
  • npm 12.1.0 ist gebündelt.

V8 15.6 ändert auch einige kleine Verhaltensweisen. Math-Funktionen nutzen jetzt die libm-Bibliothek von LLVM, daher können sich Ergebnisse im letzten Bit unterscheiden. Große Arrays werden mit einem neuen Algorithmus sortiert, das Sortieren bleibt aber stabil. Zu den neuen Funktionen gehören Math.sumPrecise() und Iterator.zip().

Das Modul domain ist jetzt zur Laufzeit als veraltet markiert, und ein Berechtigungs-Flag, --allow-env, wurde hinzugefügt.

Docker-Images sind noch nicht bereit

Teams, die in Containern testen, müssen warten, bis das geklärt ist. Die Maintainer der offiziellen Docker-Images haben ihr Tracking-Issue für Node.js 27 am 30. Oktober geschlossen, mit der Begründung, es gebe nicht genug Informationen, um rechtzeitig vorbereitet zu sein. Sie wollen ein neues Issue öffnen, um zu klären, wie Alpha-Images getaggt werden.

Auch die Versionsnummer weicht vom Plan ab. Planungsdokumente nannten Beispiele wie 27.0.0-alpha.1, doch der erste Build erschien als 27.0.0-alpha.0.0.0.

Was das für Entwickler bedeutet

  • Nehmt die Alpha jetzt in die CI auf, nicht erst im April. Das Projekt hat Bibliotheksautoren darum gebeten, es so früh wie möglich zu tun. Ein fehlschlagender Alpha-Job gibt euch sechs Monate Zeit, Probleme vor 27.0.0 zu beheben.
  • Baut native Module neu und prüft sie. Die neue Modulversion bedeutet, dass jedes native Addon für Node.js 27 neu gebaut werden muss.
  • Testet alles, was serialisierte Daten speichert. Schreibt ein Dienst mit v8.serialize() und liest ein älterer, bricht das neue Format diesen Pfad.
  • Setzt Heap-Limits in Containern ausdrücklich. Der neue Standardwert koppelt den Speicher an den physischen RAM des Hosts, der nicht zum Limit eures Containers passen muss.
  • Wer nur LTS nutzt, merkt vorerst wenig. Node.js 26 ist die LTS-Linie, bei Erscheinen der Alpha in Version 26.13.0. Spielt weiter ihre Patches ein, wie beim Sicherheits-Release im Oktober, das 10 Schwachstellen behoben hat.

Quellen

  1. Node.js 27.0.0-alpha.0.0.0 (Alpha) - Node.js
  2. Evolving the Node.js Release Schedule - Node.js
  3. Node.js Moves to Annual Major Releases - InfoQ
  4. Prepare for Node.js 27 pre-release (Alpha) / release - GitHub (nodejs/docker-node)

Ähnliche Artikel