피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 25.4.0이 CLI, 모듈, HTTP, 이벤트, 스트림 API에 새로운 기능을 추가하고 여러 기능을 안정화 버전으로 승격
Node.js 25.4.0 (Current)
AI 요약
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 모듈의 깊은 비교 성능 개선으로 복잡한 객체 검증이 포함된 테스트 스위트 실행 시간을 단축할 수 있다.