v2.5.2
Breaking Changes📦 denoView on GitHub →
⚠ 1 breaking✨ 5 features🐛 12 fixes🔧 10 symbols
Summary
Deno 2.5.2 introduces LSP support for BDD-style tests and several Node.js compatibility fixes for fs and crypto modules. It also includes performance optimizations for V8 scoping and module watching.
⚠️ Breaking Changes
- Direct execution of .bat and .cmd files on Windows is now rejected for security/stability; use a shell or explicit interpreter instead.
Migration Steps
- If running on Windows, ensure scripts do not attempt to execute .bat or .cmd files directly.
- Update configuration files to utilize the new top-level permissions key if desired.
✨ New Features
- Added LSP support for describe/it test blocks in the editor.
- Added Uint8Array base64 and hex methods to type definitions.
- Added top-level permissions key support to the configuration file schema.
- Improved performance by implementing stack-allocated V8 scopes and negative caching for package.json.
- Optimized LSP by skipping file watching for node_modules.
🐛 Bug Fixes
- Fixed HTML entrypoint reloading when using the --watch flag.
- Resolved issue where compilerOptions.paths was not respected during checks.
- Fixed --frozen flag being ignored in the deno bundle command.
- Enabled coverage data collection for Web Workers.
- Updated stream type declarations to correctly use Promise<void>.
- Fixed fs.readFile and fs.readFileSync to properly assert encoding.
- Improved Node.js compatibility for fs.statfs and fs.statfsSync.
- Allowed ArrayBuffer inputs for crypto.timingSafeEqual.
- Fixed base64 encoding issues in crypto Cipheriv and Decipheriv.
- Ensured User-Agent headers are sent during WebSocket handshakes.
- Fixed proxy URL handling in fetch.
- Restored Windows debug information.
🔧 Affected Symbols
Uint8Arrayfs.readFilefs.readFileSyncfs.statfsfs.statfsSynccrypto.timingSafeEqualcrypto.Cipherivcrypto.DecipherivReadableStreamWritableStream