winget install --id Google.DartSDK
About Dart SDK
A set of tools and libraries for the Dart programming language.
What's new in 3.12.0
Released on: Unreleased Language Private named parameters Dart now supports private named parameters. Before 3.12, it was an error to have a named parameter that starts with an underscore: class Point { final int _x, _y; // Compile error in Dart 3.11. Point({required this._x, required this._y}); } This means that, before 3.12, initializing a private field from a named parameter required an explicit initializer list: class Point { final int _x, _y; Point({required int x, required int y}) : _x = x, _y = y; } All the initializer list is doing is removing the leading _. In Dart 3.12, the language does that for you. Now you can write: class Point { final int _x, _y; // Private fields. Point({required this._x, required this._y}); } This code behaves exactly like the previous example. The initialized fields are private, but the argument names written at the call site are public: void main() { print(Point(x: 1, y: 2)); } Libraries dart:core - The Dart VM's RegExp implementation now supports modifier spans and duplicate named capture groups. dart:js_interop - Breaking change in extension name of isA: isA is moved from JSAnyUtilityExtension to NullableObjectUtilExtension to support type-checking any Object?. isA<JSObject>() also now handles JS objects with no prototypes correctly and isA<JSAny>() does a non-trivial check to make sure the value is a JS value. See #56905 for more details. As JSAnyUtilityExtension is on JSAny? and NullableObjectUtilExtension is on the supertype Object?, this change is only breaking if users referred to the extension name directly, either through applyin...
Version history
| Version | Updated | Notes |
|---|---|---|
| 3.12.0 | Unknown | Released on: Unreleased Language Private named parameters Dart now supports private named parameters. Before 3.12, it was an error to have a named parameter that starts with an underscore: class Point { final int _x, _y;... |
| 3.11.6 | Unknown | Release notes |
| 3.11.5 | Unknown | Release notes |
| 3.11.4 | Unknown | Release notes |
| 3.11.3 | Unknown | Release notes |
| 3.11.2 | Unknown | Release notes |
| 3.11.1 | Unknown | Release notes |
| 3.11.0 | Unknown | Released on: Unreleased Language There are no language changes in this release. Libraries dart:io - Added support for Unix domain sockets (AF_UNIX) on Windows. Support is restricted to the subset of features supported by... |
| 3.10.9 | Unknown | Release notes |
| 3.10.8 | Unknown | Release notes |
| 3.10.7 | Unknown | Release notes |
| 3.10.6 | Unknown | Release notes |
| 3.10.5 | Unknown | Release notes |
| 3.10.4 | Unknown | Release notes |
| 3.10.3 | Unknown | Release notes |
| 3.10.2 | Unknown | Release notes |
| 3.10.1 | Unknown | Release notes |
| 3.10.0 | Unknown | Released on: 2025-11-12 Language Dart 3.10 adds dot shorthands to the language. To use them, set your package's SDK constraint lower bound to 3.10 or greater (sdk: '^3.10.0'). Dart 3.10 also adjusts the inferred return t... |
| 3.9.4 | Unknown | Release notes |
| 3.9.3 | Unknown | Release notes |