summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-22upgrade serde_v8 and rusty_v8 (#12175)Ryan Dahl
* upgrade serde_v8 and rusty_v8 * rusty_v8 0.30.0 * cycle keys
2021-09-22fix(workers): Don't panic when a worker's parent thread stops running (#12156)Andreu Botella
This panic could happen in the following cases: - A non-fatal error being thrown from a worker, that doesn't terminate the worker's execution, but propagates to the main thread without being handled, and makes the main thread terminate. - A nested worker being alive while its parent worker gets terminated. - A race condition if the main event loop terminates the worker as part of its last task, but the worker doesn't fully terminate before the main event loop stops running. This panic happens because a worker's event loop should have pending ops as long as the worker isn't closed or terminated – but if an event loop finishes running while it has living workers, its associated `WorkerThread` structs will be dropped, closing the channels that keep those ops pending. This change adds a `Drop` implementation to `WorkerThread`, which terminates the worker without waiting for a response. This fixes the panic, and makes it so nested workers are automatically terminated once any of their ancestors is closed or terminated. This change also refactors a worker's termination code into a `WorkerThread::terminate()` method. Closes #11342. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-09-22ci: experiment mac & windows debug builds (#11884)Aaron O'Mullan
Will be tweaked, but possibly have this "fastci" profile for further optimizations
2021-09-22chore: replace calls to assertThrowsAsync with assertRejects (#12176)Casper Beyer
2021-09-22chore(ext/net): improve embedder friendliness (#12178)Ben Noordhuis
Default to None if UnsafelyIgnoreCertificateErrors is not present in the OpState. Embedders may not have a need for restricting outgoing TLS connections and having them hunt through the source code for the magic incantation that makes the borrow panics go away, is less user friendly.
2021-09-221.14.1Kitson Kelly
2021-09-22chore: bump crate versions for 1.14.1 (#12172)Kitson Kelly
2021-09-21cleanup(ext/fetch): drop redundant webidl converters in fetch() (#12167)Aaron O'Mullan
Since those inputs are passed to `new Request(...)` which applies webidl converters
2021-09-21perf(ext/web): optimize EventTarget (#12166)Aaron O'Mullan
and all its subclasses including `AbortSignal` ... Instead of storing associated data in a global `WeakMap` we store them as private attributes (via a Symbol) on the object instances
2021-09-21perf(web): optimize AbortController (#12165)Aaron O'Mullan
- Use regular class constructor and symbol "private" attributes - Lazy init Set of follower signals
2021-09-21fix(runtime/ops/signal.rs): Add FreeBSD signal definitions (#12084)MikaelUrankar
2021-09-21bench(deno_common): track new Request() (#12164)Aaron O'Mullan
Indirectly tests for: - url parsing - abort signal no-ops - webidl & other overhead
2021-09-21chore: bump deno_net (#12157)Satya Rohith
2021-09-20chore(tests): windows pty tests (#12091)David Sherret
2021-09-20test(ext/ffi): add tests for different parameter and return types (#12158)Elias Sjögreen
2021-09-20fix(config-schema): correct default value of "lib" (#12145)Eyal Shalev
Changed it from `"deno.window"` to `["deno.window"]`
2021-09-20refactor(ext/net): make op_connect & op_connect_tls public (#12150)Satya Rohith
2021-09-19fix(cli): move Deno.flock and Deno.funlock to unstable types (#12138)Casper Beyer
2021-09-18refactor(cli): don't generate a module for side loading tests (#12129)Casper Beyer
2021-09-18fix(cli/fmt_errors): Abbreviate long data URLs in stack traces (#12127)Nayeem Rahman
Co-authored-by: Mike White <mike.white@auctane.com>
2021-09-18fix(core): prevent multiple main module loading (#12128)Bartek Iwańczuk
This commit fixes a problem where loading and executing multiple modules leads to all of the having "import.meta.main" set to true. Following Rust APIs were deprecated: - deno_core::JsRuntime::load_module - deno_runtime::Worker::execute_module - deno_runtime::WebWorker::execute_module Following Rust APIs were added: - deno_core::JsRuntime::load_main_module - deno_core::JsRuntime::load_side_module - deno_runtime::Worker::execute_main_module - deno_runtime::Worker::execute_side_module - deno_runtime::WebWorker::execute_main_module Trying to load multiple "main" modules into the runtime now results in an error. If user needs to load additional "non-main" modules they should use APIs for "side" module.
2021-09-17chore(tests): maybe fix flaky flock tests (#12122)David Sherret
2021-09-17chore(tests): fix flaky fetchPostBodyTypedArray (#12104)David Sherret
2021-09-17chore(tests): fix flaky flock tests (#12099)David Sherret
2021-09-17chore: Remove unused deps from Cargo.toml files (#12106)Squirrel
2021-09-17fix(cli): don't ignore diagnostics about for await (#12116)Kitson Kelly
Fixes #12115
2021-09-16perf(runtime/fs): optimize readFile by using a single large buffer (#12057)Aaron O'Mullan
* perf(runtime/fs): optimize readFile by using a single large buffer * handle extended/truncated files during read Allocate an extra byte in our read buffer to detect "overflow" then fallback to unsized readAll for remainder of extended file, this is a slowpath that should rarely happen in practice
2021-09-16fix(ext/crypto): use DataError in importKey() (#12071)Divy Srivastava
2021-09-16fix(ext/crypto): don't use core.decode for encoding jwk keys (#12088)Divy Srivastava
2021-09-16chore: update tagline (#12095)Satya Rohith
2021-09-16fix(lsp): align filter text to vscode logic (#12081)Kitson Kelly
Fixes #11861
2021-09-15chore(scripts): improvements to the release scripts based on the 1.14 ↵David Sherret
release (#12079)
2021-09-15chore(lsp): use pretty_assertions in e2e tests (#12083)Satya Rohith
2021-09-141.14.0 (#12074)David Sherret
2021-09-14chore: bump crate versions for 0.14 (#12072)David Sherret
2021-09-14chore: update URL for schemas (#12070)Bartek Iwańczuk
2021-09-14feat(ext/crypto): import RSA pkcs#8 keys (#11891)Divy Srivastava
2021-09-14fix(lsp): correctly parse registry patterns (#12063)Kitson Kelly
2021-09-14fix: permission prompt stuffing on Windows (#11969)David Sherret
2021-09-14feat(lsp): ignore specific lint for entire file (#12023)Satya Rohith
2021-09-14chore: add JSON schema for configuration file (#12062)Bartek Iwańczuk
2021-09-14docs: Update --config flag help text (#12059)Bartek Iwańczuk
2021-09-13feat: add option flags to 'deno fmt' (#12060)Bartek Iwańczuk
2021-09-13feat(fmt): add support for configuration file (#11944)Bartek Iwańczuk
This commit adds support for configuration file for "deno fmt" subcommand. It is also respected by LSP when formatting files. Example configuration: { "fmt": { "files": { "include": ["src/"], "exclude": ["src/testdata/"] }, "options": { "useTabs": true, "lineWidth": 80, "indentWidth": 4, "singleQuote": true, "textWrap": "preserve" } } }
2021-09-13feat(unstable): allow specifing gid and uid for subprocess (#11586)Leo K
2021-09-13fix: change assertion in httpServerIncompleteMessage test (#12052)Bartek Iwańczuk
2021-09-13chore: update rusty_v8 (#12026)Luca Casonato
2021-09-13refactor(core): Turn the `wasm_streaming_feed` binding into ops (#11985)Andreu Botella
Async WebAssembly compilation was implemented by adding two bindings: `set_wasm_streaming_callback`, which registered a callback to be called whenever a streaming wasm compilation was started, and `wasm_streaming_feed`, which let the JS callback modify the state of the v8 wasm compiler. `set_wasm_streaming_callback` cannot currently be implemented as anything other than a binding, but `wasm_streaming_feed` does not really need to use anything specific to bindings, and could indeed be implemented as one or more ops. This PR does that, resulting in a simplification of the relevant code. There are three operations on the state of the v8 wasm compiler that `wasm_streaming_feed` allowed: feeding new bytes into the compiler, letting it know that there are no more bytes coming from the network, and aborting the compilation. This PR provides `op_wasm_streaming_feed` to feed new bytes into the compiler, and `op_wasm_streaming_abort` to abort the compilation. It doesn't provide an op to let v8 know that the response is finished, but closing the resource with `Deno.core.close()` will achieve that.
2021-09-13feat: stabilise Deno.upgradeWebSocket (#12024)Bartek Iwańczuk
2021-09-13fix(cli): use updated names in deno info help text (#11989)Geert-Jan Zwiers