Skip to content

Commit 4bf3461

Browse files
committed
Merge remote-tracking branch 'origin/trunk' into no-more-setup-py
2 parents 8f45bf5 + ca3966f commit 4bf3461

22 files changed

+127
-733
lines changed

.github/workflows/ci.yaml

+9-4
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ on:
88

99
jobs:
1010
lint:
11-
runs-on: ubuntu-20.04
11+
runs-on: ubuntu-24.04
1212
timeout-minutes: 5
1313

1414
steps:
1515
- uses: actions/checkout@v4
1616

1717
- uses: actions/setup-python@v5
1818
with:
19-
python-version: '3.12'
19+
python-version: "3.12"
2020

2121
- uses: actions/cache@v4
2222
with:
@@ -34,7 +34,7 @@ jobs:
3434
TOX_PARALLEL_NO_SPINNER: 1
3535

3636
docs:
37-
runs-on: ubuntu-20.04
37+
runs-on: ubuntu-24.04
3838
timeout-minutes: 5
3939

4040
steps:
@@ -60,7 +60,7 @@ jobs:
6060

6161
test:
6262
name: "Test ${{ matrix.python-version }} with ${{ matrix.twisted-version }} Twisted"
63-
runs-on: ubuntu-20.04
63+
runs-on: ubuntu-22.04
6464
timeout-minutes: 10
6565
continue-on-error: ${{ matrix.experimental }}
6666
strategy:
@@ -81,6 +81,10 @@ jobs:
8181
twisted-version: "latest"
8282
experimental: false
8383

84+
- python-version: "3.13-dev"
85+
twisted-version: "latest"
86+
experimental: true
87+
8488
- python-version: "pypy-3.10"
8589
twisted-version: "latest"
8690
experimental: false
@@ -116,6 +120,7 @@ jobs:
116120
"3.10": "py310",
117121
"3.11": "py311",
118122
"3.12": "py312",
123+
"3.13-dev": "py313",
119124
"pypy-3.8": "pypy3",
120125
"pypy-3.9": "pypy3",
121126
"pypy-3.10": "pypy3",

