requests-asetwe 2.34.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. requests_asetwe-2.34.2/HISTORY.md +2102 -0
  2. requests_asetwe-2.34.2/LICENSE +175 -0
  3. requests_asetwe-2.34.2/MANIFEST.in +3 -0
  4. requests_asetwe-2.34.2/NOTICE +2 -0
  5. requests_asetwe-2.34.2/PKG-INFO +120 -0
  6. requests_asetwe-2.34.2/README.md +76 -0
  7. requests_asetwe-2.34.2/pyproject.toml +116 -0
  8. requests_asetwe-2.34.2/requirements-dev.txt +7 -0
  9. requests_asetwe-2.34.2/setup.cfg +4 -0
  10. requests_asetwe-2.34.2/setup.py +11 -0
  11. requests_asetwe-2.34.2/src/requests/__init__.py +219 -0
  12. requests_asetwe-2.34.2/src/requests/__version__.py +14 -0
  13. requests_asetwe-2.34.2/src/requests/_internal_utils.py +51 -0
  14. requests_asetwe-2.34.2/src/requests/_types.py +183 -0
  15. requests_asetwe-2.34.2/src/requests/adapters.py +748 -0
  16. requests_asetwe-2.34.2/src/requests/api.py +180 -0
  17. requests_asetwe-2.34.2/src/requests/auth.py +354 -0
  18. requests_asetwe-2.34.2/src/requests/certs.py +18 -0
  19. requests_asetwe-2.34.2/src/requests/compat.py +113 -0
  20. requests_asetwe-2.34.2/src/requests/cookies.py +625 -0
  21. requests_asetwe-2.34.2/src/requests/exceptions.py +162 -0
  22. requests_asetwe-2.34.2/src/requests/help.py +134 -0
  23. requests_asetwe-2.34.2/src/requests/hooks.py +48 -0
  24. requests_asetwe-2.34.2/src/requests/models.py +1180 -0
  25. requests_asetwe-2.34.2/src/requests/packages.py +23 -0
  26. requests_asetwe-2.34.2/src/requests/py.typed +0 -0
  27. requests_asetwe-2.34.2/src/requests/sessions.py +920 -0
  28. requests_asetwe-2.34.2/src/requests/status_codes.py +128 -0
  29. requests_asetwe-2.34.2/src/requests/structures.py +130 -0
  30. requests_asetwe-2.34.2/src/requests/utils.py +1155 -0
  31. requests_asetwe-2.34.2/src/requests_asetwe.egg-info/PKG-INFO +120 -0
  32. requests_asetwe-2.34.2/src/requests_asetwe.egg-info/SOURCES.txt +84 -0
  33. requests_asetwe-2.34.2/src/requests_asetwe.egg-info/dependency_links.txt +1 -0
  34. requests_asetwe-2.34.2/src/requests_asetwe.egg-info/requires.txt +12 -0
  35. requests_asetwe-2.34.2/src/requests_asetwe.egg-info/top_level.txt +1 -0
  36. requests_asetwe-2.34.2/tests/__init__.py +14 -0
  37. requests_asetwe-2.34.2/tests/certs/README.md +10 -0
  38. requests_asetwe-2.34.2/tests/certs/expired/Makefile +13 -0
  39. requests_asetwe-2.34.2/tests/certs/expired/README.md +11 -0
  40. requests_asetwe-2.34.2/tests/certs/expired/ca/Makefile +13 -0
  41. requests_asetwe-2.34.2/tests/certs/expired/ca/ca-private.key +28 -0
  42. requests_asetwe-2.34.2/tests/certs/expired/ca/ca.cnf +17 -0
  43. requests_asetwe-2.34.2/tests/certs/expired/ca/ca.crt +22 -0
  44. requests_asetwe-2.34.2/tests/certs/expired/ca/ca.srl +1 -0
  45. requests_asetwe-2.34.2/tests/certs/expired/server/Makefile +16 -0
  46. requests_asetwe-2.34.2/tests/certs/expired/server/cert.cnf +24 -0
  47. requests_asetwe-2.34.2/tests/certs/expired/server/server.csr +19 -0
  48. requests_asetwe-2.34.2/tests/certs/expired/server/server.key +28 -0
  49. requests_asetwe-2.34.2/tests/certs/expired/server/server.pem +44 -0
  50. requests_asetwe-2.34.2/tests/certs/mtls/Makefile +7 -0
  51. requests_asetwe-2.34.2/tests/certs/mtls/README.md +4 -0
  52. requests_asetwe-2.34.2/tests/certs/mtls/client/Makefile +16 -0
  53. requests_asetwe-2.34.2/tests/certs/mtls/client/ca/Makefile +13 -0
  54. requests_asetwe-2.34.2/tests/certs/mtls/client/ca/ca-private.key +28 -0
  55. requests_asetwe-2.34.2/tests/certs/mtls/client/ca/ca.cnf +17 -0
  56. requests_asetwe-2.34.2/tests/certs/mtls/client/ca/ca.crt +22 -0
  57. requests_asetwe-2.34.2/tests/certs/mtls/client/ca/ca.srl +1 -0
  58. requests_asetwe-2.34.2/tests/certs/mtls/client/cert.cnf +26 -0
  59. requests_asetwe-2.34.2/tests/certs/mtls/client/client.csr +24 -0
  60. requests_asetwe-2.34.2/tests/certs/mtls/client/client.key +28 -0
  61. requests_asetwe-2.34.2/tests/certs/mtls/client/client.pem +44 -0
  62. requests_asetwe-2.34.2/tests/certs/valid/ca/Makefile +13 -0
  63. requests_asetwe-2.34.2/tests/certs/valid/ca/ca-private.key +28 -0
  64. requests_asetwe-2.34.2/tests/certs/valid/ca/ca.cnf +17 -0
  65. requests_asetwe-2.34.2/tests/certs/valid/ca/ca.crt +22 -0
  66. requests_asetwe-2.34.2/tests/certs/valid/ca/ca.srl +1 -0
  67. requests_asetwe-2.34.2/tests/certs/valid/server/Makefile +16 -0
  68. requests_asetwe-2.34.2/tests/certs/valid/server/cert.cnf +31 -0
  69. requests_asetwe-2.34.2/tests/certs/valid/server/server.csr +19 -0
  70. requests_asetwe-2.34.2/tests/certs/valid/server/server.key +28 -0
  71. requests_asetwe-2.34.2/tests/certs/valid/server/server.pem +46 -0
  72. requests_asetwe-2.34.2/tests/compat.py +23 -0
  73. requests_asetwe-2.34.2/tests/conftest.py +67 -0
  74. requests_asetwe-2.34.2/tests/test_adapters.py +8 -0
  75. requests_asetwe-2.34.2/tests/test_help.py +27 -0
  76. requests_asetwe-2.34.2/tests/test_hooks.py +22 -0
  77. requests_asetwe-2.34.2/tests/test_lowlevel.py +428 -0
  78. requests_asetwe-2.34.2/tests/test_packages.py +13 -0
  79. requests_asetwe-2.34.2/tests/test_requests.py +3068 -0
  80. requests_asetwe-2.34.2/tests/test_structures.py +91 -0
  81. requests_asetwe-2.34.2/tests/test_testserver.py +165 -0
  82. requests_asetwe-2.34.2/tests/test_utils.py +1013 -0
  83. requests_asetwe-2.34.2/tests/testserver/__init__.py +0 -0
  84. requests_asetwe-2.34.2/tests/testserver/server.py +176 -0
  85. requests_asetwe-2.34.2/tests/utils.py +17 -0
