summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-14refactor(ext/webstorage): use concrete error types (#26173)Leo Kettmeir
2024-10-14fix(install): support installing npm package with alias (#26246)David Sherret
Just tried this out today and it wasn't properly implemented in https://github.com/denoland/deno/pull/24156
2024-10-14chore: generate the checksums from the final archives (#26151)Keith Maxwell
Fixes https://github.com/denoland/deno/issues/7253
2024-10-14perf: use fast calls for microtask ops (#26236)Divy Srivastava
Updates deno_core to 0.312.0
2024-10-14feat(cli): improve deno info output for npm packages (#25906)Luca Casonato
2024-10-14fix(ext/node): compute pem length (upper bound) for key exports (#26231)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/26188
2024-10-14fix(ext/node): allow writing to tty columns (#26201)Divy Srivastava
Behave similar to Node.js where modifying `stdout.columns` doesn't really resize the terminal. Ref https://github.com/nodejs/node/issues/17529 Fixes https://github.com/denoland/deno/issues/26196
2024-10-14fix(ext/napi): pass user context to napi_threadsafe_fn finalizers (#26229)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/26228
2024-10-14fix(ext/webgpu): allow GL backend on Windows (#26206)Divy Srivastava
It should be supported according to [this](https://github.com/gfx-rs/wgpu?tab=readme-ov-file#supported-platforms). Fixes https://github.com/denoland/deno/issues/26144
2024-10-13fixhaturatu
2024-10-13add deno info deno_cachehaturatu
2024-10-13Merge branch 'denoland:main' into mainhaturau
2024-10-12refactor(ext/tls): use concrete error types (#26174)Leo Kettmeir
2024-10-12refactor(ext/cron): use concrete error type (#26135)Leo Kettmeir
2024-10-12fix(node/util): export `styleText` from `node:util` (#26194)Nathan Whitaker
Fixes #26184. It was added but not publicly exported.
2024-10-12feat(npm): support `--allow-scripts` on `deno run` (and `deno add`, `deno ↵Nathan Whitaker
test`, etc) (#26075) Fixes https://github.com/denoland/deno/issues/25533. Fixes https://github.com/denoland/deno/issues/25396. Previously we only supported it on `deno install` and `deno cache`, which is annoying if you're using `nodeModulesDir: auto`. Also changes from printing output of lifecycle scripts directly to capturing the output and only printing it on error.
2024-10-13wiphaturatu
2024-10-12refactor(ext/canvas): use concrete error type (#26111)Leo Kettmeir
2024-10-12refactor(ext/cache): use concrete error type (#26109)Leo Kettmeir
2024-10-12refactor(ext/broadcastchannel): use concrete error type (#26105)Leo Kettmeir
2024-10-11fix(node): make `process.stdout.isTTY` writable (#26130)Marvin Hagemeister
Fixes https://github.com/denoland/deno/issues/26123
2024-10-11fix(lsp): relative completions for bare import-mapped specifiers (#26137)Nayeem Rahman
2024-10-10fix(install): duplicate dependencies in `package.json` (#26128)Marvin Hagemeister
Fixes https://github.com/denoland/deno/issues/26120
2024-10-10fix(unstable/worker): ensure import permissions are passed (#26101)David Sherret
We only had integration tests for this and not an integration test. Closes #26074
2024-10-10fix: do not panic when using methods on classes and interfaces in deno doc ↵Leo Kettmeir
html output (#26100) Fixes #26107
2024-10-09fix: do not panic on wsl share file paths on windows (#26081)David Sherret
A test is going to fail on windows (I'm not on a windows machine atm, so running the CI to see what fails) Closes #26080
2024-10-09fix(repl): importing json files (#26053)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/26041
2024-10-09fix(jupyter): keep running event loop when waiting for messages (#26049)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/24421
2024-10-082.0.0 (#26063)denobot
Bumped versions for 2.0.0 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-08fix: use tree-sitter for deno_doc (#26066)Leo Kettmeir
2024-10-08fix: disable same-origin.html WPT (#26067)Leo Kettmeir
It's very flaky on CI
2024-10-08refactor: remove usage of full_range (#26065)David Sherret
For https://github.com/denoland/deno_graph/pull/538/files This was removed because the deserialization was not backwards compatible.
2024-10-08fix(ext/node): internal buffer length in readSync (#26064)Satya Rohith
Closes https://github.com/denoland/deno/issues/26054
2024-10-08fix(console): missing cause property on non-error objects (#26061)Marvin Hagemeister
Fixes https://github.com/denoland/deno/issues/26047
2024-10-07fix(lsp): exclude missing import quick fixes with bad resolutions (#26025)Nayeem Rahman
2024-10-07feat(lsp): add a message when someone runs 'deno lsp' manually (#26051)Bartek Iwańczuk
2024-10-07chore: remove protoc dep from CI (#26050)Nathan Whitaker
It shouldn't be needed anymore
2024-10-07fix(ext/webstorage): make `getOwnPropertyDescriptor` with symbol return ↵Leo Kettmeir
`undefined` (#13348) Closes #13347
2024-10-07feat(ext/crypto): X448 support (#26043)Divy Srivastava
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-10-04refactor: improve node permission checks (#26028)David Sherret
Does less work when requesting permissions with `-A`
2024-10-04chore: enable lock_deno_json_package_json_deps (#26029)David Sherret
2024-10-04fix(node): fix worker_threads issues blocking Angular support (#26024)Nathan Whitaker
Fixes #22995. Fixes #23000. There were a handful of bugs here causing the hang (each with a corresponding minimized test): - We were canceling recv futures when `receiveMessageOnPort` was called, but this caused the "receive loop" in the message port to exit. This was due to the fact that `CancelHandle`s are never reset (i.e., once you `cancel` a `CancelHandle`, it remains cancelled). That meant that after `receieveMessageOnPort` was called, the subsequent calls to `op_message_port_recv_message` would throw `Interrupted` exceptions, and we would exit the loop. The cancellation, however, isn't actually necessary. `op_message_port_recv_message` only borrows the underlying port for long enough to poll the receiver, so the borrow there could never overlap with `op_message_port_recv_message_sync`. - Calling `MessagePort.unref()` caused the "receive loop" in the message port to exit. This was because we were setting `messageEventListenerCount` to 0 on unref. Not only does that break the counter when multiple `MessagePort`s are present in the same thread, but we also exited the "receive loop" whenever the listener count was 0. I assume this was to prevent the recv promise from keeping the event loop open. Instead of this, I chose to just unref the recv promise as needed to control the event loop. - The last bug causing the hang (which was a doozy to debug) ended up being an unfortunate interaction between how we implement our messageport "receive loop" and a pattern found in `npm:piscina` (which angular uses). The gist of it is that piscina uses an atomic wait loop along with `receiveMessageOnPort` in its worker threads, and as the worker is getting started, the following incredibly convoluted series of events occurs: 1. Parent sends a MessagePort `p` to worker 2. Parent sends a message `m` to the port `p` 3. Parent notifies the worker with `Atomics.notify` that a new message is available 4. Worker receives message, adds "message" listener to port `p` 5. Adding the listener triggers `MessagePort.start()` on `p` 6. Receive loop in MessagePort.start receives the message `m`, but then hits an await point and yields (before dispatching the "message" event) 7. Worker continues execution, starts the atomic wait loop, and immediately receives the existing notification from the parent that a message is available 8. Worker attempts to receive the new message `m` with `receiveMessageOnPort`, but this returns `undefined` because the receive loop already took the message in 6 9. Atomic wait loop continues to next iteration, waiting for the next message with `Atomic.wait` 10. `Atomic.wait` blocks the worker thread, which prevents the receive loop from continuing and dispatching the "message" event for the received message 11. The parent waits for the worker to respond to the first message, and waits 12. The thread can't make any more progress, and the whole process hangs The fix I've chosen here (which I don't particularly love, but it works) is to just delay the `MessagePort.start` call until the end of the event loop turn, so that the atomic wait loop receives the message first. This prevents the hang. --- Those were the main issues causing the hang. There ended up being a few other small bugs as well, namely `exit` being emitted multiple times, and not patching up the message port when it's received by `receiveMessageOnPort`.
2024-10-04tests: enable package_json_node_modules_none (#25825)Satya Rohith
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-10-04fix(install): surface package.json dependency errors (#26023)David Sherret
2024-10-04Revert "feat: warn when using --allow-run with no allow list" (#26021)David Sherret
Although using `--allow-run` without an allow list gives basically no security, I think we should remove this warning because it gets in the way and the only way to disable it is via --quiet.
2024-10-03tests: enable specs::run::package_json::invalid_value (#25826)Satya Rohith
Towards https://github.com/denoland/deno/issues/25241 Co-authored-by: David Sherret <dsherret@gmail.com>
2024-10-03fix(npm): root package has peer dependency on itself (#26022)Divy Srivastava
https://github.com/denoland/deno_npm/pull/70 Fixes https://github.com/denoland/deno/issues/26006
2024-10-03fix(task): use current executable for deno even when not named deno (#26019)David Sherret
Closes https://github.com/denoland/deno/issues/26005
2024-10-03chore: show expectation diff for wpt tests (#26014)Divy Srivastava
Closes https://github.com/denoland/deno/issues/26012 ``` ======================================== failures: "/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.https.any.html - Can wrap and unwrap X25519 private key keys as non-extractable using pkcs8 and AES-CTR" final result: failed. 1 passed; 1 failed; 0 expected failure; total 2 (15646ms) diff --git a/Users/divy/gh/deno/tests/wpt/runner/expectation.json b/var/folders/ll/ltqsx4nx72v5_r7rlsl36pgm0000gn/T/375d79f1257b05cd index fb2063935..4449c5d15 100644 --- a/Users/divy/gh/deno/tests/wpt/runner/expectation.json +++ b/var/folders/ll/ltqsx4nx72v5_r7rlsl36pgm0000gn/T/375d79f1257b05cd @@ -1531,6 +1531,7 @@ }, "wrapKey_unwrapKey": { "wrapKey_unwrapKey.https.any.html": [ + "Can wrap and unwrap X25519 private key keys as non-extractable using pkcs8 and AES-CTR", "Can wrap and unwrap X25519 private key keys as non-extractable using pkcs8 and AES-CBC", "Can wrap and unwrap X25519 private key keys as non-extractable using pkcs8 and AES-GCM", "Can wrap and unwrap X25519 private key keys as non-extractable using pkcs8 and AES-KW", ```
2024-10-03fix: don't prompt when using `Deno.permissions.request` with `--no-prompt` ↵Simon Lecoq
(#25811)