summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-17fix(ext/node): add null check for kStreamBaseField (#26368)Bartek Iwańczuk
It's not guaranteed that `kStreamBaseField` is not undefined, so added a check for it. Closes https://github.com/denoland/deno/issues/26363
2024-10-18fix(jupyter): fix panics for overslow subtraction (#26371)Bartek Iwańczuk
I don't have a reliable reproduction for it, but it makes it painful to use the Jupyter kernel with semi-frequent random panics. The completions don't always work correctly anyway, so I think it's better to just not panic here for the time being. Fixes https://github.com/denoland/deno/issues/26340
2024-10-17fix(install): don't attempt to cache specifiers that point to directories ↵Nathan Whitaker
(#26369) Fixes https://github.com/denoland/deno/issues/26162
2024-10-17chore: fix flaky COPYFILE_EXCL test (#26370)Nathan Whitaker
It was missing an await
2024-10-17refactor(ext/napi): use concrete error types (#26186)Leo Kettmeir
2024-10-17fix(node/fs): copyFile with `COPYFILE_EXCL` should not throw if the ↵Nathan Whitaker
destination doesn't exist (#26360) Fixes #26313. We were checking for the NotFound error, but still calling the callback with the error / throwing.
2024-10-17refactor(ext/web): use concrete error types (#26185)Leo Kettmeir
2024-10-17feat(permissions): expose PromptResponse (#26358)Lucas Nogueira
follow-up for #26327
2024-10-17refactor(ext/kv): use concrete error type (#26239)Leo Kettmeir
2024-10-17refactor(ext/net): use concrete error type (#26227)Leo Kettmeir
2024-10-17feat(permissions): expose PermissionPrompter and set_prompter function (#26327)Lucas Nogueira
when defining a custom runtime, it might be useful to define a custom prompter - for instance when you are not relying on the terminal and want a GUI prompter instead
2024-10-17fix(runtime): send ws ping frames from inspector server (#26352)Luca Casonato
Every 30 seconds the websocket server will now send a ping frame, so that the TCP socket stays alive.
2024-10-17fix(jupyter): update to the new logo (#26353)Jeremy Tuloup
Follow-up to #26084 Update to the new logo found here: https://github.com/denoland/docs/blob/main/static/img/logo.svg
2024-10-17refactor: use macros for signal table (#26214)Patrick Uftring
2024-10-17fix(cli): set napi object property properly (#26344)LongYinan
<!-- Before submitting a PR, please read https://docs.deno.com/runtime/manual/references/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. -->
2024-10-17fix(net): don't try to set nodelay on upgrade streams (#26342)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/26341. We try to call `op_set_nodelay` on an `UpgradeStream`, which doesn't support that operation.
2024-10-16fix: don't warn on ignored signals on windows (#26332)Nathan Whitaker
Closes #26183. The warnings are super noisy and not actionable for the user
2024-10-17fix(node/http): normalize header names in `ServerResponse` (#26339)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/26115. We weren't normalizing the headers to lower case, so code that attempted to delete the `Content-Length` header (but used a different case) wasn't actually removing the header.
2024-10-16chore: forward v2.0.1 release commit to main (#26338)denobot
This is the release commit being forwarded back to main for 2.0.1 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-16Reland feat(lsp): deno/didRefreshDenoConfigurationTree notifications (#26325)Nayeem Rahman
2024-10-16fix: use syntect for deno doc html generation (#26322)Leo Kettmeir
2024-10-16Revert "feat(lsp): "deno/didRefreshDenoConfigurationTree" notificatio… ↵Bartek Iwańczuk
(#26320) …ns (#26215)" This reverts commit 06778e4e9b0a856ac39cc01f0813e6076eb150d6 because benchmarks are failing on `main`.
2024-10-16fix(child_process): map node `--no-warnings` flag to `--quiet` (#26288)Nathan Whitaker
Closes https://github.com/denoland/deno/issues/25899
2024-10-16fix(cli): add prefix to install commands in help (#26318)Marvin Hagemeister
Some `deno add` and `deno install` example usage commands didn't have the `jsr:` or `npm:` prefixes. --------- Signed-off-by: Marvin Hagemeister <marvinhagemeister50@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-16fix(add): exact version should not have range `^` specifier (#26302)Marvin Hagemeister
Fixes https://github.com/denoland/deno/issues/26299
2024-10-16feat(lsp): "deno/didRefreshDenoConfigurationTree" notifications (#26215)Nayeem Rahman
2024-10-16chore: add dhat feature (#26285)David Sherret
2024-10-16fix(jupyter): copy kernels icons to the kernel directory (#26084)Jeremy Tuloup
2024-10-16fix(ext/node): fix dns.lookup result ordering (#26264)Yoshiya Hinosawa
partially unblocks #25470 This PR aligns the resolution of `localhost` hostname to Node.js behavior. In Node.js `dns.lookup("localhost", (_, addr) => console.log(addr))` prints ipv6 address `::1`, but it prints ipv4 address `127.0.0.1` in Deno. That difference causes some errors in the work of enabling `createConnection` option in `http.request` (#25470). This PR fixes the issue by aligning `dns.lookup` behavior to Node.js. This PR also changes the following behaviors (resolving TODOs): - `http.createServer` now listens on ipv6 address `[::]` by default on linux/mac - `net.createServer` now listens on ipv6 address `[::]` by default on linux/mac These changes are also alignments to Node.js behaviors.
2024-10-16fix: node-api function call should use preamble (#26297)snek
`napi_call_function` should use our equiv of NAPI_PREAMBLE (`&mut Env` instead of `*mut Env`) since it needs to set error codes based on whether the body of the function raised a JS exception. Fixes: https://github.com/denoland/deno/issues/26282
2024-10-16fix(cli): consolidate pkg parser for install & remove (#26298)Satya Rohith
Closes https://github.com/denoland/deno/issues/26283
2024-10-16fix(ext/node): timingSafeEqual account for AB byteOffset (#26292)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/26276
2024-10-16perf(http): make heap allocation for path conditional (#26289)David Sherret
Code: ```js Deno.serve({ port: 8085 }, request => { return new Response(request.url); }); ``` Before: ``` % wrk -d60s http://localhost:8085/path/testing\?testing=5 Running 1m test @ http://localhost:8085/path/testing?testing=5 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 56.01us 18.34us 3.28ms 93.84% Req/Sec 81.80k 3.13k 88.26k 90.77% 9783713 requests in 1.00m, 1.67GB read Requests/sec: 162789.89 Transfer/sec: 28.41MB ``` After: ``` % wrk -d60s http://localhost:8085/path/testing\?testing=5 Running 1m test @ http://localhost:8085/path/testing?testing=5 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 55.44us 15.20us 2.42ms 90.41% Req/Sec 82.71k 2.92k 88.10k 89.93% 9892916 requests in 1.00m, 1.69GB read Requests/sec: 164607.06 Transfer/sec: 28.73MB ```
2024-10-15fix(install): retry downloads of registry info / tarballs (#26278)Nathan Whitaker
Fixes #26085. Adds a basic retry utility with some defaults, starts off with a 100ms wait, then 250ms, then 500ms I've applied the retry in the http client, reusing an existing function, so this also applies to retrying downloads of deno binaries in `upgrade` and `compile`. I can make a separate function that doesn't retry so this doesn't affect `upgrade` and `compile`, but it seemed desirable to have retries there too, so I left it in.
2024-10-15fix: improve suggestions and hints when using CommonJS modules (#26287)Bartek Iwańczuk
Ref https://github.com/denoland/deno/issues/26225
2024-10-15refactor(ext/io): use concrete error types (#26187)Leo Kettmeir
2024-10-15fix: add hint for missing `document` global in terminal error (#26218)Bartek Iwańczuk
This came up on Discord as a question so I thought it's worth adding a hint for this as it might be a common pitfall. --------- Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-10-15fix(ext/console): apply coloring for console.table (#26280)Leo Kettmeir
Fixes #26159
2024-10-15fix(install): handle pkg with dep on self when pkg part of peer dep ↵David Sherret
resolution (#26277) * https://github.com/denoland/deno_npm/pull/71 Closes #26271
2024-10-15fix(ext/node): use primordials in `ext/node/polyfills/internal/buffer.mjs` ↵Kenta Moriuchi
(#24993) Towards #24236
2024-10-15fix(ext/node): handle http2 server ending stream (#26235)Toby Ealden
Closes #24845
2024-10-15refactor: always apply hint when formatting JsError (#26252)Bartek Iwańczuk
Moves code for generating suggestions and hint to `cli/fmt_errors.rs`. This effectively applies suggestion to any place that format JS errors in terminal, like `deno test`. Addresses https://github.com/denoland/deno/pull/26218#issuecomment-2409139055
2024-10-15chore: ensure only one cargo publish can run (#26262)Eli Uriegas
Signed-off-by: Eli Uriegas <github@terriblecode.com>
2024-10-15fix(add): create deno.json when running `deno add jsr:<pkg>` (#26275)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/26119. Originally I wanted to put them in package.json if there's no deno.json, but on second thought it makes more sense to just create a deno.json
2024-10-15chore: upgrade to rust 1.81.0 (#26261)林炳权
2024-10-15fix: panic in `prepare_stack_trace_callback` when global interceptor throws ↵Divy Srivastava
(#26241) Fixes https://github.com/denoland/deno/issues/26240 Fixes https://github.com/denoland/deno/pull/24985#issuecomment-2365460210 Fix panic when a global interceptor is misconfigured or throws an exception. Updates deno_core to 0.313.0
2024-10-15fix(ext/node): implement TCP.setNoDelay (#26263)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/26177 The significant delay was caused by Nagel's algorithm + delayed ACKs in Linux kernels. Here's the [kernel patch](https://lwn.net/Articles/502585/) which added 40ms `tcp_default_delack_min` ``` $ deno run -A pg-bench.mjs # main Tue Oct 15 2024 12:27:22 GMT+0530 (India Standard Time): 42ms $ target/release/deno run -A pg-bench.mjs # this patch Tue Oct 15 2024 12:28:02 GMT+0530 (India Standard Time): 1ms ``` ```js import { Buffer } from "node:buffer"; import pg from 'pg' const { Client } = pg const client = new Client({ connectionString: 'postgresql://postgres:postgres@127.0.0.1:5432/postgres' }) await client.connect() async function fetch() { const startPerf = performance.now(); const res = await client.query(`select $1::int as int, $2 as string, $3::timestamp with time zone as timestamp, $4 as null, $5::bool as boolean, $6::bytea as bytea, $7::jsonb as json `, [ 1337, 'wat', new Date().toISOString(), null, false, Buffer.from('awesome'), JSON.stringify([{ some: 'json' }, { array: 'object' }]) ]) console.log(`${new Date()}: ${Math.round(performance.now() - startPerf)}ms`) } for(;;) await fetch(); ```
2024-10-15fix(repl): remove check flags (#26140)Yoshiya Hinosawa
This change removes the handling of `--check` and `--no-check` flags from `deno repl` subcommand. Currently these flags don't have effects, and the help output for these options are incorrect and confusing. closes #26042
2024-10-15fix: do not panic running remote cjs module (#26259)David Sherret
Instead error.
2024-10-14perf(http): avoid clone getting request method and url (#26250)David Sherret