From f8473bf22f3d3972bf5f725b5e4a1849a3d8f726 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Sun, 23 Dec 2018 16:40:13 -0500 Subject: [PATCH] Add Releases.md file (#1402) --- Docs.md | 90 ------------------- Releases.md | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 254 insertions(+), 90 deletions(-) create mode 100644 Releases.md diff --git a/Docs.md b/Docs.md index 659f1eb7bb..2709db126b 100644 --- a/Docs.md +++ b/Docs.md @@ -400,93 +400,3 @@ gsutil acl ch -u AllUsers:R gs://denoland/608be47bf01004aa11d4ed06955414e9393451 See [CONTRIBUTING.md](https://github.com/denoland/deno/blob/master/.github/CONTRIBUTING.md). - -## Changelog - -### 2018.11.27 / v0.2.0 / Mildly usable - -[An intro talk was recorded.](https://www.youtube.com/watch?v=FlTG0UXRAkE) - -Stability and usability improvements. `fetch()` is 90% functional now. Basic -REPL support was added. Shebang support was added. Command-line argument parsing -was improved. A forwarding service `https://deno.land/x` was set up for Deno -code. Example code has been posted to -[deno.land/x/examples](https://github.com/denoland/deno_examples) and -[deno.land/x/net](https://github.com/denoland/net). - -The resources table was added to abstract various types of I/O streams and other -allocated state. A resource is an integer identifier which maps to some Rust -object. It can be used with various ops, particularly read and write. - -### 2018.10.18 / v0.1.8 / Connecting to Tokio / Fleshing out APIs - -Most file system ops were implemented. Basic TCP networking is implemented. -Basic stdio streams exposed. And many random OS facilities were exposed (e.g. -environmental variables) - -Tokio was chosen as the backing event loop library. A careful mapping of JS -Promises onto Rust Futures was made, preserving error handling and the ability -to execute synchronously in the main thread. - -Continuous benchmarks were added: https://denoland.github.io/deno/ Performance -issues are beginning to be addressed. - -"deno --types" was added to reference runtime APIs. - -Working towards https://github.com/denoland/deno/milestone/2 We expect v0.2 to -be released in last October or early November. - -### 2018.09.09 / v0.1.3 / Scale binding infrastructure - -ETA v.0.2 October 2018 https://github.com/denoland/deno/milestone/2 - -We decided to use Tokio https://tokio.rs/ to provide asynchronous I/O, thread -pool execution, and as a base for high level support for various internet -protocols like HTTP. Tokio is strongly designed around the idea of Futures - -which map quite well onto JavaScript promises. We want to make it as easy as -possible to start a Tokio future from JavaScript and get a Promise for handling -it. We expect this to result in preliminary file system operations, fetch() for -http. Additionally we are working on CI, release, and benchmarking -infrastructure to scale development. - -### 2018.08.23 / v0.1.0 / Rust rewrite / V8 snapshot - -https://github.com/denoland/deno/commit/68d388229ea6ada339d68eb3d67feaff7a31ca97 - -Complete! https://github.com/denoland/deno/milestone/1 - -Go is a garbage collected language and we are worried that combining it with -V8's GC will lead to difficult contention problems down the road. - -The V8Worker2 binding/concept is being ported to a new C++ library called -libdeno. libdeno will include the entire JS runtime as a V8 snapshot. It still -follows the message passing paradigm. Rust will be bound to this library to -implement the privileged part of deno. See deno2/README.md for more details. - -V8 Snapshots allow deno to avoid recompiling the TypeScript compiler at startup. -This is already working. - -When the rewrite is at feature parity with the Go prototype, we will release -binaries for people to try. - -### 2018.09.32 / v0.0.0 / Golang Prototype / JSConf talk - -https://github.com/denoland/deno/tree/golang - -https://www.youtube.com/watch?v=M3BM9TB-8yA - -https://tinyclouds.org/jsconf2018.pdf - -### 2007-2017 / Prehistory - -https://github.com/ry/v8worker - -https://libuv.org/ - -https://tinyclouds.org/iocp-links.html - -https://nodejs.org/ - -https://github.com/nodejs/http-parser - -https://tinyclouds.org/libebb/ diff --git a/Releases.md b/Releases.md new file mode 100644 index 0000000000..eefa56150f --- /dev/null +++ b/Releases.md @@ -0,0 +1,254 @@ +# Releases + +Binary releases can be downloaded manually at +https://github.com/denoland/deno/releases + +We also have a one-line install commands at +https://github.com/denoland/deno_install + +### v0.2.3 / 2018.12.14 + +- console.assert should not throw error (#1335) +- Support more modes in deno.open (#1282, #1336) +- Simplify code fetch logic (#1322) +- readDir entry mode (#1326) +- Use stderr for exceptions (#1303) +- console.log formatting improvements (#1327, #1299) +- Expose TooLarge error code for buffers (#1298) + +### v0.2.2 / 2018.12.07 + +- Don't crash when .mime file not exist in cache (#1291) +- Process source maps in Rust instead of JS (#1280) +- Use alternate TextEncoder/TextDecoder implementation (#1281) +- Upgrade flatbuffers to 80d148 +- Fix memory leaks (#1265, #1275) + +### v0.2.1 / 2018.11.30 + +- Allow async functions in REPL (#1233) +- Handle Location header relative URI (#1240) +- Add deno.readAll() (#1234) +- Add Process.output (#1235) +- Upgrade to TypeScript 3.2.1 +- Upgrade crates: tokio 0.1.13, hyper 0.12.16, ring 0.13.5 + +### v0.2.0 / 2018.11.27 / Mildly usable + +[An intro talk was recorded.](https://www.youtube.com/watch?v=FlTG0UXRAkE) + +Stability and usability improvements. `fetch()` is 90% functional now. Basic +REPL support was added. Shebang support was added. Command-line argument parsing +was improved. A forwarding service `https://deno.land/x` was set up for Deno +code. Example code has been posted to +[deno.land/x/examples](https://github.com/denoland/deno_examples) and +[deno.land/x/net](https://github.com/denoland/net). + +The resources table was added to abstract various types of I/O streams and other +allocated state. A resource is an integer identifier which maps to some Rust +object. It can be used with various ops, particularly read and write. + +Changes since v0.1.12: + +- First pass at running subprocesses (#1156) +- Improve flag parsing (#1200) +- Improve fetch() (#1194 #1188 #1102) +- Support shebang (#1197) + +### v0.1.12 / 2018.11.12 + +- Update to TypeScript 3.1.6 (#1177) +- Fixes Headers type not available. (#1175) +- Reader/Writer to use Uint8Array not ArrayBufferView (#1171) +- Fixes importing modules starting with 'http'. (#1167) +- build: Use target/ instead of out/ (#1153) +- Support repl multiline input (#1165) + +### v0.1.11 / 2018.11.05 + +- Performance and stability improvements on all platforms. +- Add repl (#998) +- Add deno.Buffer (#1121) +- Support cargo check (#1128) +- Upgrade Rust crates and Flatbuffers. (#1145, #1127) +- Add helper to turn deno.Reader into async iterator (#1130) +- Add ability to load JSON as modules (#1065) +- Add deno.resources() (#1119) +- Add application/x-typescript mime type support (#1111) + +### v0.1.10 / 2018.10.27 + +- Add URLSearchParams (#1049) +- Implement clone for FetchResponse (#1054) +- Use content-type headers when importing from URLs. (#1020) +- Use checkJs option, JavaScript will be type checked and users can supply JSDoc + type annotations that will be enforced by Deno (#1068) +- Add separate http/https cache dirs to DENO_DIR (#971) +- Support https in fetch. (#1100) +- Add chmod/chmodSync on unix (#1088) +- Remove broken features: --deps and trace() (#1103) +- Ergonomics: Prompt TTY for permission escalation (#1081) + +### v0.1.9 / 2018.10.20 + +- Performance and stability improvements on all platforms. +- Add cwd() and chdir() #907 +- Specify deno_dir location with env var DENO_DIR #970 +- Make fetch() header compliant with the current spec #1019 +- Upgrade TypeScript to 3.1.3 +- Upgrade V8 to 7.1.302.4 + +### v0.1.8 / 2018.10.12 / Connecting to Tokio / Fleshing out APIs + +Most file system ops were implemented. Basic TCP networking is implemented. +Basic stdio streams exposed. And many random OS facilities were exposed (e.g. +environmental variables) + +Tokio was chosen as the backing event loop library. A careful mapping of JS +Promises onto Rust Futures was made, preserving error handling and the ability +to execute synchronously in the main thread. + +Continuous benchmarks were added: https://denoland.github.io/deno/ Performance +issues are beginning to be addressed. + +"deno --types" was added to reference runtime APIs. + +Working towards https://github.com/denoland/deno/milestone/2 We expect v0.2 to +be released in last October or early November. + +Changes since v0.1.7: + +- Fix promise reject issue (#936) +- Add --types command line flag. +- Add metrics() +- Add redirect follow feature #934 +- Fix clearTimer bug #942 +- Improve error printing #935 +- Expose I/O interfaces Closer, Seeker, ReaderCloser, WriteCloser, ReadSeeker, + WriteSeeker, ReadWriteCloser, ReadWriteSeeker +- Fix silent death on double await #919 +- Add Conn.closeRead() and Conn.closeWrite() #903 + +### v0.1.7 / 2018.10.04 + +- Improve fetch headers (#853) +- Add deno.truncate (#805) +- Add copyFile/copyFileSync (#863) +- Limit depth of output in console.log for nested objects, and add console.dir + (#826) +- Guess extensions on extension not provided (#859) +- Renames: deno.platform -> deno.platform.os deno.arch -> deno.platform.arch +- Upgrade TS to 3.0.3 +- Add readDirSync(), readDir() +- Add support for TCP servers and clients. (#884) Adds deno.listen(), + deno.dial(), deno.Listener and deno.Conn. + +### v0.1.6 / 2018.09.28 + +- Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(), + deno.read(), deno.Reader, deno.Writer, deno.copy() #846 +- Print 'Compiling' when compiling TS. +- Support zero-copy for writeFile() writeFileSync() #838 +- Fixes eval error bug #837 +- Make Deno multithreaded #782 +- console.warn() goes to stderr #810 +- Add deno.readlink()/readlinkSync() #797 +- Add --recompile flag #801 +- Use constructor.name to print out function type #664 +- Rename deno.argv to deno.args +- Add deno.trace() #795 +- Continuous benchmarks https://denoland.github.io/deno/ + +### v0.1.5 / 2018.09.21 + +- Add atob() btoa() #776 +- Add deno.arch deno.platform #773 +- Add deno.symlink() and deno.symlinkSync() #742 +- Add deno.mkdir() and deno.mkdirSync() #746 +- Add deno.makeTempDir() #740 +- Improvements to FileInfo interface #765, #761 +- Add fetch.blob() +- Upgrade V8 to 7.0.276.15 +- Upgrade Rust crates + +### v0.1.4 / 2018.09.12 + +- Support headers in fetch() +- Adds many async fs functions: deno.rename() deno.remove(), deno.removeAll(), + deno.removeSync(), deno.removeAllSync(), deno.mkdir(), deno.stat(), + deno.lstat() deno.readFile() and deno.writeFile(). +- Add mode in FileInfo +- Access error codes via error.kind +- Check --allow-net permissions when using fetch() +- Add deno --deps for listing deps of a script. + +### v0.1.3 / 2018.09.05 / Scale binding infrastructure + +ETA v.0.2 October 2018 https://github.com/denoland/deno/milestone/2 + +We decided to use Tokio https://tokio.rs/ to provide asynchronous I/O, thread +pool execution, and as a base for high level support for various internet +protocols like HTTP. Tokio is strongly designed around the idea of Futures - +which map quite well onto JavaScript promises. We want to make it as easy as +possible to start a Tokio future from JavaScript and get a Promise for handling +it. We expect this to result in preliminary file system operations, fetch() for +http. Additionally we are working on CI, release, and benchmarking +infrastructure to scale development. + +Changes since v0.1.2: + +- Fixes module resolution error #645 +- Better flag parsing +- lStatSync -> lstatSync +- Added deno.renameSync() +- Added deno.mkdirSync() +- Fix circular dependencies #653 +- Added deno.env() and --allow-env + +### v0.1.2 / 2018.08.30 + +- Added https import support. +- Added deno.makeTempDirSync(). +- Added deno.lstatSync() and deno.statSync(). + +### v0.1.1 / 2018.08.27 + +### v0.1.0 / 2018.08.23 / Rust rewrite and V8 snapshot + +Complete! https://github.com/denoland/deno/milestone/1 + +Go is a garbage collected language and we are worried that combining it with +V8's GC will lead to difficult contention problems down the road. + +The V8Worker2 binding/concept is being ported to a new C++ library called +libdeno. libdeno will include the entire JS runtime as a V8 snapshot. It still +follows the message passing paradigm. Rust will be bound to this library to +implement the privileged part of deno. See deno2/README.md for more details. + +V8 Snapshots allow deno to avoid recompiling the TypeScript compiler at startup. +This is already working. + +When the rewrite is at feature parity with the Go prototype, we will release +binaries for people to try. + +### v0.0.0 / 2018.09.32 / Golang Prototype + +https://github.com/denoland/deno/tree/golang + +https://www.youtube.com/watch?v=M3BM9TB-8yA + +https://tinyclouds.org/jsconf2018.pdf + +### 2007-2017 / Prehistory + +https://github.com/ry/v8worker + +https://libuv.org/ + +https://tinyclouds.org/iocp-links.html + +https://nodejs.org/ + +https://github.com/nodejs/http-parser + +https://tinyclouds.org/libebb/