OLD | NEW |
(Empty) | |
| 1 Requests: HTTP for Humans |
| 2 ========================= |
| 3 |
| 4 .. image:: https://img.shields.io/pypi/v/requests.svg |
| 5 :target: https://pypi.python.org/pypi/requests |
| 6 |
| 7 .. image:: https://img.shields.io/pypi/l/requests.svg |
| 8 :target: https://pypi.python.org/pypi/requests |
| 9 |
| 10 .. image:: https://img.shields.io/pypi/wheel/requests.svg |
| 11 :target: https://pypi.python.org/pypi/requests |
| 12 |
| 13 .. image:: https://img.shields.io/pypi/pyversions/requests.svg |
| 14 :target: https://pypi.python.org/pypi/requests |
| 15 |
| 16 .. image:: https://travis-ci.org/kennethreitz/requests.svg?branch=master |
| 17 :target: https://travis-ci.org/kennethreitz/requests |
| 18 |
| 19 .. image:: https://codecov.io/github/kennethreitz/requests/coverage.svg?branch=m
aster |
| 20 :target: https://codecov.io/github/kennethreitz/requests |
| 21 :alt: codecov.io |
| 22 |
| 23 .. image:: https://img.shields.io/badge/SayThanks.io-☼-1EAEDB.svg |
| 24 :target: https://saythanks.io/to/kennethreitz |
| 25 |
| 26 |
| 27 |
| 28 Requests is the only *Non-GMO* HTTP library for Python, safe for human |
| 29 consumption. |
| 30 |
| 31 **Warning:** Recreational use of other HTTP libraries may result in dangerous si
de-effects, |
| 32 including: security vulnerabilities, verbose code, reinventing the wheel, |
| 33 constantly reading documentation, depression, headaches, or even death. |
| 34 |
| 35 Behold, the power of Requests: |
| 36 |
| 37 .. code-block:: python |
| 38 |
| 39 >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) |
| 40 >>> r.status_code |
| 41 200 |
| 42 >>> r.headers['content-type'] |
| 43 'application/json; charset=utf8' |
| 44 >>> r.encoding |
| 45 'utf-8' |
| 46 >>> r.text |
| 47 u'{"type":"User"...' |
| 48 >>> r.json() |
| 49 {u'disk_usage': 368627, u'private_gists': 484, ...} |
| 50 |
| 51 See `the similar code, sans Requests <https://gist.github.com/973705>`_. |
| 52 |
| 53 .. image:: http://docs.python-requests.org/en/master/_static/requests-sidebar.pn
g |
| 54 :target: http://docs.python-requests.org/ |
| 55 |
| 56 |
| 57 Requests allows you to send *organic, grass-fed* HTTP/1.1 requests, without the |
| 58 need for manual labor. There's no need to manually add query strings to your |
| 59 URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling |
| 60 are 100% automatic, powered by `urllib3 <https://github.com/shazow/urllib3>`_, |
| 61 which is embedded within Requests. |
| 62 |
| 63 Besides, all the cool kids are doing it. Requests is one of the most |
| 64 downloaded Python packages of all time, pulling in over 7,000,000 downloads |
| 65 every month. You don't want to be left out! |
| 66 |
| 67 Feature Support |
| 68 --------------- |
| 69 |
| 70 Requests is ready for today's web. |
| 71 |
| 72 - International Domains and URLs |
| 73 - Keep-Alive & Connection Pooling |
| 74 - Sessions with Cookie Persistence |
| 75 - Browser-style SSL Verification |
| 76 - Basic/Digest Authentication |
| 77 - Elegant Key/Value Cookies |
| 78 - Automatic Decompression |
| 79 - Automatic Content Decoding |
| 80 - Unicode Response Bodies |
| 81 - Multipart File Uploads |
| 82 - HTTP(S) Proxy Support |
| 83 - Connection Timeouts |
| 84 - Streaming Downloads |
| 85 - ``.netrc`` Support |
| 86 - Chunked Requests |
| 87 - Thread-safety |
| 88 |
| 89 Requests officially supports Python 2.6–2.7 & 3.3–3.7, and runs great on PyPy. |
| 90 |
| 91 Installation |
| 92 ------------ |
| 93 |
| 94 To install Requests, simply: |
| 95 |
| 96 .. code-block:: bash |
| 97 |
| 98 $ pip install requests |
| 99 ✨🍰✨ |
| 100 |
| 101 Satisfaction, guaranteed. |
| 102 |
| 103 Documentation |
| 104 ------------- |
| 105 |
| 106 Fantastic documentation is available at http://docs.python-requests.org/, for a
limited time only. |
| 107 |
| 108 |
| 109 How to Contribute |
| 110 ----------------- |
| 111 |
| 112 #. Check for open issues or open a fresh issue to start a discussion around a fe
ature idea or a bug. There is a `Contributor Friendly`_ tag for issues that shou
ld be ideal for people who are not very familiar with the codebase yet. |
| 113 #. Fork `the repository`_ on GitHub to start making your changes to the **master
** branch (or branch off of it). |
| 114 #. Write a test which shows that the bug was fixed or that the feature works as
expected. |
| 115 #. Send a pull request and bug the maintainer until it gets merged and published
. :) Make sure to add yourself to AUTHORS_. |
| 116 |
| 117 .. _`the repository`: http://github.com/kennethreitz/requests |
| 118 .. _AUTHORS: https://github.com/kennethreitz/requests/blob/master/AUTHORS.rst |
| 119 .. _Contributor Friendly: https://github.com/kennethreitz/requests/issues?direct
ion=desc&labels=Contributor+Friendly&page=1&sort=updated&state=open |
| 120 |
| 121 |
| 122 .. :changelog: |
| 123 |
| 124 Release History |
| 125 --------------- |
| 126 |
| 127 2.13.0 (2017-01-24) |
| 128 +++++++++++++++++++ |
| 129 |
| 130 **Features** |
| 131 |
| 132 - Only load the ``idna`` library when we've determined we need it. This will |
| 133 save some memory for users. |
| 134 |
| 135 **Miscellaneous** |
| 136 |
| 137 - Updated bundled urllib3 to 1.20. |
| 138 - Updated bundled idna to 2.2. |
| 139 |
| 140 2.12.5 (2017-01-18) |
| 141 +++++++++++++++++++ |
| 142 |
| 143 **Bugfixes** |
| 144 |
| 145 - Fixed an issue with JSON encoding detection, specifically detecting |
| 146 big-endian UTF-32 with BOM. |
| 147 |
| 148 2.12.4 (2016-12-14) |
| 149 +++++++++++++++++++ |
| 150 |
| 151 **Bugfixes** |
| 152 |
| 153 - Fixed regression from 2.12.2 where non-string types were rejected in the |
| 154 basic auth parameters. While support for this behaviour has been readded, |
| 155 the behaviour is deprecated and will be removed in the future. |
| 156 |
| 157 2.12.3 (2016-12-01) |
| 158 +++++++++++++++++++ |
| 159 |
| 160 **Bugfixes** |
| 161 |
| 162 - Fixed regression from v2.12.1 for URLs with schemes that begin with "http". |
| 163 These URLs have historically been processed as though they were HTTP-schemed |
| 164 URLs, and so have had parameters added. This was removed in v2.12.2 in an |
| 165 overzealous attempt to resolve problems with IDNA-encoding those URLs. This |
| 166 change was reverted: the other fixes for IDNA-encoding have been judged to |
| 167 be sufficient to return to the behaviour Requests had before v2.12.0. |
| 168 |
| 169 2.12.2 (2016-11-30) |
| 170 +++++++++++++++++++ |
| 171 |
| 172 **Bugfixes** |
| 173 |
| 174 - Fixed several issues with IDNA-encoding URLs that are technically invalid but |
| 175 which are widely accepted. Requests will now attempt to IDNA-encode a URL if |
| 176 it can but, if it fails, and the host contains only ASCII characters, it will |
| 177 be passed through optimistically. This will allow users to opt-in to using |
| 178 IDNA2003 themselves if they want to, and will also allow technically invalid |
| 179 but still common hostnames. |
| 180 - Fixed an issue where URLs with leading whitespace would raise |
| 181 ``InvalidSchema`` errors. |
| 182 - Fixed an issue where some URLs without the HTTP or HTTPS schemes would still |
| 183 have HTTP URL preparation applied to them. |
| 184 - Fixed an issue where Unicode strings could not be used in basic auth. |
| 185 - Fixed an issue encountered by some Requests plugins where constructing a |
| 186 Response object would cause ``Response.content`` to raise an |
| 187 ``AttributeError``. |
| 188 |
| 189 2.12.1 (2016-11-16) |
| 190 +++++++++++++++++++ |
| 191 |
| 192 **Bugfixes** |
| 193 |
| 194 - Updated setuptools 'security' extra for the new PyOpenSSL backend in urllib3. |
| 195 |
| 196 **Miscellaneous** |
| 197 |
| 198 - Updated bundled urllib3 to 1.19.1. |
| 199 |
| 200 2.12.0 (2016-11-15) |
| 201 +++++++++++++++++++ |
| 202 |
| 203 **Improvements** |
| 204 |
| 205 - Updated support for internationalized domain names from IDNA2003 to IDNA2008. |
| 206 This updated support is required for several forms of IDNs and is mandatory |
| 207 for .de domains. |
| 208 - Much improved heuristics for guessing content lengths: Requests will no |
| 209 longer read an entire ``StringIO`` into memory. |
| 210 - Much improved logic for recalculating ``Content-Length`` headers for |
| 211 ``PreparedRequest`` objects. |
| 212 - Improved tolerance for file-like objects that have no ``tell`` method but |
| 213 do have a ``seek`` method. |
| 214 - Anything that is a subclass of ``Mapping`` is now treated like a dictionary |
| 215 by the ``data=`` keyword argument. |
| 216 - Requests now tolerates empty passwords in proxy credentials, rather than |
| 217 stripping the credentials. |
| 218 - If a request is made with a file-like object as the body and that request is |
| 219 redirected with a 307 or 308 status code, Requests will now attempt to |
| 220 rewind the body object so it can be replayed. |
| 221 |
| 222 **Bugfixes** |
| 223 |
| 224 - When calling ``response.close``, the call to ``close`` will be propagated |
| 225 through to non-urllib3 backends. |
| 226 - Fixed issue where the ``ALL_PROXY`` environment variable would be preferred |
| 227 over scheme-specific variables like ``HTTP_PROXY``. |
| 228 - Fixed issue where non-UTF8 reason phrases got severely mangled by falling |
| 229 back to decoding using ISO 8859-1 instead. |
| 230 - Fixed a bug where Requests would not correctly correlate cookies set when |
| 231 using custom Host headers if those Host headers did not use the native |
| 232 string type for the platform. |
| 233 |
| 234 **Miscellaneous** |
| 235 |
| 236 - Updated bundled urllib3 to 1.19. |
| 237 - Updated bundled certifi certs to 2016.09.26. |
| 238 |
| 239 2.11.1 (2016-08-17) |
| 240 +++++++++++++++++++ |
| 241 |
| 242 **Bugfixes** |
| 243 |
| 244 - Fixed a bug when using ``iter_content`` with ``decode_unicode=True`` for |
| 245 streamed bodies would raise ``AttributeError``. This bug was introduced in |
| 246 2.11. |
| 247 - Strip Content-Type and Transfer-Encoding headers from the header block when |
| 248 following a redirect that transforms the verb from POST/PUT to GET. |
| 249 |
| 250 2.11.0 (2016-08-08) |
| 251 +++++++++++++++++++ |
| 252 |
| 253 **Improvements** |
| 254 |
| 255 - Added support for the ``ALL_PROXY`` environment variable. |
| 256 - Reject header values that contain leading whitespace or newline characters to |
| 257 reduce risk of header smuggling. |
| 258 |
| 259 **Bugfixes** |
| 260 |
| 261 - Fixed occasional ``TypeError`` when attempting to decode a JSON response that |
| 262 occurred in an error case. Now correctly returns a ``ValueError``. |
| 263 - Requests would incorrectly ignore a non-CIDR IP address in the ``NO_PROXY`` |
| 264 environment variables: Requests now treats it as a specific IP. |
| 265 - Fixed a bug when sending JSON data that could cause us to encounter obscure |
| 266 OpenSSL errors in certain network conditions (yes, really). |
| 267 - Added type checks to ensure that ``iter_content`` only accepts integers and |
| 268 ``None`` for chunk sizes. |
| 269 - Fixed issue where responses whose body had not been fully consumed would have |
| 270 the underlying connection closed but not returned to the connection pool, |
| 271 which could cause Requests to hang in situations where the ``HTTPAdapter`` |
| 272 had been configured to use a blocking connection pool. |
| 273 |
| 274 **Miscellaneous** |
| 275 |
| 276 - Updated bundled urllib3 to 1.16. |
| 277 - Some previous releases accidentally accepted non-strings as acceptable header
values. This release does not. |
| 278 |
| 279 2.10.0 (2016-04-29) |
| 280 +++++++++++++++++++ |
| 281 |
| 282 **New Features** |
| 283 |
| 284 - SOCKS Proxy Support! (requires PySocks; ``$ pip install requests[socks]``) |
| 285 |
| 286 **Miscellaneous** |
| 287 |
| 288 - Updated bundled urllib3 to 1.15.1. |
| 289 |
| 290 2.9.2 (2016-04-29) |
| 291 ++++++++++++++++++ |
| 292 |
| 293 **Improvements** |
| 294 |
| 295 - Change built-in CaseInsensitiveDict (used for headers) to use OrderedDict |
| 296 as its underlying datastore. |
| 297 |
| 298 **Bugfixes** |
| 299 |
| 300 - Don't use redirect_cache if allow_redirects=False |
| 301 - When passed objects that throw exceptions from ``tell()``, send them via |
| 302 chunked transfer encoding instead of failing. |
| 303 - Raise a ProxyError for proxy related connection issues. |
| 304 |
| 305 2.9.1 (2015-12-21) |
| 306 ++++++++++++++++++ |
| 307 |
| 308 **Bugfixes** |
| 309 |
| 310 - Resolve regression introduced in 2.9.0 that made it impossible to send binary |
| 311 strings as bodies in Python 3. |
| 312 - Fixed errors when calculating cookie expiration dates in certain locales. |
| 313 |
| 314 **Miscellaneous** |
| 315 |
| 316 - Updated bundled urllib3 to 1.13.1. |
| 317 |
| 318 2.9.0 (2015-12-15) |
| 319 ++++++++++++++++++ |
| 320 |
| 321 **Minor Improvements** (Backwards compatible) |
| 322 |
| 323 - The ``verify`` keyword argument now supports being passed a path to a |
| 324 directory of CA certificates, not just a single-file bundle. |
| 325 - Warnings are now emitted when sending files opened in text mode. |
| 326 - Added the 511 Network Authentication Required status code to the status code |
| 327 registry. |
| 328 |
| 329 **Bugfixes** |
| 330 |
| 331 - For file-like objects that are not seeked to the very beginning, we now |
| 332 send the content length for the number of bytes we will actually read, rather |
| 333 than the total size of the file, allowing partial file uploads. |
| 334 - When uploading file-like objects, if they are empty or have no obvious |
| 335 content length we set ``Transfer-Encoding: chunked`` rather than |
| 336 ``Content-Length: 0``. |
| 337 - We correctly receive the response in buffered mode when uploading chunked |
| 338 bodies. |
| 339 - We now handle being passed a query string as a bytestring on Python 3, by |
| 340 decoding it as UTF-8. |
| 341 - Sessions are now closed in all cases (exceptional and not) when using the |
| 342 functional API rather than leaking and waiting for the garbage collector to |
| 343 clean them up. |
| 344 - Correctly handle digest auth headers with a malformed ``qop`` directive that |
| 345 contains no token, by treating it the same as if no ``qop`` directive was |
| 346 provided at all. |
| 347 - Minor performance improvements when removing specific cookies by name. |
| 348 |
| 349 **Miscellaneous** |
| 350 |
| 351 - Updated urllib3 to 1.13. |
| 352 |
| 353 2.8.1 (2015-10-13) |
| 354 ++++++++++++++++++ |
| 355 |
| 356 **Bugfixes** |
| 357 |
| 358 - Update certificate bundle to match ``certifi`` 2015.9.6.2's weak certificate |
| 359 bundle. |
| 360 - Fix a bug in 2.8.0 where requests would raise ``ConnectTimeout`` instead of |
| 361 ``ConnectionError`` |
| 362 - When using the PreparedRequest flow, requests will now correctly respect the |
| 363 ``json`` parameter. Broken in 2.8.0. |
| 364 - When using the PreparedRequest flow, requests will now correctly handle a |
| 365 Unicode-string method name on Python 2. Broken in 2.8.0. |
| 366 |
| 367 2.8.0 (2015-10-05) |
| 368 ++++++++++++++++++ |
| 369 |
| 370 **Minor Improvements** (Backwards Compatible) |
| 371 |
| 372 - Requests now supports per-host proxies. This allows the ``proxies`` |
| 373 dictionary to have entries of the form |
| 374 ``{'<scheme>://<hostname>': '<proxy>'}``. Host-specific proxies will be used |
| 375 in preference to the previously-supported scheme-specific ones, but the |
| 376 previous syntax will continue to work. |
| 377 - ``Response.raise_for_status`` now prints the URL that failed as part of the |
| 378 exception message. |
| 379 - ``requests.utils.get_netrc_auth`` now takes an ``raise_errors`` kwarg, |
| 380 defaulting to ``False``. When ``True``, errors parsing ``.netrc`` files cause |
| 381 exceptions to be thrown. |
| 382 - Change to bundled projects import logic to make it easier to unbundle |
| 383 requests downstream. |
| 384 - Changed the default User-Agent string to avoid leaking data on Linux: now |
| 385 contains only the requests version. |
| 386 |
| 387 **Bugfixes** |
| 388 |
| 389 - The ``json`` parameter to ``post()`` and friends will now only be used if |
| 390 neither ``data`` nor ``files`` are present, consistent with the |
| 391 documentation. |
| 392 - We now ignore empty fields in the ``NO_PROXY`` environment variable. |
| 393 - Fixed problem where ``httplib.BadStatusLine`` would get raised if combining |
| 394 ``stream=True`` with ``contextlib.closing``. |
| 395 - Prevented bugs where we would attempt to return the same connection back to |
| 396 the connection pool twice when sending a Chunked body. |
| 397 - Miscellaneous minor internal changes. |
| 398 - Digest Auth support is now thread safe. |
| 399 |
| 400 **Updates** |
| 401 |
| 402 - Updated urllib3 to 1.12. |
| 403 |
| 404 2.7.0 (2015-05-03) |
| 405 ++++++++++++++++++ |
| 406 |
| 407 This is the first release that follows our new release process. For more, see |
| 408 `our documentation |
| 409 <http://docs.python-requests.org/en/latest/community/release-process/>`_. |
| 410 |
| 411 **Bugfixes** |
| 412 |
| 413 - Updated urllib3 to 1.10.4, resolving several bugs involving chunked transfer |
| 414 encoding and response framing. |
| 415 |
| 416 2.6.2 (2015-04-23) |
| 417 ++++++++++++++++++ |
| 418 |
| 419 **Bugfixes** |
| 420 |
| 421 - Fix regression where compressed data that was sent as chunked data was not |
| 422 properly decompressed. (#2561) |
| 423 |
| 424 2.6.1 (2015-04-22) |
| 425 ++++++++++++++++++ |
| 426 |
| 427 **Bugfixes** |
| 428 |
| 429 - Remove VendorAlias import machinery introduced in v2.5.2. |
| 430 |
| 431 - Simplify the PreparedRequest.prepare API: We no longer require the user to |
| 432 pass an empty list to the hooks keyword argument. (c.f. #2552) |
| 433 |
| 434 - Resolve redirects now receives and forwards all of the original arguments to |
| 435 the adapter. (#2503) |
| 436 |
| 437 - Handle UnicodeDecodeErrors when trying to deal with a unicode URL that |
| 438 cannot be encoded in ASCII. (#2540) |
| 439 |
| 440 - Populate the parsed path of the URI field when performing Digest |
| 441 Authentication. (#2426) |
| 442 |
| 443 - Copy a PreparedRequest's CookieJar more reliably when it is not an instance |
| 444 of RequestsCookieJar. (#2527) |
| 445 |
| 446 2.6.0 (2015-03-14) |
| 447 ++++++++++++++++++ |
| 448 |
| 449 **Bugfixes** |
| 450 |
| 451 - CVE-2015-2296: Fix handling of cookies on redirect. Previously a cookie |
| 452 without a host value set would use the hostname for the redirected URL |
| 453 exposing requests users to session fixation attacks and potentially cookie |
| 454 stealing. This was disclosed privately by Matthew Daley of |
| 455 `BugFuzz <https://bugfuzz.com>`_. This affects all versions of requests from |
| 456 v2.1.0 to v2.5.3 (inclusive on both ends). |
| 457 |
| 458 - Fix error when requests is an ``install_requires`` dependency and ``python |
| 459 setup.py test`` is run. (#2462) |
| 460 |
| 461 - Fix error when urllib3 is unbundled and requests continues to use the |
| 462 vendored import location. |
| 463 |
| 464 - Include fixes to ``urllib3``'s header handling. |
| 465 |
| 466 - Requests' handling of unvendored dependencies is now more restrictive. |
| 467 |
| 468 **Features and Improvements** |
| 469 |
| 470 - Support bytearrays when passed as parameters in the ``files`` argument. |
| 471 (#2468) |
| 472 |
| 473 - Avoid data duplication when creating a request with ``str``, ``bytes``, or |
| 474 ``bytearray`` input to the ``files`` argument. |
| 475 |
| 476 2.5.3 (2015-02-24) |
| 477 ++++++++++++++++++ |
| 478 |
| 479 **Bugfixes** |
| 480 |
| 481 - Revert changes to our vendored certificate bundle. For more context see |
| 482 (#2455, #2456, and http://bugs.python.org/issue23476) |
| 483 |
| 484 2.5.2 (2015-02-23) |
| 485 ++++++++++++++++++ |
| 486 |
| 487 **Features and Improvements** |
| 488 |
| 489 - Add sha256 fingerprint support. (`shazow/urllib3#540`_) |
| 490 |
| 491 - Improve the performance of headers. (`shazow/urllib3#544`_) |
| 492 |
| 493 **Bugfixes** |
| 494 |
| 495 - Copy pip's import machinery. When downstream redistributors remove |
| 496 requests.packages.urllib3 the import machinery will continue to let those |
| 497 same symbols work. Example usage in requests' documentation and 3rd-party |
| 498 libraries relying on the vendored copies of urllib3 will work without having |
| 499 to fallback to the system urllib3. |
| 500 |
| 501 - Attempt to quote parts of the URL on redirect if unquoting and then quoting |
| 502 fails. (#2356) |
| 503 |
| 504 - Fix filename type check for multipart form-data uploads. (#2411) |
| 505 |
| 506 - Properly handle the case where a server issuing digest authentication |
| 507 challenges provides both auth and auth-int qop-values. (#2408) |
| 508 |
| 509 - Fix a socket leak. (`shazow/urllib3#549`_) |
| 510 |
| 511 - Fix multiple ``Set-Cookie`` headers properly. (`shazow/urllib3#534`_) |
| 512 |
| 513 - Disable the built-in hostname verification. (`shazow/urllib3#526`_) |
| 514 |
| 515 - Fix the behaviour of decoding an exhausted stream. (`shazow/urllib3#535`_) |
| 516 |
| 517 **Security** |
| 518 |
| 519 - Pulled in an updated ``cacert.pem``. |
| 520 |
| 521 - Drop RC4 from the default cipher list. (`shazow/urllib3#551`_) |
| 522 |
| 523 .. _shazow/urllib3#551: https://github.com/shazow/urllib3/pull/551 |
| 524 .. _shazow/urllib3#549: https://github.com/shazow/urllib3/pull/549 |
| 525 .. _shazow/urllib3#544: https://github.com/shazow/urllib3/pull/544 |
| 526 .. _shazow/urllib3#540: https://github.com/shazow/urllib3/pull/540 |
| 527 .. _shazow/urllib3#535: https://github.com/shazow/urllib3/pull/535 |
| 528 .. _shazow/urllib3#534: https://github.com/shazow/urllib3/pull/534 |
| 529 .. _shazow/urllib3#526: https://github.com/shazow/urllib3/pull/526 |
| 530 |
| 531 2.5.1 (2014-12-23) |
| 532 ++++++++++++++++++ |
| 533 |
| 534 **Behavioural Changes** |
| 535 |
| 536 - Only catch HTTPErrors in raise_for_status (#2382) |
| 537 |
| 538 **Bugfixes** |
| 539 |
| 540 - Handle LocationParseError from urllib3 (#2344) |
| 541 - Handle file-like object filenames that are not strings (#2379) |
| 542 - Unbreak HTTPDigestAuth handler. Allow new nonces to be negotiated (#2389) |
| 543 |
| 544 2.5.0 (2014-12-01) |
| 545 ++++++++++++++++++ |
| 546 |
| 547 **Improvements** |
| 548 |
| 549 - Allow usage of urllib3's Retry object with HTTPAdapters (#2216) |
| 550 - The ``iter_lines`` method on a response now accepts a delimiter with which |
| 551 to split the content (#2295) |
| 552 |
| 553 **Behavioural Changes** |
| 554 |
| 555 - Add deprecation warnings to functions in requests.utils that will be removed |
| 556 in 3.0 (#2309) |
| 557 - Sessions used by the functional API are always closed (#2326) |
| 558 - Restrict requests to HTTP/1.1 and HTTP/1.0 (stop accepting HTTP/0.9) (#2323) |
| 559 |
| 560 **Bugfixes** |
| 561 |
| 562 - Only parse the URL once (#2353) |
| 563 - Allow Content-Length header to always be overridden (#2332) |
| 564 - Properly handle files in HTTPDigestAuth (#2333) |
| 565 - Cap redirect_cache size to prevent memory abuse (#2299) |
| 566 - Fix HTTPDigestAuth handling of redirects after authenticating successfully |
| 567 (#2253) |
| 568 - Fix crash with custom method parameter to Session.request (#2317) |
| 569 - Fix how Link headers are parsed using the regular expression library (#2271) |
| 570 |
| 571 **Documentation** |
| 572 |
| 573 - Add more references for interlinking (#2348) |
| 574 - Update CSS for theme (#2290) |
| 575 - Update width of buttons and sidebar (#2289) |
| 576 - Replace references of Gittip with Gratipay (#2282) |
| 577 - Add link to changelog in sidebar (#2273) |
| 578 |
| 579 2.4.3 (2014-10-06) |
| 580 ++++++++++++++++++ |
| 581 |
| 582 **Bugfixes** |
| 583 |
| 584 - Unicode URL improvements for Python 2. |
| 585 - Re-order JSON param for backwards compat. |
| 586 - Automatically defrag authentication schemes from host/pass URIs. (`#2249 <http
s://github.com/kennethreitz/requests/issues/2249>`_) |
| 587 |
| 588 |
| 589 2.4.2 (2014-10-05) |
| 590 ++++++++++++++++++ |
| 591 |
| 592 **Improvements** |
| 593 |
| 594 - FINALLY! Add json parameter for uploads! (`#2258 <https://github.com/kennethre
itz/requests/pull/2258>`_) |
| 595 - Support for bytestring URLs on Python 3.x (`#2238 <https://github.com/kennethr
eitz/requests/pull/2238>`_) |
| 596 |
| 597 **Bugfixes** |
| 598 |
| 599 - Avoid getting stuck in a loop (`#2244 <https://github.com/kennethreitz/request
s/pull/2244>`_) |
| 600 - Multiple calls to iter* fail with unhelpful error. (`#2240 <https://github.com
/kennethreitz/requests/issues/2240>`_, `#2241 <https://github.com/kennethreitz/r
equests/issues/2241>`_) |
| 601 |
| 602 **Documentation** |
| 603 |
| 604 - Correct redirection introduction (`#2245 <https://github.com/kennethreitz/requ
ests/pull/2245/>`_) |
| 605 - Added example of how to send multiple files in one request. (`#2227 <https://g
ithub.com/kennethreitz/requests/pull/2227/>`_) |
| 606 - Clarify how to pass a custom set of CAs (`#2248 <https://github.com/kennethrei
tz/requests/pull/2248/>`_) |
| 607 |
| 608 |
| 609 |
| 610 2.4.1 (2014-09-09) |
| 611 ++++++++++++++++++ |
| 612 |
| 613 - Now has a "security" package extras set, ``$ pip install requests[security]`` |
| 614 - Requests will now use Certifi if it is available. |
| 615 - Capture and re-raise urllib3 ProtocolError |
| 616 - Bugfix for responses that attempt to redirect to themselves forever (wtf?). |
| 617 |
| 618 |
| 619 2.4.0 (2014-08-29) |
| 620 ++++++++++++++++++ |
| 621 |
| 622 **Behavioral Changes** |
| 623 |
| 624 - ``Connection: keep-alive`` header is now sent automatically. |
| 625 |
| 626 **Improvements** |
| 627 |
| 628 - Support for connect timeouts! Timeout now accepts a tuple (connect, read) whic
h is used to set individual connect and read timeouts. |
| 629 - Allow copying of PreparedRequests without headers/cookies. |
| 630 - Updated bundled urllib3 version. |
| 631 - Refactored settings loading from environment -- new `Session.merge_environment
_settings`. |
| 632 - Handle socket errors in iter_content. |
| 633 |
| 634 |
| 635 2.3.0 (2014-05-16) |
| 636 ++++++++++++++++++ |
| 637 |
| 638 **API Changes** |
| 639 |
| 640 - New ``Response`` property ``is_redirect``, which is true when the |
| 641 library could have processed this response as a redirection (whether |
| 642 or not it actually did). |
| 643 - The ``timeout`` parameter now affects requests with both ``stream=True`` and |
| 644 ``stream=False`` equally. |
| 645 - The change in v2.0.0 to mandate explicit proxy schemes has been reverted. |
| 646 Proxy schemes now default to ``http://``. |
| 647 - The ``CaseInsensitiveDict`` used for HTTP headers now behaves like a normal |
| 648 dictionary when references as string or viewed in the interpreter. |
| 649 |
| 650 **Bugfixes** |
| 651 |
| 652 - No longer expose Authorization or Proxy-Authorization headers on redirect. |
| 653 Fix CVE-2014-1829 and CVE-2014-1830 respectively. |
| 654 - Authorization is re-evaluated each redirect. |
| 655 - On redirect, pass url as native strings. |
| 656 - Fall-back to autodetected encoding for JSON when Unicode detection fails. |
| 657 - Headers set to ``None`` on the ``Session`` are now correctly not sent. |
| 658 - Correctly honor ``decode_unicode`` even if it wasn't used earlier in the same |
| 659 response. |
| 660 - Stop advertising ``compress`` as a supported Content-Encoding. |
| 661 - The ``Response.history`` parameter is now always a list. |
| 662 - Many, many ``urllib3`` bugfixes. |
| 663 |
| 664 2.2.1 (2014-01-23) |
| 665 ++++++++++++++++++ |
| 666 |
| 667 **Bugfixes** |
| 668 |
| 669 - Fixes incorrect parsing of proxy credentials that contain a literal or encoded
'#' character. |
| 670 - Assorted urllib3 fixes. |
| 671 |
| 672 2.2.0 (2014-01-09) |
| 673 ++++++++++++++++++ |
| 674 |
| 675 **API Changes** |
| 676 |
| 677 - New exception: ``ContentDecodingError``. Raised instead of ``urllib3`` |
| 678 ``DecodeError`` exceptions. |
| 679 |
| 680 **Bugfixes** |
| 681 |
| 682 - Avoid many many exceptions from the buggy implementation of ``proxy_bypass`` o
n OS X in Python 2.6. |
| 683 - Avoid crashing when attempting to get authentication credentials from ~/.netrc
when running as a user without a home directory. |
| 684 - Use the correct pool size for pools of connections to proxies. |
| 685 - Fix iteration of ``CookieJar`` objects. |
| 686 - Ensure that cookies are persisted over redirect. |
| 687 - Switch back to using chardet, since it has merged with charade. |
| 688 |
| 689 2.1.0 (2013-12-05) |
| 690 ++++++++++++++++++ |
| 691 |
| 692 - Updated CA Bundle, of course. |
| 693 - Cookies set on individual Requests through a ``Session`` (e.g. via ``Session.g
et()``) are no longer persisted to the ``Session``. |
| 694 - Clean up connections when we hit problems during chunked upload, rather than l
eaking them. |
| 695 - Return connections to the pool when a chunked upload is successful, rather tha
n leaking it. |
| 696 - Match the HTTPbis recommendation for HTTP 301 redirects. |
| 697 - Prevent hanging when using streaming uploads and Digest Auth when a 401 is rec
eived. |
| 698 - Values of headers set by Requests are now always the native string type. |
| 699 - Fix previously broken SNI support. |
| 700 - Fix accessing HTTP proxies using proxy authentication. |
| 701 - Unencode HTTP Basic usernames and passwords extracted from URLs. |
| 702 - Support for IP address ranges for no_proxy environment variable |
| 703 - Parse headers correctly when users override the default ``Host:`` header. |
| 704 - Avoid munging the URL in case of case-sensitive servers. |
| 705 - Looser URL handling for non-HTTP/HTTPS urls. |
| 706 - Accept unicode methods in Python 2.6 and 2.7. |
| 707 - More resilient cookie handling. |
| 708 - Make ``Response`` objects pickleable. |
| 709 - Actually added MD5-sess to Digest Auth instead of pretending to like last time
. |
| 710 - Updated internal urllib3. |
| 711 - Fixed @Lukasa's lack of taste. |
| 712 |
| 713 2.0.1 (2013-10-24) |
| 714 ++++++++++++++++++ |
| 715 |
| 716 - Updated included CA Bundle with new mistrusts and automated process for the fu
ture |
| 717 - Added MD5-sess to Digest Auth |
| 718 - Accept per-file headers in multipart file POST messages. |
| 719 - Fixed: Don't send the full URL on CONNECT messages. |
| 720 - Fixed: Correctly lowercase a redirect scheme. |
| 721 - Fixed: Cookies not persisted when set via functional API. |
| 722 - Fixed: Translate urllib3 ProxyError into a requests ProxyError derived from Co
nnectionError. |
| 723 - Updated internal urllib3 and chardet. |
| 724 |
| 725 2.0.0 (2013-09-24) |
| 726 ++++++++++++++++++ |
| 727 |
| 728 **API Changes:** |
| 729 |
| 730 - Keys in the Headers dictionary are now native strings on all Python versions, |
| 731 i.e. bytestrings on Python 2, unicode on Python 3. |
| 732 - Proxy URLs now *must* have an explicit scheme. A ``MissingSchema`` exception |
| 733 will be raised if they don't. |
| 734 - Timeouts now apply to read time if ``Stream=False``. |
| 735 - ``RequestException`` is now a subclass of ``IOError``, not ``RuntimeError``. |
| 736 - Added new method to ``PreparedRequest`` objects: ``PreparedRequest.copy()``. |
| 737 - Added new method to ``Session`` objects: ``Session.update_request()``. This |
| 738 method updates a ``Request`` object with the data (e.g. cookies) stored on |
| 739 the ``Session``. |
| 740 - Added new method to ``Session`` objects: ``Session.prepare_request()``. This |
| 741 method updates and prepares a ``Request`` object, and returns the |
| 742 corresponding ``PreparedRequest`` object. |
| 743 - Added new method to ``HTTPAdapter`` objects: ``HTTPAdapter.proxy_headers()``. |
| 744 This should not be called directly, but improves the subclass interface. |
| 745 - ``httplib.IncompleteRead`` exceptions caused by incorrect chunked encoding |
| 746 will now raise a Requests ``ChunkedEncodingError`` instead. |
| 747 - Invalid percent-escape sequences now cause a Requests ``InvalidURL`` |
| 748 exception to be raised. |
| 749 - HTTP 208 no longer uses reason phrase ``"im_used"``. Correctly uses |
| 750 ``"already_reported"``. |
| 751 - HTTP 226 reason added (``"im_used"``). |
| 752 |
| 753 **Bugfixes:** |
| 754 |
| 755 - Vastly improved proxy support, including the CONNECT verb. Special thanks to |
| 756 the many contributors who worked towards this improvement. |
| 757 - Cookies are now properly managed when 401 authentication responses are |
| 758 received. |
| 759 - Chunked encoding fixes. |
| 760 - Support for mixed case schemes. |
| 761 - Better handling of streaming downloads. |
| 762 - Retrieve environment proxies from more locations. |
| 763 - Minor cookies fixes. |
| 764 - Improved redirect behaviour. |
| 765 - Improved streaming behaviour, particularly for compressed data. |
| 766 - Miscellaneous small Python 3 text encoding bugs. |
| 767 - ``.netrc`` no longer overrides explicit auth. |
| 768 - Cookies set by hooks are now correctly persisted on Sessions. |
| 769 - Fix problem with cookies that specify port numbers in their host field. |
| 770 - ``BytesIO`` can be used to perform streaming uploads. |
| 771 - More generous parsing of the ``no_proxy`` environment variable. |
| 772 - Non-string objects can be passed in data values alongside files. |
| 773 |
| 774 1.2.3 (2013-05-25) |
| 775 ++++++++++++++++++ |
| 776 |
| 777 - Simple packaging fix |
| 778 |
| 779 |
| 780 1.2.2 (2013-05-23) |
| 781 ++++++++++++++++++ |
| 782 |
| 783 - Simple packaging fix |
| 784 |
| 785 |
| 786 1.2.1 (2013-05-20) |
| 787 ++++++++++++++++++ |
| 788 |
| 789 - 301 and 302 redirects now change the verb to GET for all verbs, not just |
| 790 POST, improving browser compatibility. |
| 791 - Python 3.3.2 compatibility |
| 792 - Always percent-encode location headers |
| 793 - Fix connection adapter matching to be most-specific first |
| 794 - new argument to the default connection adapter for passing a block argument |
| 795 - prevent a KeyError when there's no link headers |
| 796 |
| 797 1.2.0 (2013-03-31) |
| 798 ++++++++++++++++++ |
| 799 |
| 800 - Fixed cookies on sessions and on requests |
| 801 - Significantly change how hooks are dispatched - hooks now receive all the |
| 802 arguments specified by the user when making a request so hooks can make a |
| 803 secondary request with the same parameters. This is especially necessary for |
| 804 authentication handler authors |
| 805 - certifi support was removed |
| 806 - Fixed bug where using OAuth 1 with body ``signature_type`` sent no data |
| 807 - Major proxy work thanks to @Lukasa including parsing of proxy authentication |
| 808 from the proxy url |
| 809 - Fix DigestAuth handling too many 401s |
| 810 - Update vendored urllib3 to include SSL bug fixes |
| 811 - Allow keyword arguments to be passed to ``json.loads()`` via the |
| 812 ``Response.json()`` method |
| 813 - Don't send ``Content-Length`` header by default on ``GET`` or ``HEAD`` |
| 814 requests |
| 815 - Add ``elapsed`` attribute to ``Response`` objects to time how long a request |
| 816 took. |
| 817 - Fix ``RequestsCookieJar`` |
| 818 - Sessions and Adapters are now picklable, i.e., can be used with the |
| 819 multiprocessing library |
| 820 - Update charade to version 1.0.3 |
| 821 |
| 822 The change in how hooks are dispatched will likely cause a great deal of |
| 823 issues. |
| 824 |
| 825 1.1.0 (2013-01-10) |
| 826 ++++++++++++++++++ |
| 827 |
| 828 - CHUNKED REQUESTS |
| 829 - Support for iterable response bodies |
| 830 - Assume servers persist redirect params |
| 831 - Allow explicit content types to be specified for file data |
| 832 - Make merge_kwargs case-insensitive when looking up keys |
| 833 |
| 834 1.0.3 (2012-12-18) |
| 835 ++++++++++++++++++ |
| 836 |
| 837 - Fix file upload encoding bug |
| 838 - Fix cookie behavior |
| 839 |
| 840 1.0.2 (2012-12-17) |
| 841 ++++++++++++++++++ |
| 842 |
| 843 - Proxy fix for HTTPAdapter. |
| 844 |
| 845 1.0.1 (2012-12-17) |
| 846 ++++++++++++++++++ |
| 847 |
| 848 - Cert verification exception bug. |
| 849 - Proxy fix for HTTPAdapter. |
| 850 |
| 851 1.0.0 (2012-12-17) |
| 852 ++++++++++++++++++ |
| 853 |
| 854 - Massive Refactor and Simplification |
| 855 - Switch to Apache 2.0 license |
| 856 - Swappable Connection Adapters |
| 857 - Mountable Connection Adapters |
| 858 - Mutable ProcessedRequest chain |
| 859 - /s/prefetch/stream |
| 860 - Removal of all configuration |
| 861 - Standard library logging |
| 862 - Make Response.json() callable, not property. |
| 863 - Usage of new charade project, which provides python 2 and 3 simultaneous chard
et. |
| 864 - Removal of all hooks except 'response' |
| 865 - Removal of all authentication helpers (OAuth, Kerberos) |
| 866 |
| 867 This is not a backwards compatible change. |
| 868 |
| 869 0.14.2 (2012-10-27) |
| 870 +++++++++++++++++++ |
| 871 |
| 872 - Improved mime-compatible JSON handling |
| 873 - Proxy fixes |
| 874 - Path hack fixes |
| 875 - Case-Insensitive Content-Encoding headers |
| 876 - Support for CJK parameters in form posts |
| 877 |
| 878 |
| 879 0.14.1 (2012-10-01) |
| 880 +++++++++++++++++++ |
| 881 |
| 882 - Python 3.3 Compatibility |
| 883 - Simply default accept-encoding |
| 884 - Bugfixes |
| 885 |
| 886 |
| 887 0.14.0 (2012-09-02) |
| 888 ++++++++++++++++++++ |
| 889 |
| 890 - No more iter_content errors if already downloaded. |
| 891 |
| 892 0.13.9 (2012-08-25) |
| 893 +++++++++++++++++++ |
| 894 |
| 895 - Fix for OAuth + POSTs |
| 896 - Remove exception eating from dispatch_hook |
| 897 - General bugfixes |
| 898 |
| 899 0.13.8 (2012-08-21) |
| 900 +++++++++++++++++++ |
| 901 |
| 902 - Incredible Link header support :) |
| 903 |
| 904 0.13.7 (2012-08-19) |
| 905 +++++++++++++++++++ |
| 906 |
| 907 - Support for (key, value) lists everywhere. |
| 908 - Digest Authentication improvements. |
| 909 - Ensure proxy exclusions work properly. |
| 910 - Clearer UnicodeError exceptions. |
| 911 - Automatic casting of URLs to strings (fURL and such) |
| 912 - Bugfixes. |
| 913 |
| 914 0.13.6 (2012-08-06) |
| 915 +++++++++++++++++++ |
| 916 |
| 917 - Long awaited fix for hanging connections! |
| 918 |
| 919 0.13.5 (2012-07-27) |
| 920 +++++++++++++++++++ |
| 921 |
| 922 - Packaging fix |
| 923 |
| 924 0.13.4 (2012-07-27) |
| 925 +++++++++++++++++++ |
| 926 |
| 927 - GSSAPI/Kerberos authentication! |
| 928 - App Engine 2.7 Fixes! |
| 929 - Fix leaking connections (from urllib3 update) |
| 930 - OAuthlib path hack fix |
| 931 - OAuthlib URL parameters fix. |
| 932 |
| 933 0.13.3 (2012-07-12) |
| 934 +++++++++++++++++++ |
| 935 |
| 936 - Use simplejson if available. |
| 937 - Do not hide SSLErrors behind Timeouts. |
| 938 - Fixed param handling with urls containing fragments. |
| 939 - Significantly improved information in User Agent. |
| 940 - client certificates are ignored when verify=False |
| 941 |
| 942 0.13.2 (2012-06-28) |
| 943 +++++++++++++++++++ |
| 944 |
| 945 - Zero dependencies (once again)! |
| 946 - New: Response.reason |
| 947 - Sign querystring parameters in OAuth 1.0 |
| 948 - Client certificates no longer ignored when verify=False |
| 949 - Add openSUSE certificate support |
| 950 |
| 951 0.13.1 (2012-06-07) |
| 952 +++++++++++++++++++ |
| 953 |
| 954 - Allow passing a file or file-like object as data. |
| 955 - Allow hooks to return responses that indicate errors. |
| 956 - Fix Response.text and Response.json for body-less responses. |
| 957 |
| 958 0.13.0 (2012-05-29) |
| 959 +++++++++++++++++++ |
| 960 |
| 961 - Removal of Requests.async in favor of `grequests <https://github.com/kennethre
itz/grequests>`_ |
| 962 - Allow disabling of cookie persistence. |
| 963 - New implementation of safe_mode |
| 964 - cookies.get now supports default argument |
| 965 - Session cookies not saved when Session.request is called with return_response=
False |
| 966 - Env: no_proxy support. |
| 967 - RequestsCookieJar improvements. |
| 968 - Various bug fixes. |
| 969 |
| 970 0.12.1 (2012-05-08) |
| 971 +++++++++++++++++++ |
| 972 |
| 973 - New ``Response.json`` property. |
| 974 - Ability to add string file uploads. |
| 975 - Fix out-of-range issue with iter_lines. |
| 976 - Fix iter_content default size. |
| 977 - Fix POST redirects containing files. |
| 978 |
| 979 0.12.0 (2012-05-02) |
| 980 +++++++++++++++++++ |
| 981 |
| 982 - EXPERIMENTAL OAUTH SUPPORT! |
| 983 - Proper CookieJar-backed cookies interface with awesome dict-like interface. |
| 984 - Speed fix for non-iterated content chunks. |
| 985 - Move ``pre_request`` to a more usable place. |
| 986 - New ``pre_send`` hook. |
| 987 - Lazily encode data, params, files. |
| 988 - Load system Certificate Bundle if ``certify`` isn't available. |
| 989 - Cleanups, fixes. |
| 990 |
| 991 0.11.2 (2012-04-22) |
| 992 +++++++++++++++++++ |
| 993 |
| 994 - Attempt to use the OS's certificate bundle if ``certifi`` isn't available. |
| 995 - Infinite digest auth redirect fix. |
| 996 - Multi-part file upload improvements. |
| 997 - Fix decoding of invalid %encodings in URLs. |
| 998 - If there is no content in a response don't throw an error the second time that
content is attempted to be read. |
| 999 - Upload data on redirects. |
| 1000 |
| 1001 0.11.1 (2012-03-30) |
| 1002 +++++++++++++++++++ |
| 1003 |
| 1004 * POST redirects now break RFC to do what browsers do: Follow up with a GET. |
| 1005 * New ``strict_mode`` configuration to disable new redirect behavior. |
| 1006 |
| 1007 |
| 1008 0.11.0 (2012-03-14) |
| 1009 +++++++++++++++++++ |
| 1010 |
| 1011 * Private SSL Certificate support |
| 1012 * Remove select.poll from Gevent monkeypatching |
| 1013 * Remove redundant generator for chunked transfer encoding |
| 1014 * Fix: Response.ok raises Timeout Exception in safe_mode |
| 1015 |
| 1016 0.10.8 (2012-03-09) |
| 1017 +++++++++++++++++++ |
| 1018 |
| 1019 * Generate chunked ValueError fix |
| 1020 * Proxy configuration by environment variables |
| 1021 * Simplification of iter_lines. |
| 1022 * New `trust_env` configuration for disabling system/environment hints. |
| 1023 * Suppress cookie errors. |
| 1024 |
| 1025 0.10.7 (2012-03-07) |
| 1026 +++++++++++++++++++ |
| 1027 |
| 1028 * `encode_uri` = False |
| 1029 |
| 1030 0.10.6 (2012-02-25) |
| 1031 +++++++++++++++++++ |
| 1032 |
| 1033 * Allow '=' in cookies. |
| 1034 |
| 1035 0.10.5 (2012-02-25) |
| 1036 +++++++++++++++++++ |
| 1037 |
| 1038 * Response body with 0 content-length fix. |
| 1039 * New async.imap. |
| 1040 * Don't fail on netrc. |
| 1041 |
| 1042 |
| 1043 0.10.4 (2012-02-20) |
| 1044 +++++++++++++++++++ |
| 1045 |
| 1046 * Honor netrc. |
| 1047 |
| 1048 0.10.3 (2012-02-20) |
| 1049 +++++++++++++++++++ |
| 1050 |
| 1051 * HEAD requests don't follow redirects anymore. |
| 1052 * raise_for_status() doesn't raise for 3xx anymore. |
| 1053 * Make Session objects picklable. |
| 1054 * ValueError for invalid schema URLs. |
| 1055 |
| 1056 0.10.2 (2012-01-15) |
| 1057 +++++++++++++++++++ |
| 1058 |
| 1059 * Vastly improved URL quoting. |
| 1060 * Additional allowed cookie key values. |
| 1061 * Attempted fix for "Too many open files" Error |
| 1062 * Replace unicode errors on first pass, no need for second pass. |
| 1063 * Append '/' to bare-domain urls before query insertion. |
| 1064 * Exceptions now inherit from RuntimeError. |
| 1065 * Binary uploads + auth fix. |
| 1066 * Bugfixes. |
| 1067 |
| 1068 |
| 1069 0.10.1 (2012-01-23) |
| 1070 +++++++++++++++++++ |
| 1071 |
| 1072 * PYTHON 3 SUPPORT! |
| 1073 * Dropped 2.5 Support. (*Backwards Incompatible*) |
| 1074 |
| 1075 0.10.0 (2012-01-21) |
| 1076 +++++++++++++++++++ |
| 1077 |
| 1078 * ``Response.content`` is now bytes-only. (*Backwards Incompatible*) |
| 1079 * New ``Response.text`` is unicode-only. |
| 1080 * If no ``Response.encoding`` is specified and ``chardet`` is available, ``Respo
nse.text`` will guess an encoding. |
| 1081 * Default to ISO-8859-1 (Western) encoding for "text" subtypes. |
| 1082 * Removal of `decode_unicode`. (*Backwards Incompatible*) |
| 1083 * New multiple-hooks system. |
| 1084 * New ``Response.register_hook`` for registering hooks within the pipeline. |
| 1085 * ``Response.url`` is now Unicode. |
| 1086 |
| 1087 0.9.3 (2012-01-18) |
| 1088 ++++++++++++++++++ |
| 1089 |
| 1090 * SSL verify=False bugfix (apparent on windows machines). |
| 1091 |
| 1092 0.9.2 (2012-01-18) |
| 1093 ++++++++++++++++++ |
| 1094 |
| 1095 * Asynchronous async.send method. |
| 1096 * Support for proper chunk streams with boundaries. |
| 1097 * session argument for Session classes. |
| 1098 * Print entire hook tracebacks, not just exception instance. |
| 1099 * Fix response.iter_lines from pending next line. |
| 1100 * Fix but in HTTP-digest auth w/ URI having query strings. |
| 1101 * Fix in Event Hooks section. |
| 1102 * Urllib3 update. |
| 1103 |
| 1104 |
| 1105 0.9.1 (2012-01-06) |
| 1106 ++++++++++++++++++ |
| 1107 |
| 1108 * danger_mode for automatic Response.raise_for_status() |
| 1109 * Response.iter_lines refactor |
| 1110 |
| 1111 0.9.0 (2011-12-28) |
| 1112 ++++++++++++++++++ |
| 1113 |
| 1114 * verify ssl is default. |
| 1115 |
| 1116 |
| 1117 0.8.9 (2011-12-28) |
| 1118 ++++++++++++++++++ |
| 1119 |
| 1120 * Packaging fix. |
| 1121 |
| 1122 |
| 1123 0.8.8 (2011-12-28) |
| 1124 ++++++++++++++++++ |
| 1125 |
| 1126 * SSL CERT VERIFICATION! |
| 1127 * Release of Cerifi: Mozilla's cert list. |
| 1128 * New 'verify' argument for SSL requests. |
| 1129 * Urllib3 update. |
| 1130 |
| 1131 0.8.7 (2011-12-24) |
| 1132 ++++++++++++++++++ |
| 1133 |
| 1134 * iter_lines last-line truncation fix |
| 1135 * Force safe_mode for async requests |
| 1136 * Handle safe_mode exceptions more consistently |
| 1137 * Fix iteration on null responses in safe_mode |
| 1138 |
| 1139 0.8.6 (2011-12-18) |
| 1140 ++++++++++++++++++ |
| 1141 |
| 1142 * Socket timeout fixes. |
| 1143 * Proxy Authorization support. |
| 1144 |
| 1145 0.8.5 (2011-12-14) |
| 1146 ++++++++++++++++++ |
| 1147 |
| 1148 * Response.iter_lines! |
| 1149 |
| 1150 0.8.4 (2011-12-11) |
| 1151 ++++++++++++++++++ |
| 1152 |
| 1153 * Prefetch bugfix. |
| 1154 * Added license to installed version. |
| 1155 |
| 1156 0.8.3 (2011-11-27) |
| 1157 ++++++++++++++++++ |
| 1158 |
| 1159 * Converted auth system to use simpler callable objects. |
| 1160 * New session parameter to API methods. |
| 1161 * Display full URL while logging. |
| 1162 |
| 1163 0.8.2 (2011-11-19) |
| 1164 ++++++++++++++++++ |
| 1165 |
| 1166 * New Unicode decoding system, based on over-ridable `Response.encoding`. |
| 1167 * Proper URL slash-quote handling. |
| 1168 * Cookies with ``[``, ``]``, and ``_`` allowed. |
| 1169 |
| 1170 0.8.1 (2011-11-15) |
| 1171 ++++++++++++++++++ |
| 1172 |
| 1173 * URL Request path fix |
| 1174 * Proxy fix. |
| 1175 * Timeouts fix. |
| 1176 |
| 1177 0.8.0 (2011-11-13) |
| 1178 ++++++++++++++++++ |
| 1179 |
| 1180 * Keep-alive support! |
| 1181 * Complete removal of Urllib2 |
| 1182 * Complete removal of Poster |
| 1183 * Complete removal of CookieJars |
| 1184 * New ConnectionError raising |
| 1185 * Safe_mode for error catching |
| 1186 * prefetch parameter for request methods |
| 1187 * OPTION method |
| 1188 * Async pool size throttling |
| 1189 * File uploads send real names |
| 1190 * Vendored in urllib3 |
| 1191 |
| 1192 0.7.6 (2011-11-07) |
| 1193 ++++++++++++++++++ |
| 1194 |
| 1195 * Digest authentication bugfix (attach query data to path) |
| 1196 |
| 1197 0.7.5 (2011-11-04) |
| 1198 ++++++++++++++++++ |
| 1199 |
| 1200 * Response.content = None if there was an invalid response. |
| 1201 * Redirection auth handling. |
| 1202 |
| 1203 0.7.4 (2011-10-26) |
| 1204 ++++++++++++++++++ |
| 1205 |
| 1206 * Session Hooks fix. |
| 1207 |
| 1208 0.7.3 (2011-10-23) |
| 1209 ++++++++++++++++++ |
| 1210 |
| 1211 * Digest Auth fix. |
| 1212 |
| 1213 |
| 1214 0.7.2 (2011-10-23) |
| 1215 ++++++++++++++++++ |
| 1216 |
| 1217 * PATCH Fix. |
| 1218 |
| 1219 |
| 1220 0.7.1 (2011-10-23) |
| 1221 ++++++++++++++++++ |
| 1222 |
| 1223 * Move away from urllib2 authentication handling. |
| 1224 * Fully Remove AuthManager, AuthObject, &c. |
| 1225 * New tuple-based auth system with handler callbacks. |
| 1226 |
| 1227 |
| 1228 0.7.0 (2011-10-22) |
| 1229 ++++++++++++++++++ |
| 1230 |
| 1231 * Sessions are now the primary interface. |
| 1232 * Deprecated InvalidMethodException. |
| 1233 * PATCH fix. |
| 1234 * New config system (no more global settings). |
| 1235 |
| 1236 |
| 1237 0.6.6 (2011-10-19) |
| 1238 ++++++++++++++++++ |
| 1239 |
| 1240 * Session parameter bugfix (params merging). |
| 1241 |
| 1242 |
| 1243 0.6.5 (2011-10-18) |
| 1244 ++++++++++++++++++ |
| 1245 |
| 1246 * Offline (fast) test suite. |
| 1247 * Session dictionary argument merging. |
| 1248 |
| 1249 |
| 1250 0.6.4 (2011-10-13) |
| 1251 ++++++++++++++++++ |
| 1252 |
| 1253 * Automatic decoding of unicode, based on HTTP Headers. |
| 1254 * New ``decode_unicode`` setting. |
| 1255 * Removal of ``r.read/close`` methods. |
| 1256 * New ``r.faw`` interface for advanced response usage.* |
| 1257 * Automatic expansion of parameterized headers. |
| 1258 |
| 1259 |
| 1260 0.6.3 (2011-10-13) |
| 1261 ++++++++++++++++++ |
| 1262 |
| 1263 * Beautiful ``requests.async`` module, for making async requests w/ gevent. |
| 1264 |
| 1265 |
| 1266 0.6.2 (2011-10-09) |
| 1267 ++++++++++++++++++ |
| 1268 |
| 1269 * GET/HEAD obeys allow_redirects=False. |
| 1270 |
| 1271 |
| 1272 0.6.1 (2011-08-20) |
| 1273 ++++++++++++++++++ |
| 1274 |
| 1275 * Enhanced status codes experience ``\o/`` |
| 1276 * Set a maximum number of redirects (``settings.max_redirects``) |
| 1277 * Full Unicode URL support |
| 1278 * Support for protocol-less redirects. |
| 1279 * Allow for arbitrary request types. |
| 1280 * Bugfixes |
| 1281 |
| 1282 |
| 1283 0.6.0 (2011-08-17) |
| 1284 ++++++++++++++++++ |
| 1285 |
| 1286 * New callback hook system |
| 1287 * New persistent sessions object and context manager |
| 1288 * Transparent Dict-cookie handling |
| 1289 * Status code reference object |
| 1290 * Removed Response.cached |
| 1291 * Added Response.request |
| 1292 * All args are kwargs |
| 1293 * Relative redirect support |
| 1294 * HTTPError handling improvements |
| 1295 * Improved https testing |
| 1296 * Bugfixes |
| 1297 |
| 1298 |
| 1299 0.5.1 (2011-07-23) |
| 1300 ++++++++++++++++++ |
| 1301 |
| 1302 * International Domain Name Support! |
| 1303 * Access headers without fetching entire body (``read()``) |
| 1304 * Use lists as dicts for parameters |
| 1305 * Add Forced Basic Authentication |
| 1306 * Forced Basic is default authentication type |
| 1307 * ``python-requests.org`` default User-Agent header |
| 1308 * CaseInsensitiveDict lower-case caching |
| 1309 * Response.history bugfix |
| 1310 |
| 1311 |
| 1312 0.5.0 (2011-06-21) |
| 1313 ++++++++++++++++++ |
| 1314 |
| 1315 * PATCH Support |
| 1316 * Support for Proxies |
| 1317 * HTTPBin Test Suite |
| 1318 * Redirect Fixes |
| 1319 * settings.verbose stream writing |
| 1320 * Querystrings for all methods |
| 1321 * URLErrors (Connection Refused, Timeout, Invalid URLs) are treated as explicitl
y raised |
| 1322 ``r.requests.get('hwe://blah'); r.raise_for_status()`` |
| 1323 |
| 1324 |
| 1325 0.4.1 (2011-05-22) |
| 1326 ++++++++++++++++++ |
| 1327 |
| 1328 * Improved Redirection Handling |
| 1329 * New 'allow_redirects' param for following non-GET/HEAD Redirects |
| 1330 * Settings module refactoring |
| 1331 |
| 1332 |
| 1333 0.4.0 (2011-05-15) |
| 1334 ++++++++++++++++++ |
| 1335 |
| 1336 * Response.history: list of redirected responses |
| 1337 * Case-Insensitive Header Dictionaries! |
| 1338 * Unicode URLs |
| 1339 |
| 1340 |
| 1341 0.3.4 (2011-05-14) |
| 1342 ++++++++++++++++++ |
| 1343 |
| 1344 * Urllib2 HTTPAuthentication Recursion fix (Basic/Digest) |
| 1345 * Internal Refactor |
| 1346 * Bytes data upload Bugfix |
| 1347 |
| 1348 |
| 1349 |
| 1350 0.3.3 (2011-05-12) |
| 1351 ++++++++++++++++++ |
| 1352 |
| 1353 * Request timeouts |
| 1354 * Unicode url-encoded data |
| 1355 * Settings context manager and module |
| 1356 |
| 1357 |
| 1358 0.3.2 (2011-04-15) |
| 1359 ++++++++++++++++++ |
| 1360 |
| 1361 * Automatic Decompression of GZip Encoded Content |
| 1362 * AutoAuth Support for Tupled HTTP Auth |
| 1363 |
| 1364 |
| 1365 0.3.1 (2011-04-01) |
| 1366 ++++++++++++++++++ |
| 1367 |
| 1368 * Cookie Changes |
| 1369 * Response.read() |
| 1370 * Poster fix |
| 1371 |
| 1372 |
| 1373 0.3.0 (2011-02-25) |
| 1374 ++++++++++++++++++ |
| 1375 |
| 1376 * Automatic Authentication API Change |
| 1377 * Smarter Query URL Parameterization |
| 1378 * Allow file uploads and POST data together |
| 1379 * New Authentication Manager System |
| 1380 - Simpler Basic HTTP System |
| 1381 - Supports all build-in urllib2 Auths |
| 1382 - Allows for custom Auth Handlers |
| 1383 |
| 1384 |
| 1385 0.2.4 (2011-02-19) |
| 1386 ++++++++++++++++++ |
| 1387 |
| 1388 * Python 2.5 Support |
| 1389 * PyPy-c v1.4 Support |
| 1390 * Auto-Authentication tests |
| 1391 * Improved Request object constructor |
| 1392 |
| 1393 0.2.3 (2011-02-15) |
| 1394 ++++++++++++++++++ |
| 1395 |
| 1396 * New HTTPHandling Methods |
| 1397 - Response.__nonzero__ (false if bad HTTP Status) |
| 1398 - Response.ok (True if expected HTTP Status) |
| 1399 - Response.error (Logged HTTPError if bad HTTP Status) |
| 1400 - Response.raise_for_status() (Raises stored HTTPError) |
| 1401 |
| 1402 |
| 1403 0.2.2 (2011-02-14) |
| 1404 ++++++++++++++++++ |
| 1405 |
| 1406 * Still handles request in the event of an HTTPError. (Issue #2) |
| 1407 * Eventlet and Gevent Monkeypatch support. |
| 1408 * Cookie Support (Issue #1) |
| 1409 |
| 1410 |
| 1411 0.2.1 (2011-02-14) |
| 1412 ++++++++++++++++++ |
| 1413 |
| 1414 * Added file attribute to POST and PUT requests for multipart-encode file upload
s. |
| 1415 * Added Request.url attribute for context and redirects |
| 1416 |
| 1417 |
| 1418 0.2.0 (2011-02-14) |
| 1419 ++++++++++++++++++ |
| 1420 |
| 1421 * Birth! |
| 1422 |
| 1423 |
| 1424 0.0.1 (2011-02-13) |
| 1425 ++++++++++++++++++ |
| 1426 |
| 1427 * Frustration |
| 1428 * Conception |
| 1429 |
| 1430 |
| 1431 |
OLD | NEW |