Dart 1.22 is now available. It introduces a sync/async union type, assert messages, covariant parameter overrides, and much more. Tool startup is now much faster. Get it now! Faster tool startup We have switched to using application snapshots for running our SDK tools like dart2js, analyzer, and pub. This improves startup performance. See the AOT compiling talk at Dart Dev Summit 2016 for more information. Information about how to use application snapshots can be found in the SDK wiki . Here are the improved performance numbers we see with the switch. Assert messages The fail-fast principle is crucial for building high-quality software, and assert is the simplest way to fail fast. But until now, it wasn’t possible to attach messages to asserts, so if you wanted to make your error useful, you were forced to throw a full exception. Like this: num measureDistance(List waypoints) { if (waypoints.any((point) => point.isInaccessible)) { throw new Ar...
Read the latest article at dartlang.org and learn about using Future based APIs . Futures are crucial to how async works in Dart. The article covers Future basics, explains how to handle errors that are emitted asynchronously, and how to deal with multiple Future-returning functions. Your feedback really counts. Please join the conversation at the Dart mailing list , and ask questions at Stack Overflow . Photo credit: http://www.flickr.com/photos/andrewcoulterenright/11333511/