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

Node.js 25.4.0이 CLI, 모듈, HTTP, 이벤트, 스트림 API에 새로운 기능을 추가하고 여러 기능을 안정화 버전으로 승격

Node.js 25.4.0 (Current)

2026년 1월 19일5intermediate

Technical Solution

  • CLI에 --require-module/--no-require-module 플래그 추가: 런타임 시작 시 모듈을 명시적으로 요구하거나 제외하는 기능 제공
  • events.listenerCount() API 재목적화: EventTarget 객체를 수락하도록 확장하여 이벤트 리스너 수 계산 범위 확대
  • HTTP 글로벌 프록시 설정 함수 추가: http.setGlobalProxyFromEnv() 함수로 환경 변수 기반 프록시 자동 구성
  • 모듈 서브경로 임포트 확장: #/ 로 시작하는 서브경로 임포트 허용으로 패키지 내부 경로 지정 유연성 증대
  • 스트림 API 변경: readable.compose() 출력이 더 이상 Readable.from()을 거치지 않도록 수정하여 처리 경로 단순화
  • AsyncLocalStorage 최적화: queueMicrotask() 호출 시 필요한 경우에만 AsyncLocalStorage 보존하도록 변경
  • 프로세스 신호 변환 유틸리티 추가: util.convertProcessSignalToExitCode() 함수로 시그널을 종료 코드로 변환
  • 8개 기능 안정화 승격: --heapsnapshot-near-heap-limit, --build-snapshot, --build-snapshot-config, require(esm), 모듈 컴파일 캐시, v8.queryObjects() 안정화
  • 암호화 인증서 업데이트: NSS 3.117로 루트 인증서 갱신
  • 의존성 다중 업데이트: npm 11.7.0, ngtcp2 1.19.0, nghttp2 1.68.0, nghttp3 1.14.0, simdjson 4.2.4, SQLite 3.51.1 등 업그레이드
  • assert 모듈 성능 개선: 배열 대신 Set을 사용하여 값 조회 속도 향상
  • 비교 성능 최적화: assert와 util 모듈의 깊은 비교 알고리즘 재설계
  • 빌드 설정 확장: OpenSSL 3 미만 버전 파싱 수정, Visual Studio 2026 지원 추가, --debug-symbols 플래그 추가
  • V8 Temporal 지원 컴파일: 빌드 시 Temporal API 활성화 옵션 추가

Node.js를 사용하는 엔지니어는 25.4.0 업그레이드 시 `events.listenerCount()`가 이제 EventTarget 객체를 수락하므로 기존 이벤트 리스너 카운팅 로직을 확장할 수 있고, `http.setGlobalProxyFromEnv()`를 통해 환경 변수 기반 프록시 설정을 자동화하여 배포 환경별 설정 코드를 단순화할 수 있다. 또한 assert/util 모듈의 깊은 비교 성능 개선으로 복잡한 객체 검증이 포함된 테스트 스위트 실행 시간을 단축할 수 있다.

원문 읽기