Change8

v2.9.1

📦 denoView on GitHub →
3 features🐛 43 fixes🔧 17 symbols

Summary

This release introduces desktop-specific features like type-checking flags and deep-link registration, alongside numerous fixes across bundling, caching, desktop environment, Node.js compatibility, and npm handling.

✨ New Features

  • Added --desktop flag to type-check for deno desktop.
  • Registered deep-link URL schemes at bundle time for desktop applications.
  • Updated laufey dependency to version 0.5.0.

🐛 Bug Fixes

  • Emitted CSSStyleSheet for CSS raw imports during bundling.
  • Skipped checksums for cached 404 entries.
  • Did not strip workspace-member includes from deploy config.
  • Applied deferred fast-call op upgrade to the captured bootstrap clone.
  • Prevented shared-buffer timer expiry race from losing timers.
  • Defaulted desktop window title to app name instead of laufey_webview.
  • Detected SvelteKit adapter-node and error on unsupported adapters in desktop mode.
  • Discovered deno.json in the project directory for `deno desktop .`.
  • Prevented deletion of user directories that collide with the app name.
  • Repaired webview and raw backends on Windows (laufey v0.4.1).
  • Resolved launcher symlink so .deb/.rpm apps find the backend.
  • Set LAUFEY_RUNTIME_PATH in Linux app launcher.
  • Showed macOS tray icon in bundled .app launched via Finder.
  • Used zstd for appimage squashfs.
  • Stripped blockquote > prefixes from JSDoc code blocks.
  • Included path and reason when fetching a file:// URL fails in ext/fetch.
  • Checked permissions when binding node:net unix sockets.
  • Exported report as a named export from node:process.
  • Ensured mock.reset() also resets MockTimers.
  • Passed Deno subcommands through child_process spawn.
  • Sent TLS close_notify on JS stream-backed socket shutdown.
  • Kept attach limit capped under scoped permissions for node_sqlite.
  • Made URL and URLSearchParams non-serializable in ext/web.
  • Ensured stable formatting of multi-line html/svg tagged templates.
  • Added support for Chrome worker debugging in the inspector.
  • Pinned pre-release npm versions added via dist-tag during installation.
  • Registered stdin peer only after ZMTP handshake completes for jupyter.
  • Added PerformanceObserver and PerformanceObserverEntryList types.
  • Added missing `write_flushed` in `poll_start_fixed_response_with` for http.
  • Watched .wasm files for changes in the language server protocol implementation.
  • Loaded graph-backed TypeScript modules synchronously in node.
  • Decoded percent-encoded subpath of npm specifiers.
  • Fell back for age-filtered npm dist-tags.
  • Normalized bin names with path separators for npm packages.
  • Realpathed npm bin main module.
  • Showed scoped-registry auth hint on tarball 404 errors.
  • Used case-insensitive match for trust-policy-exclude.
  • Revealed initial window on first paint in desktop runtime to prevent startup black flash.
  • Corrected property name for JSX new line configuration in the schema file.
  • Resolved LAUFEY_VERSION from crate-local Cargo.lock during publish.
  • Showed a clear error when V8 fails to create worker threads.
  • Fast-pathed Response reconstruction in ext/fetch.
  • Coalesced chunked response writes into a single write in ext/http.

Affected Symbols