Releases: qiniu/rust-sdk
Releases · qiniu/rust-sdk
Release 0.2.4
Release 0.2.3
- 修复
c-ares
高版本在windows
平台无法正常使用的问题 - 修复
fs4
在windows
平台编译失败的问题 - 修复
qiniu_upload_token
中的一些clippy check
的问题 - 修改
qiniu_objects_manager::ListVersion
中的默认版本为V1
Release 0.2.2
- 修复
qiniu_objects_manager::ListStream
在使用 V2 API 列举时,当无法列举到结果时会导致无限循环的问题。
Release 0.2.1
qiniu_upload_manager::MultiPartsV1Uploader
总是使用 4 MB 分片大小,无论qiniu_upload_manager::DataPartitionProvider
返回多大的分片大小。- 服务端配置后可支持双活
Release 0.2.0
- 大部分 Trait 现在都实现了 Clone,减少了泛型参数以方便被作为 Trait Object 使用
- 所有回调函数均可以返回
anyhow::Result
作为返回结果 qiniu_http::Metrics
从 trait 改为 struct,并增加相应的qiniu_http:MetricsBuilder
qiniu_http
增加OnProgressCallback
/OnStatusCodeCallback
/OnHeaderCallback
存储上传进度 / 状态码 / HTTP Header 回调函数- 增加
qiniu_http::RequestPartsBuilder
- 为
qiniu_http_client::RetriedStatsInfo
和qiniu_download_manager::RetriedStatsInfo
增加公开的修改方法 qiniu_http_client::ResponseError
现在可以存储http::Extensions
,多个先前返回&qiniu_http_client::ResponseError
的回调函数现在返回它的可变引用。qiniu_upload_manager
改进对于上传的分片有效期的判断逻辑qiniu_upload_manager
恢复分片上传时优先使用来自恢复文件中记录的上传地址qiniu_upload_manager
从FileDataSource
内分离出AsyncFileDataSource
,以及从DataSource
里分离出AsyncDataSource
qiniu_upload_manager::MultiPartsUploader
内complete_parts
和async_complete_parts
不再要求传入InitializedParts
和UploadedPart
本身,只需要传入引用即可qiniu_upload_manager
公开UnseekableDataSource
和AsyncUnseekableDataSource
qiniu_upload_manager::ObjectParams
/qiniu_upload_manager::AutoUploaderObjectParams
不再返回任何字段的可变引用- 修复
qiniu_download_manager
只能下载带有Content-Length
的响应的问题
不兼容变更
qiniu-upload-token
UploadTokenProvider::to_token_string
的返回结果从std::io::Result
改为ToStringResult
,UploadTokenProvider::async_to_token_string
的返回结果则改为ToStringResult
的BoxFuture
版本。BucketUploadTokenProviderBuilder
和ObjectUploadTokenProviderBuilder
的on_policy_generated
方法接受的回调函数现在需要返回anyhow::Result<()>
,先前不返回任何数据。
qiniu-http
ResponseError::builder
接受的错误类型从impl Into<Box<dyn std::io::Error + Send + Sync>>
改为impl Into<anyhow::Error>
,ResponseError::into_inner
返回的数据类型从Box<dyn std::io::Error + Send + Sync>
改为anyhow::Error
。Metrics
类型从 Trait 改为 Struct。CallbackResult
类型被彻底移除,所有回调函数返回值从CallbackResult
类型改为anyhow::Result
。RequestParts::on_uploading_progress_mut
现在返回&mut Option<OnProgressCallback>
类型,RequestParts::on_receive_response_status_mut
现在返回&mut Option<OnStatusCodeCallback>
类型,RequestParts::on_receive_response_header_mut
现在返回&mut Option<OnHeaderCallback>
类型。RequestBuilder::on_uploading_progress
现在接受impl Into<OnProgressCallback>
类型,RequestBuilder::on_receive_response_status
现在接受impl Into<OnStatusCodeCallback>
类型,RequestBuilder::on_receive_response_header
现在接受impl Into<OnHeaderCallback>
类型。
qiniu-http-client
- 所有回调函数返回值从
CallbackResult
类型改为anyhow::Result
。 RequestBuilder::on_uploading_progress
接受的回调函数的参数类型从&TransferProgressInfo
改为TransferProgressInfo
,RequestBuilder::on_error
接受的回调函数的参数类型从&ResponseError
改为&mut ResponseError
。ResponseError::new
接受的错误类型从impl Into<Box<dyn std::io::Error + Send + Sync>>
改为impl Into<anyhow::Error>
。Resolver
/Backoff
/Chooser
/RequestRetrier
现在实现Clone
。
qiniu-apis
- 所有回调函数返回值从
CallbackResult
类型改为anyhow::Result
。 RequestBuilder::on_uploading_progress
接受的回调函数的参数类型从&TransferProgressInfo
改为TransferProgressInfo
,RequestBuilder::on_error
接受的回调函数的参数类型从&ResponseError
改为&mut ResponseError
。
qiniu-objects-manager
- 所有回调函数返回值从
CallbackResult
类型改为anyhow::Result
。 BatchOperations::after_response_error_callback
接受的回调函数的参数类型从&ResponseError
改为&mut ResponseError
,ListBuilder::after_response_error_callback
接受的回调函数的参数类型从&ResponseError
改为&mut ResponseError
。BatchSizeProvider
/OperationProvider
现在实现Clone
。ObjectsManager::credential
返回类型从Arc<dyn CredentialProvider>
改为&dyn CredentialProvider
。
qiniu-upload-manager
- 所有回调函数返回值从
CallbackResult
类型改为anyhow::Result
。 UploadManager::multi_parts_uploader
/UploadManager::multi_parts_v1_uploader
/UploadManager::multi_parts_v2_uploader
现在额外接受泛型参数H: Digest + Send + 'static
。UploadManager::auto_uploader
/UploadManager::auto_uploader_builder
现在仅接受一个泛型参数H: Digest + Send + 'static
。UploaderWithCallbacks::on_response_error
接受的回调函数的参数类型从&ResponseError
改为&mut ResponseError
。AutoUploader
/AutoUploaderBuilder
现在仅有一个泛型参数H: Digest + Send + 'static
。ObjectParams
/AutoUploaderObjectParams
不再返回任何字段的可变引用。ObjectParams
/ObjectParamsBuilder
移除所有uploaded_part_ttl
字段相关方法。ConcurrencyProvider
/DataPartitionProvider
/ResumablePolicyProvider
/ResumableRecorder
/MultiPartsUploaderScheduler
/DataSource
/SinglePartUploader
/MultiPartsUploader
/InitializedParts
现在实现Clone
。DataSource
移除了async_slice
/async_source_key
/async_total_size
方法,增加了reset
方法。ResumablePolicyProvider
的get_policy_from_reader
/get_policy_from_async_reader
方法原本接受的是泛型参数,现在接受它的 Trait Object 类型。ResumableRecorder
现在只有一个泛型参数HashAlgorithm
,所有涉及到泛型参数的方法现在都改用 Trait Object 类型。MultiPartsUploaderScheduler
现在只有一个泛型参数A: Digest
,移除了new
方法,所有涉及到泛型参数的方法现在都改用 Trait Object 类型。MultiPartsUploader
移除了泛型参数ResumableRecorder
,加上了HashAlgorithm: Digest + Send + 'static
/AsyncInitializedParts: InitializedParts + 'static
/AsyncUploadedPart: UploadedPart
。MultiPartsUploader
增加了reinitialize_parts
/async_reinitialize_parts
方法。MultiPartsUploader
的complete_parts
/async_complete_parts
方法现在只接受initialized
和parts
的不可变引用。SinglePartUploader
/MultiPartsUploader
/InitializedParts
/UploadedPart
不可被用户实现。
qiniu-download-manager
- 所有回调函数返回值从
CallbackResult
类型改为anyhow::Result
。 DownloadManager
/DownloadManagerBuilder
/EndpointsUrlGenerator
/EndpointsUrlGeneratorBuilder
/UrlsSigner
现在移除了所有泛型参数。DownloadManagerBuilder
的所有构造器方法现在都仅需要&mut self
即可调用。DownloadingObject::on_download_progress
接受的回调函数的参数从&TransferProgressInfo
改为DownloadingProgressInfo
,DownloadingObject::on_response_error
接受的回调函数的参数从&ResponseError
改为&mut ResponseError
。DownloadRetrier
/DownloadUrlsGenerator
现在实现Clone
。
Rust-SDK v0.1.4
ListIter
/ListStream
添加marker
方法,获取最近一次列举返回的位置标记,下次列举可以marker
作为参数继续列举- 修复已知问题
Rust-SDK v0.1.3
- 升级第三方依赖包 ureq 和 fs4 ,解决编译问题
- 为 SubnetChooserBuilder 增加安全的设置 IP 地址子网掩码前缀长度的方法
- 支持导出更多公开类型
- 解决 qiniu_http::Request::from_parts_and_body 无法使用的 bug
Rust-SDK v0.1.2
- 对象存储,管理类 API 发送请求时增加 X-Qiniu-Date (生成请求的时间) header
- 简化了 http_client::RegionBuilder / http_client::EndpointsBuilder 设置多个终端地址的方法
- 提供 qiniu_http::set_library_user_agent() 给第三方库设置用户代理,方便所有 User Agent 内包含第三方库信息
- 修复了部分已知问题
Rust-SDK v0.1.1
- 增加
qiniu-download-manager
插件负责对象的下载 - 修复了
Credential::sign_download_url()
的lifetime
参数实现不正确的 bug - 简化了设置 HTTP 协议的代码
- 优化 HTTP Header 相关接口
Rust-SDK v0.1.0
- 首个正式版本发布