Chromium Code Reviews| Index: CHANGELOG.md |
| diff --git a/CHANGELOG.md b/CHANGELOG.md |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..2f87972730431540aff56f12acae85e401534ce1 |
| --- /dev/null |
| +++ b/CHANGELOG.md |
| @@ -0,0 +1,214 @@ |
| +## 1.9.1 (2015-03-25) |
| + |
| +### Language changes |
| + |
| +* Support for `async`, `await`, `sync*`, `async*`, `yield`, `yield*`, and `await |
| + for`. See the [the language tour][async] for more details. |
| + |
| +* Enum support is fully enabled. See [the language tour][enum] for more details. |
| + |
| +[async]: https://www.dartlang.org/docs/dart-up-and-running/ch02.html#asynchrony |
| +[enum]: https://www.dartlang.org/docs/dart-up-and-running/ch02.html#enums |
| + |
| +### Tool changes |
| + |
| +* The formatter is much more comprehensive and generates much more readable |
| + code. See [its tool page][dartfmt] for more details. |
| + |
| +* The analysis server is integrated into the IntelliJ plugin and the Dart |
| + editor. This allows analysis to run out-of-process, so that interaction |
| + remains smooth even for large projects. |
| + |
| +* Analysis supports more and better hints, including unused variables and unused |
| + private members. |
| + |
| +[dartfmt]: https://www.dartlang.org/tools/dartfmt/ |
| + |
| +### Core library changes |
| + |
| +#### Highlights |
| + |
| +* There's a new model for shared server sockets with no need for a `Socket` |
| + reference. |
| + |
| +* A new, much faster [regular expression engine][regexp]. |
| + |
| +* The Isolate API now works across the VM and `dart2js`. |
| + |
| +[regexp]: http://news.dartlang.org/2015/02/irregexp-dart-vms-new-regexp.html |
| + |
| +#### Details |
| + |
| +For more information on any of these changes, see the corresponding |
| +documentation on the [Dart API site](http://api.dartlang.org). |
| + |
| +* `dart:async`: |
| + |
| + * `Future.wait` added a new named argument, `cleanUp`, which is a callback |
| + that releases resources allocated by a successful `Future`. |
| + |
| + * The `SynchronousStreamController` class was added as an explicit name for |
| + the type returned when the `sync` argument is passed to `new |
| + StreamController`. |
| + |
| +* `dart:collection`: The `new SplayTreeSet.from(Iterable)` constructor was |
| + added. |
| + |
| +* `dart:convert`: `Utf8Encoder.convert` and `Utf8Decoder.convert` added optional |
| + `start` and `end` arguments. |
| + |
| +* `dart:core`: |
| + |
| + * `RangeError` added new static helper functions: `checkNotNegative`, |
| + `checkValidIndex`, `checkValidRange`, and `checkValueInInterval`. |
| + |
| + * `int` added the `modPow` function. |
| + |
| + * `String` added the `replaceFirstMapped` and `replaceRange` functions. |
| + |
| +* `dart:io`: |
| + |
| + * Support for locking files to prevent concurrent modification was added. This |
| + includes the `File.lock`, `File.lockSync`, `File.unlock`, and |
| + `File.unlockSync` functions as well as the `FileLock` class. |
| + |
| + * Support for starting detached processes by passing the named `mode` argument |
| + (a `ProcessStartMode`) to `Process.start`. A process can be fully attached, |
| + fully detached, or detached except for its standard IO streams. |
| + |
| + * `HttpServer.bind` and `HttpServer.bindSecure` added the `v6Only` named |
| + argument. If this is true, only IPv6 connections will be accepted. |
| + |
| + * `HttpServer.bind`, `HttpServer.bindSecure`, `ServerSocket.bind`, |
| + `RawServerSocket.bind`, `SecureServerSocket.bind` and |
| + `RawSecureServerSocket.bind` added the `shared` named argument. If this is |
| + true, multiple servers or sockets in the same Dart process may bind to the |
| + same address, and incoming requests will automatically be distributed |
| + between them. |
| + |
| + * **Deprecation:** the experimental `ServerSocketReference` and |
| + `RawServerSocketReference` classes, as well as getters that returned them, |
| + are marked as deprecated. The `shared` named argument should be used |
| + instead. These will be removed in Dart 1.10. |
| + |
| + * `Socket.connect` and `RawSocket.connect` added the `sourceAddress` named |
| + argument, which specifies the local address to bind when making a |
| + connection. |
| + |
| + * The static `Process.killPid` method was added to kill a process with a given |
| + PID. |
| + |
| + * `Stdout` added the `nonBlocking` instance property, which returns a |
| + non-blocking `IOSink` that writes to standard output. |
| + |
| +* `dart:isolate`: |
| + |
| + * The static getter `Isolate.current` was added. |
| + |
| + * The `Isolate` methods `addOnExitListener`, `removeOnExitListener`, |
| + `setErrorsFatal`, `addOnErrorListener`, and `removeOnErrorListener` now work |
| + on the VM. |
| + |
| + * Isolates spawned via `Isolate.spawn` now allow most objects, including |
| + top-level and static functions, to be sent between them. |
| + |
| +## 1.8.5 (2015-01-21) |
| + |
| +* Code generation for SIMD on ARM and ARM64 is fixed. |
| + |
| +* A possible crash on MIPS with newer GCC toolchains has been prevented. |
| + |
| +* A segfault when using `rethrow` was fixed ([issue 21795][]). |
| + |
| +[issue 21795]: https://code.google.com/p/dart/issues/detail?id=21795 |
| + |
| +## 1.8.3 (2014-12-10) |
| + |
| +* Breakpoints can be set in the Editor using file suffixes ([issue 21280][]). |
| + |
| +* IPv6 addresses are properly handled by `HttpClient` in `dart:io`, fixing a |
| + crash in pub ([issue 21698][]). |
| + |
| +* Issues with the experimental `async`/`await` syntax have been fixed. |
| + |
| +* Issues with a set of number operations in the VM have been fixed. |
| + |
| +* `ListBase` in `dart:collection` always returns an `Iterable` with the correct |
| + type argument. |
| + |
| +[issue 21280]: https://code.google.com/p/dart/issues/detail?id=21280 |
| +[issue 21698]: https://code.google.com/p/dart/issues/detail?id=21698 |
| + |
| +## 1.8.0 (2014-11-28) |
| + |
| +* `dart:collection`: `SplayTree` added the `toSet` function. |
| + |
| +* `dart:convert`: The `JsonUtf8Encoder` class was added. |
| + |
| +* `dart:core`: |
| + |
| + * The `IndexError` class was added for errors caused by an index being outside |
| + its expected range. |
| + |
| + * The `new RangeError.index` constructor was added. It forwards to `new |
| + IndexError`. |
| + |
| + * `RangeError` added three new properties. `invalidProperty` is the value that |
| + caused the error, and `start` and `end` are the minimum and maximum values |
| + that the value is allowed to assume. |
| + |
| + * `new RangeError.value` and `new RangeError.range` added an optional |
| + `message` argument. |
| + |
| + * The `new String.fromCharCodes` constructor added optional `start` and `end` |
| + arguments. |
| + |
| +* `dart:io`: |
| + |
| + * Support was added for the [Application-Layer Protocol Negotiation][alpn] |
| + extension to the TLS protocol for both the client and server. |
| + |
| + * `SecureSocket.connect`, `SecureServerSocket.bind`, |
| + `RawSecureSocket.connect`, `RawSecureSocket.secure`, |
| + `RawSecureSocket.secureServer`, and `RawSecureServerSocket.bind` added a |
| + `supportedProtocols` named argument for protocol negotiation. |
| + |
| + * `RawSecureServerSocket` added a `supportedProtocols` field. |
| + |
| + * `RawSecureSocket` and `SecureSocket` added a `selectedProtocol` field which |
| + contains the protocol selected during protocol negotation. |
|
kevmoo
2015/04/03 23:08:48
Fix my spelling - negotiation
|
| + |
| +[alpn]: https://tools.ietf.org/html/rfc7301 |
| + |
| +## 1.7.0 (2014-10-15) |
| + |
| +### Tool changes |
| + |
| +* `pub` now generates binstubs for packages that are globally activated so that |
| + they can be put on the user's `PATH` and used as normal executables. See the |
| + [`pub global activate` documentation][pub global activate]. |
| + |
| +* When using `dart2js`, deferred loading now works with multiple Dart apps on |
| + the same page. |
| + |
| +[pub global activate]: https://www.dartlang.org/tools/pub/cmd/pub-global.html#running-a-script-from-your-path |
| + |
| +### Core library changes |
| + |
| +* `dart:async`: `Zone`, `ZoneDelegate`, and `ZoneSpecification` added the |
| + `errorCallback` function, which allows errors that have been programmatically |
| + added to a `Future` or `Stream` to be intercepted. |
| + |
| +* `dart:io`: |
| + |
| + * **Breaking change:** `HttpClient.close` must be called for all clients or |
| + they will keep the Dart process alive until they time out. This fixes the |
| + handling of persistent connections. Previously, the client would shut down |
| + immediately after a request. |
| + |
| + * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| + default. The new `autoCompress` property can be set to `true` to re-enable |
| + compression. |
| + |
| +* `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| + which controls how it resolves `package:` URIs. |