본문 바로가기

언어/Node.js

[ Node.js ] Node.js 버전 역사.

반응형

Node.js는 2009년에 Ryan Dahl이 처음 발표한 이후로 많은 업데이트와 버전 변경을 겪어왔습니다. 각 버전은 새로운 기능, 성능 향상, 보안 수정 등을 포함하고 있으며, Node.js 프로젝트는 LTS(장기 지원)와 Current(최신 기능) 릴리스라는 두 가지 버전 관리 체계를 따릅니다. 아래는 주요 버전 히스토리입니다:

Node.js 주요 버전 히스토리

  1. Node.js 0.x 시리즈 (2009-2014)
    • 0.1.0 (2009년 5월 27일): 첫 번째 공개 버전. 이벤트 기반 비동기 I/O를 자바스크립트 환경에서 제공하는 것이 핵심 목표였습니다.
    • 0.10.x (2013년 3월 11일): 중요한 성능 개선과 스트림 API 개선이 도입됨.
    • 0.12.x (2015년 2월 6일): 새로운 기능들이 추가되었지만, Node.js는 이 시점에서 io.js와 분리되어 각기 다른 프로젝트로 진행됨.
  2. io.js (2014-2015)
    • io.js는 Node.js의 포크로, 빠른 업데이트와 최신 기능을 제공하기 위해 만들어졌습니다.
    • 결국 Node.js 재단이 설립되며, io.js와 Node.js가 통합되었습니다.
  3. Node.js 4.x (2015년 9월 8일)
    • Node.js와 io.js가 다시 합쳐지면서 탄생한 첫 LTS 버전.
    • ES6 기능들이 도입되었으며, 더 많은 모듈과 성능 개선이 이루어짐.
  4. Node.js 6.x (2016년 4월 26일)
    • ES6 기능의 더 많은 지원 (특히 클래스, 템플릿 리터럴, 화살표 함수 등).
    • V8 엔진 업데이트로 성능 향상.
  5. Node.js 8.x (2017년 5월 30일)
    • async/await 기능이 본격적으로 도입되어 비동기 프로그래밍이 더욱 간편해짐.
    • npm 버전 5가 기본 제공되며, 새로운 패키지 관리 기능 추가.
  6. Node.js 10.x (2018년 4월 24일)
    • 성능 향상과 보안 개선, 특히 V8 JavaScript 엔진 6.6 업데이트.
    • fs.promises API 도입으로 파일 시스템 작업이 더 편리해짐.
  7. Node.js 12.x (2019년 4월 23일)
    • ESM(ECMAScript 모듈)의 실험적 지원이 추가됨.
    • worker_threads 모듈이 안정화되어 멀티스레딩 지원이 더 강화됨.
  8. Node.js 14.x (2020년 4월 21일)
    • ES Modules의 기본 지원, Top-Level Await 도입.
    • 새로운 diagnostic reports 기능 추가.
    • V8 JavaScript 엔진 8.1로 업그레이드.
  9. Node.js 16.x (2021년 4월 20일)
    • V8 엔진 9.0으로 업그레이드, 성능 개선.
    • Timers Promises API, WeakRefs 및 FinalizationRegistry 기능 추가.
  10. Node.js 18.x (2022년 4월 19일)
    • V8 10.1로 업그레이드.
    • Fetch API 및 Web Streams API의 안정화.
    • Fetch API 기본 제공 (실험적 지원에서 안정화됨).
  11. Node.js 20.x (2023년 4월 18일)
    • Permission 모델 도입으로 보안 기능 강화.
    • 새로운 WASI API가 추가되어 WebAssembly 사용이 더욱 강화됨.
    • Test runner가 안정화되어 보다 쉬운 테스트 환경 구축 가능.

LTS(장기 지원)와 Current 버전

  • LTS(Long Term Support): 안정성 및 보안 패치가 중요한 프로젝트를 위해 30개월간 지원되는 버전. 일반적으로 새로운 기능보다는 보안 패치와 안정성 개선에 중점을 둡니다.
  • Current: 최신 기능이 포함된 릴리스로, 개발자들이 새로운 기능을 실험하고 사용해볼 수 있도록 합니다. Current는 일정 시간이 지나면 LTS로 전환됩니다.

Node.js의 릴리스 스케줄은 매년 4월과 10월에 새로운 버전이 나오며, 10월에 출시된 버전은 그 이듬해 10월에 LTS로 전환됩니다.

반응형