Aaron O'Mullan
67e5a850cc
feat(serde_v8): bytes::Bytes support ( #14412 )
2022-05-13 12:53:13 +02:00
Andreu Botella
3e7afb8918
chore(runtime): Make some ops in ext and runtime infallible. ( #14589 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-05-13 10:36:31 +02:00
Bert Belder
89b428234c
1.21.3 ( #14584 )
2022-05-12 18:43:00 +02:00
Aaron O'Mullan
30841a1705
cleanup(ext/http): simpler http write ops ( #14552 )
...
Facilitates making `op_http_write_headers` sync and thus faster
2022-05-10 22:36:40 +02:00
Colin Ihrig
649e5ce023
fix: finish TLS handshake before shutting down ( #14547 )
...
This commit ensures that the TLS handshake completes before
attempting to close the connection.
2022-05-10 08:27:08 -04:00
Luca Casonato
2f7f41533b
fix(ext/web): brand check in performance.timeOrigin
( #14550 )
2022-05-10 02:31:35 +02:00
Geert-Jan Zwiers
dd1d6a0f67
feat(web): add performance.timeOrigin
( #14489 )
...
Add support for the `performance.timeOrigin` web API.
Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
2022-05-06 19:37:18 +02:00
Colin Ihrig
23c77df664
1.21.2 ( #14508 )
...
1.21.2
2022-05-05 19:37:27 -04:00
Luca Casonato
242273e69b
chore: update deps ( #14416 )
2022-05-05 12:41:59 +02:00
Divy Srivastava
fb390c5701
fix(ext/http): explicitly close resource after reading ( #14471 )
2022-05-04 20:09:15 +05:30
Thanapat Chotipun
e3954df8c5
feat(ext/net): add "NS" record support in Deno.resolveDns API ( #14372 )
2022-05-03 20:04:20 +02:00
Leo Kettmeir
de2004dec5
Forward 1.21.1 ( #14428 )
2022-04-28 23:32:42 +02:00
Ben Heidemann
dc4ab1d934
feat(ext/console): Compact empty iterables when calling Deno.inspect with compact false ( #14387 )
2022-04-26 13:04:28 +02:00
Aaron O'Mullan
e24b8f075e
chore: deno_http v0.43.1 ( #14392 )
2022-04-25 21:31:34 +02:00
Divy Srivastava
609c359dd4
fix(ext/http): truncate read bytes when streaming bodies ( #14389 )
...
stream shutdown wasn't happening correctly (moved it to call op_http_shutdown) & extra zeroed bytes were being sent for when body length not a multiple of 64*1024
2022-04-25 19:20:29 +02:00
Ben Heidemann
ddbfa1418c
feat(ext/console): Add string abbreviation size option for "Deno.inspect" ( #14384 )
2022-04-25 13:59:15 +02:00
Divy Srivastava
6dcf3a447c
perf(ext/http): fast path for uncompressed bodies ( #14366 )
2022-04-25 08:13:22 +05:30
Aaron O'Mullan
e2fba7b967
perf(ext/http): faster is_content_compressible ( #14383 )
...
Cleanup + benches
2022-04-24 21:45:56 +02:00
Aaron O'Mullan
4b7d306a19
perf(serde_v8): zero-copy StringOrBuffer ( #14381 )
2022-04-24 09:28:46 -03:00
Divy Srivastava
2eb8c3b82f
chore(ext/fetch): custom arity ( #14198 )
2022-04-23 22:19:06 +05:30
Luca Casonato
1ad8c11bc9
chore: bump crates ( #14365 )
2022-04-22 16:54:42 +02:00
Divy Srivastava
57f7e07c13
Reland "perf(http): optimize ReadableStreams backed by a resource" ( #14346 )
2022-04-22 16:19:08 +05:30
Divy Srivastava
2a86b8fb02
Reland "feat(ext/http): stream auto resp body compression" ( #14345 )
2022-04-21 12:37:49 +05:30
denobot
29c8cd8aae
1.21.0 ( #14336 )
...
Co-authored-by: ry <ry@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-20 21:50:16 -04:00
Bartek Iwańczuk
03019e7781
Revert various PRs related to "ext/http" ( #14339 )
...
* Revert "feat(ext/http): stream auto resp body compression (#14325 )"
* Revert "core: introduce `resource.read_return` (#14331 )"
* Revert "perf(http): optimize `ReadableStream`s backed by a resource (#14284 )"
2022-04-21 02:22:55 +02:00
Leo Kettmeir
8a7539cab3
feat(runtime): two-tier subprocess API ( #11618 )
2022-04-21 00:20:33 +02:00
Luca Casonato
8b25807054
feat(ext/http): stream auto resp body compression ( #14325 )
...
This commit adds support for auto response body compression for
streaming bodies.
2022-04-20 22:53:56 +02:00
Divy Srivastava
2612b6f20f
core: introduce resource.read_return
( #14331 )
2022-04-20 18:39:13 +02:00
Divy Srivastava
57a8fc37fc
perf(http): optimize ReadableStream
s backed by a resource ( #14284 )
2022-04-20 18:16:44 +05:30
David Sherret
ae479b1036
perf(fmt/lint): incremental formatting and linting ( #14314 )
2022-04-19 22:14:00 -04:00
Divy Srivastava
1c05e41f37
perf(runtime): bypass tokio file and bump op buffer size to 64K ( #14319 )
2022-04-19 20:11:31 +05:30
Nayeem Rahman
c30d95f2e3
feat(ext/web): add globalThis.reportError() ( #13799 )
2022-04-19 10:59:51 +02:00
David Sherret
a64e63c361
perf: move Deno.writeTextFile and like functions to Rust ( #14221 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-04-18 18:00:14 -04:00
Bartek Iwańczuk
a87be28a46
feat: Better formatting for AggregateError ( #14285 )
...
This commit adds "aggregated" field to "deno_core::JsError" that stores
instances of "JsError" recursively to properly handle "AggregateError"
formatting. Appropriate logics was added to "PrettyJsError" and
"console" API to format AggregateErrors.
Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2022-04-16 16:12:26 +02:00
Bartek Iwańczuk
0bb96cde72
refactor: update runtime code for primordial check x in y ( #13642 )
...
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2022-04-16 14:09:07 +02:00
David Sherret
0e4574b2e3
chore: forward v1.20.6 release commit to main ( #14288 )
2022-04-14 15:50:48 -04:00
Nayeem Rahman
7d50a5fd43
refactor(core/error): Clarify JsError message fields ( #14269 )
2022-04-13 16:41:39 +02:00
Nayeem Rahman
4d18f558e4
feat(ext/web): Add error events for event listener and timer errors ( #14159 )
...
- feat: Add handleable error event for even listener errors
- feat: Add handleable error event for setTimeout()/setInterval() errors
- feat: Add Deno.core.destructureError()
- feat: Add Deno.core.terminate()
- fix: Don't throw listener errors from dispatchEvent()
- fix: Use biased mode when selecting between mod_evaluate() and
run_event_loop() results
2022-04-13 11:50:57 +02:00
David Sherret
b2aaf708ab
chore: forward v1.20.5 release commit to main ( #14232 )
2022-04-07 14:40:20 -04:00
EduM22
181e378032
fix(ext/crypto): check extractable in exportKey ( #14222 )
2022-04-07 18:28:56 +05:30
Divy Srivastava
995d1666ff
chore(ext/websocket): custom arity ( #14202 )
2022-04-04 15:19:50 +05:30
Divy Srivastava
cc49b5e0d8
chore(ext/http): custom arity ( #14200 )
2022-04-04 15:19:35 +05:30
Divy Srivastava
6bb555b549
chore(ext/broadcast_channel): custom arity ( #14199 )
2022-04-04 15:18:29 +05:30
Divy Srivastava
797cf9cdd9
chore(ext/webstorage): custom arity ( #14201 )
2022-04-04 15:07:26 +05:30
Divy Srivastava
1f7dd5eda9
chore(ext/url): cleanup url ops ( #14177 )
2022-04-03 18:12:38 +05:30
Bartek Iwańczuk
6c25b5135d
chore: update tokio, tokio-util and libc dependencies ( #14174 )
2022-04-02 19:54:40 +02:00
Aaron O'Mullan
94885bc293
experiment(serde_v8): derive_more enabled opaque wrappers ( #14096 )
2022-04-02 14:37:11 +02:00
David Sherret
7fec7c834c
1.20.4 ( #14168 )
2022-03-31 15:48:35 -04:00
Andreu Botella
d983b577bc
chore(wasm): Don't await on the argument to handleWasmStreaming
( #14000 )
...
`handleWasmStreaming` is the function that provides the binding with
the `fetch` API needed for `WebAssembly.instantiateStreaming()` and
`WebAssembly.compileStreaming()`. When I implemented it in #11200 , I
thought V8 was calling these functions with the argument of the
`WebAssembly` streaming functions, without doing any resolving, and so
`handleWasmStreaming` awaits for the parameter to resolve. However,
as discovered in
https://github.com/denoland/deno/issues/13917#issuecomment-1065805565 ,
V8 does in fact resolve the parameter if it's a promise (and handles
rejections arising from that).
This change removes the `async` IIFE inside `handleWasmStreaming`,
letting initial errors be handled synchronously (which will however
not throw synchronously from the `WebAssembly` namespace functions).
Awaiting is still necessary for reading the bytes of the response,
though, and so there is an `async` IIFE for that.
2022-03-29 14:44:33 +02:00
Nayeem Rahman
317f13b63f
fix(ext/fetch): extend deprecated fetch() overload with string | Request
( #14134 )
2022-03-28 12:35:48 +02:00
Luca Casonato
37b0ec454c
chore: forward v1.20.3 release commit to main ( #14121 )
2022-03-25 18:53:55 +01:00
Rafael Ávila de Espíndola
3511b7602b
chore: update rusqlite ( #14117 )
2022-03-25 13:32:50 +01:00
Luca Casonato
25b73a366f
fix(ext/ffi): enforce unstable check on ops ( #14115 )
2022-03-25 12:29:54 +01:00
Yoshiya Hinosawa
3462d87503
fix: deprecate URL as the first arg of fetch ( #14113 )
2022-03-25 20:23:55 +09:00
apeltop
bb3387de17
chore(ext): fix typo in ext/webgpu, ext/fetch ( #14106 )
2022-03-25 00:36:30 +01:00
Kitson Kelly
cff1e92ecf
1.20.2
2022-03-24 14:47:06 +11:00
Divy Srivastava
5edcd9dd35
perf(http): avoid Set.has() when closing connection resource ( #14085 )
2022-03-23 13:05:34 +05:30
Yoshiya Hinosawa
7feb25d448
feat(unstable): add ref/unref to Listener ( #13961 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-23 12:04:20 +09:00
Divy Srivastava
5c9844e5f7
perf(http): avoid checking promise every request ( #14079 )
2022-03-23 07:23:59 +05:30
Nayeem Rahman
d2c099ce34
fix(ext/fetch): Connect async error stack with user code ( #13899 )
2022-03-22 18:08:33 +01:00
David Sherret
49012cbc33
feat: upgrade to swc_ecmascript 0.137.0 ( #14067 )
2022-03-22 09:19:53 -04:00
Andreu Botella
12d28dffc6
fix(fetch): Fix uncaught rejection panic with WebAssembly.instantiateStreaming
( #13925 )
...
When an exception is thrown during the processing of streaming WebAssembly,
`op_wasm_streaming_abort` is called. This op calls into V8, which synchronously
rejects the promise and calls into the promise rejection handler, if applicable.
But calling an op borrows the isolate's `JsRuntimeState` for the duration of the
op, which means it is borrowed when V8 calls into `promise_reject_callback`,
which tries to borrow it again, panicking.
This change changes `op_wasm_streaming_abort` from an op to a binding
(`Deno.core.abortWasmStreaming`). Although that binding must borrow the
`JsRuntimeState` in order to access the `WasmStreamingResource` stored in the
`OpTable`, it also takes ownership of that `WasmStreamingResource` instance,
which means it can drop any borrows of the `JsRuntimeState` before calling into
V8.
2022-03-22 11:33:29 +01:00
Aaron O'Mullan
45ef3c91c2
perf(http): avoid per header alloc ( #14051 )
2022-03-21 12:56:30 +01:00
Andreu Botella
593801e265
cleanup(web, fetch): dedupe minesniff / "extract a MIME type" algorithm ( #14044 )
...
Closes #14002
2022-03-20 14:31:12 +01:00
Jason
0bc286ab47
fix(ext/console): fix error with a Proxy of a Map ( #14032 )
2022-03-20 20:21:42 +09:00
Bartek Iwańczuk
52a6e9ef4a
feat(ext/net): Deno.upgradeHttp handles unix connections ( #13987 )
2022-03-19 14:21:49 +01:00
Leo Kettmeir
e55dee7fd8
refactor: cleanup assert() & AssertionError definitions ( #13859 )
2022-03-19 13:57:37 +01:00
Aapo Alasuutari
ad8e238348
chore(core,ext): minor JS optimisations ( #13950 )
2022-03-19 18:26:54 +09:00
Ryan Dahl
fce60f2cc2
v1.20.1
2022-03-16 21:40:31 -04:00
Ryan Dahl
f7ab41583e
fix: cargo publish fails without absolute paths ( #13993 )
...
This reverts commit 4e3ed37037
.
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-17 01:25:44 +01:00
Ryan Dahl
418c1eb4b3
v1.20.0
2022-03-16 16:07:35 -04:00
Bert Belder
c5270abad7
feat(unstable): Add Deno.upgradeHttp API ( #13618 )
...
This commit adds "Deno.upgradeHttp" API, which
allows to "hijack" connection and switch protocols, to eg.
implement WebSocket required for Node compat.
Co-authored-by: crowlkats <crowlkats@toaxl.com>
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-16 14:54:18 +01:00
Divy Srivastava
7044bf523b
perf(web): optimize Blob.text and Blob.arrayBuffer ( #13981 )
2022-03-16 19:16:52 +05:30
Ryan Dahl
45b3aa22c0
feat(ext/fetch): Allow Response status 101 ( #13969 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-16 14:30:43 +01:00
Divy Srivastava
697b60a335
perf(web): use DOMString for BlobParts ( #13979 )
2022-03-16 12:58:38 +05:30
木杉
395f527238
chore(ext/webidl): change spec link ( #13960 )
2022-03-16 03:17:50 +01:00
Aaron O'Mullan
bd481bf095
feat(ops): optional OpState ( #13954 )
2022-03-16 00:33:46 +01:00
Andreu Botella
672f66dde1
perf(web): Optimize TextDecoder
by adding a new U16String
type ( #13923 )
2022-03-16 00:22:00 +01:00
Aaron O'Mullan
bb53135ed8
cleanup(core): OpPair => OpDecl ( #13952 )
2022-03-15 23:43:17 +01:00
wspsxing
fe606c52e1
fix: upgrade reqwest to 0.11.10 ( #13951 )
2022-03-14 23:12:59 -04:00
Aaron O'Mullan
88d0f01948
feat(ops): custom arity ( #13949 )
...
Also cleanup & drop ignored wildcard op-args
2022-03-14 23:38:53 +01:00
Andreu Botella
9f494dc405
feat(ext/web): Add AbortSignal.timeout()
( #13687 )
2022-03-14 20:19:22 +01:00
Andreu Botella
c6bf07ec6d
fix(core): Don't override structured clone error messages from V8 ( #13942 )
...
In the implementation of structured serialization in
`Deno.core.serialize`, whenever there is a serialization error, an
exception will be thrown with the message "Failed to serialize
response", even though V8 provides a message to use in such cases.
This change instead throws an exception with the V8-provided message,
if there is one.
2022-03-14 19:35:15 +01:00
Divy Srivastava
b4e42953e1
feat(core): codegen ops ( #13861 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14 18:44:15 +01:00
Divy Srivastava
4e3ed37037
chore: improve build times for ext/
changes ( #13927 )
2022-03-14 09:08:54 +05:30
Filip Skokan
f9b4d262b3
fix(ext/crypto): handle JWK import with "use" ( #13912 )
2022-03-11 20:26:16 +05:30
Filip Skokan
6ecadf6398
fix(ext/crypto): use EcKeyImportParams dictionary ( #13894 )
2022-03-11 19:35:40 +05:30
Yoshiya Hinosawa
3c11768aab
v1.19.3
2022-03-10 23:29:14 +09:00
Divy Srivastava
a5957f46ee
chore(ext/crypto): remove old todos ( #13887 )
2022-03-09 18:13:11 +05:30
Satya Rohith
788553bf2f
chore: bump deno_http to 0.33.0 ( #13867 )
2022-03-07 23:16:03 +05:30
Satya Rohith
670aef5c1a
fix(ext/http): drop content-length header on compression ( #13866 )
2022-03-07 22:43:15 +05:30
Satya Rohith
d5642f5df7
chore: bump deno_http to 0.32.0 ( #13850 )
2022-03-07 00:15:10 +05:30
Aaron O'Mullan
72d593fc5c
perf(ext/web): optimize atob/btoa ( #13841 )
...
Follow up to #13839 , optimizing `base64_roundtrip` ~20x (~125ms => ~6.5ms)
2022-03-05 20:12:30 +01:00
Gianluca Oldani
7e3496403a
feat(ext/net): Use socket2 crate to create TcpListener ( #13808 )
2022-03-05 00:43:48 +01:00
Satya Rohith
70690f54af
chore: update deps ( #13821 )
2022-03-05 03:38:04 +05:30
Bartek Iwańczuk
060dabee4c
feat(net): add Deno.UnixConn interface ( #13787 )
2022-03-04 20:33:13 +01:00
Kitson Kelly
d1db500cda
feat(ext/http): auto-compression of fixed response bodies ( #13769 )
...
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
Co-authored-by: Satya Rohith <me@satyarohith.com>
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2022-03-04 16:04:39 +11:00
Satya Rohith
95459e60f6
chore: bump crate version for 1.19.2 ( #13824 )
2022-03-03 15:05:18 -05:00
Divy Srivastava
8b2989c417
feat(ext/crypto): AES-GCM support for 128bit IVs ( #13805 )
2022-03-02 10:56:10 +05:30
Bartek Iwańczuk
7e3d9084b6
feat: Add Deno.TcpConn class, change return type from Deno.connect ( #13714 )
2022-02-27 15:18:30 +01:00