Το Node.js 26 έρχεται με Temporal API και βασικές βελτιώσεις στην πλατφόρμα

  • Το Node.js 26 κυκλοφορεί ως τρέχουσα έκδοση και έχει προγραμματιστεί να μεταφερθεί στο LTS τον Οκτώβριο, με υποστήριξη έως το 2029.
  • Το Temporal API ενεργοποιείται από προεπιλογή, γεγονός που εκσυγχρονίζει τον χειρισμό ημερομηνιών και ωρών σε JavaScript σε σύγκριση με την επιλογή Date.
  • Η μηχανή V8 ενημερώνεται στην έκδοση 14.6 και ο πελάτης HTTP undici ανανεώνεται στον κλάδο 8.x (8.0.2).
  • Αυτή η έκδοση εισάγει αλλαγές συμβατότητας: νέες απαιτήσεις μεταγλώττισης, καταργήσεις και αφαίρεση παλιών API.

Κόμβος.js 26.0.0

Η πλατφόρμα JavaScript Node.js έχει κυκλοφορήσει Η έκδοση 26, μια σημαντική έκδοση, σηματοδοτεί ένα νέο βήμα στην εξέλιξη του περιβάλλοντος που έχει σχεδιαστεί για την εκτέλεση κώδικα JavaScript εκτός του προγράμματος περιήγησης. Αυτός είναι ο νέος κλάδος Ρεύμα, το οποίο εστιάζει ξεκάθαρα στον εκσυγχρονισμό του τυπικού API και στην προετοιμασία του οικοσυστήματος για αρκετά χρόνια υποστήριξης.

Αυτή η νέα κυκλοφορία Κόμβος.js 26.0.0 Είναι πλέον διαθέσιμο για λήψη από την επίσημη ιστοσελίδα και απευθύνεται σε προγραμματιστές και ομάδες που θέλουν να ξεκινήσουν να δοκιμάζουν τις νέες δυνατότητες το συντομότερο δυνατό. Παρόλο που προς το παρόν θεωρείται ενεργή έκδοση ανάπτυξης, το έργο έχει ήδη ορίσει το χρονοδιάγραμμα για τη μετάβασή του σε ένα μακροπρόθεσμο κλάδο υποστήριξης, κάτι που είναι ιδιαίτερα σημαντικό για εταιρείες που βασίζονται σε σταθερούς και προβλέψιμους κύκλους.

Ημερολόγιο κυκλοφορίας και κύκλος υποστήριξης Node.js 26

Το Branch 26 ενσωματώνεται στις εκδόσεις του μακροπρόθεσμη υποστήριξηΑλλά θα το κάνει αυτό σε δύο φάσεις: για περίπου έξι μήνες θα λειτουργεί ως ΡεύμαΛαμβάνοντας νέες δυνατότητες και προσαρμογές, θα μεταβεί σε κατάσταση LTS τον Οκτώβριο μετά από μια περίοδο σταθεροποίησης κώδικα. Μόλις ολοκληρωθεί η μετάβαση, η σειρά 26.x θα διατηρηθεί μέχρι τον Μάιο του 2029, με ενημερώσεις ασφαλείας και διορθώσεις σφαλμάτων.

Παράλληλα, η ομάδα της πλατφόρμας διατηρεί άλλα υποκαταστήματα με διαφορετικές ημερομηνίες λήξης κύκλου ζωής, κάτι που βοηθά στον σχεδιασμό μετεγκαταστάσεων σε μεγάλα έργα. Η οικογένεια Node.js 24.x, επίσης με εκτεταμένη υποστήριξη, θα συνεχίσει να λαμβάνει ενημερώσεις μέχρι τον Απρίλιο του 2028, ενώ η έκδοση 22.x έχει προγραμματιστεί να λήξει τον Απρίλιο του 2027. Αντίθετα, η σειρά LTS 20.x έχει ήδη τεθεί εκτός συντήρησης και η ενδιάμεση έκδοση 25.x θα σταματήσει να υποστηρίζεται στις αρχές Ιουνίου, πιέζοντας τις ομάδες να κάνουν το άλμα σε πιο πρόσφατες σειρές.

Χρονικό API: ένας νέος τρόπος εργασίας με ημερομηνίες και ώρες

Η πιο ορατή αλλαγή για όσους προγραμματίζουν καθημερινά είναι η προεπιλεγμένη ενεργοποίηση του Προσωρινό API, ένα σύνολο τύπων και μεθόδων που προσφέρει μια σύγχρονη εναλλακτική λύση στο αντικείμενο βετεράνος DateΑυτό το API στοχεύει στην απλοποίηση της διαχείρισης ημερομηνιών και ωρών, μιας περιοχής που ιστορικά έχει δημιουργήσει σφάλματα λόγω ζωνών ώρας, αλλαγών θερινής ώρας και μετασχηματισμών μεταξύ μορφών.