.github/workflows/release.yaml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags: [ "treq-*" ]
6+
pull_request:
7+
branches: [ trunk ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-24.04
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.12'
22+
23+
- run: pip install build twine
24+
25+
- run: python3 -m build
26+
27+
- run: twine check dist/*.*
28+
29+
- uses: actions/upload-artifact@v4
30+
with:
31+
name: dist
32+
path: dist/*.*
33+
if-no-files-found: error
34+
35+
pypi-publish:
36+
runs-on: ubuntu-24.04
37+
if: startsWith(github.ref, 'refs/tags/treq-')
38+
needs: [build]
39+
40+
environment:
41+
name: PyPI.org
42+
url: https://pypi.org/project/treq
43+
44+
permissions:
45+
id-token: write
46+
47+
steps:
48+
49+
- uses: actions/download-artifact@v4
50+
with:
51+
name: dist
52+
path: dist/
53+
54+
- uses: pypa/gh-action-pypi-publish@release/v1

CHANGELOG.rst

+31
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,37 @@ Changelog
88

99
.. towncrier release notes start
1010
11+
24.9.0 (2024-09-17)
12+
===================
13+
14+
Features
15+
--------
16+
17+
- treq now ships type annotations. (`#366 <https://github.com/twisted/treq/issues/366>`__)
18+
- The new :mod:`treq.cookies` module provides helper functions for working with `http.cookiejar.Cookie` and `CookieJar` objects. (`#384 <https://github.com/twisted/treq/issues/384>`__)
19+
- Python 3.13 is now supported. (`#391 <https://github.com/twisted/treq/issues/391>`__)
20+
21+
22+
Bugfixes
23+
--------
24+
25+
- :mod:`treq.content.text_content()` no longer generates deprecation warnings due to use of the ``cgi`` module. (`#355 <https://github.com/twisted/treq/issues/355>`__)
26+
27+
28+
Deprecations and Removals
29+
-------------------------
30+
31+
- Mixing the *json* argument with *files* or *data* now raises `TypeError`. (`#297 <https://github.com/twisted/treq/issues/297>`__)
32+
- Passing non-string (`str` or `bytes`) values as part of a dict to the *headers* argument now results in a `TypeError`, as does passing any collection other than a `dict` or `Headers` instance. (`#302 <https://github.com/twisted/treq/issues/302>`__)
33+
- Support for Python 3.7 and PyPy 3.8, which have reached end of support, has been dropped. (`#378 <https://github.com/twisted/treq/issues/378>`__)
34+
35+
36+
Misc
37+
----
38+
39+
- `#336 <https://github.com/twisted/treq/issues/336>`__, `#382 <https://github.com/twisted/treq/issues/382>`__, `#395 <https://github.com/twisted/treq/issues/395>`__
40+
41+
1142
23.11.0 (2023-11-03)
1243
====================
1344

changelog.d/297.removal.rst

-1
This file was deleted.

changelog.d/302.removal.rst

-1
This file was deleted.

changelog.d/336.misc.rst

Whitespace-only changes.

changelog.d/355.bugfix.rst

-1
This file was deleted.

changelog.d/366.feature.rst

-1
This file was deleted.

changelog.d/378.removal.rst

-1
This file was deleted.

changelog.d/382.misc.rst

Whitespace-only changes.

changelog.d/384.feature.rst

-1
This file was deleted.

docs/examples/digest_auth.py

-16
This file was deleted.

docs/howto.rst

-21
Original file line numberDiff line numberDiff line change
@@ -92,27 +92,6 @@ The ``auth`` argument should be a tuple of the form ``('username', 'password')``
9292

9393
Full example: :download:`basic_auth.py <examples/basic_auth.py>`
9494

95-
HTTP Digest authentication is supported by passing an instance of
96-
:py:class:`treq.auth.HTTPDigestAuth` to any of the request functions by using the `auth` keyword argument.
97-
We support only "auth" QoP as defined at `RFC 2617`_
98-
or simple `RFC 2069`_ without QoP at the moment. Treq takes care of
99-
caching HTTP digest credentials — after authorizing any URL/method pair,
100-
the library will use the initially received HTTP digest credentials on that endpoint
101-
for subsequent requests, and will not perform any redundant requests to obtain the
102-
credentials.
103-
104-
:py:class:`treq.auth.HTTPDigestAuth` class accepts ``username`` and ``password``
105-
as constructor arguments.
106-
107-
.. literalinclude:: examples/digest_auth.py
108-
:linenos:
109-
:lines: 5-14
110-
111-
Full example: :download:`digest_auth.py <examples/digest_auth.py>`
112-
113-
.. _RFC 2617: http://www.ietf.org/rfc/rfc2617.txt
114-
.. _RFC 2069: http://www.ietf.org/rfc/rfc2069.txt
115-
11695
Redirects
11796
---------
11897

docs/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Here is a list of `requests`_ features and their status in treq.
7171
+----------------------------------+----------+----------+
7272
| Basic Authentication | yes | yes |
7373
+----------------------------------+----------+----------+
74-
| Digest Authentication | yes | yes |
74+
| Digest Authentication | yes | no |
7575
+----------------------------------+----------+----------+
7676
| Elegant Key/Value Cookies | yes | yes |
7777
+----------------------------------+----------+----------+

pyproject.toml

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ classifiers = [
4848
"Programming Language :: Python :: 3.10",
4949
"Programming Language :: Python :: 3.11",
5050
"Programming Language :: Python :: 3.12",
51+
"Programming Language :: Python :: 3.13",
5152
"Programming Language :: Python :: Implementation :: CPython",
5253
"Programming Language :: Python :: Implementation :: PyPy",
5354
]

src/treq/_version.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
"""
44

55
# This file is auto-generated! Do not edit!
6-
# Use `python -m incremental.update treq` to change this file.
6+
# Use `incremental` to change this file.
77

88
from incremental import Version
99

10-
__version__ = Version("treq", 23, 11, 0)
10+
__version__ = Version("treq", 24, 9, 0)
1111
__all__ = ["__version__"]

0 commit comments

Comments
 (0)