-
Notifications
You must be signed in to change notification settings - Fork 341
/
CHANGELOG.md
248 lines (149 loc) · 5.96 KB
/
CHANGELOG.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
## 1.2.2-wip
## 1.2.1
* Require Dart `^3.3`
* Require `package:web` `^0.5.0`.
## 1.2.0
* Add `MockClient.pngResponse`, which makes it easier to fake image responses.
* Added the ability to fetch the URL of the response through `BaseResponseWithUrl`.
* Add the ability to get headers as a `Map<String, List<String>` to
`BaseResponse`.
## 1.1.2
* Allow `web: '>=0.3.0 <0.5.0'`.
## 1.1.1
* `BrowserClient` throws `ClientException` when the `'Content-Length'` header
is invalid.
* `IOClient` trims trailing whitespace on header values.
* Require Dart 3.2
* Browser: support Wasm by using `package:web`.
## 1.1.0
* Add better error messages for `SocketException`s when using `IOClient`.
* Make `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.
## 1.0.0
* Requires Dart 3.0 or later.
* Add `base`, `final`, and `interface` modifiers to some classes.
## 0.13.6
* `BrowserClient` throws an exception if `send` is called after `close`.
* If `no_default_http_client=true` is set in the environment then disk usage
is reduced in some circumstances.
* Require Dart 2.19
## 0.13.5
* Allow async callbacks in RetryClient.
* In `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.
## 0.13.4
* Throw a more useful error when a client is used after it has been closed.
* Require Dart 2.14.
## 0.13.3
* Validate that the `method` parameter of BaseRequest is a valid "token".
## 0.13.2
* Add `package:http/retry.dart` with `RetryClient`. This is the same
implementation as `package:http_retry` which will be discontinued.
## 0.13.1
* Fix code samples in `README` to pass a `Uri` instance.
## 0.13.0
* Migrate to null safety.
* Add `const` constructor to `ByteStream`.
* Migrate `BrowserClient` from `blob` to `arraybuffer`.
* **Breaking** All APIs which previously allowed a `String` or `Uri` to be
passed now require a `Uri`.
* **Breaking** Added a `body` and `encoding` argument to `Client.delete`. This
is only breaking for implementations which override that method.
## 0.12.2
* Fix error handler callback type for response stream errors to avoid masking
root causes.
## 0.12.1
* Add `IOStreamedResponse` which includes the ability to detach the socket.
When sending a request with an `IOClient` the response will be an
`IOStreamedResponse`.
* Remove dependency on `package:async`.
## 0.12.0+4
* Fix a bug setting the `'content-type'` header in `MultipartRequest`.
## 0.12.0+3
* Documentation fixes.
## 0.12.0+2
* Documentation fixes.
## 0.12.0
### New Features
* The regular `Client` factory constructor is now usable anywhere that `dart:io`
or `dart:html` are available, and will give you an `IoClient` or
`BrowserClient` respectively.
* The `package:http/http.dart` import is now safe to use on the web (or
anywhere that either `dart:io` or `dart:html` are available).
### Breaking Changes
* In order to use or reference the `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.
## 0.11.3+17
* Use new Dart 2 constant names. This branch is only for allowing existing
code to keep running under Dart 2.
## 0.11.3+16
* Stop depending on the `stack_trace` package.
## 0.11.3+15
* Declare support for `async` 2.0.0.
## 0.11.3+14
* Remove single quote ("'" - ASCII 39) from boundary characters.
Causes issues with Google Cloud Storage.
## 0.11.3+13
* remove boundary characters that package:http_parser cannot parse.
## 0.11.3+12
* Don't quote the boundary header for `MultipartRequest`. This is more
compatible with server quirks.
## 0.11.3+11
* Fix the SDK constraint to only include SDK versions that support importing
`dart:io` everywhere.
## 0.11.3+10
* Stop using `dart:mirrors`.
## 0.11.3+9
* Remove an extra newline in multipart chunks.
## 0.11.3+8
* Properly specify `Content-Transfer-Encoding` for multipart chunks.
## 0.11.3+7
* Declare compatibility with `http_parser` 3.0.0.
## 0.11.3+6
* Fix one more strong mode warning in `http/testing.dart`.
## 0.11.3+5
* Fix some lingering strong mode warnings.
## 0.11.3+4
* Fix all strong mode warnings.
## 0.11.3+3
* Support `http_parser` 2.0.0.
## 0.11.3+2
* Require Dart SDK >= 1.9.0
* Eliminate many uses of `Chain.track` from the `stack_trace` package.
## 0.11.3+1
* Support `http_parser` 1.0.0.
## 0.11.3
* Add a `Client.patch` shortcut method and a matching top-level `patch` method.
## 0.11.2
* Add a `BrowserClient.withCredentials` property.
## 0.11.1+3
* Properly namespace an internal library name.
## 0.11.1+2
* Widen the version constraint on `unittest`.
## 0.11.1+1
* Widen the version constraint for `stack_trace`.
## 0.11.1
* Expose the `IOClient` class which wraps a `dart:io` `HttpClient`.
## 0.11.0+1
* Fix a bug in handling errors in decoding XMLHttpRequest responses for
`BrowserClient`.
## 0.11.0
* 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`.
## 0.10.0
* 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.