目录

This page describes what’s new on the Dart website and blog. To see what’s new in Flutter, visit the Flutter what’s new page.

For a list of Dart language changes in each Dart SDK, see the language evolution page. To stay on top of announcements, including breaking changes, join the Dart announcements Google group and follow the Dart blog.

November 15, 2023: 3.2 release

This section lists notable changes made from August 17, 2023, through November 15, 2023. For details about the 3.2 release, check out 3.2 blog post and the SDK changelog.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

  • Updated the Fixing type promotion failures page for a new type promotion feature: private final field promotion.
  • Introduced documentation on the experimental native assets feature to the C interop page.
  • Created a new page dedicated to documenting Breaking changes.
  • Accounted for new and updated lints and diagnostics in their respective doc pages.
  • Added documentation for the new --tighten flag to the pub upgrade page.
  • Removed the cheatsheet in favor of the Language overview page.
  • Clarified the relationship between guard clauses and patterns.
  • Adjusted the Constructors page to better represent best practices.
  • Improved contents of the Package dependencies page to be more actionable and easier to follow.
  • Elaborated on static members in the Extension methods page.
  • Changed the Objective-C multithreading limitations content to account for the new NativeCallable API.
  • Added new annotations and mentioned deprecations on the Metadata page.
  • Improved contrast by adjusting text colors and highlighting across in code samples across the site.
  • Reorganized and simplified site infrastructure across the board, in preparation to move away from using Jekyll.

August 16, 2023: 3.1 release

This section lists notable changes made from May 11, 2023, through August 16, 2023. For details about the 3.1 release, check out Dart 3.1 & a retrospective on functional style programming in Dart 3 and the SDK changelog.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

  • Overhauled the linter rule documentation to replace the old linter site:
  • Augmented the class modifiers documentation by adding a Class modifiers reference to outline how they interact with each other.
  • Introduced a Class modifiers for API maintainers guide to help developers best use class modifiers.
  • Rewrote the switch expression documentation to better account for its differences to switch statements.
  • Documented support for specifying topics in your pubspec file to categorize your package on the pub.dev site.
  • Clarified that package screenshots are meant to showcase package functionality, not the logo or icon of the package.
  • Added previous and next buttons to Dart’s language documentation to enable a guided learning experience.
  • Continued expanding the new site-wide glossary.
  • Added a migration note about how the pub cache move on Windows was finalized in Dart 3.
  • Simplified and updated older docs now that Dart’s type system is always null safe.

Articles added to the Dart blog

We published the following article on the Dart blog:

May 10, 2023: 3.0 release

This section lists notable changes made from January 26, 2023, through May 10, 2023. For details about the major 3.0 release, check out Announcing Dart 3, and the SDK changelog.

Docs updated or added to dart.dev

In preparation for Dart 3, we split up and reorganized the Language Tour into new conceptual categories. You can access the restructured language documentation under Language in the side navigation menu, or by visiting the updated Introduction to Dart.

Taking advantage of this new structure, we added documentation for each of Dart 3’s major features:

To help you transition to Dart 3’s enforcement of sound null safety and other changes, we also prepared the following updates:

  • Created a comprehensive Dart 3 migration guide.
  • Migrated all documentation and code examples to Dart 3, the latest tool releases, and the latest dependencies.
  • Clarified that Dart’s type system is now always null-safe in Dart 3.
  • Updated and reorganized the Language evolution page and its language versioning discussion.
  • Removed remnants of Dart 1 and early Dart 2 docs, notes, and resources.

In addition to the new Dart 3 content and corresponding updates across the site, we made the following changes:

Articles added to the Dart blog

We published the following article on the Dart blog:

Videos released by the Dart team

During Google I/O 2023, we released the following videos:

January 25, 2023: 2.19 + 3.0 alpha releases

This section lists notable changes made from August 31, 2022, through January 25, 2023. For details about the 2.19 + 3.0 alpha releases, see Introducing Dart 3 alpha, and the SDK changelog.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

Articles added to the Dart blog

We published the following articles on the Dart blog:

August 30, 2022: 2.18 release

This section lists notable changes made from May 12, 2022, through August 30, 2022. For details about the 2.18 release, see Dart 2.18: Objective-C & Swift interop, and the SDK changelog.

In addition to bug fixes and incremental improvements, we made the following changes to this site:

  • Introduced the Objective-C and Swift interop page, which explains how to use Dart packages to call APIs from those languages.
  • Added a workaround to Fixing common type problems, for the rare case where type inference might incorrectly infer an argument type is null.
  • Removed all mention of discontinued .packages files from What not to commit. If you still need to generate a .packages file due to third-party legacy dependencies, see dart pub get Options.
  • Removed dedicated pages and any other mention of discontinued dart2js and dartdevc command line tools.
    • Added command line options and known issues previously associated with dart2js to the dart compile page.
    • Added information on debugging production code to Debugging Dart web apps.
  • Added support for downloading experimental Windows ARM builds to the Dart SDK archive.
  • Updated the Library tour to include information on weak references and finalizers.
  • Added a section on customizing dart fix.