Με το Temporal, η ώρα μπορεί να αναπαρασταθεί με διαφορετικούς τρόπους ανάλογα με τις συγκεκριμένες ανάγκες του έργου. Για παράδειγμα, οι εφαρμογές μπορούν να χειριστούν ημερομηνίες και ώρες χωρίς να τις συσχετίσουν με μια συγκεκριμένη ζώνη ώρας χρησιμοποιώντας τύπους όπως Προσωρινή.ΑπλήΗμερομηνία, Προσωρινό.Απλού Χρόνου y Προσωρινή.ΑπλήΗμερομηνίαΏρα, χρήσιμο για καθορισμένα δρομολόγια, κρατήσεις ή εγγραφές όπου μόνο η τοπική αξία έχει σημασία.

Όταν το περιβάλλον απαιτεί να ληφθούν υπόψη οι ζώνες ώρας, το API προσφέρει Χρονική.ΖωνοποιημένηΗμερομηνία/ΏραΑυτό συνδέει την ημερομηνία και την ώρα με μια συγκεκριμένη ζώνη ώρας για να διασφαλίσει ακριβείς υπολογισμούς κατά τη μετακίνηση μεταξύ περιοχών ή κατά την εφαρμογή κανόνων ζώνης ώρας. Επιπλέον, για την αποθήκευση και τη σύγκριση απόλυτων χρόνων, εισάγεται το εξής: Προσωρινό. Άμεσο, το οποίο αντιπροσωπεύει ένα χρονικό σημείο ως αριθμό νανοδευτερολέπτων από την 1η Ιανουαρίου 1970, κάτι που είναι πρακτικό για κατανεμημένα συστήματα ή ελέγχους.

Πέρα από τους τύπους δεδομένων, το API ενσωματώνει άμεσα πράξεις μετατροπής, μορφοποίησης και αριθμητικής ώρας, επιτρέποντάς σας να προσθέτετε ή να αφαιρείτε περιόδους, να αλλάζετε ζώνες ώρας και να δημιουργείτε αναγνώσιμο αποτέλεσμα χωρίς να βασίζεστε σε εξωτερικές βιβλιοθήκες. Το γεγονός ότι Η προσωρινή ρύθμιση είναι ενεργοποιημένη από προεπιλογή. Το Node.js 26 διευκολύνει την προοδευτική υιοθέτησή του σε έργα που απαιτούν αξιόπιστη διαχείριση ημερολογίου, από οικονομικές εφαρμογές έως υπηρεσίες logistics.

Ενημέρωση κινητήρα V8 και νέες δυνατότητες JavaScript

Ένα άλλο βασικό στοιχείο αυτής της έκδοσης είναι το άλμα στη μηχανή εκτέλεσης. V8 στην έκδοση 14.6, την ίδια γραμμή που χρησιμοποιείται στο Chromium 146. Αυτή η ενημέρωση όχι μόνο φέρνει βελτιώσεις στην απόδοση, αλλά και πρόσθετες λειτουργίες γλώσσας και εσωτερικές βελτιστοποιήσεις που επηρεάζουν τον χρόνο απόκρισης της εφαρμογής.

Μεταξύ των νέων χαρακτηριστικών που ωφελούν άμεσα τους προγραμματιστές, η δυνατότητα συνδυάστε πολλαπλούς επαναλήπτες σε ένα χρησιμοποιώντας τη μέθοδο Iterator.concat()Αυτή η δυνατότητα απλοποιεί τον χειρισμό ακολουθιών δεδομένων από διαφορετικές πηγές χωρίς την ανάγκη δημιουργίας ενδιάμεσων δομών, κάτι που είναι χρήσιμο κατά την επεξεργασία ροών σε διακομιστές που χειρίζονται μεγάλους όγκους πληροφοριών.

Ο κινητήρας ενσωματώνει επίσης τις προδιαγραφές του άνωθεν για τις συλλογές Map y WeakMap Σε JavaScript. Χάρη σε αυτήν τη λειτουργικότητα, η εργασία με ζεύγη κλειδιού/τιμής είναι πιο απλή, καθώς είναι δυνατή η εισαγωγή ή η ενημέρωση καταχωρήσεων σε μία μόνο λειτουργία, μειώνοντας την ποσότητα του απαιτούμενου κώδικα και ελαχιστοποιώντας πιθανές συνθήκες ανταγωνισμού σε ταυτόχρονα περιβάλλοντα.

Undici 8 και βελτιώσεις στον πελάτη HTTP

Όσον αφορά τις επικοινωνίες δικτύου, το Node.js 26 ενημερώνει τον επίσημο πελάτη HTTP έντεκα στη σειρά 8.x. Συγκεκριμένα, διάφορες πηγές εντός του έργου υποδεικνύουν την υιοθέτηση της έκδοσης 8.0.2, η οποία αντιπροσωπεύει ένα βήμα προόδου όσον αφορά τη σταθερότητα, την απόδοση και τη συμβατότητα με τις τρέχουσες ανάγκες των web API.

