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

Node.js 22.4.0이 실험적 웹 스토리지 API, 진단 채널 이벤트, SQLite 공유 라이브러리 지원을 추가해 모듈 로딩 가시성과 빌드 유연성 확대

Node.js 22.4.0 (Current)

2024년 7월 2일6intermediate

Context

Node.js는 브라우저 호환성 향상과 모듈 로딩 가시성 확보, 빌드 시스템 최적화의 필요성이 있었다.

Technical Solution

  • 실험적 웹 스토리지 API 추가: W3C 표준 웹 스토리지 인터페이스를 Node.js에 구현 (Colin Ihrig, PR #52435)
  • diagnostics_channel 이벤트 모듈 로딩에 통합: 모듈 로드 과정에서 발생하는 이벤트를 진단 채널로 내보내 외부 도구에서 모니터링 가능 (RafaelGSS, PR #44340)
  • SQLite 공유 라이브러리 지원: 시스템 SQLite 라이브러리와 동적 연결 가능하도록 빌드 구성 변경 (Chengzhong Wu, PR #53519)
  • parseArgs에 --no- 플래그 지원: 불린 타입 인자에 대해 --no-flag 패턴으로 비활성화 가능 (Zhenwei Jin, PR #53107)
  • buffer.indexOf() 성능 최적화: 단일 바이트 검색 로직 최적화 (Tobias Nießen, PR #53455)
  • V8 엔진 패치 적용: V8 12.4.254.21 버전 패치 및 cherry-pick 병합 (PR #53470, #53412)
  • c-ares 의존성 업데이트: v1.30.0에서 v1.31.0으로 업그레이드 (PR #53416, #53554)
  • undici HTTP 클라이언트 업데이트: 6.19.0에서 6.19.2 버전으로 단계적 업그레이드 (PR #53468)

Impact

아티클에 정량적 성능 수치가 명시되지 않음.

Key Takeaway

Node.js 22.4.0은 실험적 기능 추가(웹 스토리지, 진단 채널)를 통해 브라우저 호환성과 런타임 가시성을 강화하면서, 동시에 빌드 시스템 유연성(공유 라이브러리 지원)과 코어 성능(버퍼 검색, 타이머 누수 수정)을 개선하는 균형잡힌 릴리스다.


Node.js 기반 애플리케이션 개발 팀에서 diagnostics_channel 이벤트를 활용하면 애플리케이션 코드 변경 없이 모듈 로드 성능을 외부 모니터링 도구로 추적할 수 있으며, 시스템 SQLite 라이브러리 연결 지원으로 Docker 이미지 크기와 의존성 관리를 단순화할 수 있다.

원문 읽기