피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js v22에서 v24로 마이그레이션 시 플랫폼 지원 축소, OpenSSL 3.5 보안 정책 강화, 주요 API 변경으로 인한 코드 수정 필요
Node.js v22 to v24
AI 요약
Context
Node.js 24.11.0 출시로 v24 라인이 LTS(장기지원) 진입하며 2028년 4월까지 지원된다. v22 LTS에서 v24로의 마이그레이션 시 v23.0.0과 v24.0.0에서 도입된 주요 breaking changes를 사전에 파악해야 한다.
Technical Solution
- 플랫폼 지원 축소: v23.0.0부터 32비트 Windows(x86) 사전빌드 바이너리 중단, v24.0.0부터 32비트 Linux on armv7 중단
- macOS 최소 버전 상향: 사전빌드 바이너리가 macOS 13.5 이상 요구 (Linux arm64, ppc64le, s390x, x64는 glibc 2.28 이상 유지)
- OpenSSL 3.5 보안 정책 강화: 보안 레벨 2 기본값으로 2048비트 미만 RSA/DSA/DH 키, 224비트 미만 ECC 키, RC4 기반 cipher suite 모두 차단
- 주요 API 변경: fetch() 표준 준수 강화, AbortSignal 검증 추가, stream/pipe 에러 발생, Buffer 동작 변경, Windows 경로 처리 수정, dirent.path를 dirent.parentPath로 변경, fs 접근 권한 상수 위치 이동
- 개발 환경 요구사항 상향: V8 API 링크 Addons는 V8 13.6 대응 필요 (C++20 요구 가능), AIX/Linux GCC 12.2 이상, macOS Xcode 16.1 이상 필수
Impact
Node.js v24는 2028년 4월까지 LTS 지원이 보장된다.
Key Takeaway
Node.js v22에서 v24로 마이그레이션하려면 OpenSSL 3.5의 강화된 보안 정책으로 인한 키/암호화 업데이트와 제공되는 codemods를 활용한 API 변경 사항 자동화가 필수적이다.
실천 포인트
Node.js 22 LTS에서 24로 업그레이드하는 프로젝트에서는 (1) 기존 RSA/DH 키가 2048비트 이상인지 검증, (2) fs.F_OK 등의 상수 접근을 fs.constants로 변경, (3) crypto 모듈의 generateKeyPair 호출 시 hash/mgf1Hash를 hashAlgorithm/mgf1HashAlgorithm으로 교체하고, (4) Codemod Registry의 자동화 도구들을 활용하면 호환성 검증 시간을 단축할 수 있다.