dio 5.1.2 dio: ^5.1.2 copied to clipboard
A powerful HTTP package for Dart/Flutter, which supports Global settings, Interceptors, FormData, Aborting and canceling a request, Files uploading and downloading, Requests timeout, Custom adapters, etc.
CHANGELOG #
Unreleased #
None.
5.1.2 #
- Allow
FormData
to send a null entry value as an empty string.
5.1.1 #
- Revert changes to
CancelToken.cancel()
behavior, as a result theDioError
provided by theCancelToken.cancelError
does not contain useful information when the token was not used with a request. - Fix wrong
ListFormat
being used for comparison during encoding ofFormData
andapplication/x-www-form-urlencoded
, resulting in potential wrong output encoding forListFormat.multi
andListFormat.multiCompatible
since Dio 4.0.x. - Respect
Options.listFormat
when encodingx-www-url-encoded
content.
5.1.0 #
- Fix double-completion when using
connectionTimeout
on web platform. - Allow defining adapter methods through their constructors.
- Fix
FormData
encoding regression for maps with dynamic keys, introduced in 5.0.3. - Mark several static
DioMixin
functions as@internal
. - Make
DioError.stackTrace
non-nullable. - Ensure
DioError.stackTrace
always points to the correct call site.
5.0.3 #
- Imply
List<Map>
as JSON content inImplyContentTypeInterceptor
. - Fix
FormData
encoding for collections and objects.
5.0.2 #
- Improve code formats according to linter rules.
- Remove the force conversion for the response body.
- Fix
DioErrorType.cancel
inInterceptors
. - Fix wrong encoding of collection query parameters.
- Fix "unsupported operation" error on web platform.
5.0.1 #
- Add
ImplyContentTypeInterceptor
as a default interceptor. - Add
Headers.multipartFormDataContentType
for headers usage. - Fix variable shadowing of
withCredentials
inbrowser_adapers.dart
.
5.0.0 #
- Raise the min Dart SDK version to 2.15.0 to support
BackgroundTransformer
. - Change
Dio.transformer
fromDefaultTransformer
toBackgroundTransformer
. - Remove plain ASCII check in
FormData
. - Allow asynchronized method with
savePath
. - Allow
data
in all request methods. - A platform independent
HttpClientAdapter
can now be instantiated by doingdio.httpClientAdapter = HttpClientAdapter();
. - Add
ValidateCertificate
to handle certificate pinning better. - Support
Content-Disposition
header case sensitivity.
Breaking Changes #
- The default charset
utf-8
inHeaders
content type constants has been removed. BaseOptions.setRequestContentTypeWhenNoPayload
has been removed.- Improve
DioError
s. There are now more cases in which the inner original stacktrace is supplied. HttpClientAdapter
must now be implemented instead of extended.- Any classes specific to
dart:io
platforms can now be imported viaimport 'package:dio/io.dart';
. Classes specific to web can be imported viaimport 'package:dio/browser.dart';
. connectTimeout
,sendTimeout
, andreceiveTimeout
are nowDuration
s.
4.0.6 #
- fix #1452
4.0.5 #
- require Dart
2.12.1
which fixes exception handling for secure socket connections (#45214) - Only delete file if it exists when downloading.
- Fix
BrowserHttpClientAdapter
canceled hangs - Correct JSON MIME Type detection
- [Web] support send/receive progress in web platform
- refactor timeout logic
- use 'arraybuffer' instead of 'blob' for xhr requests in web platform
4.0.4 #
- Fix fetching null data in a response
4.0.3 #
- fix #1311
4.0.2 #
- Add QueuedInterceptor
- merge #1316 #1317
4.0.1 #
- merge pr #1177 #1196 #1205 #1224 #1225 #1227 #1256 #1263 #1291
- fix #1257
4.0.0 #
stable version
4.0.0-prev3 #
- fix #1091 , #1089 , #1087
4.0.0-prev2 #
- fix #1082 and # 1076
4.0.0-prev1 #
Interceptors: Add handler
for Interceptor APIs which can specify
the subsequent interceptors processing logic more finely (whether to skip them or not).
4.0.0-beta7 #
- fix #1074
4.0.0-beta6 #
- fix #1070
4.0.0-beta5 #
- support ListParam
4.0.0-beta4 #
- fix #1060
4.0.0-beta3 #
- rename CollectionFormat to ListFormat
- change default value of Options.listFormat from
mutiComptible
tomulti
- add upload_stream_test.dart
4.0.0-beta2 #
- support null-safety
- add
CollectionFormat
configuration in Options - add
fetch
API for Dio - rename DioErrorType enums from uppercase to camel style
- rename 'Options.merge' to 'Options.copyWith'
3.0.10 2020.8.7 #
- fix #877 'dio.interceptors.errorLock.lock()'
- fix #851
- fix #641
3.0.9 2020.2.24 #
- Add test cases
3.0.8 2019.12.29 #
- Code style improvement
3.0.7 2019.11.25 #
- Merge #574 : fix upload image header error, support both oss and other server
3.0.6 2019.11.22 #
- revert #562, and fixed #566
3.0.5 2019.11.19 #
- merge #557 #531
3.0.4 2019.10.29 #
- fix #502 #515 #523
3.0.3 2019.10.1 #
- fix encode bug
3.0.2 2019.9.26 #
- fix #474 #480
3.0.2-dev.1 2019.9.20 #
- fix #470 #471
3.0.1 2019.9.20 #
- Fix #467
- Export
DioForNative
andDioForBrowser
classes.
3.0.0 #
New features #
- Support Flutter Web.
- Extract CookieManager into a separate package(No need for Flutter Web).
- Provides HTTP/2.0 HttpClientAdapter.
Change List #
-
Options.cookies -
Options.connectionTimeout;We should config connection timed out inBaseOptions
. For keep-alive reasons, not every request requires a separate connection。 -
Options.followRedirects
、Options.maxRedirects
、Response.redirects
don't make sense in Flutter Web,because redirection can be automatically handled by browsers. -
FormData.from,useFormData.fromMap
instead. -
Delete
Formdata.asBytes()、Formdata.asBytesAsync(), useFormdata.readAsBytes()
instead. -
Delete
class,UploadFileInfo
MultipartFile
instead. -
The return type of Interceptor's callback changes from
FutureOr<dynamic>
toFuture
. The reason is here. -
The type of
Response.headers
changes fromHttpHeaders
toHeaders
, becauseHttpHeaders
is in "dart:io" library which is not supported in Flutter Web.
2.1.16 #
Add deleteOnError
parameter to downloadUri
2.1.14 #
- fix #402 #385 #422
2.1.13 #
- fix #369
2.1.12 #
- fix #367 #365
2.1.10 #
- fix #360
2.1.9 #
- support flutter version>=1.8 (fix #357)
2.1.8 #
- fix #354 #312
- Allow "delete" method with request body(#223)
2.1.7 #
- fix #321 #318
2.1.6 #
- fix #316
2.1.5 #
- fix #309
2.1.4 #
- Add
options.responseDecoder
- Make DioError catchable by implementing Exception instead of Error
2.1.3 #
Add statusMessage
attribute for Response
and ResponseBody
2.1.2 #
First Stable version for 2.x
2.0 #
Refactor the Interceptors
- Support add Multiple Interceptors.
- Add Log Interceptor
- Add CookieManager Interceptor
API
- Support Uri
- Support
queryParameters
for all request API - Modify the
get
API
Options
- Separate Options to three class: Options、BaseOptions、RequestOptions
- Add
queryParameters
andcookies
for BaseOptions
Adapter
- Abstract HttpClientAdapter layer.
- Provide a DefaultHttpClientAdapter which make http requests by
dart:io:HttpClient
0.1.8 #
- change file name "TransFormer" to "Transformer"
- change "dio.transFormer" to "dio.transformer"
- change deprecated "UTF8" to "utf8"
0.1.5 #
- add
clear
method for dio instance
0.1.4 #
- fix
download
bugs
0.1.3 #
- support upload files with Array
- support create
HttpClient
by user self inonHttpClientCreate
- support generic
- bug fix
0.0.1 #
- Initial version, created by Stagehand