@@ -0,0 +1,2102 @@
1
+ Release History
2
+ ===============
3
+
4
+ dev
5
+ ---
6
+
7
+ - \[Short description of non-trivial change.\]
8
+
9
+
10
+ 2.34.2 (2026-05-14)
11
+ -------------------
12
+ - Moved `headers` input type back to `Mapping` to avoid invariance issues
13
+ with `MutableMapping` and inferred dict types. Users calling
14
+ `Request.headers.update()` may need to narrow typing in their code. (#7441)
15
+
16
+
17
+ 2.34.1 (2026-05-13)
18
+ -------------------
19
+
20
+ **Bugfixes**
21
+ - Widened `json` input type from `dict` and `list` to `Mapping`
22
+ and `Sequence`. (#7436)
23
+ - Changed `headers` input type to MutableMapping and removed `None` from
24
+ `Request.headers` typing to improve handling for users. (#7431)
25
+ - `Response.reason` moved from `str | None` to `str` to improve handling
26
+ for users. (#7437)
27
+ - Fixed a bug where some bodies with custom `__getattr__` implementations
28
+ weren't being properly detected as Iterables. (#7433)
29
+
30
+
31
+ 2.34.0 (2026-05-11)
32
+ -------------------
33
+
34
+ **Announcements**
35
+ - Requests 2.34.0 introduces inline types, replacing those provided by
36
+ typeshed. Public API types should be fully compatible with mypy, pyright,
37
+ and ty. We believe types are comprehensive but if you find issues, please
38
+ report them to the pinned tracking issue.
39
+
40
+ Special thanks to @bastimeyer, @cthoyt, @edgarrmondragon, and @srittau for
41
+ helping review and test the types ahead of the release. (#7272)
42
+
43
+ **Improvements**
44
+ - Digest Auth hashing algorithms have added `usedforsecurity=False` to clarify
45
+ security considerations. (#7310)
46
+ - Requests added support for Python 3.15 based on beta1. Downstream projects
47
+ should be able to start testing prior to its release in October. (#7422)
48
+ - Requests added support for Python 3.14t. (#7419)
49
+
50
+ **Bugfixes**
51
+ - ``Response.history`` no longer contains a reference to itself, preventing
52
+ accidental looping when traversing the history list. (#7328)
53
+ - Requests no longer performs greedy matching on no_proxy domains. The
54
+ proxy_bypass implementation has been updated with CPython's fix from
55
+ bpo-39057. (#7427)
56
+ - Requests no longer incorrectly strips duplicate leading slashes in
57
+ URI paths. This should address user issues with specific presigned
58
+ URLs. Note the full fix requires urllib3 2.7.0+. (#7315)
59
+
60
+
61
+ 2.33.1 (2026-03-30)
62
+ -------------------
63
+
64
+ **Bugfixes**
65
+ - Fixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary
66
+ files in the tmp directory. (#7305)
67
+ - Fixed Content-Type header parsing for malformed values. (#7309)
68
+ - Improved error consistency for malformed header values. (#7308)
69
+
70
+ 2.33.0 (2026-03-25)
71
+ -------------------
72
+
73
+ **Announcements**
74
+ - 📣 Requests is adding inline types. If you have a typed code base that
75
+ uses Requests, please take a look at #7271. Give it a try, and report
76
+ any gaps or feedback you may have in the issue. 📣
77
+
78
+ **Security**
79
+ - CVE-2026-25645 ``requests.utils.extract_zipped_paths`` now extracts
80
+ contents to a non-deterministic location to prevent malicious file
81
+ replacement. This does not affect default usage of Requests, only
82
+ applications calling the utility function directly.
83
+
84
+ **Improvements**
85
+ - Migrated to a PEP 517 build system using setuptools. (#7012)
86
+
87
+ **Bugfixes**
88
+ - Fixed an issue where an empty netrc entry could cause
89
+ malformed authentication to be applied to Requests on
90
+ Python 3.11+. (#7205)
91
+
92
+ **Deprecations**
93
+ - Dropped support for Python 3.9 following its end of support. (#7196)
94
+
95
+ **Documentation**
96
+ - Various typo fixes and doc improvements.
97
+
98
+
99
+ 2.32.5 (2025-08-18)
100
+ -------------------
101
+
102
+ **Bugfixes**
103
+
104
+ - The SSLContext caching feature originally introduced in 2.32.0 has created
105
+ a new class of issues in Requests that have had negative impact across a number
106
+ of use cases. The Requests team has decided to revert this feature as long term
107
+ maintenance of it is proving to be unsustainable in its current iteration.
108
+
109
+ **Deprecations**
110
+ - Added support for Python 3.14.
111
+ - Dropped support for Python 3.8 following its end of support.
112
+
113
+ 2.32.4 (2025-06-10)
114
+ -------------------
115
+
116
+ **Security**
117
+ - CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted
118
+ environment will retrieve credentials for the wrong hostname/machine from a
119
+ netrc file.
120
+
121
+ **Improvements**
122
+ - Numerous documentation improvements
123
+
124
+ **Deprecations**
125
+ - Added support for pypy 3.11 for Linux and macOS.
126
+ - Dropped support for pypy 3.9 following its end of support.
127
+
128
+
129
+ 2.32.3 (2024-05-29)
130
+ -------------------
131
+
132
+ **Bugfixes**
133
+ - Fixed bug breaking the ability to specify custom SSLContexts in sub-classes of
134
+ HTTPAdapter. (#6716)
135
+ - Fixed issue where Requests started failing to run on Python versions compiled
136
+ without the `ssl` module. (#6724)
137
+
138
+ 2.32.2 (2024-05-21)
139
+ -------------------
140
+
141
+ **Deprecations**
142
+ - To provide a more stable migration for custom HTTPAdapters impacted
143
+ by the CVE changes in 2.32.0, we've renamed `_get_connection` to
144
+ a new public API, `get_connection_with_tls_context`. Existing custom
145
+ HTTPAdapters will need to migrate their code to use this new API.
146
+ `get_connection` is considered deprecated in all versions of Requests>=2.32.0.
147
+
148
+ A minimal (2-line) example has been provided in the linked PR to ease
149
+ migration, but we strongly urge users to evaluate if their custom adapter
150
+ is subject to the same issue described in CVE-2024-35195. (#6710)
151
+
152
+ 2.32.1 (2024-05-20)
153
+ -------------------
154
+
155
+ **Bugfixes**
156
+ - Add missing test certs to the sdist distributed on PyPI.
157
+
158
+
159
+ 2.32.0 (2024-05-20)
160
+ -------------------
161
+
162
+ **Security**
163
+ - Fixed an issue where setting `verify=False` on the first request from a
164
+ Session will cause subsequent requests to the _same origin_ to also ignore
165
+ cert verification, regardless of the value of `verify`.
166
+ (https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56)
167
+
168
+ **Improvements**
169
+ - `verify=True` now reuses a global SSLContext which should improve
170
+ request time variance between first and subsequent requests. It should
171
+ also minimize certificate load time on Windows systems when using a Python
172
+ version built with OpenSSL 3.x. (#6667)
173
+ - Requests now supports optional use of character detection
174
+ (`chardet` or `charset_normalizer`) when repackaged or vendored.
175
+ This enables `pip` and other projects to minimize their vendoring
176
+ surface area. The `Response.text()` and `apparent_encoding` APIs
177
+ will default to `utf-8` if neither library is present. (#6702)
178
+
179
+ **Bugfixes**
180
+ - Fixed bug in length detection where emoji length was incorrectly
181
+ calculated in the request content-length. (#6589)
182
+ - Fixed deserialization bug in JSONDecodeError. (#6629)
183
+ - Fixed bug where an extra leading `/` (path separator) could lead
184
+ urllib3 to unnecessarily reparse the request URI. (#6644)
185
+
186
+ **Deprecations**
187
+
188
+ - Requests has officially added support for CPython 3.12 (#6503)
189
+ - Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
190
+ - Requests has officially dropped support for CPython 3.7 (#6642)
191
+ - Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)
192
+
193
+ **Documentation**
194
+ - Various typo fixes and doc improvements.
195
+
196
+ **Packaging**
197
+ - Requests has started adopting some modern packaging practices.
198
+ The source files for the projects (formerly `requests`) is now located
199
+ in `src/requests` in the Requests sdist. (#6506)
200
+ - Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system
201
+ using `hatchling`. This should not impact the average user, but extremely old
202
+ versions of packaging utilities may have issues with the new packaging format.
203
+
204
+
205
+ 2.31.0 (2023-05-22)
206
+ -------------------
207
+
208
+ **Security**
209
+ - Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential
210
+ forwarding of `Proxy-Authorization` headers to destination servers when
211
+ following HTTPS redirects.
212
+
213
+ When proxies are defined with user info (`https://user:pass@proxy:8080`), Requests
214
+ will construct a `Proxy-Authorization` header that is attached to the request to
215
+ authenticate with the proxy.
216
+
217
+ In cases where Requests receives a redirect response, it previously reattached
218
+ the `Proxy-Authorization` header incorrectly, resulting in the value being
219
+ sent through the tunneled connection to the destination server. Users who rely on
220
+ defining their proxy credentials in the URL are *strongly* encouraged to upgrade
221
+ to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy
222
+ credentials once the change has been fully deployed.
223
+
224
+ Users who do not use a proxy or do not supply their proxy credentials through
225
+ the user information portion of their proxy URL are not subject to this
226
+ vulnerability.
227
+
228
+ Full details can be read in our [Github Security Advisory](https://github.com/psf/requests/security/advisories/GHSA-j8r2-6x86-q33q)
229
+ and [CVE-2023-32681](https://nvd.nist.gov/vuln/detail/CVE-2023-32681).
230
+
231
+
232
+ 2.30.0 (2023-05-03)
233
+ -------------------
234
+
235
+ **Dependencies**
236
+ - ⚠️ Added support for urllib3 2.0. ⚠️
237
+
238
+ This may contain minor breaking changes so we advise careful testing and
239
+ reviewing https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html
240
+ prior to upgrading.
241
+
242
+ Users who wish to stay on urllib3 1.x can pin to `urllib3<2`.
243
+
244
+ 2.29.0 (2023-04-26)
245
+ -------------------
246
+
247
+ **Improvements**
248
+
249
+ - Requests now defers chunked requests to the urllib3 implementation to improve
250
+ standardization. (#6226)
251
+ - Requests relaxes header component requirements to support bytes/str subclasses. (#6356)
252
+
253
+ 2.28.2 (2023-01-12)
254
+ -------------------
255
+
256
+ **Dependencies**
257
+
258
+ - Requests now supports charset\_normalizer 3.x. (#6261)
259
+
260
+ **Bugfixes**
261
+
262
+ - Updated MissingSchema exception to suggest https scheme rather than http. (#6188)
263
+
264
+ 2.28.1 (2022-06-29)
265
+ -------------------
266
+
267
+ **Improvements**
268
+
269
+ - Speed optimization in `iter_content` with transition to `yield from`. (#6170)
270
+
271
+ **Dependencies**
272
+
273
+ - Added support for chardet 5.0.0 (#6179)
274
+ - Added support for charset-normalizer 2.1.0 (#6169)
275
+
276
+ 2.28.0 (2022-06-09)
277
+ -------------------
278
+
279
+ **Deprecations**
280
+
281
+ - ⚠️ Requests has officially dropped support for Python 2.7. ⚠️ (#6091)
282
+ - Requests has officially dropped support for Python 3.6 (including pypy3.6). (#6091)
283
+
284
+ **Improvements**
285
+
286
+ - Wrap JSON parsing issues in Request's JSONDecodeError for payloads without
287
+ an encoding to make `json()` API consistent. (#6097)
288
+ - Parse header components consistently, raising an InvalidHeader error in
289
+ all invalid cases. (#6154)
290
+ - Added provisional 3.11 support with current beta build. (#6155)
291
+ - Requests got a makeover and we decided to paint it black. (#6095)
292
+
293
+ **Bugfixes**
294
+
295
+ - Fixed bug where setting `CURL_CA_BUNDLE` to an empty string would disable
296
+ cert verification. All Requests 2.x versions before 2.28.0 are affected. (#6074)
297
+ - Fixed urllib3 exception leak, wrapping `urllib3.exceptions.SSLError` with
298
+ `requests.exceptions.SSLError` for `content` and `iter_content`. (#6057)
299
+ - Fixed issue where invalid Windows registry entries caused proxy resolution
300
+ to raise an exception rather than ignoring the entry. (#6149)
301
+ - Fixed issue where entire payload could be included in the error message for
302
+ JSONDecodeError. (#6036)
303
+
304
+ 2.27.1 (2022-01-05)
305
+ -------------------
306
+
307
+ **Bugfixes**
308
+
309
+ - Fixed parsing issue that resulted in the `auth` component being
310
+ dropped from proxy URLs. (#6028)
311
+
312
+ 2.27.0 (2022-01-03)
313
+ -------------------
314
+
315
+ **Improvements**
316
+
317
+ - Officially added support for Python 3.10. (#5928)
318
+
319
+ - Added a `requests.exceptions.JSONDecodeError` to unify JSON exceptions between
320
+ Python 2 and 3. This gets raised in the `response.json()` method, and is
321
+ backwards compatible as it inherits from previously thrown exceptions.
322
+ Can be caught from `requests.exceptions.RequestException` as well. (#5856)
323
+
324
+ - Improved error text for misnamed `InvalidSchema` and `MissingSchema`
325
+ exceptions. This is a temporary fix until exceptions can be renamed
326
+ (Schema->Scheme). (#6017)
327
+
328
+ - Improved proxy parsing for proxy URLs missing a scheme. This will address
329
+ recent changes to `urlparse` in Python 3.9+. (#5917)
330
+
331
+ **Bugfixes**
332
+
333
+ - Fixed defect in `extract_zipped_paths` which could result in an infinite loop
334
+ for some paths. (#5851)
335
+
336
+ - Fixed handling for `AttributeError` when calculating length of files obtained
337
+ by `Tarfile.extractfile()`. (#5239)
338
+
339
+ - Fixed urllib3 exception leak, wrapping `urllib3.exceptions.InvalidHeader` with
340
+ `requests.exceptions.InvalidHeader`. (#5914)
341
+
342
+ - Fixed bug where two Host headers were sent for chunked requests. (#5391)
343
+
344
+ - Fixed regression in Requests 2.26.0 where `Proxy-Authorization` was
345
+ incorrectly stripped from all requests sent with `Session.send`. (#5924)
346
+
347
+ - Fixed performance regression in 2.26.0 for hosts with a large number of
348
+ proxies available in the environment. (#5924)
349
+
350
+ - Fixed idna exception leak, wrapping `UnicodeError` with
351
+ `requests.exceptions.InvalidURL` for URLs with a leading dot (.) in the
352
+ domain. (#5414)
353
+
354
+ **Deprecations**
355
+
356
+ - Requests support for Python 2.7 and 3.6 will be ending in 2022. While we
357
+ don't have exact dates, Requests 2.27.x is likely to be the last release
358
+ series providing support.
359
+
360
+ 2.26.0 (2021-07-13)
361
+ -------------------
362
+
363
+ **Improvements**
364
+
365
+ - Requests now supports Brotli compression, if either the `brotli` or
366
+ `brotlicffi` package is installed. (#5783)
367
+
368
+ - `Session.send` now correctly resolves proxy configurations from both
369
+ the Session and Request. Behavior now matches `Session.request`. (#5681)
370
+
371
+ **Bugfixes**
372
+
373
+ - Fixed a race condition in zip extraction when using Requests in parallel
374
+ from zip archive. (#5707)
375
+
376
+ **Dependencies**
377
+
378
+ - Instead of `chardet`, use the MIT-licensed `charset_normalizer` for Python3
379
+ to remove license ambiguity for projects bundling requests. If `chardet`
380
+ is already installed on your machine it will be used instead of `charset_normalizer`
381
+ to keep backwards compatibility. (#5797)
382
+
383
+ You can also install `chardet` while installing requests by
384
+ specifying `[use_chardet_on_py3]` extra as follows:
385
+
386
+ ```shell
387
+ pip install "requests[use_chardet_on_py3]"
388
+ ```
389
+
390
+ Python2 still depends upon the `chardet` module.
391
+
392
+ - Requests now supports `idna` 3.x on Python 3. `idna` 2.x will continue to
393
+ be used on Python 2 installations. (#5711)
394
+
395
+ **Deprecations**
396
+
397
+ - The `requests[security]` extra has been converted to a no-op install.
398
+ PyOpenSSL is no longer the recommended secure option for Requests. (#5867)
399
+
400
+ - Requests has officially dropped support for Python 3.5. (#5867)
401
+
402
+ 2.25.1 (2020-12-16)
403
+ -------------------
404
+
405
+ **Bugfixes**
406
+
407
+ - Requests now treats `application/json` as `utf8` by default. Resolving
408
+ inconsistencies between `r.text` and `r.json` output. (#5673)
409
+
410
+ **Dependencies**
411
+
412
+ - Requests now supports chardet v4.x.
413
+
414
+ 2.25.0 (2020-11-11)
415
+ -------------------
416
+
417
+ **Improvements**
418
+
419
+ - Added support for NETRC environment variable. (#5643)
420
+
421
+ **Dependencies**
422
+
423
+ - Requests now supports urllib3 v1.26.
424
+
425
+ **Deprecations**
426
+
427
+ - Requests v2.25.x will be the last release series with support for Python 3.5.
428
+ - The `requests[security]` extra is officially deprecated and will be removed
429
+ in Requests v2.26.0.
430
+
431
+ 2.24.0 (2020-06-17)
432
+ -------------------
433
+
434
+ **Improvements**
435
+
436
+ - pyOpenSSL TLS implementation is now only used if Python
437
+ either doesn't have an `ssl` module or doesn't support
438
+ SNI. Previously pyOpenSSL was unconditionally used if available.
439
+ This applies even if pyOpenSSL is installed via the
440
+ `requests[security]` extra (#5443)
441
+
442
+ - Redirect resolution should now only occur when
443
+ `allow_redirects` is True. (#5492)
444
+
445
+ - No longer perform unnecessary Content-Length calculation for
446
+ requests that won't use it. (#5496)
447
+
448
+ 2.23.0 (2020-02-19)
449
+ -------------------
450
+
451
+ **Improvements**
452
+
453
+ - Remove defunct reference to `prefetch` in Session `__attrs__` (#5110)
454
+
455
+ **Bugfixes**
456
+
457
+ - Requests no longer outputs password in basic auth usage warning. (#5099)
458
+
459
+ **Dependencies**
460
+
461
+ - Pinning for `chardet` and `idna` now uses major version instead of minor.
462
+ This hopefully reduces the need for releases every time a dependency is updated.
463
+
464
+ 2.22.0 (2019-05-15)
465
+ -------------------
466
+
467
+ **Dependencies**
468
+
469
+ - Requests now supports urllib3 v1.25.2.
470
+ (note: 1.25.0 and 1.25.1 are incompatible)
471
+
472
+ **Deprecations**
473
+
474
+ - Requests has officially stopped support for Python 3.4.
475
+
476
+ 2.21.0 (2018-12-10)
477
+ -------------------
478
+
479
+ **Dependencies**
480
+
481
+ - Requests now supports idna v2.8.
482
+
483
+ 2.20.1 (2018-11-08)
484
+ -------------------
485
+
486
+ **Bugfixes**
487
+
488
+ - Fixed bug with unintended Authorization header stripping for
489
+ redirects using default ports (http/80, https/443).
490
+
491
+ 2.20.0 (2018-10-18)
492
+ -------------------
493
+
494
+ **Bugfixes**
495
+
496
+ - Content-Type header parsing is now case-insensitive (e.g.
497
+ charset=utf8 v Charset=utf8).
498
+ - Fixed exception leak where certain redirect urls would raise
499
+ uncaught urllib3 exceptions.
500
+ - Requests removes Authorization header from requests redirected
501
+ from https to http on the same hostname. (CVE-2018-18074)
502
+ - `should_bypass_proxies` now handles URIs without hostnames (e.g.
503
+ files).
504
+
505
+ **Dependencies**
506
+
507
+ - Requests now supports urllib3 v1.24.
508
+
509
+ **Deprecations**
510
+
511
+ - Requests has officially stopped support for Python 2.6.
512
+
513
+ 2.19.1 (2018-06-14)
514
+ -------------------
515
+
516
+ **Bugfixes**
517
+
518
+ - Fixed issue where status\_codes.py's `init` function failed trying
519
+ to append to a `__doc__` value of `None`.
520
+
521
+ 2.19.0 (2018-06-12)
522
+ -------------------
523
+
524
+ **Improvements**
525
+
526
+ - Warn user about possible slowdown when using cryptography version
527
+ &lt; 1.3.4
528
+ - Check for invalid host in proxy URL, before forwarding request to
529
+ adapter.
530
+ - Fragments are now properly maintained across redirects. (RFC7231
531
+ 7.1.2)
532
+ - Removed use of cgi module to expedite library load time.
533
+ - Added support for SHA-256 and SHA-512 digest auth algorithms.
534
+ - Minor performance improvement to `Request.content`.
535
+ - Migrate to using collections.abc for 3.7 compatibility.
536
+
537
+ **Bugfixes**
538
+
539
+ - Parsing empty `Link` headers with `parse_header_links()` no longer
540
+ return one bogus entry.
541
+ - Fixed issue where loading the default certificate bundle from a zip
542
+ archive would raise an `IOError`.
543
+ - Fixed issue with unexpected `ImportError` on windows system which do
544
+ not support `winreg` module.
545
+ - DNS resolution in proxy bypass no longer includes the username and
546
+ password in the request. This also fixes the issue of DNS queries
547
+ failing on macOS.
548
+ - Properly normalize adapter prefixes for url comparison.
549
+ - Passing `None` as a file pointer to the `files` param no longer
550
+ raises an exception.
551
+ - Calling `copy` on a `RequestsCookieJar` will now preserve the cookie
552
+ policy correctly.
553
+
554
+ **Dependencies**
555
+
556
+ - We now support idna v2.7.
557
+ - We now support urllib3 v1.23.
558
+
559
+ 2.18.4 (2017-08-15)
560
+ -------------------
561
+
562
+ **Improvements**
563
+
564
+ - Error messages for invalid headers now include the header name for
565
+ easier debugging
566
+
567
+ **Dependencies**
568
+
569
+ - We now support idna v2.6.
570
+
571
+ 2.18.3 (2017-08-02)
572
+ -------------------
573
+
574
+ **Improvements**
575
+
576
+ - Running `$ python -m requests.help` now includes the installed
577
+ version of idna.
578
+
579
+ **Bugfixes**
580
+
581
+ - Fixed issue where Requests would raise `ConnectionError` instead of
582
+ `SSLError` when encountering SSL problems when using urllib3 v1.22.
583
+
584
+ 2.18.2 (2017-07-25)
585
+ -------------------
586
+
587
+ **Bugfixes**
588
+
589
+ - `requests.help` no longer fails on Python 2.6 due to the absence of
590
+ `ssl.OPENSSL_VERSION_NUMBER`.
591
+
592
+ **Dependencies**
593
+
594
+ - We now support urllib3 v1.22.
595
+
596
+ 2.18.1 (2017-06-14)
597
+ -------------------
598
+
599
+ **Bugfixes**
600
+
601
+ - Fix an error in the packaging whereby the `*.whl` contained
602
+ incorrect data that regressed the fix in v2.17.3.
603
+
604
+ 2.18.0 (2017-06-14)
605
+ -------------------
606
+
607
+ **Improvements**
608
+
609
+ - `Response` is now a context manager, so can be used directly in a
610
+ `with` statement without first having to be wrapped by
611
+ `contextlib.closing()`.
612
+
613
+ **Bugfixes**
614
+
615
+ - Resolve installation failure if multiprocessing is not available
616
+ - Resolve tests crash if multiprocessing is not able to determine the
617
+ number of CPU cores
618
+ - Resolve error swallowing in utils set\_environ generator
619
+
620
+ 2.17.3 (2017-05-29)
621
+ -------------------
622
+
623
+ **Improvements**
624
+
625
+ - Improved `packages` namespace identity support, for monkeypatching
626
+ libraries.
627
+
628
+ 2.17.2 (2017-05-29)
629
+ -------------------
630
+
631
+ **Improvements**
632
+
633
+ - Improved `packages` namespace identity support, for monkeypatching
634
+ libraries.
635
+
636
+ 2.17.1 (2017-05-29)
637
+ -------------------
638
+
639
+ **Improvements**
640
+
641
+ - Improved `packages` namespace identity support, for monkeypatching
642
+ libraries.
643
+
644
+ 2.17.0 (2017-05-29)
645
+ -------------------
646
+
647
+ **Improvements**
648
+
649
+ - Removal of the 301 redirect cache. This improves thread-safety.
650
+
651
+ 2.16.5 (2017-05-28)
652
+ -------------------
653
+
654
+ - Improvements to `$ python -m requests.help`.
655
+
656
+ 2.16.4 (2017-05-27)
657
+ -------------------
658
+
659
+ - Introduction of the `$ python -m requests.help` command, for
660
+ debugging with maintainers!
661
+
662
+ 2.16.3 (2017-05-27)
663
+ -------------------
664
+
665
+ - Further restored the `requests.packages` namespace for compatibility
666
+ reasons.
667
+
668
+ 2.16.2 (2017-05-27)
669
+ -------------------
670
+
671
+ - Further restored the `requests.packages` namespace for compatibility
672
+ reasons.
673
+
674
+ No code modification (noted below) should be necessary any longer.
675
+
676
+ 2.16.1 (2017-05-27)
677
+ -------------------
678
+
679
+ - Restored the `requests.packages` namespace for compatibility
680
+ reasons.
681
+ - Bugfix for `urllib3` version parsing.
682
+
683
+ **Note**: code that was written to import against the
684
+ `requests.packages` namespace previously will have to import code that
685
+ rests at this module-level now.
686
+
687
+ For example:
688
+
689
+ from requests.packages.urllib3.poolmanager import PoolManager
690
+
691
+ Will need to be re-written to be:
692
+
693
+ from requests.packages import urllib3
694
+ urllib3.poolmanager.PoolManager
695
+
696
+ Or, even better:
697
+
698
+ from urllib3.poolmanager import PoolManager
699
+
700
+ 2.16.0 (2017-05-26)
701
+ -------------------
702
+
703
+ - Unvendor ALL the things!
704
+
705
+ 2.15.1 (2017-05-26)
706
+ -------------------
707
+
708
+ - Everyone makes mistakes.
709
+
710
+ 2.15.0 (2017-05-26)
711
+ -------------------
712
+
713
+ **Improvements**
714
+
715
+ - Introduction of the `Response.next` property, for getting the next
716
+ `PreparedResponse` from a redirect chain (when
717
+ `allow_redirects=False`).
718
+ - Internal refactoring of `__version__` module.
719
+
720
+ **Bugfixes**
721
+
722
+ - Restored once-optional parameter for
723
+ `requests.utils.get_environ_proxies()`.
724
+
725
+ 2.14.2 (2017-05-10)
726
+ -------------------
727
+
728
+ **Bugfixes**
729
+
730
+ - Changed a less-than to an equal-to and an or in the dependency
731
+ markers to widen compatibility with older setuptools releases.
732
+
733
+ 2.14.1 (2017-05-09)
734
+ -------------------
735
+
736
+ **Bugfixes**
737
+
738
+ - Changed the dependency markers to widen compatibility with older pip
739
+ releases.
740
+
741
+ 2.14.0 (2017-05-09)
742
+ -------------------
743
+
744
+ **Improvements**
745
+
746
+ - It is now possible to pass `no_proxy` as a key to the `proxies`
747
+ dictionary to provide handling similar to the `NO_PROXY` environment
748
+ variable.
749
+ - When users provide invalid paths to certificate bundle files or
750
+ directories Requests now raises `IOError`, rather than failing at
751
+ the time of the HTTPS request with a fairly inscrutable certificate
752
+ validation error.
753
+ - The behavior of `SessionRedirectMixin` was slightly altered.
754
+ `resolve_redirects` will now detect a redirect by calling
755
+ `get_redirect_target(response)` instead of directly querying
756
+ `Response.is_redirect` and `Response.headers['location']`. Advanced
757
+ users will be able to process malformed redirects more easily.
758
+ - Changed the internal calculation of elapsed request time to have
759
+ higher resolution on Windows.
760
+ - Added `win_inet_pton` as conditional dependency for the `[socks]`
761
+ extra on Windows with Python 2.7.
762
+ - Changed the proxy bypass implementation on Windows: the proxy bypass
763
+ check doesn't use forward and reverse DNS requests anymore
764
+ - URLs with schemes that begin with `http` but are not `http` or
765
+ `https` no longer have their host parts forced to lowercase.
766
+
767
+ **Bugfixes**
768
+
769
+ - Much improved handling of non-ASCII `Location` header values in
770
+ redirects. Fewer `UnicodeDecodeErrors` are encountered on Python 2,
771
+ and Python 3 now correctly understands that Latin-1 is unlikely to
772
+ be the correct encoding.
773
+ - If an attempt to `seek` file to find out its length fails, we now
774
+ appropriately handle that by aborting our content-length
775
+ calculations.
776
+ - Restricted `HTTPDigestAuth` to only respond to auth challenges made
777
+ on 4XX responses, rather than to all auth challenges.
778
+ - Fixed some code that was firing `DeprecationWarning` on Python 3.6.
779
+ - The dismayed person emoticon (`/o\\`) no longer has a big head. I'm
780
+ sure this is what you were all worrying about most.
781
+
782
+ **Miscellaneous**
783
+
784
+ - Updated bundled urllib3 to v1.21.1.
785
+ - Updated bundled chardet to v3.0.2.
786
+ - Updated bundled idna to v2.5.
787
+ - Updated bundled certifi to 2017.4.17.
788
+
789
+ 2.13.0 (2017-01-24)
790
+ -------------------
791
+
792
+ **Features**
793
+
794
+ - Only load the `idna` library when we've determined we need it. This
795
+ will save some memory for users.
796
+
797
+ **Miscellaneous**
798
+
799
+ - Updated bundled urllib3 to 1.20.
800
+ - Updated bundled idna to 2.2.
801
+
802
+ 2.12.5 (2017-01-18)
803
+ -------------------
804
+
805
+ **Bugfixes**
806
+
807
+ - Fixed an issue with JSON encoding detection, specifically detecting
808
+ big-endian UTF-32 with BOM.
809
+
810
+ 2.12.4 (2016-12-14)
811
+ -------------------
812
+
813
+ **Bugfixes**
814
+
815
+ - Fixed regression from 2.12.2 where non-string types were rejected in
816
+ the basic auth parameters. While support for this behaviour has been
817
+ re-added, the behaviour is deprecated and will be removed in the
818
+ future.
819
+
820
+ 2.12.3 (2016-12-01)
821
+ -------------------
822
+
823
+ **Bugfixes**
824
+
825
+ - Fixed regression from v2.12.1 for URLs with schemes that begin with
826
+ "http". These URLs have historically been processed as though they
827
+ were HTTP-schemed URLs, and so have had parameters added. This was
828
+ removed in v2.12.2 in an overzealous attempt to resolve problems
829
+ with IDNA-encoding those URLs. This change was reverted: the other
830
+ fixes for IDNA-encoding have been judged to be sufficient to return
831
+ to the behaviour Requests had before v2.12.0.
832
+
833
+ 2.12.2 (2016-11-30)
834
+ -------------------
835
+
836
+ **Bugfixes**
837
+
838
+ - Fixed several issues with IDNA-encoding URLs that are technically
839
+ invalid but which are widely accepted. Requests will now attempt to
840
+ IDNA-encode a URL if it can but, if it fails, and the host contains
841
+ only ASCII characters, it will be passed through optimistically.
842
+ This will allow users to opt-in to using IDNA2003 themselves if they
843
+ want to, and will also allow technically invalid but still common
844
+ hostnames.
845
+ - Fixed an issue where URLs with leading whitespace would raise
846
+ `InvalidSchema` errors.
847
+ - Fixed an issue where some URLs without the HTTP or HTTPS schemes
848
+ would still have HTTP URL preparation applied to them.
849
+ - Fixed an issue where Unicode strings could not be used in basic
850
+ auth.
851
+ - Fixed an issue encountered by some Requests plugins where
852
+ constructing a Response object would cause `Response.content` to
853
+ raise an `AttributeError`.
854
+
855
+ 2.12.1 (2016-11-16)
856
+ -------------------
857
+
858
+ **Bugfixes**
859
+
860
+ - Updated setuptools 'security' extra for the new PyOpenSSL backend in
861
+ urllib3.
862
+
863
+ **Miscellaneous**
864
+
865
+ - Updated bundled urllib3 to 1.19.1.
866
+
867
+ 2.12.0 (2016-11-15)
868
+ -------------------
869
+
870
+ **Improvements**
871
+
872
+ - Updated support for internationalized domain names from IDNA2003 to
873
+ IDNA2008. This updated support is required for several forms of IDNs
874
+ and is mandatory for .de domains.
875
+ - Much improved heuristics for guessing content lengths: Requests will
876
+ no longer read an entire `StringIO` into memory.
877
+ - Much improved logic for recalculating `Content-Length` headers for
878
+ `PreparedRequest` objects.
879
+ - Improved tolerance for file-like objects that have no `tell` method
880
+ but do have a `seek` method.
881
+ - Anything that is a subclass of `Mapping` is now treated like a
882
+ dictionary by the `data=` keyword argument.
883
+ - Requests now tolerates empty passwords in proxy credentials, rather
884
+ than stripping the credentials.
885
+ - If a request is made with a file-like object as the body and that
886
+ request is redirected with a 307 or 308 status code, Requests will
887
+ now attempt to rewind the body object so it can be replayed.
888
+
889
+ **Bugfixes**
890
+
891
+ - When calling `response.close`, the call to `close` will be
892
+ propagated through to non-urllib3 backends.
893
+ - Fixed issue where the `ALL_PROXY` environment variable would be
894
+ preferred over scheme-specific variables like `HTTP_PROXY`.
895
+ - Fixed issue where non-UTF8 reason phrases got severely mangled by
896
+ falling back to decoding using ISO 8859-1 instead.
897
+ - Fixed a bug where Requests would not correctly correlate cookies set
898
+ when using custom Host headers if those Host headers did not use the
899
+ native string type for the platform.
900
+
901
+ **Miscellaneous**
902
+
903
+ - Updated bundled urllib3 to 1.19.
904
+ - Updated bundled certifi certs to 2016.09.26.
905
+
906
+ 2.11.1 (2016-08-17)
907
+ -------------------
908
+
909
+ **Bugfixes**
910
+
911
+ - Fixed a bug when using `iter_content` with `decode_unicode=True` for
912
+ streamed bodies would raise `AttributeError`. This bug was
913
+ introduced in 2.11.
914
+ - Strip Content-Type and Transfer-Encoding headers from the header
915
+ block when following a redirect that transforms the verb from
916
+ POST/PUT to GET.
917
+
918
+ 2.11.0 (2016-08-08)
919
+ -------------------
920
+
921
+ **Improvements**
922
+
923
+ - Added support for the `ALL_PROXY` environment variable.
924
+ - Reject header values that contain leading whitespace or newline
925
+ characters to reduce risk of header smuggling.
926
+
927
+ **Bugfixes**
928
+
929
+ - Fixed occasional `TypeError` when attempting to decode a JSON
930
+ response that occurred in an error case. Now correctly returns a
931
+ `ValueError`.
932
+ - Requests would incorrectly ignore a non-CIDR IP address in the
933
+ `NO_PROXY` environment variables: Requests now treats it as a
934
+ specific IP.
935
+ - Fixed a bug when sending JSON data that could cause us to encounter
936
+ obscure OpenSSL errors in certain network conditions (yes, really).
937
+ - Added type checks to ensure that `iter_content` only accepts
938
+ integers and `None` for chunk sizes.
939
+ - Fixed issue where responses whose body had not been fully consumed
940
+ would have the underlying connection closed but not returned to the
941
+ connection pool, which could cause Requests to hang in situations
942
+ where the `HTTPAdapter` had been configured to use a blocking
943
+ connection pool.
944
+
945
+ **Miscellaneous**
946
+
947
+ - Updated bundled urllib3 to 1.16.
948
+ - Some previous releases accidentally accepted non-strings as
949
+ acceptable header values. This release does not.
950
+
951
+ 2.10.0 (2016-04-29)
952
+ -------------------
953
+
954
+ **New Features**
955
+
956
+ - SOCKS Proxy Support! (requires PySocks;
957
+ `$ pip install requests[socks]`)
958
+
959
+ **Miscellaneous**
960
+
961
+ - Updated bundled urllib3 to 1.15.1.
962
+
963
+ 2.9.2 (2016-04-29)
964
+ ------------------
965
+
966
+ **Improvements**
967
+
968
+ - Change built-in CaseInsensitiveDict (used for headers) to use
969
+ OrderedDict as its underlying datastore.
970
+
971
+ **Bugfixes**
972
+
973
+ - Don't use redirect\_cache if allow\_redirects=False
974
+ - When passed objects that throw exceptions from `tell()`, send them
975
+ via chunked transfer encoding instead of failing.
976
+ - Raise a ProxyError for proxy related connection issues.
977
+
978
+ 2.9.1 (2015-12-21)
979
+ ------------------
980
+
981
+ **Bugfixes**
982
+
983
+ - Resolve regression introduced in 2.9.0 that made it impossible to
984
+ send binary strings as bodies in Python 3.
985
+ - Fixed errors when calculating cookie expiration dates in certain
986
+ locales.
987
+
988
+ **Miscellaneous**
989
+
990
+ - Updated bundled urllib3 to 1.13.1.
991
+
992
+ 2.9.0 (2015-12-15)
993
+ ------------------
994
+
995
+ **Minor Improvements** (Backwards compatible)
996
+
997
+ - The `verify` keyword argument now supports being passed a path to a
998
+ directory of CA certificates, not just a single-file bundle.
999
+ - Warnings are now emitted when sending files opened in text mode.
1000
+ - Added the 511 Network Authentication Required status code to the
1001
+ status code registry.
1002
+
1003
+ **Bugfixes**
1004
+
1005
+ - For file-like objects that are not sought to the very beginning, we
1006
+ now send the content length for the number of bytes we will actually
1007
+ read, rather than the total size of the file, allowing partial file
1008
+ uploads.
1009
+ - When uploading file-like objects, if they are empty or have no
1010
+ obvious content length we set `Transfer-Encoding: chunked` rather
1011
+ than `Content-Length: 0`.
1012
+ - We correctly receive the response in buffered mode when uploading
1013
+ chunked bodies.
1014
+ - We now handle being passed a query string as a bytestring on Python
1015
+ 3, by decoding it as UTF-8.
1016
+ - Sessions are now closed in all cases (exceptional and not) when
1017
+ using the functional API rather than leaking and waiting for the
1018
+ garbage collector to clean them up.
1019
+ - Correctly handle digest auth headers with a malformed `qop`
1020
+ directive that contains no token, by treating it the same as if no
1021
+ `qop` directive was provided at all.
1022
+ - Minor performance improvements when removing specific cookies by
1023
+ name.
1024
+
1025
+ **Miscellaneous**
1026
+
1027
+ - Updated urllib3 to 1.13.
1028
+
1029
+ 2.8.1 (2015-10-13)
1030
+ ------------------
1031
+
1032
+ **Bugfixes**
1033
+
1034
+ - Update certificate bundle to match `certifi` 2015.9.6.2's weak
1035
+ certificate bundle.
1036
+ - Fix a bug in 2.8.0 where requests would raise `ConnectTimeout`
1037
+ instead of `ConnectionError`
1038
+ - When using the PreparedRequest flow, requests will now correctly
1039
+ respect the `json` parameter. Broken in 2.8.0.
1040
+ - When using the PreparedRequest flow, requests will now correctly
1041
+ handle a Unicode-string method name on Python 2. Broken in 2.8.0.
1042
+
1043
+ 2.8.0 (2015-10-05)
1044
+ ------------------
1045
+
1046
+ **Minor Improvements** (Backwards Compatible)
1047
+
1048
+ - Requests now supports per-host proxies. This allows the `proxies`
1049
+ dictionary to have entries of the form
1050
+ `{'<scheme>://<hostname>': '<proxy>'}`. Host-specific proxies will
1051
+ be used in preference to the previously-supported scheme-specific
1052
+ ones, but the previous syntax will continue to work.
1053
+ - `Response.raise_for_status` now prints the URL that failed as part
1054
+ of the exception message.
1055
+ - `requests.utils.get_netrc_auth` now takes an `raise_errors` kwarg,
1056
+ defaulting to `False`. When `True`, errors parsing `.netrc` files
1057
+ cause exceptions to be thrown.
1058
+ - Change to bundled projects import logic to make it easier to
1059
+ unbundle requests downstream.
1060
+ - Changed the default User-Agent string to avoid leaking data on
1061
+ Linux: now contains only the requests version.
1062
+
1063
+ **Bugfixes**
1064
+
1065
+ - The `json` parameter to `post()` and friends will now only be used
1066
+ if neither `data` nor `files` are present, consistent with the
1067
+ documentation.
1068
+ - We now ignore empty fields in the `NO_PROXY` environment variable.
1069
+ - Fixed problem where `httplib.BadStatusLine` would get raised if
1070
+ combining `stream=True` with `contextlib.closing`.
1071
+ - Prevented bugs where we would attempt to return the same connection
1072
+ back to the connection pool twice when sending a Chunked body.
1073
+ - Miscellaneous minor internal changes.
1074
+ - Digest Auth support is now thread safe.
1075
+
1076
+ **Updates**
1077
+
1078
+ - Updated urllib3 to 1.12.
1079
+
1080
+ 2.7.0 (2015-05-03)
1081
+ ------------------
1082
+
1083
+ This is the first release that follows our new release process. For
1084
+ more, see [our
1085
+ documentation](https://requests.readthedocs.io/en/latest/community/release-process/).
1086
+
1087
+ **Bugfixes**
1088
+
1089
+ - Updated urllib3 to 1.10.4, resolving several bugs involving chunked
1090
+ transfer encoding and response framing.
1091
+
1092
+ 2.6.2 (2015-04-23)
1093
+ ------------------
1094
+
1095
+ **Bugfixes**
1096
+
1097
+ - Fix regression where compressed data that was sent as chunked data
1098
+ was not properly decompressed. (\#2561)
1099
+
1100
+ 2.6.1 (2015-04-22)
1101
+ ------------------
1102
+
1103
+ **Bugfixes**
1104
+
1105
+ - Remove VendorAlias import machinery introduced in v2.5.2.
1106
+ - Simplify the PreparedRequest.prepare API: We no longer require the
1107
+ user to pass an empty list to the hooks keyword argument. (c.f.
1108
+ \#2552)
1109
+ - Resolve redirects now receives and forwards all of the original
1110
+ arguments to the adapter. (\#2503)
1111
+ - Handle UnicodeDecodeErrors when trying to deal with a unicode URL
1112
+ that cannot be encoded in ASCII. (\#2540)
1113
+ - Populate the parsed path of the URI field when performing Digest
1114
+ Authentication. (\#2426)
1115
+ - Copy a PreparedRequest's CookieJar more reliably when it is not an
1116
+ instance of RequestsCookieJar. (\#2527)
1117
+
1118
+ 2.6.0 (2015-03-14)
1119
+ ------------------
1120
+
1121
+ **Bugfixes**
1122
+
1123
+ - CVE-2015-2296: Fix handling of cookies on redirect. Previously a
1124
+ cookie without a host value set would use the hostname for the
1125
+ redirected URL exposing requests users to session fixation attacks
1126
+ and potentially cookie stealing. This was disclosed privately by
1127
+ Matthew Daley of [BugFuzz](https://bugfuzz.com). This affects all
1128
+ versions of requests from v2.1.0 to v2.5.3 (inclusive on both ends).
1129
+ - Fix error when requests is an `install_requires` dependency and
1130
+ `python setup.py test` is run. (\#2462)
1131
+ - Fix error when urllib3 is unbundled and requests continues to use
1132
+ the vendored import location.
1133
+ - Include fixes to `urllib3`'s header handling.
1134
+ - Requests' handling of unvendored dependencies is now more
1135
+ restrictive.
1136
+
1137
+ **Features and Improvements**
1138
+
1139
+ - Support bytearrays when passed as parameters in the `files`
1140
+ argument. (\#2468)
1141
+ - Avoid data duplication when creating a request with `str`, `bytes`,
1142
+ or `bytearray` input to the `files` argument.
1143
+
1144
+ 2.5.3 (2015-02-24)
1145
+ ------------------
1146
+
1147
+ **Bugfixes**
1148
+
1149
+ - Revert changes to our vendored certificate bundle. For more context
1150
+ see (\#2455, \#2456, and <https://bugs.python.org/issue23476>)
1151
+
1152
+ 2.5.2 (2015-02-23)
1153
+ ------------------
1154
+
1155
+ **Features and Improvements**
1156
+
1157
+ - Add sha256 fingerprint support.
1158
+ ([shazow/urllib3\#540](https://github.com/shazow/urllib3/pull/540))
1159
+ - Improve the performance of headers.
1160
+ ([shazow/urllib3\#544](https://github.com/shazow/urllib3/pull/544))
1161
+
1162
+ **Bugfixes**
1163
+
1164
+ - Copy pip's import machinery. When downstream redistributors remove
1165
+ requests.packages.urllib3 the import machinery will continue to let
1166
+ those same symbols work. Example usage in requests' documentation
1167
+ and 3rd-party libraries relying on the vendored copies of urllib3
1168
+ will work without having to fallback to the system urllib3.
1169
+ - Attempt to quote parts of the URL on redirect if unquoting and then
1170
+ quoting fails. (\#2356)
1171
+ - Fix filename type check for multipart form-data uploads. (\#2411)
1172
+ - Properly handle the case where a server issuing digest
1173
+ authentication challenges provides both auth and auth-int
1174
+ qop-values. (\#2408)
1175
+ - Fix a socket leak.
1176
+ ([shazow/urllib3\#549](https://github.com/shazow/urllib3/pull/549))
1177
+ - Fix multiple `Set-Cookie` headers properly.
1178
+ ([shazow/urllib3\#534](https://github.com/shazow/urllib3/pull/534))
1179
+ - Disable the built-in hostname verification.
1180
+ ([shazow/urllib3\#526](https://github.com/shazow/urllib3/pull/526))
1181
+ - Fix the behaviour of decoding an exhausted stream.
1182
+ ([shazow/urllib3\#535](https://github.com/shazow/urllib3/pull/535))
1183
+
1184
+ **Security**
1185
+
1186
+ - Pulled in an updated `cacert.pem`.
1187
+ - Drop RC4 from the default cipher list.
1188
+ ([shazow/urllib3\#551](https://github.com/shazow/urllib3/pull/551))
1189
+
1190
+ 2.5.1 (2014-12-23)
1191
+ ------------------
1192
+
1193
+ **Behavioural Changes**
1194
+
1195
+ - Only catch HTTPErrors in raise\_for\_status (\#2382)
1196
+
1197
+ **Bugfixes**
1198
+
1199
+ - Handle LocationParseError from urllib3 (\#2344)
1200
+ - Handle file-like object filenames that are not strings (\#2379)
1201
+ - Unbreak HTTPDigestAuth handler. Allow new nonces to be negotiated
1202
+ (\#2389)
1203
+
1204
+ 2.5.0 (2014-12-01)
1205
+ ------------------
1206
+
1207
+ **Improvements**
1208
+
1209
+ - Allow usage of urllib3's Retry object with HTTPAdapters (\#2216)
1210
+ - The `iter_lines` method on a response now accepts a delimiter with
1211
+ which to split the content (\#2295)
1212
+
1213
+ **Behavioural Changes**
1214
+
1215
+ - Add deprecation warnings to functions in requests.utils that will be
1216
+ removed in 3.0 (\#2309)
1217
+ - Sessions used by the functional API are always closed (\#2326)
1218
+ - Restrict requests to HTTP/1.1 and HTTP/1.0 (stop accepting HTTP/0.9)
1219
+ (\#2323)
1220
+
1221
+ **Bugfixes**
1222
+
1223
+ - Only parse the URL once (\#2353)
1224
+ - Allow Content-Length header to always be overridden (\#2332)
1225
+ - Properly handle files in HTTPDigestAuth (\#2333)
1226
+ - Cap redirect\_cache size to prevent memory abuse (\#2299)
1227
+ - Fix HTTPDigestAuth handling of redirects after authenticating
1228
+ successfully (\#2253)
1229
+ - Fix crash with custom method parameter to Session.request (\#2317)
1230
+ - Fix how Link headers are parsed using the regular expression library
1231
+ (\#2271)
1232
+
1233
+ **Documentation**
1234
+
1235
+ - Add more references for interlinking (\#2348)
1236
+ - Update CSS for theme (\#2290)
1237
+ - Update width of buttons and sidebar (\#2289)
1238
+ - Replace references of Gittip with Gratipay (\#2282)
1239
+ - Add link to changelog in sidebar (\#2273)
1240
+
1241
+ 2.4.3 (2014-10-06)
1242
+ ------------------
1243
+
1244
+ **Bugfixes**
1245
+
1246
+ - Unicode URL improvements for Python 2.
1247
+ - Re-order JSON param for backwards compat.
1248
+ - Automatically defrag authentication schemes from host/pass URIs.
1249
+ ([\#2249](https://github.com/psf/requests/issues/2249))
1250
+
1251
+ 2.4.2 (2014-10-05)
1252
+ ------------------
1253
+
1254
+ **Improvements**
1255
+
1256
+ - FINALLY! Add json parameter for uploads!
1257
+ ([\#2258](https://github.com/psf/requests/pull/2258))
1258
+ - Support for bytestring URLs on Python 3.x
1259
+ ([\#2238](https://github.com/psf/requests/pull/2238))
1260
+
1261
+ **Bugfixes**
1262
+
1263
+ - Avoid getting stuck in a loop
1264
+ ([\#2244](https://github.com/psf/requests/pull/2244))
1265
+ - Multiple calls to iter\* fail with unhelpful error.
1266
+ ([\#2240](https://github.com/psf/requests/issues/2240),
1267
+ [\#2241](https://github.com/psf/requests/issues/2241))
1268
+
1269
+ **Documentation**
1270
+
1271
+ - Correct redirection introduction
1272
+ ([\#2245](https://github.com/psf/requests/pull/2245/))
1273
+ - Added example of how to send multiple files in one request.
1274
+ ([\#2227](https://github.com/psf/requests/pull/2227/))
1275
+ - Clarify how to pass a custom set of CAs
1276
+ ([\#2248](https://github.com/psf/requests/pull/2248/))
1277
+
1278
+ 2.4.1 (2014-09-09)
1279
+ ------------------
1280
+
1281
+ - Now has a "security" package extras set,
1282
+ `$ pip install requests[security]`
1283
+ - Requests will now use Certifi if it is available.
1284
+ - Capture and re-raise urllib3 ProtocolError
1285
+ - Bugfix for responses that attempt to redirect to themselves forever
1286
+ (wtf?).
1287
+
1288
+ 2.4.0 (2014-08-29)
1289
+ ------------------
1290
+
1291
+ **Behavioral Changes**
1292
+
1293
+ - `Connection: keep-alive` header is now sent automatically.
1294
+
1295
+ **Improvements**
1296
+
1297
+ - Support for connect timeouts! Timeout now accepts a tuple (connect,
1298
+ read) which is used to set individual connect and read timeouts.
1299
+ - Allow copying of PreparedRequests without headers/cookies.
1300
+ - Updated bundled urllib3 version.
1301
+ - Refactored settings loading from environment -- new
1302
+ Session.merge\_environment\_settings.
1303
+ - Handle socket errors in iter\_content.
1304
+
1305
+ 2.3.0 (2014-05-16)
1306
+ ------------------
1307
+
1308
+ **API Changes**
1309
+
1310
+ - New `Response` property `is_redirect`, which is true when the
1311
+ library could have processed this response as a redirection (whether
1312
+ or not it actually did).
1313
+ - The `timeout` parameter now affects requests with both `stream=True`
1314
+ and `stream=False` equally.
1315
+ - The change in v2.0.0 to mandate explicit proxy schemes has been
1316
+ reverted. Proxy schemes now default to `http://`.
1317
+ - The `CaseInsensitiveDict` used for HTTP headers now behaves like a
1318
+ normal dictionary when references as string or viewed in the
1319
+ interpreter.
1320
+
1321
+ **Bugfixes**
1322
+
1323
+ - No longer expose Authorization or Proxy-Authorization headers on
1324
+ redirect. Fix CVE-2014-1829 and CVE-2014-1830 respectively.
1325
+ - Authorization is re-evaluated each redirect.
1326
+ - On redirect, pass url as native strings.
1327
+ - Fall-back to autodetected encoding for JSON when Unicode detection
1328
+ fails.
1329
+ - Headers set to `None` on the `Session` are now correctly not sent.
1330
+ - Correctly honor `decode_unicode` even if it wasn't used earlier in
1331
+ the same response.
1332
+ - Stop advertising `compress` as a supported Content-Encoding.
1333
+ - The `Response.history` parameter is now always a list.
1334
+ - Many, many `urllib3` bugfixes.
1335
+
1336
+ 2.2.1 (2014-01-23)
1337
+ ------------------
1338
+
1339
+ **Bugfixes**
1340
+
1341
+ - Fixes incorrect parsing of proxy credentials that contain a literal
1342
+ or encoded '\#' character.
1343
+ - Assorted urllib3 fixes.
1344
+
1345
+ 2.2.0 (2014-01-09)
1346
+ ------------------
1347
+
1348
+ **API Changes**
1349
+
1350
+ - New exception: `ContentDecodingError`. Raised instead of `urllib3`
1351
+ `DecodeError` exceptions.
1352
+
1353
+ **Bugfixes**
1354
+
1355
+ - Avoid many many exceptions from the buggy implementation of
1356
+ `proxy_bypass` on OS X in Python 2.6.
1357
+ - Avoid crashing when attempting to get authentication credentials
1358
+ from \~/.netrc when running as a user without a home directory.
1359
+ - Use the correct pool size for pools of connections to proxies.
1360
+ - Fix iteration of `CookieJar` objects.
1361
+ - Ensure that cookies are persisted over redirect.
1362
+ - Switch back to using chardet, since it has merged with charade.
1363
+
1364
+ 2.1.0 (2013-12-05)
1365
+ ------------------
1366
+
1367
+ - Updated CA Bundle, of course.
1368
+ - Cookies set on individual Requests through a `Session` (e.g. via
1369
+ `Session.get()`) are no longer persisted to the `Session`.
1370
+ - Clean up connections when we hit problems during chunked upload,
1371
+ rather than leaking them.
1372
+ - Return connections to the pool when a chunked upload is successful,
1373
+ rather than leaking it.
1374
+ - Match the HTTPbis recommendation for HTTP 301 redirects.
1375
+ - Prevent hanging when using streaming uploads and Digest Auth when a
1376
+ 401 is received.
1377
+ - Values of headers set by Requests are now always the native string
1378
+ type.
1379
+ - Fix previously broken SNI support.
1380
+ - Fix accessing HTTP proxies using proxy authentication.
1381
+ - Unencode HTTP Basic usernames and passwords extracted from URLs.
1382
+ - Support for IP address ranges for no\_proxy environment variable
1383
+ - Parse headers correctly when users override the default `Host:`
1384
+ header.
1385
+ - Avoid munging the URL in case of case-sensitive servers.
1386
+ - Looser URL handling for non-HTTP/HTTPS urls.
1387
+ - Accept unicode methods in Python 2.6 and 2.7.
1388
+ - More resilient cookie handling.
1389
+ - Make `Response` objects pickleable.
1390
+ - Actually added MD5-sess to Digest Auth instead of pretending to like
1391
+ last time.
1392
+ - Updated internal urllib3.
1393
+ - Fixed @Lukasa's lack of taste.
1394
+
1395
+ 2.0.1 (2013-10-24)
1396
+ ------------------
1397
+
1398
+ - Updated included CA Bundle with new mistrusts and automated process
1399
+ for the future
1400
+ - Added MD5-sess to Digest Auth
1401
+ - Accept per-file headers in multipart file POST messages.
1402
+ - Fixed: Don't send the full URL on CONNECT messages.
1403
+ - Fixed: Correctly lowercase a redirect scheme.
1404
+ - Fixed: Cookies not persisted when set via functional API.
1405
+ - Fixed: Translate urllib3 ProxyError into a requests ProxyError
1406
+ derived from ConnectionError.
1407
+ - Updated internal urllib3 and chardet.
1408
+
1409
+ 2.0.0 (2013-09-24)
1410
+ ------------------
1411
+
1412
+ **API Changes:**
1413
+
1414
+ - Keys in the Headers dictionary are now native strings on all Python
1415
+ versions, i.e. bytestrings on Python 2, unicode on Python 3.
1416
+ - Proxy URLs now *must* have an explicit scheme. A `MissingSchema`
1417
+ exception will be raised if they don't.
1418
+ - Timeouts now apply to read time if `Stream=False`.
1419
+ - `RequestException` is now a subclass of `IOError`, not
1420
+ `RuntimeError`.
1421
+ - Added new method to `PreparedRequest` objects:
1422
+ `PreparedRequest.copy()`.
1423
+ - Added new method to `Session` objects: `Session.update_request()`.
1424
+ This method updates a `Request` object with the data (e.g. cookies)
1425
+ stored on the `Session`.
1426
+ - Added new method to `Session` objects: `Session.prepare_request()`.
1427
+ This method updates and prepares a `Request` object, and returns the
1428
+ corresponding `PreparedRequest` object.
1429
+ - Added new method to `HTTPAdapter` objects:
1430
+ `HTTPAdapter.proxy_headers()`. This should not be called directly,
1431
+ but improves the subclass interface.
1432
+ - `httplib.IncompleteRead` exceptions caused by incorrect chunked
1433
+ encoding will now raise a Requests `ChunkedEncodingError` instead.
1434
+ - Invalid percent-escape sequences now cause a Requests `InvalidURL`
1435
+ exception to be raised.
1436
+ - HTTP 208 no longer uses reason phrase `"im_used"`. Correctly uses
1437
+ `"already_reported"`.
1438
+ - HTTP 226 reason added (`"im_used"`).
1439
+
1440
+ **Bugfixes:**
1441
+
1442
+ - Vastly improved proxy support, including the CONNECT verb. Special
1443
+ thanks to the many contributors who worked towards this improvement.
1444
+ - Cookies are now properly managed when 401 authentication responses
1445
+ are received.
1446
+ - Chunked encoding fixes.
1447
+ - Support for mixed case schemes.
1448
+ - Better handling of streaming downloads.
1449
+ - Retrieve environment proxies from more locations.
1450
+ - Minor cookies fixes.
1451
+ - Improved redirect behaviour.
1452
+ - Improved streaming behaviour, particularly for compressed data.
1453
+ - Miscellaneous small Python 3 text encoding bugs.
1454
+ - `.netrc` no longer overrides explicit auth.
1455
+ - Cookies set by hooks are now correctly persisted on Sessions.
1456
+ - Fix problem with cookies that specify port numbers in their host
1457
+ field.
1458
+ - `BytesIO` can be used to perform streaming uploads.
1459
+ - More generous parsing of the `no_proxy` environment variable.
1460
+ - Non-string objects can be passed in data values alongside files.
1461
+
1462
+ 1.2.3 (2013-05-25)
1463
+ ------------------
1464
+
1465
+ - Simple packaging fix
1466
+
1467
+ 1.2.2 (2013-05-23)
1468
+ ------------------
1469
+
1470
+ - Simple packaging fix
1471
+
1472
+ 1.2.1 (2013-05-20)
1473
+ ------------------
1474
+
1475
+ - 301 and 302 redirects now change the verb to GET for all verbs, not
1476
+ just POST, improving browser compatibility.
1477
+ - Python 3.3.2 compatibility
1478
+ - Always percent-encode location headers
1479
+ - Fix connection adapter matching to be most-specific first
1480
+ - new argument to the default connection adapter for passing a block
1481
+ argument
1482
+ - prevent a KeyError when there's no link headers
1483
+
1484
+ 1.2.0 (2013-03-31)
1485
+ ------------------
1486
+
1487
+ - Fixed cookies on sessions and on requests
1488
+ - Significantly change how hooks are dispatched - hooks now receive
1489
+ all the arguments specified by the user when making a request so
1490
+ hooks can make a secondary request with the same parameters. This is
1491
+ especially necessary for authentication handler authors
1492
+ - certifi support was removed
1493
+ - Fixed bug where using OAuth 1 with body `signature_type` sent no
1494
+ data
1495
+ - Major proxy work thanks to @Lukasa including parsing of proxy
1496
+ authentication from the proxy url
1497
+ - Fix DigestAuth handling too many 401s
1498
+ - Update vendored urllib3 to include SSL bug fixes
1499
+ - Allow keyword arguments to be passed to `json.loads()` via the
1500
+ `Response.json()` method
1501
+ - Don't send `Content-Length` header by default on `GET` or `HEAD`
1502
+ requests
1503
+ - Add `elapsed` attribute to `Response` objects to time how long a
1504
+ request took.
1505
+ - Fix `RequestsCookieJar`
1506
+ - Sessions and Adapters are now picklable, i.e., can be used with the
1507
+ multiprocessing library
1508
+ - Update charade to version 1.0.3
1509
+
1510
+ The change in how hooks are dispatched will likely cause a great deal of
1511
+ issues.
1512
+
1513
+ 1.1.0 (2013-01-10)
1514
+ ------------------
1515
+
1516
+ - CHUNKED REQUESTS
1517
+ - Support for iterable response bodies
1518
+ - Assume servers persist redirect params
1519
+ - Allow explicit content types to be specified for file data
1520
+ - Make merge\_kwargs case-insensitive when looking up keys
1521
+
1522
+ 1.0.3 (2012-12-18)
1523
+ ------------------
1524
+
1525
+ - Fix file upload encoding bug
1526
+ - Fix cookie behavior
1527
+
1528
+ 1.0.2 (2012-12-17)
1529
+ ------------------
1530
+
1531
+ - Proxy fix for HTTPAdapter.
1532
+
1533
+ 1.0.1 (2012-12-17)
1534
+ ------------------
1535
+
1536
+ - Cert verification exception bug.
1537
+ - Proxy fix for HTTPAdapter.
1538
+
1539
+ 1.0.0 (2012-12-17)
1540
+ ------------------
1541
+
1542
+ - Massive Refactor and Simplification
1543
+ - Switch to Apache 2.0 license
1544
+ - Swappable Connection Adapters
1545
+ - Mountable Connection Adapters
1546
+ - Mutable ProcessedRequest chain
1547
+ - /s/prefetch/stream
1548
+ - Removal of all configuration
1549
+ - Standard library logging
1550
+ - Make Response.json() callable, not property.
1551
+ - Usage of new charade project, which provides python 2 and 3
1552
+ simultaneous chardet.
1553
+ - Removal of all hooks except 'response'
1554
+ - Removal of all authentication helpers (OAuth, Kerberos)
1555
+
1556
+ This is not a backwards compatible change.
1557
+
1558
+ 0.14.2 (2012-10-27)
1559
+ -------------------
1560
+
1561
+ - Improved mime-compatible JSON handling
1562
+ - Proxy fixes
1563
+ - Path hack fixes
1564
+ - Case-Insensitive Content-Encoding headers
1565
+ - Support for CJK parameters in form posts
1566
+
1567
+ 0.14.1 (2012-10-01)
1568
+ -------------------
1569
+
1570
+ - Python 3.3 Compatibility
1571
+ - Simply default accept-encoding
1572
+ - Bugfixes
1573
+
1574
+ 0.14.0 (2012-09-02)
1575
+ -------------------
1576
+
1577
+ - No more iter\_content errors if already downloaded.
1578
+
1579
+ 0.13.9 (2012-08-25)
1580
+ -------------------
1581
+
1582
+ - Fix for OAuth + POSTs
1583
+ - Remove exception eating from dispatch\_hook
1584
+ - General bugfixes
1585
+
1586
+ 0.13.8 (2012-08-21)
1587
+ -------------------
1588
+
1589
+ - Incredible Link header support :)
1590
+
1591
+ 0.13.7 (2012-08-19)
1592
+ -------------------
1593
+
1594
+ - Support for (key, value) lists everywhere.
1595
+ - Digest Authentication improvements.
1596
+ - Ensure proxy exclusions work properly.
1597
+ - Clearer UnicodeError exceptions.
1598
+ - Automatic casting of URLs to strings (fURL and such)
1599
+ - Bugfixes.
1600
+
1601
+ 0.13.6 (2012-08-06)
1602
+ -------------------
1603
+
1604
+ - Long awaited fix for hanging connections!
1605
+
1606
+ 0.13.5 (2012-07-27)
1607
+ -------------------
1608
+
1609
+ - Packaging fix
1610
+
1611
+ 0.13.4 (2012-07-27)
1612
+ -------------------
1613
+
1614
+ - GSSAPI/Kerberos authentication!
1615
+ - App Engine 2.7 Fixes!
1616
+ - Fix leaking connections (from urllib3 update)
1617
+ - OAuthlib path hack fix
1618
+ - OAuthlib URL parameters fix.
1619
+
1620
+ 0.13.3 (2012-07-12)
1621
+ -------------------
1622
+
1623
+ - Use simplejson if available.
1624
+ - Do not hide SSLErrors behind Timeouts.
1625
+ - Fixed param handling with urls containing fragments.
1626
+ - Significantly improved information in User Agent.
1627
+ - client certificates are ignored when verify=False
1628
+
1629
+ 0.13.2 (2012-06-28)
1630
+ -------------------
1631
+
1632
+ - Zero dependencies (once again)!
1633
+ - New: Response.reason
1634
+ - Sign querystring parameters in OAuth 1.0
1635
+ - Client certificates no longer ignored when verify=False
1636
+ - Add openSUSE certificate support
1637
+
1638
+ 0.13.1 (2012-06-07)
1639
+ -------------------
1640
+
1641
+ - Allow passing a file or file-like object as data.
1642
+ - Allow hooks to return responses that indicate errors.
1643
+ - Fix Response.text and Response.json for body-less responses.
1644
+
1645
+ 0.13.0 (2012-05-29)
1646
+ -------------------
1647
+
1648
+ - Removal of Requests.async in favor of
1649
+ [grequests](https://github.com/kennethreitz/grequests)
1650
+ - Allow disabling of cookie persistence.
1651
+ - New implementation of safe\_mode
1652
+ - cookies.get now supports default argument
1653
+ - Session cookies not saved when Session.request is called with
1654
+ return\_response=False
1655
+ - Env: no\_proxy support.
1656
+ - RequestsCookieJar improvements.
1657
+ - Various bug fixes.
1658
+
1659
+ 0.12.1 (2012-05-08)
1660
+ -------------------
1661
+
1662
+ - New `Response.json` property.
1663
+ - Ability to add string file uploads.
1664
+ - Fix out-of-range issue with iter\_lines.
1665
+ - Fix iter\_content default size.
1666
+ - Fix POST redirects containing files.
1667
+
1668
+ 0.12.0 (2012-05-02)
1669
+ -------------------
1670
+
1671
+ - EXPERIMENTAL OAUTH SUPPORT!
1672
+ - Proper CookieJar-backed cookies interface with awesome dict-like
1673
+ interface.
1674
+ - Speed fix for non-iterated content chunks.
1675
+ - Move `pre_request` to a more usable place.
1676
+ - New `pre_send` hook.
1677
+ - Lazily encode data, params, files.
1678
+ - Load system Certificate Bundle if `certify` isn't available.
1679
+ - Cleanups, fixes.
1680
+
1681
+ 0.11.2 (2012-04-22)
1682
+ -------------------
1683
+
1684
+ - Attempt to use the OS's certificate bundle if `certifi` isn't
1685
+ available.
1686
+ - Infinite digest auth redirect fix.
1687
+ - Multi-part file upload improvements.
1688
+ - Fix decoding of invalid %encodings in URLs.
1689
+ - If there is no content in a response don't throw an error the second
1690
+ time that content is attempted to be read.
1691
+ - Upload data on redirects.
1692
+
1693
+ 0.11.1 (2012-03-30)
1694
+ -------------------
1695
+
1696
+ - POST redirects now break RFC to do what browsers do: Follow up with
1697
+ a GET.
1698
+ - New `strict_mode` configuration to disable new redirect behavior.
1699
+
1700
+ 0.11.0 (2012-03-14)
1701
+ -------------------
1702
+
1703
+ - Private SSL Certificate support
1704
+ - Remove select.poll from Gevent monkeypatching
1705
+ - Remove redundant generator for chunked transfer encoding
1706
+ - Fix: Response.ok raises Timeout Exception in safe\_mode
1707
+
1708
+ 0.10.8 (2012-03-09)
1709
+ -------------------
1710
+
1711
+ - Generate chunked ValueError fix
1712
+ - Proxy configuration by environment variables
1713
+ - Simplification of iter\_lines.
1714
+ - New trust\_env configuration for disabling system/environment hints.
1715
+ - Suppress cookie errors.
1716
+
1717
+ 0.10.7 (2012-03-07)
1718
+ -------------------
1719
+
1720
+ - encode\_uri = False
1721
+
1722
+ 0.10.6 (2012-02-25)
1723
+ -------------------
1724
+
1725
+ - Allow '=' in cookies.
1726
+
1727
+ 0.10.5 (2012-02-25)
1728
+ -------------------
1729
+
1730
+ - Response body with 0 content-length fix.
1731
+ - New async.imap.
1732
+ - Don't fail on netrc.
1733
+
1734
+ 0.10.4 (2012-02-20)
1735
+ -------------------
1736
+
1737
+ - Honor netrc.
1738
+
1739
+ 0.10.3 (2012-02-20)
1740
+ -------------------
1741
+
1742
+ - HEAD requests don't follow redirects anymore.
1743
+ - raise\_for\_status() doesn't raise for 3xx anymore.
1744
+ - Make Session objects picklable.
1745
+ - ValueError for invalid schema URLs.
1746
+
1747
+ 0.10.2 (2012-01-15)
1748
+ -------------------
1749
+
1750
+ - Vastly improved URL quoting.
1751
+ - Additional allowed cookie key values.
1752
+ - Attempted fix for "Too many open files" Error
1753
+ - Replace unicode errors on first pass, no need for second pass.
1754
+ - Append '/' to bare-domain urls before query insertion.
1755
+ - Exceptions now inherit from RuntimeError.
1756
+ - Binary uploads + auth fix.
1757
+ - Bugfixes.
1758
+
1759
+ 0.10.1 (2012-01-23)
1760
+ -------------------
1761
+
1762
+ - PYTHON 3 SUPPORT!
1763
+ - Dropped 2.5 Support. (*Backwards Incompatible*)
1764
+
1765
+ 0.10.0 (2012-01-21)
1766
+ -------------------
1767
+
1768
+ - `Response.content` is now bytes-only. (*Backwards Incompatible*)
1769
+ - New `Response.text` is unicode-only.
1770
+ - If no `Response.encoding` is specified and `chardet` is available,
1771
+ `Response.text` will guess an encoding.
1772
+ - Default to ISO-8859-1 (Western) encoding for "text" subtypes.
1773
+ - Removal of decode\_unicode. (*Backwards Incompatible*)
1774
+ - New multiple-hooks system.
1775
+ - New `Response.register_hook` for registering hooks within the
1776
+ pipeline.
1777
+ - `Response.url` is now Unicode.
1778
+
1779
+ 0.9.3 (2012-01-18)
1780
+ ------------------
1781
+
1782
+ - SSL verify=False bugfix (apparent on windows machines).
1783
+
1784
+ 0.9.2 (2012-01-18)
1785
+ ------------------
1786
+
1787
+ - Asynchronous async.send method.
1788
+ - Support for proper chunk streams with boundaries.
1789
+ - session argument for Session classes.
1790
+ - Print entire hook tracebacks, not just exception instance.
1791
+ - Fix response.iter\_lines from pending next line.
1792
+ - Fix but in HTTP-digest auth w/ URI having query strings.
1793
+ - Fix in Event Hooks section.
1794
+ - Urllib3 update.
1795
+
1796
+ 0.9.1 (2012-01-06)
1797
+ ------------------
1798
+
1799
+ - danger\_mode for automatic Response.raise\_for\_status()
1800
+ - Response.iter\_lines refactor
1801
+
1802
+ 0.9.0 (2011-12-28)
1803
+ ------------------
1804
+
1805
+ - verify ssl is default.
1806
+
1807
+ 0.8.9 (2011-12-28)
1808
+ ------------------
1809
+
1810
+ - Packaging fix.
1811
+
1812
+ 0.8.8 (2011-12-28)
1813
+ ------------------
1814
+
1815
+ - SSL CERT VERIFICATION!
1816
+ - Release of Cerifi: Mozilla's cert list.
1817
+ - New 'verify' argument for SSL requests.
1818
+ - Urllib3 update.
1819
+
1820
+ 0.8.7 (2011-12-24)
1821
+ ------------------
1822
+
1823
+ - iter\_lines last-line truncation fix
1824
+ - Force safe\_mode for async requests
1825
+ - Handle safe\_mode exceptions more consistently
1826
+ - Fix iteration on null responses in safe\_mode
1827
+
1828
+ 0.8.6 (2011-12-18)
1829
+ ------------------
1830
+
1831
+ - Socket timeout fixes.
1832
+ - Proxy Authorization support.
1833
+
1834
+ 0.8.5 (2011-12-14)
1835
+ ------------------
1836
+
1837
+ - Response.iter\_lines!
1838
+
1839
+ 0.8.4 (2011-12-11)
1840
+ ------------------
1841
+
1842
+ - Prefetch bugfix.
1843
+ - Added license to installed version.
1844
+
1845
+ 0.8.3 (2011-11-27)
1846
+ ------------------
1847
+
1848
+ - Converted auth system to use simpler callable objects.
1849
+ - New session parameter to API methods.
1850
+ - Display full URL while logging.
1851
+
1852
+ 0.8.2 (2011-11-19)
1853
+ ------------------
1854
+
1855
+ - New Unicode decoding system, based on over-ridable
1856
+ Response.encoding.
1857
+ - Proper URL slash-quote handling.
1858
+ - Cookies with `[`, `]`, and `_` allowed.
1859
+
1860
+ 0.8.1 (2011-11-15)
1861
+ ------------------
1862
+
1863
+ - URL Request path fix
1864
+ - Proxy fix.
1865
+ - Timeouts fix.
1866
+
1867
+ 0.8.0 (2011-11-13)
1868
+ ------------------
1869
+
1870
+ - Keep-alive support!
1871
+ - Complete removal of Urllib2
1872
+ - Complete removal of Poster
1873
+ - Complete removal of CookieJars
1874
+ - New ConnectionError raising
1875
+ - Safe\_mode for error catching
1876
+ - prefetch parameter for request methods
1877
+ - OPTION method
1878
+ - Async pool size throttling
1879
+ - File uploads send real names
1880
+ - Vendored in urllib3
1881
+
1882
+ 0.7.6 (2011-11-07)
1883
+ ------------------
1884
+
1885
+ - Digest authentication bugfix (attach query data to path)
1886
+
1887
+ 0.7.5 (2011-11-04)
1888
+ ------------------
1889
+
1890
+ - Response.content = None if there was an invalid response.
1891
+ - Redirection auth handling.
1892
+
1893
+ 0.7.4 (2011-10-26)
1894
+ ------------------
1895
+
1896
+ - Session Hooks fix.
1897
+
1898
+ 0.7.3 (2011-10-23)
1899
+ ------------------
1900
+
1901
+ - Digest Auth fix.
1902
+
1903
+ 0.7.2 (2011-10-23)
1904
+ ------------------
1905
+
1906
+ - PATCH Fix.
1907
+
1908
+ 0.7.1 (2011-10-23)
1909
+ ------------------
1910
+
1911
+ - Move away from urllib2 authentication handling.
1912
+ - Fully Remove AuthManager, AuthObject, &c.
1913
+ - New tuple-based auth system with handler callbacks.
1914
+
1915
+ 0.7.0 (2011-10-22)
1916
+ ------------------
1917
+
1918
+ - Sessions are now the primary interface.
1919
+ - Deprecated InvalidMethodException.
1920
+ - PATCH fix.
1921
+ - New config system (no more global settings).
1922
+
1923
+ 0.6.6 (2011-10-19)
1924
+ ------------------
1925
+
1926
+ - Session parameter bugfix (params merging).
1927
+
1928
+ 0.6.5 (2011-10-18)
1929
+ ------------------
1930
+
1931
+ - Offline (fast) test suite.
1932
+ - Session dictionary argument merging.
1933
+
1934
+ 0.6.4 (2011-10-13)
1935
+ ------------------
1936
+
1937
+ - Automatic decoding of unicode, based on HTTP Headers.
1938
+ - New `decode_unicode` setting.
1939
+ - Removal of `r.read/close` methods.
1940
+ - New `r.faw` interface for advanced response usage.\*
1941
+ - Automatic expansion of parameterized headers.
1942
+
1943
+ 0.6.3 (2011-10-13)
1944
+ ------------------
1945
+
1946
+ - Beautiful `requests.async` module, for making async requests w/
1947
+ gevent.
1948
+
1949
+ 0.6.2 (2011-10-09)
1950
+ ------------------
1951
+
1952
+ - GET/HEAD obeys allow\_redirects=False.
1953
+
1954
+ 0.6.1 (2011-08-20)
1955
+ ------------------
1956
+
1957
+ - Enhanced status codes experience `\o/`
1958
+ - Set a maximum number of redirects (`settings.max_redirects`)
1959
+ - Full Unicode URL support
1960
+ - Support for protocol-less redirects.
1961
+ - Allow for arbitrary request types.
1962
+ - Bugfixes
1963
+
1964
+ 0.6.0 (2011-08-17)
1965
+ ------------------
1966
+
1967
+ - New callback hook system
1968
+ - New persistent sessions object and context manager
1969
+ - Transparent Dict-cookie handling
1970
+ - Status code reference object
1971
+ - Removed Response.cached
1972
+ - Added Response.request
1973
+ - All args are kwargs
1974
+ - Relative redirect support
1975
+ - HTTPError handling improvements
1976
+ - Improved https testing
1977
+ - Bugfixes
1978
+
1979
+ 0.5.1 (2011-07-23)
1980
+ ------------------
1981
+
1982
+ - International Domain Name Support!
1983
+ - Access headers without fetching entire body (`read()`)
1984
+ - Use lists as dicts for parameters
1985
+ - Add Forced Basic Authentication
1986
+ - Forced Basic is default authentication type
1987
+ - `python-requests.org` default User-Agent header
1988
+ - CaseInsensitiveDict lower-case caching
1989
+ - Response.history bugfix
1990
+
1991
+ 0.5.0 (2011-06-21)
1992
+ ------------------
1993
+
1994
+ - PATCH Support
1995
+ - Support for Proxies
1996
+ - HTTPBin Test Suite
1997
+ - Redirect Fixes
1998
+ - settings.verbose stream writing
1999
+ - Querystrings for all methods
2000
+ - URLErrors (Connection Refused, Timeout, Invalid URLs) are treated as
2001
+ explicitly raised
2002
+ `r.requests.get('hwe://blah'); r.raise_for_status()`
2003
+
2004
+ 0.4.1 (2011-05-22)
2005
+ ------------------
2006
+
2007
+ - Improved Redirection Handling
2008
+ - New 'allow\_redirects' param for following non-GET/HEAD Redirects
2009
+ - Settings module refactoring
2010
+
2011
+ 0.4.0 (2011-05-15)
2012
+ ------------------
2013
+
2014
+ - Response.history: list of redirected responses
2015
+ - Case-Insensitive Header Dictionaries!
2016
+ - Unicode URLs
2017
+
2018
+ 0.3.4 (2011-05-14)
2019
+ ------------------
2020
+
2021
+ - Urllib2 HTTPAuthentication Recursion fix (Basic/Digest)
2022
+ - Internal Refactor
2023
+ - Bytes data upload Bugfix
2024
+
2025
+ 0.3.3 (2011-05-12)
2026
+ ------------------
2027
+
2028
+ - Request timeouts
2029
+ - Unicode url-encoded data
2030
+ - Settings context manager and module
2031
+
2032
+ 0.3.2 (2011-04-15)
2033
+ ------------------
2034
+
2035
+ - Automatic Decompression of GZip Encoded Content
2036
+ - AutoAuth Support for Tupled HTTP Auth
2037
+
2038
+ 0.3.1 (2011-04-01)
2039
+ ------------------
2040
+
2041
+ - Cookie Changes
2042
+ - Response.read()
2043
+ - Poster fix
2044
+
2045
+ 0.3.0 (2011-02-25)
2046
+ ------------------
2047
+
2048
+ - Automatic Authentication API Change
2049
+ - Smarter Query URL Parameterization
2050
+ - Allow file uploads and POST data together
2051
+ -
2052
+
2053
+ New Authentication Manager System
2054
+
2055
+ : - Simpler Basic HTTP System
2056
+ - Supports all built-in urllib2 Auths
2057
+ - Allows for custom Auth Handlers
2058
+
2059
+ 0.2.4 (2011-02-19)
2060
+ ------------------
2061
+
2062
+ - Python 2.5 Support
2063
+ - PyPy-c v1.4 Support
2064
+ - Auto-Authentication tests
2065
+ - Improved Request object constructor
2066
+
2067
+ 0.2.3 (2011-02-15)
2068
+ ------------------
2069
+
2070
+ -
2071
+
2072
+ New HTTPHandling Methods
2073
+
2074
+ : - Response.\_\_nonzero\_\_ (false if bad HTTP Status)
2075
+ - Response.ok (True if expected HTTP Status)
2076
+ - Response.error (Logged HTTPError if bad HTTP Status)
2077
+ - Response.raise\_for\_status() (Raises stored HTTPError)
2078
+
2079
+ 0.2.2 (2011-02-14)
2080
+ ------------------
2081
+
2082
+ - Still handles request in the event of an HTTPError. (Issue \#2)
2083
+ - Eventlet and Gevent Monkeypatch support.
2084
+ - Cookie Support (Issue \#1)
2085
+
2086
+ 0.2.1 (2011-02-14)
2087
+ ------------------
2088
+
2089
+ - Added file attribute to POST and PUT requests for multipart-encode
2090
+ file uploads.
2091
+ - Added Request.url attribute for context and redirects
2092
+
2093
+ 0.2.0 (2011-02-14)
2094
+ ------------------
2095
+
2096
+ - Birth!
2097
+
2098
+ 0.0.1 (2011-02-13)
2099
+ ------------------
2100
+
2101
+ - Frustration
2102
+ - Conception