[dart-announce] Announcing Dart SDK 1.13

224 views
Skip to first unread message

Kevin Moore

unread,
Nov 18, 2015, 7:07:44 PM11/18/15
to Dart Announcements

Dart 1.13 is now available for download!

Read the official announcement and check out the CHANGELOG below.

Thanks for using Dart!


Core library changes

  • dart:async

    • StreamController added getters for onListenonPause, and onResume with the corresponding new typedef void ControllerCallback().
    • StreamController added a getter for onCancel with the corresponding new typedef ControllerCancelCallback();
    • StreamTransformer instances created with fromHandlers with no handleError callback now forward stack traces along with errors to the resulting streams.
  • dart:convert

    • Added support for Base-64 encoding and decoding.
      • Added new classes Base64CodecBase64Encoder, and Base64Decoder.
      • Added new top-level const Base64Codec BASE64.
  • dart:core

    • Uri added removeFragment method.
    • String.allMatches (implementing Pattern.allMatches) is now lazy, as all allMatches implementations are intended to be.
    • Resource is deprecated, and will be removed in a future release.
  • dart:developer

    • Added Timeline class for interacting with Observatory's timeline feature.
    • Added ServiceExtensionHandlerServiceExtensionResponse, and registerExtension which enable developers to provide their own VM service protocol extensions.
  • dart:htmldart:indexed_dbdart:svgdart:web_audiodart:web_gldart:web_sql

    • The return type of some APIs changed from double to num. Dartium is now using JS interop for most operations. JS does not distinguish between numeric types, and will return a number as an int if it fits in an int. This will mostly cause an error if you assign to something typed double in checked mode. You may need to insert a toDouble() call or accept num. Examples of APIs that are affected include Element.getBoundingClientRect and TextMetrics.width.
  • dart:io

    • Breaking: Secure networking has changed, replacing the NSS library with the BoringSSL library. SecureSocket,SecureServerSocketRawSecureSocket,RawSecureServerSocketHttpClient, and HttpServer now all use aSecurityContext object which contains the certificates and keys used for secure TLS (SSL) networking.

      This is a breaking change for server applications and for some client applications. Certificates and keys are loaded into the SecurityContext from PEM files, instead of from an NSS certificate database. Information about how to change applications that use secure networking is at https://www.dartlang.org/server/tls-ssl.html

    • HttpClient no longer sends URI fragments in the request. This is not allowed by the HTTP protocol. The HttpServerstill gracefully receives fragments, but discards them before delivering the request.

    • To allow connections to be accepted on the same port across different isolates, set the shared argument to truewhen creating server socket and HttpServer instances.
      • The deprecated ServerSocketReference and RawServerSocketReference classes have been removed.
      • The corresponding reference properties on ServerSocket and RawServerSocket have been removed.
  • dart:isolate

    • spawnUri added an environment named argument.
Tool changes
  • dart2js and Dartium now support improved Javascript Interoperability via the js package.

  • docgen and dartdocgen no longer ship in the SDK. The docgen sources have been removed from the repository.

  • This is the last release to ship the VM's "legacy debug protocol". We intend to remove the legacy debug protocol in Dart VM 1.14.

  • The VM's Service Protocol has been updated to version 3.0 to take care of a number of issues uncovered by the first few non-observatory clients. This is a potentially breaking change for clients.

  • Dartium has been substantially changed. Rather than using C++ calls into Chromium internals for DOM operations it now uses JS interop. The DOM objects in dart:html and related libraries now wrap a JavaScript object and delegate operations to it. This should be mostly transparent to users. However, performance and memory characteristics may be different from previous versions. There may be some changes in which DOM objects are wrapped as Dart objects. For example, if you get a reference to a Window object, even through JS interop, you will always see it as a Dart Window, even when used cross-frame. We expect the change to using JS interop will make it much simpler to update to new Chrome versions.

--
For more news and information, visit https://plus.google.com/+dartlang
 
To join the conversation, visit https://groups.google.com/a/dartlang.org/

