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

Node.js 15.13.0 버전에서 Buffer API에 btoa/atob 구현, HTTP ClientRequest에 getRawHeaderNames() 추가, child_process에 timeout 파라미터 도입으로 표준 웹 호환성 및 프로세스 관리 기능 확대

Node.js 15.13.0 (Current)

2021년 3월 31일5intermediate

Technical Solution

  • Buffer 모듈에 btoa와 atob 함수 구현: 문자열과 바이너리 데이터 간 인코딩/디코딩 표준화 (SEMVER-MINOR)
  • HTTP ClientRequest에 getRawHeaderNames() 메서드 추가: HTTP 헤더명의 원본 형식 조회 기능 (SEMVER-MINOR)
  • child_process.spawn()과 fork()에 timeout 옵션 추가: 자식 프로세스 실행 시간 제한 설정 가능 (SEMVER-MINOR)
  • stream.pipeline()이 Buffer를 첫 번째 인자로 허용: 스트림 파이프라인의 입력 형식 확장 (SEMVER-MINOR)
  • perf_hooks.Performance 클래스를 EventTarget 상속으로 변경: 성능 측정 API의 이벤트 처리 기능 강화 (SEMVER-MINOR)
  • npm을 7.7.6으로 업그레이드: 패키지 관리 도구 개선
  • V8 엔진 백포트 2건: 자바스크립트 엔진 성능 및 안정성 개선
  • 암호화 모듈 5건의 버그 수정: DiffieHellman 인자 검증, SignTraits 에러 처리, crypto.verify 콜백 호출 개선
  • HTTP/2 프레임 처리 개선: 비-EOF 빈 프레임을 잘못된 프레임으로 처리
  • Node-API 2건의 안정성 개선: 종료 중 GC 중지, 파이널라이제이션 크래시 수정
  • AbortSignal 관련 3건 수정: 중복 등록 제거, 타입 검증 추가, 리소스 정리 개선

Node.js 애플리케이션을 개발할 때

1

5.

1

3.0 이상으로 업그레이드하면 Buffer.btoa/atob로 웹 표준 호환성을 확보할 수 있으며, child_process 실행 시 timeout 옵션을 사용하여 좀비 프로세스 방지와 리소스 누수 제어가 가능해진다. 또한 HTTP 헤더의 원본 케이싱을 getRawHeaderNames()로 조회할 수 있어 헤더 민감도가 필요한 프로토콜 구현에서 호환성이 향상된다.

원문 읽기