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

Node.js 13.14.0이 async_hooks 병합, vm 동적 import 옵션 추가, OpenSSL 1.1.1g 업그레이드로 런타임 안정성과 보안 강화

Node.js 13.14.0 (Current)

2020년 4월 30일6intermediate

Context

Node.js 13.x 버전은 JavaScript 런타임의 비동기 작업 추적 및 의존성 라이브러리 보안 유지보수가 지속적으로 요구되고 있었다.

Technical Solution

  • async_hooks: run과 exit 메서드를 병합하여 비동기 리소스 추적 API 간소화
  • async_hooks: sync 메서드가 외부 컨텍스트를 벗어나지 않도록 방지 로직 추가
  • vm: compileFunction에 importModuleDynamically 옵션 추가로 동적 모듈 로딩 지원
  • 의존성 업그레이드: OpenSSL을 1.1.1g으로, libuv를 1.37.0으로, V8 엔진 패치 적용
  • 버퍼 관리: ArrayBuffer double detach 방지 및 pool ArrayBuffer 비전송 설정
  • 빌드 시스템: ASAN(Address Sanitizer)을 clang으로 재활성화, V8 DCHECKs 옵션 추가
  • CLI: --report-on-fatalerror 플래그를 실험적에서 안정화로 이동
  • 네이티브 API: N-API 버전 6 추가

Key Takeaway

Node.js의 점 버전 릴리스는 비동기 작업 추적, 의존성 보안 업데이트, 런타임 안정성 개선을 동시에 진행하며, 특히 async_hooks API 통합은 개발자 경험 향상과 메모리 안정성 강화에 기여한다.


Node.js 기반 프로덕션 서비스를 운영하는 팀은

1

3.

1

4.0 업그레이드 시 async_hooks 사용 코드의 동작 검증(run/exit 메서드 병합으로 인한 호출 순서 변화)과 OpenSSL

1.

1.1g 보안 패치 적용 여부를 확인해야 하며, 특히 암호화 또는 TLS 연결을 사용하는 서비스는 우선 순위로 업그레이드를 검토해야 한다.

원문 읽기