Joel Trottier-Hébert

unread,
Nov 18, 2015, 7:15:47 PM11/18/15
to mi...@dartlang.org
Are we still on Dartium/Chrome 39 with this update, or did it get updated?

--
For other discussions, see https://groups.google.com/a/dartlang.org/
 
For HOWTO questions, visit http://stackoverflow.com/tags/dart
 
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+uns...@dartlang.org.

William Hesse

unread,
Nov 18, 2015, 7:19:36 PM11/18/15
to General Dart Discussion
1.13 is on Chrome 39. The update to Chrome 45 is being worked on
right now. Keep your eyes on upcoming 1.14.0-dev releases on the dev
channel in the coming weeks (not this first one, though).
--
William Hesse

Daniel Joyce

unread,
Nov 18, 2015, 8:29:55 PM11/18/15
to General Dart Discussion

That's great to see cross frame references are now fixed.

Daniel Joyce

The meek shall inherit the Earth, for the brave will be among the stars.

Benjamin Strauß

unread,
Nov 19, 2015, 4:24:24 AM11/19/15
to Dart Misc, anno...@dartlang.org
How far is the TypeScript definition file converter? Has the team started working on it?

Nathan Kerr

unread,
Nov 19, 2015, 1:05:31 PM11/19/15
to Dart Misc, anno...@dartlang.org
I'm not seeing a whole lot of info on the tracking issue

Kevin Moore

unread,
Nov 19, 2015, 1:27:28 PM11/19/15
to Dart Misc, anno...@dartlang.org
Jacob – the main engineer – is on his honeymoon. :-)

We're hoping to have this for folks before the new year. Thanks for your patience.

> Kevin

Nathan Kerr

unread,
Nov 19, 2015, 1:42:48 PM11/19/15
to Dart Misc, anno...@dartlang.org
What? And he's not working on this? What is he doing?!?

Don Olmstead

unread,
Nov 19, 2015, 1:50:16 PM11/19/15
to mi...@dartlang.org
I guess Nathan here is ready for that talk. You want to handle this one +Kevin ;)

--

Mark H

unread,
Nov 23, 2015, 12:25:03 PM11/23/15
to Dart Misc, anno...@dartlang.org
I'm getting the following exception when running my app in Dartium, after upgrading to 1.13. It was fine in 1.12.

Uncaught Unhandled exception:
: created constructor initializer must call super.created()
#0      HtmlDocument._hasCreatedConstructor (dart:html:20388)
#1      HtmlDocument.registerElement (dart:html:20484)
#2      PolymerDeclaration.registerType (package:polymer/src/declaration.dart:180:14)
#3      PolymerDeclaration.register (package:polymer/src/declaration.dart:123:5)
#4      _hookJsPolymer.registerDart.<anonymous closure> (package:polymer/src/loader.dart:122:67)
#5      _RootZone.run (dart:async/zone.dart:1144)
#6      _hookJsPolymer.registerDart (package:polymer/src/loader.dart:121:19) (:1)

Any ideas?

Thanks
Mark

Günter Zöchbauer

unread,
Nov 23, 2015, 12:29:22 PM11/23/15
to Dart Misc, anno...@dartlang.org
Hard to tell without more details. Is the source available somewhere (GitHub repo)?

Mark H

unread,
Nov 23, 2015, 5:06:02 PM11/23/15
to Dart Misc, anno...@dartlang.org
Traced it to this line in html_dartium.dart I think:

superCreatedCalled = createdSource.contains("super.created(");

This seems to search for the exact string "super.created(" which then fails if there is any whitespace before the bracket character. If I remove the whitespace in the super.created call in the custom element in question, I no longer get the exception.


Mark

Kevin Moore

unread,
Nov 23, 2015, 5:12:22 PM11/23/15
to Dart Misc
Mark: please open an issues on this and post a link here. I'm happy to follow-up

Mark H

unread,
Nov 23, 2015, 5:42:55 PM11/23/15
to Dart Misc
Reply all
Reply to author
Forward
0 new messages