피드로 돌아가기
Node.js 22.15.0 (LTS)
Node.js BlogNode.js Blog
Backend

Node.js가 assert 모듈 개선, 시스템 CA 인증서 지원, 모듈 훅 API 추가로 테스트·보안·모듈 시스템 기능 확장

Node.js 22.15.0 (LTS)

2025년 4월 23일5intermediate

Context

Node.js LTS 버전 업데이트는 점진적인 기능 확장과 의존성 업데이트를 통해 개발자 경험 및 플랫폼 안정성을 개선해야 한다.

Technical Solution

  • assert 모듈에 부분 객체 비교 구현: partialDeepStrictEqual 성능 개선 및 부분 에러 비교 기능 추가
  • 암호화 모듈 시스템 CA 인증서 지원: Windows, macOS, 기타 플랫폼에서 --use-system-ca 플래그로 시스템 인증서 저장소 활용
  • 모듈 시스템 확장: module.registerHooks() 및 import(cjs)에서 동기 훅 프리파싱 지원
  • zstd 압축 지원 추가: deps에 zstd 1.5.6 도입 및 zlib 모듈에 zstd 압축 알고리즘 통합
  • DNS TLSA 레코드 쿼리 지원: DNS 모듈에 TLSA 레코드 조회 및 파싱 기능 추가
  • 프로세스 모듈 execve 추가: 자식 프로세스 실행 시스템 콜 직접 활용
  • TLS 모듈 CA 인증서 조회 API: tls.getCACertificates() 메서드로 CA 인증서 정보 접근
  • SQLite 모듈 ArrayBufferView 반환 지원: 사용자 정의 함수에서 ArrayBufferView 반환 허용
  • V8 힙 통계 API: v8.getCppHeapStatistics() 메서드로 C++ 힙 통계 노출
  • CLI 옵션 확장: NODE_OPTIONS에서 --cpu-prof* 플래그 사용 가능
  • 루트 인증서 업데이트: NSS 3.108로 루트 CA 인증서 동기화
  • 타임존 데이터 업데이트: 타임존 데이터베이스를 2025a로 업데이트

Impact

assert 모듈 Myers diff 성능 개선 및 partialDeepStrictEqual 성능 최적화 구현.

Key Takeaway

Node.js는 assert, crypto, module 등 핵심 모듈에 세밀한 API 추가를 통해 개발자가 시스템 리소스에 더 직접 접근하고 테스트·보안 기능을 강화할 수 있도록 지원한다.


Node.js를 사용하는 백엔드 애플리케이션에서 --use-system-ca 플래그를 활용하면 OS 인증서 저장소와 자동 동기화되어 인증서 관리 오버헤드를 줄일 수 있으며, module.registerHooks()로 CommonJS 모듈 파싱 단계를 커스터마이징하면 대규모 모듈 마이그레이션 시 호환성 레이어 구축이 용이하다.

원문 읽기