web: '>=0.3.0 <0.5.0'.BrowserClient throws ClientException when the 'Content-Length' header is invalid.IOClient trims trailing whitespace on header values.package:web.SocketExceptions when using IOClient.StreamedRequest.sink a StreamSink. This makes request.sink.close() return a Future instead of void, but the returned future should not be awaited. The Future returned from sink.close() may only complete after the request has been sent.base, final, and interface modifiers to some classes.BrowserClient throws an exception if send is called after close.no_default_http_client=true is set in the environment then disk usage is reduced in some circumstances.MockHttpClient use the callback returned Response.request instead of the argument value to give more control to the callback. This may be breaking for callbacks which return incomplete Responses and relied on the default.method parameter of BaseRequest is a valid “token”.package:http/retry.dart with RetryClient. This is the same implementation as package:http_retry which will be discontinued.README to pass a Uri instance.const constructor to ByteStream.BrowserClient from blob to arraybuffer.String or Uri to be passed now require a Uri.body and encoding argument to Client.delete. This is only breaking for implementations which override that method.IOStreamedResponse which includes the ability to detach the socket. When sending a request with an IOClient the response will be an IOStreamedResponse.package:async.'content-type' header in MultipartRequest.Client factory constructor is now usable anywhere that dart:io or dart:html are available, and will give you an IoClient or BrowserClient respectively.package:http/http.dart import is now safe to use on the web (or anywhere that either dart:io or dart:html are available).IoClient directly, you will need to import the new package:http/io_client.dart import. This is typically only necessary if you are passing a custom HttpClient instance to the constructor, in which case you are already giving up support for web.stack_trace package.async 2.0.0.MultipartRequest. This is more compatible with server quirks.dart:io everywhere.dart:mirrors.Content-Transfer-Encoding for multipart chunks.http_parser 3.0.0.http/testing.dart.http_parser 2.0.0.Require Dart SDK >= 1.9.0
Eliminate many uses of Chain.track from the stack_trace package.
http_parser 1.0.0.Client.patch shortcut method and a matching top-level patch method.BrowserClient.withCredentials property.unittest.stack_trace.IOClient class which wraps a dart:io HttpClient.BrowserClient.The package no longer depends on dart:io. The BrowserClient class in package:http/browser_client.dart can now be used to make requests on the browser.
Change MultipartFile.contentType from dart:io's ContentType type to http_parser's MediaType type.
Exceptions are now of type ClientException rather than dart:io's HttpException.
Make BaseRequest.contentLength and BaseResponse.contentLength use null to indicate an unknown content length rather than -1.
The contentLength parameter to new BaseResponse is now named rather than positional.
Make request headers case-insensitive.
Make MultipartRequest more closely adhere to browsers' encoding conventions.