Αυτή η ενημέρωση προγράμματος-πελάτη είναι ιδιαίτερα σημαντική για υπηρεσίες που αναπτύσσονται σε υποδομές, όπου η αλληλεπίδραση με μικροϋπηρεσίες, πλατφόρμες τρίτων και εσωτερικά συστήματα είναι συνεχής. Ο νέος κλάδος undici ενσωματώνει βελτιώσεις στη διαχείριση μόνιμων συνδέσεων, ενημερωμένη υποστήριξη για HTTP/1.1 και HTTP/2 και βελτιστοποιήσεις κατανάλωσης πόρων, οι οποίες συνολικά μειώνουν την καθυστέρηση και αξιοποιούν καλύτερα το διαθέσιμο υλικό.

Αλλαγές στη συμβατότητα και τις απαιτήσεις κατασκευής

Η μετάβαση στο Node.js 26 συνοδεύεται επίσης από προσαρμογές στο περιβάλλον δημιουργίας και τα σχετικά εργαλεία. Η δημιουργία αυτής της έκδοσης από τον πηγαίο κώδικα απαιτεί, όπως ελάχιστο, GCC 13.2Αυτή η κίνηση ευθυγραμμίζει το έργο με νεότερους μεταγλωττιστές και διασφαλίζει τη διαθεσιμότητα σύγχρονων βελτιστοποιήσεων σε επίπεδο δυαδικού κώδικα. Αυτή η αλλαγή ενδέχεται να απαιτεί ενημερώσεις σε περιβάλλοντα συνεχούς ενοποίησης ή δημιουργία διακομιστών που εξακολουθούν να χρησιμοποιούν παλαιότερες εκδόσεις των εργαλείων.

Παράλληλα, το νέο υποκατάστημα σταματά να υποστηρίζει Python 3.9 στην αλυσίδα εργαλείων του, πράγμα που σημαίνει ότι οι διαμορφώσεις που εξαρτώνταν από αυτήν την έκδοση θα πρέπει να μετεγκατασταθούν σε πιο πρόσφατες εκδόσεις της γλώσσας. Αυτή η απόφαση αποτελεί μέρος μιας ευρύτερης προσπάθειας για την κατάργηση των παλαιών εξαρτήσεων και τη διατήρηση της βάσης του έργου σε λογισμικό που συνεχίζει να λαμβάνει ενημερώσεις ασφαλείας.

Αποσυρμένα και Αποσυρμένα API στο Node.js 26

Μαζί με τα νέα χαρακτηριστικά, η ομάδα ανάπτυξης εισήγαγε μια σειρά από αλλαγές συμβατότητας που θα πρέπει να ελεγχθούν πριν από τη μετεγκατάσταση έργων παραγωγής. Ένα από τα σημεία που επισημαίνονται είναι το απόσυρση της μεθόδου http.Server.prototype.writeHeader(), που παραδοσιακά χρησιμοποιείται για την αποστολή κεφαλίδων HTTP από τον διακομιστή. Ξεκινώντας από αυτήν την έκδοση, η επίσημη σύσταση είναι να χρησιμοποιήσετε http.Server.prototype.writeHead(), η οποία παραμένει η υποστηριζόμενη διαδρομή.

Επιπλέον, αυτή η έκδοση σηματοδοτεί το τέλος του κύκλου για 0182 DEP, που σχετίζεται με την ενότητα cryptoως μέρος της συνήθους διαδικασίας καθαρισμού παλιών ή προβληματικών API. Η κατάργηση των module.register()Αυτή η αλλαγή θα επηρεάσει όσους εργάζονται με πιο προηγμένα ή προσαρμοσμένα συστήματα φόρτωσης λειτουργικών μονάδων, επιβάλλοντας μια αναθεώρηση των πιθανών χρήσεων αυτής της λειτουργικότητας.

Ο νέος κλάδος καταργεί επίσης την επιλογή εκκίνησης --experimental-transform-typesΑυτή η δυνατότητα, η οποία ήταν μέρος του πειραματικού συνόλου δυνατοτήτων, έχει αφαιρεθεί. Η αφαίρεσή της υποδεικνύει ότι η ομάδα προτιμά να ενοποιήσει την υποστήριξη για μετασχηματισμούς τύπων μέσω άλλων μέσων ή σε μεταγενέστερες φάσεις του κύκλου ζωής της γλώσσας και της πλατφόρμας, μειώνοντας τον αριθμό των πειραματικών σημαιών.

Συνολικά, η κυκλοφορία του Node.js 26 αντιπροσωπεύει μια σημαντική ενημέρωση για το οικοσύστημα: ενισχύει τη βάση που βασίζεται στον χρόνο με ένα σύγχρονο API, ενημερώνει τη μηχανή V8, βελτιώνει το πρόγραμμα-πελάτη HTTP και σημειώνει πρόοδο στον καθαρισμό των παλαιών διεπαφών. Με υποστήριξη που επεκτείνεται έως το 2029 και έναν σαφώς καθορισμένο οδικό χάρτη, η νέα έκδοση διαμορφώνεται ως μια σταθερή επιλογή για όσους αναζητούν μακροπρόθεσμη σταθερότητα χωρίς να θυσιάζουν τις πιο πρόσφατες δυνατότητες της πλατφόρμας.


Προσθήκη ως προτιμώμενης πηγής