May 11, 2022: 2.17 release

This section lists notable changes made from February 4, 2022, through May 11, 2022. For details about the 2.17 release, see Dart 2.17: Productivity and integration.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

  • Introduced the Learning Dart as a JavaScript developer guide, which aims to leverage your JavaScript programming knowledge when learning Dart.
  • Documented the features and changes introduced in Dart 2.17:
  • Accounted for changes to the pub.dev site and the pub tool.
    • Listed vendors offering Dart package repositories as a service.
    • Removed documentation for the now discontinued dart pub uploader command.
    • Expanded the documentation for managing pub project uploaders.
    • Removed most mentions to the deprecated .packages file, pointing instead to its .dart_tool/package_config.json replacement.
  • Updated the documentation for updating and installing Dart:
  • Continued work to improve and update documentation of the unified dart tool:
    • Expanded documentation about the functionality of the dart fix tool.
    • Adjusted the guidelines and documentation for the dart doc tool to match its functionality and underlying behavior.
    • Added further documentation and samples of dart compile js.
    • Removed mentions of removed standalone tools.
  • Updated the documentation and usage of the analyzer and linter:
  • Began an overhaul of the documentation for web compilation:
    • Documented for the deprecation and planned removal of the dart2js and dartdevc standalone tools.
    • Consolidated and clarified the documentation of dart2js and dartdevc as the underlying compilers of tools like dart compile js and webdev.
  • Increased documentation coverage of null safety:
    • Documented the null assertion operator (!) as part of the Other operators section of the language tour.
    • Migrated the Low-level HTML tutorials to support null safety and discuss how to interact with web APIs while using it.
  • Made miscellaneous other updates:

Articles added to the Dart blog

We published the following articles on the Dart blog:

February 3, 2022: 2.16 release

This section lists notable changes made from December 8, 2021, through February 3, 2022. For details about the 2.16 release, see Dart 2.16: Improved tooling and platform handling.

Docs updated or added to dart.dev

We updated the website infrastructure to a Docker-based setup to enable easier contributions and more closely align with the setup for docs.flutter.dev.

In addition to other bug fixes and incremental improvements, we made the following changes to this site:

December 8, 2021: 2.15 release

This section lists notable changes made from September 9, 2021, through December 8, 2021. For details about the 2.15 release, see Announcing Dart 2.15.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

September 8, 2021: 2.14 release

This section lists notable changes made from May 20, 2021, through September 8, 2021. For details about the 2.14 release, see Announcing Dart 2.14.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

Articles added to the Dart blog

We published the following articles on the Dart blog:

May 19, 2021: 2.13 release

This section lists notable changes made from March 4, 2021, through May 19, 2021. For details about the 2.13 release, see Announcing Dart 2.13.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

  • Updated the typedef section of the language tour to reflect non-function type aliases, which were introduced in Dart 2.13.
  • Published or updated documentation related to the command line and servers:
    • Using Google Cloud describes Google Cloud products that Dart servers can use, often with the help of pre-packaged Docker images.
    • The HTTP server tutorial, which featured the discontinued http_server package, has been temporarily replaced by an “under construction” page that links to helpful documentation and samples.
    • The command-line tutorial has been completely updated.
  • Published some other new pages:
    • Null safety codelab teaches you about Dart’s null-safe type system, which was introduced in Dart 2.12.
    • Numbers in Dart has details about differences between native and web number implementations.
    • Using Google APIs points to resources to help you use Firebase and Google client APIs from a Dart app.
    • Writing package pages gives tips for writing a package README that works well on pub.dev.
    • Fixing type promotion failures has information to help you understand why type promotion failures occur, and gives tips on how to fix them.
    • The new dart run page describes how to run a Dart program from the command line.
  • Continued work on migrating code to null safety, in particular the streams tutorial.
  • Made miscellaneous other updates:
    • Removed references to Stagehand, in favor of dart create.
    • Changed analytics options for dart.dev example code from using pedantic to using the recommended rules in lints.
    • Added Docker as a way to get Dart.
    • Updated the language evolution page to reflect Dart 2.13.

Articles added to the Dart blog

We published the following articles on the Dart blog:

March 3, 2021: 2.12 release

This section lists notable changes made from October 2, 2020, through March 3, 2021. For details about the 2.12 release, see Announcing Dart 2.12.

Docs updated or added to dart.dev

In addition to bug fixes and incremental improvements, we made the following changes to this site:

We also switched from Travis CI to GitHub Actions, and we made multiple CSS changes to improve site legibility.

Articles added to the Dart blog

We published the following articles on the Dart blog:

October 1, 2020: 2.10 release

This section lists notable changes made from July 1 through October 1, 2020. For details about the 2.10 release, see Announcing Dart 2.10.

Docs updated or added to dart.dev

In addition to bug fixes and small improvements, we made the following changes to this site:

Articles added to the Dart blog

We published the following articles on the Dart blog:

We also improved the blog navigation, adding announcement and archive tabs, plus a link to dart.dev.