summaryrefslogtreecommitdiff
path: root/runtime
AgeCommit message (Collapse)Author
2021-04-21chore: release crates (#10269)Bartek Iwańczuk
* Revert "tooling(bench_util): benching and profiling utilities (#10223)" This reverts commit 733a00030582375c43fa156e978f25df6ecc9e9a. * Upgrade notify
2021-04-20fix(runtime): include HTTP op in WebWorker (#10207)Satya Rohith
2021-04-20chore: align fetch to spec (#10203)Luca Casonato
This commit aligns the `fetch` API and the `Request` / `Response` classes belonging to it to the spec. This commit enables all the relevant `fetch` WPT tests. Spec compliance is now at around 90%. Performance is essentially identical now (within 1% of 1.9.0).
2021-04-20chore: update copyright headers (#10243)Yoshiya Hinosawa
2021-04-20revert: Conn type changes in #10012 and #10061 (#10255)Kitson Kelly
Fixes #10200 (again) This reverts commit 9c7c9a35c12625bd4793c21539391d6b08d17e73 and a8057e3e06962a8d7c6330a085704bb4493eed04.
2021-04-19fix(rt/http): correct URL in Request (#10256)Luca Casonato
This commit fixes the URL returned from `request.url` in the HTTP server to be fully qualified. This previously existed, but was removed and accidentially not readded during optimizations of the HTTP ops. Returning a non fully qualified URL from `Request#url` is not spec compliant.
2021-04-19fix(runtime): handle race condition in postMessage where worker has ↵Liam Murphy
terminated (#10239) The panic was caused by the lack of an error class mapping for futures::channel::TrySendError, but it shouldn't have been throwing an error in the first place - when a worker has terminated, postMessage should just return. The issue was that the termination message hadn't yet been recieved, so it was carrying on with trying to send the message. This adds another check on the Rust side for if the channel is closed, and if it is the worker is treated as terminated.
2021-04-16fix(#10200): weaken types so non-breaking (#10205)Kitson Kelly
Fixes #10200
2021-04-15fix(#10182): hang during http server response (#10197)Ryan Dahl
2021-04-14chore: align FormData to spec (#10169)Luca Casonato
This PR aligns `FormData` to spec. All WPT tests are passing.
2021-04-14refactor: move timers to deno_timers op crate (#10179)Ben Noordhuis
Move timers out of runtime/ and into a standalone op crate.
2021-04-14perf(js/http): avoid v8 deopt in async iterator (#10160)Aaron O'Mullan
2021-04-13chore: release crates (#10164)Bartek Iwańczuk
2021-04-13fix(cli/dts): Make respondWith() return a Promise (#10128)Nayeem Rahman
2021-04-13feat(permissions): allow env permission to take values (#9825)crowlKats
2021-04-13perf: lazy header instantiation for HTTP requests (#10150)Luca Casonato
This commit introduces a performance optimization for the native HTTP server. From my testing it is about 2-6% faster than `main`. Request headers in the HTTP servers are now lazilly instatated when they are accessed, rather than being preemptively wrapped in the `Headers` class.
2021-04-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
2021-04-12fix(runtime/js/http): Correctly parse user response headers (#10076)Nayeem Rahman
2021-04-12feat(runtime): add truncate and truncateSync methods to Deno.File (#10130)Casper Beyer
2021-04-12feat(runtime): add stat and statSync methods to Deno.File (#10107)Casper Beyer
2021-04-12perf(runtime): optimize PermissionState::check (#9993)Aaron O'Mullan
2021-04-12feat(runtime): stabilize Deno.fstat and Deno.fstatSync (#10108)Casper Beyer
This commit stabilizes Deno.fstat and Deno.fstatSync which are well known system calls and have a stable interface.
2021-04-12feat: Add Deno.memoryUsage() (#9986)Aaron O'Mullan
2021-04-12feat(runtime/permissions): prompt fallback (#9376)crowlKats
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-04-12fix(runtime/js/timers): Use (0, eval) instead of eval() (#10103)Nayeem Rahman
2021-04-11feat: stabilize Deno.ftruncate and Deno.ftruncateSync (#10126)Casper Beyer
This stabilizes Deno.ftruncate and Deno.ftruncateSync. This is a well known system call and the interface is not going to change. Implicitly requires write permissions as the file has to be opened with write to be truncated.
2021-04-10feat(unstable): ALPN config in listenTls (#10065)Luca Casonato
This commit adds the ability for users to configure ALPN protocols when calling `Deno.listenTls`.
2021-04-10runtime/inspector: pretend to be node (#10115)Aaron O'Mullan
Also change frontend URL from inspector.html to js_app.html
2021-04-10feat(permissions): allow run permission to take values (#9833)crowlKats
This commit adds allowlist support to `--allow-run` flag. Additionally `Deno.permissions.query()` allows to query for specific programs within allowlist.
2021-04-09API change: Deno.startHttp -> Deno.serveHttp (#10087)Ryan Dahl
2021-04-08feat: native HTTP bindings (#9935)Bartek Iwańczuk
Co-authered-by: Luca Casonato <lucacasonato@yahoo.com> Co-authered-by: Ben Noordhuis <info@bnoordhuis.nl> Co-authered-by: Ryan Dahl <ry@tinyclouds.org>
2021-04-08chore: update deps (#10058)Luca Casonato
This commit updates crate dependencies.
2021-04-08fix(core): error handling in examples (#9867)Inteon
2021-04-08fix(runtime/readFile*): close resources on error during read (#10059)Satya Rohith
This commit ensures readFile, readFileSync, readTextFile, and readTextFileSync does not leak resources on error.
2021-04-07feat: blob URL support (#10045)Luca Casonato
This commit adds blob URL support. Blob URLs are stored in a process global storage, that can be accessed from all workers, and the module loader. Blob URLs can be created using `URL.createObjectURL` and revoked using `URL.revokeObjectURL`. This commit does not add support for `fetch`ing blob URLs. This will be added in a follow up commit.
2021-04-06refactor: add deno_file op crate (#10019)Luca Casonato
Also enables WPT for FileReader.
2021-04-06refactor: rewrite "net" ops to use serde_v8 (#10028)Aaron O'Mullan
2021-04-06chore: deprecate Deno.Buffer and read/write utils (#9793)Luca Casonato
This commit marks the `Deno.Buffer` / `Deno.readAll` / `Deno.readAllSync` / `Deno.writeAll` / `Deno.writeAllSync` utils as deprecated, and schedules them for removal in Deno 2.0. These utilities are implemented in pure JS, so should not be part of the Deno namespace. These utilities are now available in std/io/buffer and std/io/util: https://github.com/denoland/deno_std/pull/808. This additionallty removes all internal dependance on Deno.Buffer.
2021-04-05refactor: convert ops to use serde_v8 (#10009)Aaron O'Mullan
This commit rewrites most of the ops to use "serde_v8" instead of "json" serialization.
2021-04-03refactor: Switch op_now to be a json-op (#9974)Aaron O'Mullan
2021-04-03fix(permissions): don't panic when no input is given (#9894)upendra1997
Fixes #9633 Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-04-02refactor(ops): remove variadic buffers (#9944)Aaron O'Mullan
2021-04-02chore: bump dependent crates for cli (#9964)Kitson Kelly
2021-03-31refactor: new optimized op-layer using serde_v8 (#9843)Aaron O'Mullan
- Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups
2021-03-27chore: Add missing copyright headers (#9910)Aaron O'Mullan
2021-03-26remove macro_use (#9884)Ryan Dahl
2021-03-25upgrade: Rust 1.51.0 (#9895)Yusuke Tanaka
2021-03-21chore: release crates (#9847)Bartek Iwańczuk
2021-03-21refactor(runtime/permissions): Rename permission structs (#9841)Nayeem Rahman
2021-03-20refactor: Move bin ops to deno_core and unify logic with json ops (#9457)Inteon
This commit moves implementation of bin ops to "deno_core" crates as well as unifying logic between bin ops and json ops to reuse as much code as possible (both in Rust and JavaScript).