qiniu_sdk_base 0.8.0
qiniu_sdk_base: ^0.8.0 copied to clipboard
The sdk basic of Qiniu products
0.8.0 #
Breaking changes #
Task/RequestTask生命周期方法签名由void改为Future<void>(preStart/postStart/postReceive/postError/preRestart/postRestart)。 外部继承RequestTask时所有重写方法必须改成async/Future<void>。storage.dart不再 exportRequestTask/Task/TaskManager, 这些类型回归内部实现。HttpClientAdapter仍通过storage.dart透出, 自定义网络适配器请直接实现dio的HttpClientAdapter或继承本 SDK 的QiniuHttpClient。- 删除已不再使用的
RequestTaskManager。
New #
- 新增
QiniuHttpClient:在 dio 默认 adapter 之上提供connectTimeout/writeTimeout/readTimeout(请求/响应流闲时超时,pause-aware), 并通过sendBufferSize(默认 128KB)配合内核 SO_SNDBUF 触发写阶段背压检测。 - 新增
QiniuIdleTimeoutException:明确标识读/写阶段的闲时超时错误, 上层StorageError.fromDioError据此精确映射到SEND_TIMEOUT/RECEIVE_TIMEOUT。 Config的默认httpClientAdapter改为QiniuHttpClient(), 即默认启用 30 秒读写闲时超时。如需关闭,传入Config(httpClientAdapter: QiniuHttpClient(readTimeout: Duration.zero, writeTimeout: Duration.zero))。- 新增
StorageErrorType.RESOURCE_READ_EXCEPTION错误类型, 在资源读取异常(实际上传字节数与预期不符)时上报。
Changed #
- 分片上传进度改为基于字节权重计算,
RequestTaskController增加单调钳制 屏蔽 retry 引起的进度回退。 - 分片上传断点续传恢复逻辑修复。
- 分片上传 retry 改为区域间重试:单分片失败后冻结当前区域 host, 递增 regionIndex 切换下一区域。
HostProvider新增unfreezeOne()默认实现(空方法)。 支持冻结的自定义实现仍需重写该方法以恢复正常工作。- 修复 User-Agent 偶尔无效的问题。
- 调整
Config.retryLimit默认值从10改为2(单域名重试次数, 多域名场景下总重试次数 =retryLimit × 可用域名数)。
0.7.5 #
- 文件进行第一次上传时,如果域名全部冻结,会随机选择一个域名进行上传
0.7.3 #
- 优化表单上传进度更新粒度
- 修复分片上传重试时进度超过
100%的问题
0.7.2 #
- 解除platform_info和system2的依赖,以修复Android平台小概率崩溃问题
0.7.1 #
- 修复由于 SystemInfo2 引入导致的 Web/iOS/Windows 平台的不兼容问题
0.7.0 #
- 增强区域查询和上传的可靠性
0.6.3 #
- 补充遗漏的 Content-Type
0.6.2 #
- 移除冗余的 uuid 依赖声明
0.6.1 #
- 修复分片上传中断恢复后文件内容出错的问题
0.6.0 #
- 更新 uuid 到最新版本,对 Flutter SDK 的最低版本要求提升到 3.0
0.5.2 #
- 添加上传时的 mimetype 支持(仅分片上传支持)
0.5.1 #
- 修复由于 dio 更新内部自动替换 null 为空字符串导致的 614 错误问题。
0.5.0 #
- upgrade dio to 5.0.0
0.4.1 #
- fix package file name
0.4.0 #
- 新增 putBytes 接口用于上传 Uint8List 类型的资源
- 去掉了手机 Platform 相关的 UA, 可能客户端收集更适合
0.3.3 #
- 修复 UserAgent 可能被设置为中文导致报错的问题
0.3.2 #
- 修复
PutPolicy的 forceSaveKey 类型
0.3.1 #
- 在
PutOptions中增加 customVars 参数,为用户配置自定义变量提供入口 - 对
PutResponse中 rawData 参数变更为 required
0.3.0 #
- 增加 null-safety(#43)
0.2.2 #
- 增加 User-Agent(#39)
0.2.1 #
- 修复关闭 App 缓存丢失的问题
0.2.0 #
- 优化了
StorageError输出的调用栈 CacheProvider的方法都改成异步的
0.1.0 #
- Initial Release.