Skip to content

Commit 251c92b

Browse files
authored
Merge branch 'master' into master
2 parents 8822358 + 30abd91 commit 251c92b

40 files changed

Lines changed: 646 additions & 210 deletions

.github/workflows/black.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ jobs:
66
lint:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v2
9+
- uses: actions/checkout@v3
1010
- uses: psf/black@stable

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ jobs:
77
build:
88
runs-on: ubuntu-latest
99
steps:
10-
- name: Set up Python 3.8
11-
uses: actions/setup-python@v1
10+
- name: Set up Python 3.10
11+
uses: actions/setup-python@v4
1212
with:
13-
python-version: 3.8
13+
python-version: "3.10"
1414
- name: Checkout code
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v4
1616
- name: Install dependencies
1717
run: |
1818
python -m pip install --upgrade pip

.github/workflows/test.yml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,32 @@ jobs:
1313
unit-tests:
1414
runs-on: ubuntu-latest
1515
strategy:
16+
fail-fast: false
1617
matrix:
17-
python-version: ["3.7", "3.8", "3.9", "3.10", "pypy3"]
18+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "pypy3.11"]
19+
flask: ["<3.0.0", ">=3.0.0"]
20+
exclude:
21+
- python-version: "3.13"
22+
flask: "<3.0.0"
23+
- python-version: "3.14"
24+
flask: "<3.0.0"
1825
steps:
1926
- name: Set up Python ${{ matrix.python-version }}
20-
uses: actions/setup-python@v1
27+
uses: actions/setup-python@v4
2128
with:
2229
python-version: ${{ matrix.python-version }}
30+
allow-prereleases: true
2331
- name: Checkout code
24-
uses: actions/checkout@v2
32+
uses: actions/checkout@v3
2533
- name: Install dependencies
2634
run: |
2735
python -m pip install --upgrade pip
36+
# PyPy: pin rpds-py before resolving jsonschema/referencing so pip picks manylinux wheels
37+
# (sdists use maturin; builds are fragile on PyPy). CPython does not need this.
38+
case "${{ matrix.python-version }}" in
39+
pypy3.11) pip install 'rpds-py<0.30' 'readme-renderer>=35,<42' ;;
40+
esac
41+
pip install "flask${{ matrix.flask }}"
2842
pip install ".[test]"
2943
- name: Test with inv
3044
run: inv cover qa
@@ -37,17 +51,17 @@ jobs:
3751
runs-on: ubuntu-latest
3852
if: github.event_name == 'pull_request'
3953
steps:
40-
- name: Set up Python 3.8
41-
uses: actions/setup-python@v1
54+
- name: Set up Python 3.12
55+
uses: actions/setup-python@v4
4256
with:
43-
python-version: "3.8"
57+
python-version: "3.12"
4458
- name: Checkout ${{ github.base_ref }}
45-
uses: actions/checkout@v2
59+
uses: actions/checkout@v3
4660
with:
4761
ref: ${{ github.base_ref}}
4862
path: base
4963
- name: Checkout ${{ github.ref }}
50-
uses: actions/checkout@v2
64+
uses: actions/checkout@v3
5165
with:
5266
ref: ${{ github.ref}}
5367
path: ref

CHANGELOG.rst

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,126 @@ Releases prior to 0.3.0 were “best effort” filled out, but are missing
2525
some info. If you see your contribution missing info, please open a PR
2626
on the Changelog!
2727

