피드로 돌아가기
Node.js 25.8.1 (Current)
Node.js BlogNode.js Blog
Backend

Node.js 25.8.1 (Current)

Node.js 25.8.1이 모듈 시스템, 암호화 API, 스트림 처리에서 43개의 버그 수정 및 의존성 업데이트를 통해 안정성 향상

2026년 3월 11일4intermediate

Context

ESM("type": "module") 패키지에서 확장자 없는 CommonJS 파일 처리 시 모듈 로드 실패 문제가 발생했다. 또한 HTTP 파서의 use-after-free 메모리 오류와 웹 스트림의 인코딩 오류, 암호화 함수의 인자 검증 누락 등 여러 엣지 케이스에서 런타임 오류가 존재했다.

Technical Solution

  • ESM 패키지에서 extensionless CJS 파일 처리 수정: "type": "module" 환경에서 확장자 없는 CommonJS 파일을 올바르게 로드하도록 모듈 해석 로직 변경
  • HTTP 파서 메모리 안전성 개선: llhttp_execute 호출 중 freeParser 실행 시 발생하는 use-after-free 버그 제거
  • 동적 임포트 소스맵 파싱 수정: 동적 임포트 문맥에서 소스맵 URL 파싱 오류 해결
  • 웹 스트림 UTF-8 처리 수정: fast-utf8-stream에서 UTF-8 문자 손상 현상 제거
  • TransformStream 동시성 문제 해결: 취소 요청과 대기 중인 쓰기 작업 간의 경쟁 조건 제거
  • 암호화 API 개선: AES 딕셔너리 추가, importKey 필수 인자 검증 추가, --use-system-ca를 프로세스 단위에서 환경 변수 단위로 변경
  • SQLite 3.52.0 업그레이드: 진술 무효화 처리 개선
  • amaro, merve, ada 등 핵심 의존성 버전 업데이트
  • V8 엔진 체리픽: aa0b288f87cc 커밋 백포트
  • 빌드 시스템 최적화: --without-bundled-v8 옵션 사용 시 V8 의존성 제거

Key Takeaway

Node.js 현재 버전의 빈번한 마이너 패치는 ESM 모듈 시스템, 메모리 안전성, 웹 표준 호환성(WebCrypto, 압축 스트림)에서 지속적인 버그 발견과 수정이 진행 중이며, 프로덕션 환경에서는 특히 HTTP 파서와 스트림 처리 관련 메모리 오류에 주의해야 한다.


Node.js 기반 ESM 프로젝트에서 "type": "module" 설정을 사용할 때 v25.8.1로 업그레이드하면 extensionless CommonJS 파일 호환성 문제가 해결되며, HTTP 서버를 운영하는 팀은 이 버전의 use-after-free 버그 수정으로 인한 메모리 누수 위험 감소를 기대할 수 있다.

원문 읽기
Node.js 25.8.1 (Current) | Devpick