Change8

v2.1.11

Breaking Changes
📦 denoView on GitHub →
1 breaking6 features🐛 8 fixes🔧 11 symbols

Summary

Version 2.1.11 is an LTS release providing significant bug fixes for Node.js compatibility, improved npm peer dependency resolution, and expanded documentation for Web APIs like SubtleCrypto and Temporal.

⚠️ Breaking Changes

  • The ErrorWithStackTraceLimit interface has been removed. Code relying on this specific interface should now use the standard ErrorConstructor interface which now includes stackTraceLimit.

Migration Steps

  1. Update any TypeScript code referencing the 'ErrorWithStackTraceLimit' interface to use 'ErrorConstructor' instead.
  2. If experiencing type checking failures, consider using the suggested '--no-check' flag as prompted by the new CLI hints.

✨ New Features

  • Added support for '--ext vto' and '--ext njk' in the formatter.
  • Implemented Temporal.ZonedDateTime.getTimeZoneTransition in the unstable Temporal API.
  • Added Error.isError type definition.
  • Added --frozen flag support for tasks.
  • Added hint to use --latest when running 'outdated --update' if new versions are available.
  • Improved npm peer dependency resolution to significantly reduce duplicate packages.

🐛 Bug Fixes

  • Fixed node compatibility issue where 'fd' was missing in createServer callback socket objects.
  • Fixed ServerResponse to emit 'close' event when a client aborts the request.
  • Fixed decipherIv() range error on invalid final block lengths in node compatibility layer.
  • Fixed panic when running with '//' as a filepath.
  • Fixed cache busting for HTTP cache when lockfile integrity mismatches occur.
  • Fixed npm resolution errors to correctly map to tsc diagnostics during type checking.
  • Fixed WebSocket to cancel in-flight handshakes on close().
  • Fixed mkdir() to correctly parse file modes in node compatibility layer.

🔧 Affected Symbols

ErrorConstructorErrorWithStackTraceLimitError.isErrorTemporal.ZonedDateTime.getTimeZoneTransitionnode:http.ServerResponsenode:http.IncomingMessagenode:fs.mkdirnode:crypto.decipherIvglobalThis.cachesSubtleCryptocreateImageBitmap