6月27日,Dart Team发布了Dart 2.4 SDK的版本,此版本的修改主要为核心库的优化修改和Dart for web编译器的优化、和工具的优化。
核心库
dart:isolate
TransferableTypedData:添加了该类使隔离区Uint8List数据更快地通信。Isolate.resolvePackageUri:在使用dart2js或DDC(Dart Dev Compile)编译时,将始终抛出UnsupportedError。
dart:developer
ServiceExtensionResponse:允许更好地调试VM服务扩展RPC结果。
dart:io
- 修复了
Cookie类与某些网站的互操作性,允许cookie值为空字符串; HttpClientResponse接口已通过添加新的compressionStategetter进行了扩展,该getter指定响应的主体在接收时是否被压缩,以及是否已通过HttpClient.autoUncompress自动解压缩。作为此更改的一部分,在dart:io中添加了相应的新枚举:HttpClientResponseCompressionState;
dart:async
- 由于
StreamIterator类中的错误,允许wait for把null作为流。 这个bug现在已经修复了。
dart:core
-
RegExp接口已扩展为两个新命名参数的构造函数:- unicode:(bool, default: false),用于Unicode模式;
- dotAll:(bool, default: false),改变'.'的匹配行为;
Dart for the Web
Dart Dev Compiler (DDC)
为动态调用失败提高了抛出NoSuchMethod错误的类型。 现在,它们包含有关错误性质的特定信息,例如:
- 试图调用空值。
- 使用
null call方法调用对象实例。 - 传递的参数太少或太多。
- 传递错误的命名参数。
- 将类型参数传递给非泛型方法。
Tools
1.Linter:更新至0.1.91,并修复了大量的bug;
2.Pub:pub publish将不再警告缺少example/中import语句的依赖项。OAuth2身份验证将明确要求openid范围。