Skip to content
verdict:

Deno 2.9.2

digest

note: no summary for this digest release

Digest releases are listed without a summary. The original release notes for this version are below.

release-notesgithub.com/denoland/deno · 111 lines
  1. ### 2.9.2 / 2026.07.08
  2. - feat(desktop): autodetect React Router framework (#35557)
  3. - feat(desktop): enable `--hmr` for Vite and Nuxt (#35851)
  4. - feat(desktop): run HMR by framework dev server (#35722)
  5. - feat(desktop): window opacity and transparency APIs (#35646)
  6. - feat(desktop): wire --exclude-unused-npm through to compile (#35740)
  7. - feat(ext/node): implement v8.setHeapSnapshotNearHeapLimit (#35694)
  8. - feat(ext/telemetry): honor OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT (#35068)
  9. - feat(inspector): start inspector server on SIGUSR1 (#35738)
  10. - feat(node): implement getTestContext() in node:test (#35678)
  11. - feat: support wildcard patterns in minimumDependencyAge.exclude (#35746)
  12. - fix(check): don't interleave errors with "Check" lines in a workspace (#35687)
  13. - fix(compile): bump libsui to 0.16.1 to survive eu-strip in flatpak (#35699)
  14. - fix(compile): bump libsui to 0.16.3 to fix segfault under gVisor/Cloud Run
  15. (#35701)
  16. - fix(core): don't drain microtasks in mod_evaluate_sync mid-evaluation (#35707)
  17. - fix(coverage): count a branch-junction line as covered when either arm runs
  18. (#35858)
  19. - fix(coverage): don't count V8 block-boundary gaps as branches (#35767)
  20. - fix(coverage): don't let a trailing comment change a line's hit count (#35741)
  21. - fix(deploy): disable config discovery and refresh the cached CLI version
  22. (#35754)
  23. - fix(desktop): attribute bind calls to the registering window id (#35654)
  24. - fix(desktop): honor desktop.backend from deno.json (#35815
  25. - fix(desktop): pin @std/http in generated Vite SPA entrypoint + add hermetic
  26. compile test (#35676)
  27. - fix(desktop): rename launcher to <app> so it self-loads the runtime (#35709)
  28. - fix(desktop): run framework build step before bundling output (#35603)
  29. - fix(desktop): surface compiled-app startup errors instead of exiting silently
  30. (#35567)
  31. - fix(dprint): exclude `tools/lzld` submodule (#35778)
  32. - fix(ext): throw DataCloneError when posting non-serializable values (#35604)
  33. - fix(ext/cache): implement Cache.keys() (#35455)
  34. - fix(ext/fetch): reject transport failures with Node's "fetch failed" shape
  35. (#35618)
  36. - fix(ext/http): error non-Uint8Array response streams (#35783)
  37. - fix(ext/http): honor explicit content-length header on HEAD responses (#35728)
  38. - fix(ext/http): point legacy abort warning at docs.deno.com/go link (#35713)
  39. - fix(ext/napi): add uv_cond_* polyfills for native addons (#35536)
  40. - fix(ext/net): abort pending Deno.connect during DNS resolution (#35729)
  41. - fix(ext/node): allow adopting inherited extra stdio TCP fds (#35805)
  42. - fix(ext/node): don't panic when main module path has invalid percent-encoding
  43. (#35534)
  44. - fix(ext/node): don't schedule a pause in inspector.waitForDebugger() (#35796)
  45. - fix(ext/node): flush StringDecoder in cipher final() for stream ciphers
  46. (#35800)
  47. - fix(ext/node): mark TLSWrap dead on teardown before tls_conn check (#35706)
  48. - fix(ext/node): report all active resources from process.getActiveResourcesInfo
  49. (#35532)
  50. - fix(ext/node): require --allow-net=unix for node:net unix sockets (#35835)
  51. - fix(ext/node): support fd 3 pipes in spawned Deno children (#34133)
  52. - fix(ext/signals): unregister handler when SignalStream is dropped (#35832)
  53. - fix(ext/web): resolve pending BYOB read when teeing a byte stream that closes
  54. (#35828)
  55. - fix(fmt): format Astro inline scripts as TypeScript (#35852)
  56. - fix(fs): support pre-1970 (negative) timestamps in FsStat (#35517)
  57. - fix(inspector): close WebSocket connections when the runtime is torn down
  58. (#35791)
  59. - fix(install): don't panic on jsr specifier with a tag like @latest (#35605)
  60. - fix(install): don't write through hardlinks when copying package files
  61. (#35735)
  62. - fix(install): make setup cache packages hash deterministic (#35825)
  63. - fix(install): resolve lifecycle script dependency bins against the hoisted
  64. layout (#35762)
  65. - fix(install): support uninstalling multiple global packages (#29352)
  66. - fix(lint): don't error on non-analyzable package exports like CSS files
  67. (#35732)
  68. - fix(lint): include config file in workspace member invalid version error
  69. (#35759)
  70. - fix(lsp): fix CPU busy loop by creating tokio runtime before JsRuntime in TSC
  71. thread (#35595)
  72. - fix(node/fs): implement followSymlinks option for fs.glob() (#35524)
  73. - fix(npm): don't re-fetch packuments on every run when registry has no time
  74. data (#35834)
  75. - fix(npm): don't retain full npm `exports` value + fix `--watch` memory leak
  76. (#35677)
  77. - fix(npm): widen node_modules lock staleness margin to avoid false preemption
  78. (#35806)
  79. - fix(permissions): split comma-separated paths in --ignore-read (#35661)
  80. - fix(test): run Node-API finalizers at test worker shutdown (#35695)
  81. - fix(watch): accept watch paths in fmt/lint/bench --watch (#35720)
  82. - fix(watch): execute preload modules under --watch (#35792)
  83. - fix(watch): terminate on Ctrl+C while blocked in synchronous code (#35826)
  84. - fix: enable rusqlite "fallible_uint" feature in workspace deps (#35681)
  85. - perf(config): literal-suffix reject and prune irrelevant globs per base
  86. (#35688)
  87. - perf(core): defer residual lazy source registration (#35731)
  88. - perf(ext/fetch): stream wasm bytes to the compiler from Rust (#35704)
  89. - perf(ext/node): remove per-chunk copying on TLSWrap data paths (#35705)
  90. - perf(ext/node): zero-copy async Buffer writes on the stream_wrap path (#35780)
  91. - perf(ext/web): identity pipeThrough writable bypass (#35799)
  92. - perf(ext/web): persistent pump for the generic pipeTo loop (#35813)
  93. - perf(ext/web): pump readableStreamCollectIntoUint8Array with a persistent read
  94. request (#35790)
  95. - perf(ext/web): reduce per-chunk allocations on stream read and tee paths
  96. (#35786)
  97. - perf(ext/web): reduce per-chunk overhead in Web Streams (#35773)
  98. - perf(ext/web): run synchronous pull completion without a microtask hop
  99. (#35788)
  100. - perf(ext/web): shared underlying-source algorithms, hoist resource-bridge read
  101. request (#35810)
  102. - perf(ext/web): sync fast path for ReadableStream async iterator next()
  103. (#35842)
  104. - perf(ext/web): synchronous transform fast path for TransformStream (#35844)
  105. - perf(npm): index packuments with SIMD JSON scanner (#35698)
  106. - perf(streams): offload resource-backed pipeTo to Rust via op_pipe (#35689)
  107. - perf(workers): optimize message passing (#35110)
  108. - perf(workers): return raw buffer from receive ops for no-transferable messages
  109. (#35756)
  110. - perf: use V8 native queueMicrotask instead of op (#35787)

view on githubimported 2026-09-28 via github-releases