Реліз Node.js 10

3 хв. читання

Node.js 10.0 відноситься до гілок з тривалим терміном підтримки, проте цього статусу вона набуде тільки в жовтні, після проведення стабілізації. Оновлення для LTS-гілок випускаються протягом 4 років. Підтримка минулої LTS-гілки Node.js 8.0 триватиме до 2021 року, а позаминулої LTS-гілки 6.0 до 2020 року. Підтримка проміжної гілки Node.js 9.0 буде припинена в липні 2018 року.

Серед поліпшень в Node.js 10.0:

  • Оновлення рушія V8 до версії 6.6. До осінньої стабілізації Node.js 10 запланований перехід на V8 версії 6.7;
  • Перехід на використання OpenSSL 1.1.0, що дозволило забезпечити підтримку потокового шифру ChaCha20 і алгоритму аутентифікації повідомлень (MAC) Poly1305. Надалі до осінньої стабілізації Node.js 10 запланований перехід на гілку OpenSSL 1.1.1 для забезпечення підтримки TLS 1.3;
  • Продовжено переведення проекту на нову систему обробки помилок, в якій кожній проблемі привласнений свій унікальний код помилки, що дозволить організувати автоматизований розбір проблем без прив'язки до тексту повідомлення про помилку і випускати оновлення текстів помилок не чекаючи наступного значного релізу;
  • Стабілізовано і переведено в категорію офіційно підтримуваних новий API Node.js (N-API), який надає засоби для створення нативних доповнень до Node.js, які не прив'язані до JavaScript runtime і розглядаються як частина Node.js. N-API дозволяє без перекомпіляції використовувати минулі версії доповнень разом з новими версіями Node.js і з різними JavaScript-рушіями (V8 і Chakra-Core);
  • Розширено засоби діагностики й налагодження. Додані нові події трасування для точного вимірювання часу виконання коду, що дозволяють виявляти вузькі місця і провали в продуктивності в призначеному для користувача коді. В API також додана можливість включення і виключення трасування під час виконання програми;
  • Доданий експериментальний API fs / promises, що надає варіант функцій «fs», реалізований за допомогою механізму promise і демонструє більш високу ефективність;
  • Забезпечена підтримка нових можливостей мови JavaScript. Function.prototype.toString() тепер повертає рядок з кодом функції, який збігається з тим, як функція задана у вихідних текстах (всі відступи й навіть коментарі зберігаються);
  • Внесені додаткові зміни для протидії атакам по стороннім каналам і додано захист від звернення до пам'яті поза межами області, що відведена для WebAssembly, а також доступна через масиви й рядки JavaScript.

Одночасно оголошено про вихід пакетного менеджера NPM 6, в якому відзначено істотне збільшення продуктивності – деякі операції стали виконуватися до 17 разів швидше.

  • У 2-3 рази прискорено виконання команди «npm ci».
  • Додана можливість налаштування webhook (повідомлення про зміну пакетів) безпосередньо з CLI.
  • Реалізовано автоматичне вирішення конфліктів з файлами блокування (lockfile) і спрощено створення повторюваних збірок.

У репозиторії організовано перевірку пакетів на наявність відомих вразливостей. У процесі встановлення пакетів, що містять невиправлені уразливості, користувачеві тепер виводиться спеціальне попередження. Для проведення аналізу на наявність вразливостей в уже встановлених пакетах і пов'язаних з ними залежностях додана нова команда «npm audit». Більш наочно надана інформація про цілісність метаданих, що спрощує виявлення шкідливих модифікацій або пошкоджень в пакетах.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 6.2K
Приєднався: 7 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація