5、Dart: 2.4 release;

690 阅读1分钟

  6月27日,Dart Team发布了Dart 2.4 SDK的版本,此版本的修改主要为核心库的优化修改和Dart for web编译器的优化、和工具的优化。

核心库

dart:isolate

  1. TransferableTypedData:添加了该类使隔离区Uint8List数据更快地通信。
  2. Isolate.resolvePackageUri:在使用dart2jsDDC(Dart Dev Compile)编译时,将始终抛出UnsupportedError

dart:developer

  1. ServiceExtensionResponse:允许更好地调试VM服务扩展RPC结果。

dart:io

  1. 修复了Cookie类与某些网站的互操作性,允许cookie值为空字符串;
  2. HttpClientResponse接口已通过添加新的compressionState getter进行了扩展,该getter指定响应的主体在接收时是否被压缩,以及是否已通过HttpClient.autoUncompress自动解压缩。作为此更改的一部分,在dart:io中添加了相应的新枚举:HttpClientResponseCompressionState;

dart:async

  1. 由于StreamIterator类中的错误,允许wait fornull作为流。 这个bug现在已经修复了。

dart:core

  1. RegExp接口已扩展为两个新命名参数的构造函数:

    • unicode:(bool, default: false),用于Unicode模式;
    • dotAll:(bool, default: false),改变'.'的匹配行为;

Dart for the Web

Dart Dev Compiler (DDC)

  为动态调用失败提高了抛出NoSuchMethod错误的类型。 现在,它们包含有关错误性质的特定信息,例如:

  1. 试图调用空值。
  2. 使用null call方法调用对象实例。
  3. 传递的参数太少或太多。
  4. 传递错误的命名参数。
  5. 将类型参数传递给非泛型方法。

Tools

1.Linter:更新至0.1.91,并修复了大量的bug;

2.Pub:pub publish将不再警告缺少example/import语句的依赖项。OAuth2身份验证将明确要求openid范围。