mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 20:38:55 +00:00
255 lines
8.5 KiB
Markdown
255 lines
8.5 KiB
Markdown
|
# 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/
|