OLD | NEW |
1 ## 1.22.0 | 1 ## 1.22.0 |
2 | 2 |
3 ### Language | 3 ### Language |
4 | 4 |
5 * Breaking change: ['Generalized tear-offs'](https://github.com/gbracha/genera
lizedTearOffs/blob/master/proposal.md) | 5 * Breaking change: ['Generalized tear-offs'](https://github.com/gbracha/genera
lizedTearOffs/blob/master/proposal.md) |
6 are no longer supported, and will cause errors. We updated the language spec | 6 are no longer supported, and will cause errors. We updated the language spec |
7 and added warnings in 1.21, and are now taking the last step to fully | 7 and added warnings in 1.21, and are now taking the last step to fully |
8 de-support them. They were previously supported in the VM only. | 8 de-support them. They were previously supported in the VM only. |
9 | 9 |
10 * The `assert()` statement has been expanded to support an optional second | 10 * The `assert()` statement has been expanded to support an optional second |
11 `message` argument (SDK issue [27342](https://github.com/dart-lang/sdk/issue
s/27342)). | 11 `message` argument (SDK issue [27342](https://github.com/dart-lang/sdk/issue
s/27342)). |
12 | 12 |
13 The message is displayed if the assert fails. It can be any object, and it | 13 The message is displayed if the assert fails. It can be any object, and it |
14 is accessible as `AssertionError.message`. It can be used to provide more | 14 is accessible as `AssertionError.message`. It can be used to provide more |
15 user friendly exception outputs. As an example, the following assert: | 15 user friendly exception outputs. As an example, the following assert: |
16 | 16 |
17 ```dart | 17 ```dart |
18 assert(configFile != null, "Tool config missing. Please see https://goo.gl/k
8iAi for details."); | 18 assert(configFile != null, "Tool config missing. Please see https://goo.gl/k
8iAi for details."); |
19 ``` | 19 ``` |
20 | 20 |
21 would produce the following exception output: | 21 would produce the following exception output: |
22 | 22 |
23 ``` | 23 ``` |
24 Unhandled exception: | 24 Unhandled exception: |
25 'file:///Users/mit/tmp/tool/bin/main.dart': Failed assertion: line 9 pos 10:
| 25 'file:///Users/mit/tmp/tool/bin/main.dart': Failed assertion: line 9 pos 10: |
26 'configFile != null': Tool config missing. Please see https://goo.gl/k8iAi f
or details. | 26 'configFile != null': Tool config missing. Please see https://goo.gl/k8iAi f
or details. |
27 #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:33) | 27 #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:33) |
28 #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:29) | 28 #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:29) |
29 #2 main (file:///Users/mit/tmp/tool/bin/main.dart:9:10) | 29 #2 main (file:///Users/mit/tmp/tool/bin/main.dart:9:10) |
30 ``` | 30 ``` |
31 | 31 |
32 ### Tool changes | 32 ### Tool changes |
33 | 33 |
34 * Dart2Js | 34 * Dart2Js |
35 | 35 |
36 * Remove support for (long-time deprecated) mixin typedefs. | 36 * Remove support for (long-time deprecated) mixin typedefs. |
37 | 37 |
38 * Pub | 38 * Pub |
39 | 39 |
40 * Avoid using a barback asset server for executables unless they actually use | 40 * Avoid using a barback asset server for executables unless they actually use |
41 transformers. This makes precompilation substantially faster, produces | 41 transformers. This makes precompilation substantially faster, produces |
42 better error messages when precompilation fails, and allows | 42 better error messages when precompilation fails, and allows |
43 globally-activated executables to consistently use the | 43 globally-activated executables to consistently use the |
44 `Isolate.resolvePackageUri()` API. | 44 `Isolate.resolvePackageUri()` API. |
45 | 45 |
46 * On POSIX systems, always ignore packages' original file owners and | 46 * On Linux systems, always ignore packages' original file owners and |
47 permissions when extracting those packages. This was already the default | 47 permissions when extracting those packages. This was already the default |
48 under most circumstances. | 48 under most circumstances. |
49 | 49 |
50 * Properly close the standard input stream of child processes started using | 50 * Properly close the standard input stream of child processes started using |
51 `pub run`. | 51 `pub run`. |
52 | 52 |
53 * Handle parse errors from the package cache more gracefully. A package whose | 53 * Handle parse errors from the package cache more gracefully. A package whose |
54 pubspec can't be parsed will now be ignored by `pub get --offline` and | 54 pubspec can't be parsed will now be ignored by `pub get --offline` and |
55 deleted by `pub cache repair`. | 55 deleted by `pub cache repair`. |
56 | 56 |
| 57 * Make `pub run` run executables in spawned isolates. This lets them handle |
| 58 signals and use standard IO reliably. |
57 | 59 |
58 ## 1.21.0 - 2016-12-07 | 60 ## 1.21.0 - 2016-12-07 |
59 | 61 |
60 ### Language | 62 ### Language |
61 | 63 |
62 * Support generic method syntax. Type arguments are not available at | 64 * Support generic method syntax. Type arguments are not available at |
63 runtime. For details, check the | 65 runtime. For details, check the |
64 [informal specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5
423e04a453c). | 66 [informal specification](https://gist.github.com/eernstg/4353d7b4f669745bed3a5
423e04a453c). |
65 * Support access to initializing formals, e.g., the use of `x` to initialize | 67 * Support access to initializing formals, e.g., the use of `x` to initialize |
66 `y` in `class C { var x, y; C(this.x): y = x; }`. | 68 `y` in `class C { var x, y; C(this.x): y = x; }`. |
(...skipping 1395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1462 they will keep the Dart process alive until they time out. This fixes the | 1464 they will keep the Dart process alive until they time out. This fixes the |
1463 handling of persistent connections. Previously, the client would shut down | 1465 handling of persistent connections. Previously, the client would shut down |
1464 immediately after a request. | 1466 immediately after a request. |
1465 | 1467 |
1466 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1468 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1467 default. The new `autoCompress` property can be set to `true` to re-enable | 1469 default. The new `autoCompress` property can be set to `true` to re-enable |
1468 compression. | 1470 compression. |
1469 | 1471 |
1470 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1472 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1471 which controls how it resolves `package:` URIs. | 1473 which controls how it resolves `package:` URIs. |
OLD | NEW |