28+
.. _section-1.3.3:
29+
1.3.3
30+
-----
31+
.. _enhancements-1.3.3
32+
Enhancements
33+
~~~~~~~~~~~~
34+
35+
::
36+
37+
* Drop support for Python 3.9 (EOL); require Python 3.10 or newer. [python-restx]
38+
* Declare and test support for Python 3.13 and 3.14 (CPython). [python-restx]
39+
* Expand GitHub Actions and tox coverage: PyPy 3.11 with both Flask 2.x and Flask 3.x; exclude Flask 2 on 3.13/3.14 where unsupported. [python-restx]
40+
* Refresh test and release tooling (pytest, pytest-benchmark, pytest-profiling, twine) for newer interpreters. GitHub Actions pre-installs compatible ``rpds-py`` (and ``readme-renderer`` for PyPy 3.11) for PyPy jobs; tox pins ``rpds-py`` for local PyPy envs. [python-restx]
41+
42+
.. _bug_fixes-1.3.3
43+
Bug Fixes
44+
~~~~~~~~~
45+
46+
::
47+
48+
* Adjust field tests for Python 3.14 (``staticmethod`` around ``functools.partial`` used as a class attribute). [python-restx]
49+
50+
.. _section-1.3.1:
51+
1.3.1
52+
-----
53+
.. _bug_fixes-1.3.1
54+
Bug Fixes
55+
~~~~~~~~~
56+
57+
::
58+
59+
* Add python version requirement on setup.py (#586) [jason-the-j]
60+
* Add a thread lock to avoid concurrent schema construction. (#545) [peter-doggart]
61+
* Fix Nested field schema generation for nullable fields. (#638) [peter-doggart]
62+
* Fix reference resolution for definitions in schema. (#553) [peter-doggart]
63+
64+
.. _section-1.3.0:
65+
1.3.0
66+
-----
67+
.. _bug_fixes-1.3.0
68+
Bug Fixes
69+
~~~~~~~~~
70+
71+
::
72+
73+
* Fixing werkzeug 3 deprecated version import. Import is replaced by new style version check with importlib (#573) [Ryu-CZ]
74+
* Fixing flask 3.0+ compatibility of `ModuleNotFoundError: No module named 'flask.scaffold'` Import error. (#567) [Ryu-CZ]
75+
* Fix wrong status code and message on responses when handling `HTTPExceptions` (#569) [lkk7]
76+
* Add flask 2 and flask 3 to testing matrix. [foarsitter]
77+
* Update internally pinned pytest-flask to 1.3.0 for Flask >=3.0.0 support. [peter-doggart]
78+
* Python 3.12 support. [foarsitter]
79+
* Fix wrong status code and message on responses when handling HTTPExceptions. [ikk7]
80+
* Update changelog Flask version table. [peter-doggart]
81+
* Remove temporary package version restrictions for flask < 3.0.0, werkzeug and jsonschema (jsonschema future deprecation warning remains. See #553). [peter-doggart]
82+
83+
.. _section-1.2.0:
84+
1.2.0
85+
-----
86+
.. _bug_fixes-1.2.0
87+
Bug Fixes
88+
~~~~~~~~~
89+
90+
::
91+
92+
* Fixing test as HTTP Header MIMEAccept expects quality-factor number in form of `X.X` (#547) [chipndell]
93+
* Introduce temporary restrictions on some package versions. (`flask<3.0.0`, `werkzeug<3.0.0`, `jsonschema<=4.17.3`) [peter-doggart]
94+
95+
96+
.. _enhancements-1.2.0:
97+
98+
Enhancements
99+
~~~~~~~~~~~~
100+
101+
::
102+
103+
* Drop support for python 3.7
104+
105+
106+
.. _section-1.1.0:
107+
1.1.0
108+
-----
109+
110+
.. _bug_fixes-1.1.0
111+
Bug Fixes
112+
~~~~~~~~~
113+
114+
::
115+
116+
* Update Swagger-UI to latest version to fix several security vulnerabiltiies. [peter-doggart]
117+
* Add a warning to the docs that nested Blueprints are not supported. [peter-doggart]
118+
* Add a note to the docs that flask-restx always registers the root (/) path. [peter-doggart]
119+
120+
.. _section-1.0.6:
121+
1.0.6
122+
-----
123+
124+
.. _bug_fixes-1.0.6
125+
Bug Fixes
126+
~~~~~~~~~
127+
128+
::
129+
130+
* Update Black to 2023 version [peter-doggart]
131+
* Fix minor bug introduced in 1.0.5 that changed the behaviour of how flask-restx propagates exceptions. (#512) [peter-doggart]
132+
* Update PyPi classifer to Production/Stable. [peter-doggart]
133+
* Add support for Python 3.11 (requires update to invoke ^2.0.0) [peter-doggart]
134+
135+
.. _section-1.0.5:
136+
1.0.5
137+
-----
138+
139+
.. _bug_fixes-1.0.5
140+
Bug Fixes
141+
~~~~~~~~~
142+
143+
::
144+
145+
* Fix failing pypy python setup in github actions
146+
* Fix compatibility with upcoming release of Flask 2.3+. (#485) [jdieter]
147+
28148
.. _section-1.0.2:
29149
1.0.2
30150
-----

README.rst

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ and expose its documentation properly using `Swagger`_.
3838
Compatibility
3939
=============
4040

41-
Flask-RESTX requires Python 3.5+.
41+
Flask-RESTX requires Python 3.10+.
4242

4343
On Flask Compatibility
4444
======================
@@ -60,10 +60,16 @@ Flask and Werkzeug moved to versions 2.0 in March 2020. This caused a breaking c
6060
- < 2.0.0
6161
- pinned in Flask-RESTX.
6262
* - >= 0.5.0
63-
- All (For Now)
63+
- < 3.0.0
64+
- unpinned, import statements wrapped for compatibility
65+
* - == 1.2.0
66+
- < 3.0.0
67+
- pinned in Flask-RESTX.
68+
* - >= 1.3.0
69+
- >= 2.0.0 (Flask >= 3.0.0 support)
6470
- unpinned, import statements wrapped for compatibility
6571
* - trunk branch in Github
66-
- All (and updated more often)
72+
- >= 2.0.0 (Flask >= 3.0.0 support)
6773
- unpinned, will address issues faster than releases.
6874

6975
Installation
@@ -189,7 +195,8 @@ Contributors
189195

190196
Flask-RESTX is brought to you by @python-restx. Since early 2019 @SteadBytes,
191197
@a-luna, @j5awry, @ziirish volunteered to help @python-restx keep the project up
192-
and running.
198+
and running, they did so for a long time! Since the beginning of 2023, the project
199+
is maintained by @peter-doggart with help from @ziirish.
193200
Of course everyone is welcome to contribute and we will be happy to review your
194201
PR's or answer to your issues.
195202

bumpr.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ vcs = git
44
commit = true
55
tag = true
66
push = true
7-
tests = tox -e py38
7+
tests = tox -e py310
88
clean =
99
inv clean
1010
files =

doc/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ development and to support our users.
3333
Compatibility
3434
=============
3535

36-
Flask-RESTX requires Python 3.7+.
36+
Flask-RESTX requires Python 3.10+.
3737

3838

3939
Installation

doc/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ The development version can be downloaded from
2020
pip install -e .[dev,test]
2121
2222
23-
Flask-RESTX requires Python version 2.7, 3.5, 3.6, 3.7, or 3.8.
23+
Flask-RESTX requires Python version 3.10+.
2424
It's also working with PyPy and PyPy3.

doc/marshalling.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ use :class:`~fields.Wildcard` ::
232232
>>> '{"Jane": "68", "bob": "42", "John": "12"}'
233233

234234
The name you give to your :class:`~fields.Wildcard` acts as a real glob as
235-
shown bellow ::
235+
shown below ::
236236

237237
>>> from flask_restx import fields, marshal
238238
>>> import json

doc/parsing.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ And your args will look like this :
8585
args = parser.parse_args()
8686
args['name'] # ['bob', 'sue', 'joe']
8787
88-
If you expect a coma separated list, use the ``action='split'``:
88+
If you expect a comma-separated list, use the ``action='split'``:
8989

9090
.. code-block:: python
9191

0 commit comments

Comments
 (0)