psf/requests
### [`v2.28.1`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2281-2022-06-29)
[Compare Source](https://togithub.com/psf/requests/compare/v2.28.0...v2.28.1)
**Improvements**
- Speed optimization in `iter_content` with transition to `yield from`. ([#6170](https://togithub.com/psf/requests/issues/6170))
**Dependencies**
- Added support for chardet 5.0.0 ([#6179](https://togithub.com/psf/requests/issues/6179))
- Added support for charset-normalizer 2.1.0 ([#6169](https://togithub.com/psf/requests/issues/6169))
### [`v2.28.0`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2280-2022-06-09)
[Compare Source](https://togithub.com/psf/requests/compare/v2.27.1...v2.28.0)
**Deprecations**
- ⚠️ Requests has officially dropped support for Python 2.7. ⚠️ ([#6091](https://togithub.com/psf/requests/issues/6091))
- Requests has officially dropped support for Python 3.6 (including pypy3.6). ([#6091](https://togithub.com/psf/requests/issues/6091))
**Improvements**
- Wrap JSON parsing issues in Request's JSONDecodeError for payloads without
an encoding to make `json()` API consistent. ([#6097](https://togithub.com/psf/requests/issues/6097))
- Parse header components consistently, raising an InvalidHeader error in
all invalid cases. ([#6154](https://togithub.com/psf/requests/issues/6154))
- Added provisional 3.11 support with current beta build. ([#6155](https://togithub.com/psf/requests/issues/6155))
- Requests got a makeover and we decided to paint it black. ([#6095](https://togithub.com/psf/requests/issues/6095))
**Bugfixes**
- Fixed bug where setting `CURL_CA_BUNDLE` to an empty string would disable
cert verification. All Requests 2.x versions before 2.28.0 are affected. ([#6074](https://togithub.com/psf/requests/issues/6074))
- Fixed urllib3 exception leak, wrapping `urllib3.exceptions.SSLError` with
`requests.exceptions.SSLError` for `content` and `iter_content`. ([#6057](https://togithub.com/psf/requests/issues/6057))
- Fixed issue where invalid Windows registry entires caused proxy resolution
to raise an exception rather than ignoring the entry. ([#6149](https://togithub.com/psf/requests/issues/6149))
- Fixed issue where entire payload could be included in the error message for
JSONDecodeError. ([#6036](https://togithub.com/psf/requests/issues/6036))
### [`v2.27.1`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2271-2022-01-05)
[Compare Source](https://togithub.com/psf/requests/compare/v2.27.0...v2.27.1)
**Bugfixes**
- Fixed parsing issue that resulted in the `auth` component being
dropped from proxy URLs. ([#6028](https://togithub.com/psf/requests/issues/6028))
### [`v2.27.0`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2270-2022-01-03)
[Compare Source](https://togithub.com/psf/requests/compare/v2.26.0...v2.27.0)
**Improvements**
- Officially added support for Python 3.10. ([#5928](https://togithub.com/psf/requests/issues/5928))
- Added a `requests.exceptions.JSONDecodeError` to unify JSON exceptions between
Python 2 and 3. This gets raised in the `response.json()` method, and is
backwards compatible as it inherits from previously thrown exceptions.
Can be caught from `requests.exceptions.RequestException` as well. ([#5856](https://togithub.com/psf/requests/issues/5856))
- Improved error text for misnamed `InvalidSchema` and `MissingSchema`
exceptions. This is a temporary fix until exceptions can be renamed
(Schema->Scheme). ([#6017](https://togithub.com/psf/requests/issues/6017))
- Improved proxy parsing for proxy URLs missing a scheme. This will address
recent changes to `urlparse` in Python 3.9+. ([#5917](https://togithub.com/psf/requests/issues/5917))
**Bugfixes**
- Fixed defect in `extract_zipped_paths` which could result in an infinite loop
for some paths. ([#5851](https://togithub.com/psf/requests/issues/5851))
- Fixed handling for `AttributeError` when calculating length of files obtained
by `Tarfile.extractfile()`. ([#5239](https://togithub.com/psf/requests/issues/5239))
- Fixed urllib3 exception leak, wrapping `urllib3.exceptions.InvalidHeader` with
`requests.exceptions.InvalidHeader`. ([#5914](https://togithub.com/psf/requests/issues/5914))
- Fixed bug where two Host headers were sent for chunked requests. ([#5391](https://togithub.com/psf/requests/issues/5391))
- Fixed regression in Requests 2.26.0 where `Proxy-Authorization` was
incorrectly stripped from all requests sent with `Session.send`. ([#5924](https://togithub.com/psf/requests/issues/5924))
- Fixed performance regression in 2.26.0 for hosts with a large number of
proxies available in the environment. ([#5924](https://togithub.com/psf/requests/issues/5924))
- Fixed idna exception leak, wrapping `UnicodeError` with
`requests.exceptions.InvalidURL` for URLs with a leading dot (.) in the
domain. ([#5414](https://togithub.com/psf/requests/issues/5414))
**Deprecations**
- Requests support for Python 2.7 and 3.6 will be ending in 2022. While we
don't have exact dates, Requests 2.27.x is likely to be the last release
series providing support.
### [`v2.26.0`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2260-2021-07-13)
[Compare Source](https://togithub.com/psf/requests/compare/v2.25.1...v2.26.0)
**Improvements**
- Requests now supports Brotli compression, if either the `brotli` or
`brotlicffi` package is installed. ([#5783](https://togithub.com/psf/requests/issues/5783))
- `Session.send` now correctly resolves proxy configurations from both
the Session and Request. Behavior now matches `Session.request`. ([#5681](https://togithub.com/psf/requests/issues/5681))
**Bugfixes**
- Fixed a race condition in zip extraction when using Requests in parallel
from zip archive. ([#5707](https://togithub.com/psf/requests/issues/5707))
**Dependencies**
- Instead of `chardet`, use the MIT-licensed `charset_normalizer` for Python3
to remove license ambiguity for projects bundling requests. If `chardet`
is already installed on your machine it will be used instead of `charset_normalizer`
to keep backwards compatibility. ([#5797](https://togithub.com/psf/requests/issues/5797))
You can also install `chardet` while installing requests by
specifying `[use_chardet_on_py3]` extra as follows:
```shell
pip install "requests[use_chardet_on_py3]"
```
Python2 still depends upon the `chardet` module.
- Requests now supports `idna` 3.x on Python 3. `idna` 2.x will continue to
be used on Python 2 installations. ([#5711](https://togithub.com/psf/requests/issues/5711))
**Deprecations**
- The `requests[security]` extra has been converted to a no-op install.
PyOpenSSL is no longer the recommended secure option for Requests. ([#5867](https://togithub.com/psf/requests/issues/5867))
- Requests has officially dropped support for Python 3.5. ([#5867](https://togithub.com/psf/requests/issues/5867))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
==2.25.1
->==2.28.1
Release Notes
psf/requests
### [`v2.28.1`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2281-2022-06-29) [Compare Source](https://togithub.com/psf/requests/compare/v2.28.0...v2.28.1) **Improvements** - Speed optimization in `iter_content` with transition to `yield from`. ([#6170](https://togithub.com/psf/requests/issues/6170)) **Dependencies** - Added support for chardet 5.0.0 ([#6179](https://togithub.com/psf/requests/issues/6179)) - Added support for charset-normalizer 2.1.0 ([#6169](https://togithub.com/psf/requests/issues/6169)) ### [`v2.28.0`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2280-2022-06-09) [Compare Source](https://togithub.com/psf/requests/compare/v2.27.1...v2.28.0) **Deprecations** - ⚠️ Requests has officially dropped support for Python 2.7. ⚠️ ([#6091](https://togithub.com/psf/requests/issues/6091)) - Requests has officially dropped support for Python 3.6 (including pypy3.6). ([#6091](https://togithub.com/psf/requests/issues/6091)) **Improvements** - Wrap JSON parsing issues in Request's JSONDecodeError for payloads without an encoding to make `json()` API consistent. ([#6097](https://togithub.com/psf/requests/issues/6097)) - Parse header components consistently, raising an InvalidHeader error in all invalid cases. ([#6154](https://togithub.com/psf/requests/issues/6154)) - Added provisional 3.11 support with current beta build. ([#6155](https://togithub.com/psf/requests/issues/6155)) - Requests got a makeover and we decided to paint it black. ([#6095](https://togithub.com/psf/requests/issues/6095)) **Bugfixes** - Fixed bug where setting `CURL_CA_BUNDLE` to an empty string would disable cert verification. All Requests 2.x versions before 2.28.0 are affected. ([#6074](https://togithub.com/psf/requests/issues/6074)) - Fixed urllib3 exception leak, wrapping `urllib3.exceptions.SSLError` with `requests.exceptions.SSLError` for `content` and `iter_content`. ([#6057](https://togithub.com/psf/requests/issues/6057)) - Fixed issue where invalid Windows registry entires caused proxy resolution to raise an exception rather than ignoring the entry. ([#6149](https://togithub.com/psf/requests/issues/6149)) - Fixed issue where entire payload could be included in the error message for JSONDecodeError. ([#6036](https://togithub.com/psf/requests/issues/6036)) ### [`v2.27.1`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2271-2022-01-05) [Compare Source](https://togithub.com/psf/requests/compare/v2.27.0...v2.27.1) **Bugfixes** - Fixed parsing issue that resulted in the `auth` component being dropped from proxy URLs. ([#6028](https://togithub.com/psf/requests/issues/6028)) ### [`v2.27.0`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2270-2022-01-03) [Compare Source](https://togithub.com/psf/requests/compare/v2.26.0...v2.27.0) **Improvements** - Officially added support for Python 3.10. ([#5928](https://togithub.com/psf/requests/issues/5928)) - Added a `requests.exceptions.JSONDecodeError` to unify JSON exceptions between Python 2 and 3. This gets raised in the `response.json()` method, and is backwards compatible as it inherits from previously thrown exceptions. Can be caught from `requests.exceptions.RequestException` as well. ([#5856](https://togithub.com/psf/requests/issues/5856)) - Improved error text for misnamed `InvalidSchema` and `MissingSchema` exceptions. This is a temporary fix until exceptions can be renamed (Schema->Scheme). ([#6017](https://togithub.com/psf/requests/issues/6017)) - Improved proxy parsing for proxy URLs missing a scheme. This will address recent changes to `urlparse` in Python 3.9+. ([#5917](https://togithub.com/psf/requests/issues/5917)) **Bugfixes** - Fixed defect in `extract_zipped_paths` which could result in an infinite loop for some paths. ([#5851](https://togithub.com/psf/requests/issues/5851)) - Fixed handling for `AttributeError` when calculating length of files obtained by `Tarfile.extractfile()`. ([#5239](https://togithub.com/psf/requests/issues/5239)) - Fixed urllib3 exception leak, wrapping `urllib3.exceptions.InvalidHeader` with `requests.exceptions.InvalidHeader`. ([#5914](https://togithub.com/psf/requests/issues/5914)) - Fixed bug where two Host headers were sent for chunked requests. ([#5391](https://togithub.com/psf/requests/issues/5391)) - Fixed regression in Requests 2.26.0 where `Proxy-Authorization` was incorrectly stripped from all requests sent with `Session.send`. ([#5924](https://togithub.com/psf/requests/issues/5924)) - Fixed performance regression in 2.26.0 for hosts with a large number of proxies available in the environment. ([#5924](https://togithub.com/psf/requests/issues/5924)) - Fixed idna exception leak, wrapping `UnicodeError` with `requests.exceptions.InvalidURL` for URLs with a leading dot (.) in the domain. ([#5414](https://togithub.com/psf/requests/issues/5414)) **Deprecations** - Requests support for Python 2.7 and 3.6 will be ending in 2022. While we don't have exact dates, Requests 2.27.x is likely to be the last release series providing support. ### [`v2.26.0`](https://togithub.com/psf/requests/blob/HEAD/HISTORY.md#2260-2021-07-13) [Compare Source](https://togithub.com/psf/requests/compare/v2.25.1...v2.26.0) **Improvements** - Requests now supports Brotli compression, if either the `brotli` or `brotlicffi` package is installed. ([#5783](https://togithub.com/psf/requests/issues/5783)) - `Session.send` now correctly resolves proxy configurations from both the Session and Request. Behavior now matches `Session.request`. ([#5681](https://togithub.com/psf/requests/issues/5681)) **Bugfixes** - Fixed a race condition in zip extraction when using Requests in parallel from zip archive. ([#5707](https://togithub.com/psf/requests/issues/5707)) **Dependencies** - Instead of `chardet`, use the MIT-licensed `charset_normalizer` for Python3 to remove license ambiguity for projects bundling requests. If `chardet` is already installed on your machine it will be used instead of `charset_normalizer` to keep backwards compatibility. ([#5797](https://togithub.com/psf/requests/issues/5797)) You can also install `chardet` while installing requests by specifying `[use_chardet_on_py3]` extra as follows: ```shell pip install "requests[use_chardet_on_py3]" ``` Python2 still depends upon the `chardet` module. - Requests now supports `idna` 3.x on Python 3. `idna` 2.x will continue to be used on Python 2 installations. ([#5711](https://togithub.com/psf/requests/issues/5711)) **Deprecations** - The `requests[security]` extra has been converted to a no-op install. PyOpenSSL is no longer the recommended secure option for Requests. ([#5867](https://togithub.com/psf/requests/issues/5867)) - Requests has officially dropped support for Python 3.5. ([#5867](https://togithub.com/psf/requests/issues/5867))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.