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

Node.js 25.6.0이 async_hooks trackPromises 옵션, net 소켓 TOS 설정, stream bytes() 메서드, ESM embedder API 지원 등 6개 SEMVER-MINOR 기능 추가로 런타임 확장성 강화

Node.js 25.6.0 (Current)

2026년 2월 3일5intermediate

Context

Node.js 런타임은 다양한 엔터프라이즈 환경의 애플리케이션 요구사항을 충족하기 위해 지속적인 기능 확장이 필요했다. 기존 비동기 훅 시스템, 네트워크 소켓 제어, 스트림 처리, 그리고 임베더 환경에서의 모듈 지원이 제한적이었다.

Technical Solution

  • async_hooks에 trackPromises 옵션 추가: createHook() 함수에서 Promise 추적 여부를 명시적으로 제어 가능하게 변경 (#61415)
  • net.Socket에 TOS(Type of Service) 제어 메서드 추가: setTOS()와 getTOS() 메서드로 QoS 설정 가능 (#61503)
  • stream/consumers에 bytes() 메서드 추가: 스트림에서 바이트 데이터를 직접 소비할 수 있는 새로운 인터페이스 제공 (#60426)
  • ESM 모듈 지원을 embedder API에 추가: C++ 임베더 환경에서 ECMAScript 모듈을 초기 로드할 수 있도록 지원 (#61548)
  • test_runner run() 함수에 env 옵션 추가: 테스트 실행 시 환경 변수를 동적으로 설정 가능 (#61367)
  • TextEncoder encode 성능 개선: simdutf 라이브러리를 적용해 인코딩 연산 최적화 (#61496)
  • Ada를 v3.4.2로 업데이트하고 Unicode 17 지원 추가: URL 파싱 성능 및 국제화 표준 준수 개선 (#61593)
  • OpenSSL을 3.5.5로 업그레이드: 보안 패치 및 암호화 라이브러리 현행화 (#61547)
  • undici를 7.19.2로 업데이트: HTTP 클라이언트 라이브러리 버그 수정 및 안정성 향상 (#61566)
  • nghttp3를 1.15.0, ngtcp2를 1.20.0으로 업그레이드: HTTP/3 및 QUIC 프로토콜 지원 개선 (#61512, #61511)

Impact

아티클에서 정량적 성능 수치(성능 향상률, 레이턴시 감소, 처리량 증가 등)가 명시되지 않음.

Key Takeaway

런타임 레벨의 기능 확장(async_hooks, 네트워크 제어, 스트림 처리)과 의존성 라이브러리 업데이트(OpenSSL, undici, HTTP/3 스택)를 병행하면 기존 애플리케이션 호환성을 유지하면서도 새로운 요구사항을 점진적으로 수용할 수 있다.


Node.js 기반 서비스를 운영하는 팀은 이번 버전의 async_hooks trackPromises 옵션으로 Promise 추적 오버헤드를 줄일 수 있고, net.Socket TOS 메서드로 네트워크 우선순위를 세분화할 수 있으며, stream bytes() 메서드로 바이너리 데이터 처리를 단순화할 수 있다. 특히 임베더 환경(Electron, 모바일 런타임 등)에서는 새로운 ESM 초기 로드 지원을 활용해 모듈 시스템 제약을 완화할 수 있다.

원문 읽기