핵심 요약
2026년 6월 23일 Node.js 24.x LTS 라인에 24.18.0 'Krypton' 이 릴리스됐다. 이번 버전은 기능 추가보다 보안·안정성·런타임 성능 쪽 비중이 크다. 특히 Web Crypto API 확장, Buffer 기본 풀 크기 변경, HTTP Agent의 idle 소켓 처리 개선이 실무에 바로 닿는다. LTS를 쓰는 팀이라면 "메이저 업그레이드"가 아니라 패치 릴리스지만 회귀 테스트 범위를 crypto·HTTP·스트림 쪽으로 좁혀 두는 것이 안전하다.
무슨 일이 있었나
Node.js 프로젝트는 6월 23일 GitHub에서 Version 24.18.0 'Krypton' (LTS) 릴리스 노트를 공개했다(〈Node.js GitHub PR #64062〉 2026-06-23). 150개 커밋, 972개 파일 변경 규모의 패치 릴리스다.
주목할 Notable Changes는 다음과 같다.
1. Web Crypto 대폭 강화
TurboSHAKE·KangarooTwelve 알고리즘 지원, ML-KEM·ML-DSA(포스트퀀텀) JWK 지원, WebCrypto 메서드의 prototype pollution 방어 강화 등 crypto 모듈 변경이 가장 많다(〈Node.js GitHub PR #64062〉 2026-06-23).
2. Buffer.poolSize 기본값 64KiB로 상향 (SEMVER-MINOR)
기본 풀 크기가 늘어나 대량 버퍼 할당 시 GC 부담이 줄 수 있지만, 메모리 사용량이 늘어날 수 있다(Matteo Collina 기여, 〈Node.js GitHub PR #63597〉).
3. HTTP Agent idle 소켓 리스너 누수 방지
http 모듈에서 idle agent 소켓에 불필요한 stream listener가 붙지 않도록 수정됐다. 장시간 돌아가는 API 게이트웨이·프록시에서 메모리 누수·FD 고갈 이슈를 줄이는 변경이다(〈Node.js GitHub PR #64004〉).
4. HTTP 1xx 임의 상태 코드 전송 (writeInformation)
103 Early Hints 등 1xx 응답을 더 유연하게 보낼 수 있게 됐다(〈Node.js GitHub PR #63155〉).
5. 루트 CA NSS 3.123.1 갱신
TLS 연결 대상 서버 인증서 검증에 영향을 줄 수 있다(〈Node.js GitHub PR #63527〉).
6. npm 11.16.0 번들
의존성 트리·lockfile 동작이 바뀔 수 있으므로 CI 캐시 무효화를 고려한다.
7. destroyed stream pause/resume revert
이전 버전에서 넣었던 stream 변경이 회귀(revert)됐다. 스트림 파이프라인을 커스텀하게 다루는 코드는 회귀 테스트 대상이다(〈Node.js GitHub PR #63834〉 revert).
시장의 해석
Node.js 릴리스 노트를 보면 이번 Krypton은 "새 문법·새 API"보다 운영 안정성 패치에 가깝다. 다만 crypto·Web Crypto 변경은 SEMVER-MINOR로 분류된 항목이 있어, 암호화·JWT·TLS 종단 간 암호화(E2EE)를 다루는 서비스는 테스트 매트릭스를 crypto 중심으로 재구성하는 편이 낫다.
커뮤니티에서는 LTS 라인에서 crypto 변경이 잦아지는 추세에 주목한다. 포스트퀀텀(ML-KEM, ML-DSA)과 Web Crypto 표준 정렬이 가속되는 만큼, "Node 내장 crypto vs 외부 라이브러리" 선택 기준도 다시 점검할 시점이다.
체크포인트와 리스크
- 체크포인트
- staging에서
node -v로 24.18.0 확인 후 smoke test - JWT·세션·암호화 API 회귀 테스트 (Web Crypto 사용 코드 우선)
- HTTP keep-alive·Agent pool 모니터링 (메모리·open files)
- TLS outbound 연결 대상(레거시 CA 체인) 인증서 검증
- npm ci / lockfile 재생성 후 CI green 확인
- 리스크 요인
- Buffer.poolSize 상향으로 메모리 baseline 증가 (소형 인스턴스·serverless)
- crypto API 시그니처·에러 메시지 변경으로 테스트 스냅샷 깨짐
- stream revert로 edge case 동작 변화
- BoringSSL 빌드 환경에서만 활성화되는 crypto 기능과 OpenSSL 빌드 차이
마무리
Node.js 24.18.0 Krypton은 "조용한 LTS 패치"처럼 보이지만, crypto·HTTP·메모리 세 축에서 운영 영향이 있다. 신규 기능 체험보다 기존 서비스 안정성이 목표라면, Canary 한 대에 먼저 올려 24~48시간 메트릭(메모리, GC, TLS 에러율)을 보고 롤아웃하는 전략이 현실적이다.
고유 정리: LTS 패치 우선순위 매트릭스
| 서비스 유형 | 1순위 테스트 | 2순위 테스트 |
|------------|-------------|-------------|
| REST API + DB | HTTP Agent, TLS outbound | npm install CI |
| 인증·결제 | Web Crypto, JWT sign/verify | crypto diffieHellman |
| 파일·스트림 처리 | stream pipe, Buffer alloc | 메모리 사용량 |
| BFF·프록시 | keep-alive, 1xx 응답 | idle connection count |
이 표는 공식 릴리스 노트의 변경 분류를 팀 역할별로 재배치한 것으로, "전부 테스트" 대신 리소스를 아끼는 데 쓸 수 있다.
참고 자료
- 2026-06-23, Version 24.18.0 'Krypton' (LTS) - Node.js GitHub (2026-06-23)
- buffer: increase Buffer.poolSize default to 64 KiB - Node.js GitHub PR #63597 (2026-06-23)
- http: avoid stream listeners on idle agent sockets - Node.js GitHub PR #64004 (2026-06-23)
- crypto: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms - Node.js GitHub PR #62183 (2026-06-23)
'개발이야기' 카테고리의 다른 글
| Codex CLI Rust 전환 — config.toml·MCP·샌드박스 실무 정리 (0) | 2026.06.25 |
|---|---|
| Gemini 3.5 Flash 'Computer Use' 내장 — 에이전트 개발자가 바꿔야 할 설계 (0) | 2026.06.25 |
| Loop Engineering이란? Claude Code /goal·/loop로 바뀌는 AI 코딩 방식 (1) | 2026.06.23 |
| 바이브 코딩이 무너지는 지점, '스펙 기반 개발(SDD)'이 메우는 것 (0) | 2026.06.22 |
| AI 코딩 에이전트의 '과잉 설계' 문제, 왜 지금 YAGNI가 다시 뜨는가 (0) | 2026.06.21 |