OLD | NEW |
1 ## 1.24.0 | 1 ## 1.24.0 |
2 | 2 |
3 ### Language | 3 ### Language |
4 * During a dynamic type check, `void` is not required to be `null` anymore. | 4 * During a dynamic type check, `void` is not required to be `null` anymore. |
5 In practice, this makes overriding `void` functions with non-`void` functions | 5 In practice, this makes overriding `void` functions with non-`void` functions |
6 safer. | 6 safer. |
7 * During static analysis, a function or setter declared using `=>` with return | 7 * During static analysis, a function or setter declared using `=>` with return |
8 type `void` now allows the returned expression to have any type. For example, | 8 type `void` now allows the returned expression to have any type. For example, |
9 assuming the declaration `int x;`, it is now type correct to have | 9 assuming the declaration `int x;`, it is now type correct to have |
10 `void f() => ++x;`. | 10 `void f() => ++x;`. |
(...skipping 28 matching lines...) Expand all Loading... |
39 `Map<dynamic, dynamic>`. A JSON-map is not a `HashMap` or `LinkedHashMap` | 39 `Map<dynamic, dynamic>`. A JSON-map is not a `HashMap` or `LinkedHashMap` |
40 anymore (but just a `Map`). | 40 anymore (but just a `Map`). |
41 * `dart:async` | 41 * `dart:async` |
42 * Add `groupBy` to `Stream`. Allows splitting a string into separate streams | 42 * Add `groupBy` to `Stream`. Allows splitting a string into separate streams |
43 depending on "key" property computed from the individual events. | 43 depending on "key" property computed from the individual events. |
44 * `dart:async`, `dart:io`, `dart:core` | 44 * `dart:async`, `dart:io`, `dart:core` |
45 * Adding to a closed sink, including `IOSink`, is not allowed anymore. In | 45 * Adding to a closed sink, including `IOSink`, is not allowed anymore. In |
46 1.24, violations are only reported (on stdout or stderr), but a future | 46 1.24, violations are only reported (on stdout or stderr), but a future |
47 version of the Dart SDK will change this to throwing a `StateError`. | 47 version of the Dart SDK will change this to throwing a `StateError`. |
48 | 48 |
49 | |
50 ### Dart VM | 49 ### Dart VM |
51 | 50 |
52 ### Tool Changes | 51 ### Tool Changes |
53 | 52 |
54 * Pub | 53 * Pub |
55 * `pub build` will use a failing exit code if there are errors in any | 54 * `pub build` will use a failing exit code if there are errors in any |
56 transformer. | 55 transformer. |
57 * Allow publishing packages that depend on the Flutter SDK. | 56 * Allow publishing packages that depend on the Flutter SDK. |
58 | 57 |
59 * dartfmt | 58 * dartfmt |
60 * Preserve type parameters in new generic function typedef syntax. | 59 * Preserve type parameters in new generic function typedef syntax. |
61 * Add self-test validation to ensure formatter bugs do not cause user code | 60 * Add self-test validation to ensure formatter bugs do not cause user code |
62 to be lost. | 61 to be lost. |
63 | 62 |
| 63 ### Infrastructure changes |
| 64 |
| 65 * As of this release, we'll show a warning when using the MIPS architecture. |
| 66 Unless we learn about any critical use of Dart on MIPS in the meantime, we're |
| 67 planning to deprecate support for MIPS starting with the next stable release. |
| 68 |
64 ## 1.23.0 | 69 ## 1.23.0 |
65 | 70 |
66 #### Strong Mode | 71 #### Strong Mode |
67 | 72 |
68 * Breaking change - it is now a strong mode error if a mixin causes a name | 73 * Breaking change - it is now a strong mode error if a mixin causes a name |
69 conflict between two private members (field/getter/setter/method) from a | 74 conflict between two private members (field/getter/setter/method) from a |
70 different library. (SDK | 75 different library. (SDK |
71 issue [28809](https://github.com/dart-lang/sdk/issues/28809)). | 76 issue [28809](https://github.com/dart-lang/sdk/issues/28809)). |
72 | 77 |
73 lib1.dart: | 78 lib1.dart: |
(...skipping 1838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1912 they will keep the Dart process alive until they time out. This fixes the | 1917 they will keep the Dart process alive until they time out. This fixes the |
1913 handling of persistent connections. Previously, the client would shut down | 1918 handling of persistent connections. Previously, the client would shut down |
1914 immediately after a request. | 1919 immediately after a request. |
1915 | 1920 |
1916 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1921 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1917 default. The new `autoCompress` property can be set to `true` to re-enable | 1922 default. The new `autoCompress` property can be set to `true` to re-enable |
1918 compression. | 1923 compression. |
1919 | 1924 |
1920 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1925 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1921 which controls how it resolves `package:` URIs. | 1926 which controls how it resolves `package:` URIs. |
OLD | NEW |