피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 25.7.0 릴리스로 HTTP/2 HTTP/1 폴백 설정, SEA ESM 진입점 지원, Stream Duplex 타입 옵션 개명 등 다중 SEMVER-MINOR 기능 추가
Node.js 25.7.0 (Current)
AI 요약
Context
Node.js 25.x Current 브랜치에서 HTTP/2, SEA(Single Executable Applications), Stream, Test Runner 등 핵심 모듈들의 기능 확장이 필요했다. 특히 HTTP/2 서버의 HTTP/1 폴백 설정이 부족했고, SEA에서 ESM 진입점을 지원하지 못했으며, 중단된 테스트 상황이 명확하게 표시되지 않았다.
Technical Solution
- HTTP/2 모듈에 http1Options 매개변수 추가: HTTP/1 폴백 설정을 동적으로 구성 가능
- SEA(Single Executable Applications)에 ESM 진입점 지원 추가: CommonJS만 지원하던 제약 제거
- Stream Duplex.toWeb() 메서드의 type 옵션을 readableType으로 개명: API 명확성 개선
- Test Runner에 SIGINT 수신 시 중단된 테스트 표시 기능 추가: 테스트 상태 가시성 강화
- npm을 11.10.1로 업그레이드: 의존성 최신 유지
- llhttp를 9.3.1로 업데이트: HTTP 파싱 성능 및 안정성 개선
- V8 백포트 및 체리픽 적용: JavaScript 엔진 버그 수정 및 최적화
- fs.stat/fs.promises.stat에 throwIfNoEntry 옵션 추가: 파일 부재 시 조건부 예외 처리
Impact
아티클에서 정량적 성능 수치(성능 향상률, 지연시간 감소, 처리량 증가 등)를 명시하지 않음.
Key Takeaway
Node.js는 주요 모듈들의 점진적 API 개선과 의존성 업데이트를 통해 하위 호환성을 유지하면서도 새로운 사용 사례(HTTP/2 폴백, SEA ESM)를 지원하는 전략을 취하고 있다.
실천 포인트
Node.js를 사용하는 백엔드 엔지니어는 HTTP/2 서버 구축 시 신규 http1Options 파라미터를 활용해 HTTP/1 프로토콜로 자동 폴백되는 서버를 구성할 수 있으며, SEA로 배포하는 애플리케이션은 CommonJS 제약 없이 ESM 모듈을 진입점으로 사용할 수 있다.