Deno 2.9.5 업데이트: Node 호환성과 네트워크 경계를 함께 다듬다
Deno 2.9.5가 Node 호환, 리디렉션 헤더 처리, npm 인증 범위와 워크스페이스 작업 실행을 개선했다. 기존 프로젝트의 영향과 업데이트 전 점검 사항을 정리한다.
Deno는 2026년 8월 6일 안정 버전 2.9.5를 공개했다. 새 기능 몇 가지와 함께 Node.js 호환 계층, 네트워크 리디렉션, npm 인증 설정, 번들링과 파일 권한 처리의 오류를 폭넓게 고친 유지보수 릴리스다.
무엇이 바뀌었나
워크스페이스에서는 deno task --members로 멤버에 정의된 작업만 실행할 수 있고, 패키지 별칭에는 범위 이름을 떼는 deno add --unscoped 선택지가 생겼다. Blob과 Body에는 텍스트 스트림 API가 추가됐으며 QuickJS 백엔드는 실험 단계로 들어왔다.
수정 항목에는 리디렉션 때 민감한 헤더의 출처 범위를 제한하는 처리, npmrc 인증 설정을 authority와 경로 기준으로 맞추는 변경, node:dns.getServers()에 시스템 권한을 요구하는 동작이 포함된다. Node 호환 계층에서는 Web Streams 역압력, HTTP/2 세션 종료, TLS 콜백 재진입과 파일 쓰기 flush 옵션 등이 손질됐다.
개발자에게 왜 중요한가
이번 버전은 큰 문법 변화보다 경계 조건을 바로잡는 데 무게가 있다. 특히 리디렉션과 레지스트리 인증 범위는 토큰이나 헤더가 의도하지 않은 대상에 전달되지 않도록 하는 운영 안전성과 연결된다. Node 호환 수정은 기존 npm 패키지를 Deno에서 실행할 때 생기던 미묘한 차이를 줄인다.
기존 프로젝트 영향
2.9 계열 사용자는 일반적으로 코드 변경 없이 올릴 수 있는 패치 릴리스다. 다만 DNS 서버 목록을 읽는 코드에는 --allow-sys 권한이 필요할 수 있고, 리디렉션을 거치며 사용자 정의 헤더가 유지된다고 가정한 통합 테스트는 결과가 달라질 수 있다. 실험적 QuickJS 백엔드는 기본 런타임을 대체하는 안정 기능으로 간주해서는 안 된다.
적용 전 확인 사항
- CI와 로컬에서
deno --version을 고정하고 전체 테스트를 다시 실행한다. - 프록시·SSO·사설 레지스트리의 리디렉션 및 인증 헤더 동작을 점검한다.
- Node 호환 스트림, HTTP/2, TLS를 쓰는 서비스는 종료·역압력 시나리오를 시험한다.
node:dns.getServers()사용 시 최소 권한 설정을 갱신한다.- QuickJS 백엔드는 별도 실험 환경에서만 평가한다.