반응형
Node.js는 2009년에 Ryan Dahl이 처음 발표한 이후로 많은 업데이트와 버전 변경을 겪어왔습니다. 각 버전은 새로운 기능, 성능 향상, 보안 수정 등을 포함하고 있으며, Node.js 프로젝트는 LTS(장기 지원)와 Current(최신 기능) 릴리스라는 두 가지 버전 관리 체계를 따릅니다. 아래는 주요 버전 히스토리입니다:
Node.js 주요 버전 히스토리
- 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와 분리되어 각기 다른 프로젝트로 진행됨.
- io.js (2014-2015)
- io.js는 Node.js의 포크로, 빠른 업데이트와 최신 기능을 제공하기 위해 만들어졌습니다.
- 결국 Node.js 재단이 설립되며, io.js와 Node.js가 통합되었습니다.
- Node.js 4.x (2015년 9월 8일)
- Node.js와 io.js가 다시 합쳐지면서 탄생한 첫 LTS 버전.
- ES6 기능들이 도입되었으며, 더 많은 모듈과 성능 개선이 이루어짐.
- Node.js 6.x (2016년 4월 26일)
- ES6 기능의 더 많은 지원 (특히 클래스, 템플릿 리터럴, 화살표 함수 등).
- V8 엔진 업데이트로 성능 향상.
- Node.js 8.x (2017년 5월 30일)
- async/await 기능이 본격적으로 도입되어 비동기 프로그래밍이 더욱 간편해짐.
npm
버전 5가 기본 제공되며, 새로운 패키지 관리 기능 추가.
- Node.js 10.x (2018년 4월 24일)
- 성능 향상과 보안 개선, 특히 V8 JavaScript 엔진 6.6 업데이트.
- fs.promises API 도입으로 파일 시스템 작업이 더 편리해짐.
- Node.js 12.x (2019년 4월 23일)
- ESM(ECMAScript 모듈)의 실험적 지원이 추가됨.
worker_threads
모듈이 안정화되어 멀티스레딩 지원이 더 강화됨.
- Node.js 14.x (2020년 4월 21일)
- ES Modules의 기본 지원, Top-Level Await 도입.
- 새로운 diagnostic reports 기능 추가.
- V8 JavaScript 엔진 8.1로 업그레이드.
- Node.js 16.x (2021년 4월 20일)
- V8 엔진 9.0으로 업그레이드, 성능 개선.
- Timers Promises API, WeakRefs 및 FinalizationRegistry 기능 추가.
- Node.js 18.x (2022년 4월 19일)
- V8 10.1로 업그레이드.
- Fetch API 및 Web Streams API의 안정화.
- Fetch API 기본 제공 (실험적 지원에서 안정화됨).
- 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로 전환됩니다.
반응형
'언어 > Node.js' 카테고리의 다른 글
[ Node.js ] require() vs import 비교 (0) | 2024.09.04 |
---|---|
[ Node.js ] CommonJS vs ESM(ECMAScript Module) 비교 (0) | 2024.09.04 |
[ Node.js ] 간단한 웹 스파이더 작성하기 (0) | 2024.06.16 |
[ Node.js ] 비동기 함수 EventEmitter 사용하기 (0) | 2024.06.16 |
[ Node.js ] 비동기 함수에서 발생하는 에러 처리하기 (0) | 2024.06.16 |