Skip to content

Commit 5351220

Browse files
authored
docs(changes): prepare 4.0.0 stable (#2378)
* docs(4.0.0): write a paragraph on community contributions * docs(changes): prepare 4.0.0 stable
1 parent 61c1047 commit 5351220

File tree

3 files changed

+43
-26
lines changed

3 files changed

+43
-26
lines changed

docs/changes/4.0.0.rst

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,45 @@ Changelog for Falcon 4.0.0
44
Summary
55
-------
66

7-
The first release candidate of Falcon 4.0 is here!
8-
9-
As Falcon 4.0 is now nearing a stable release, in preparation for this
10-
milestone, we would really be thankful if you could test this release candidate
11-
with your apps, and :ref:`let us know if you run into any issues <chat>`!
12-
Please also check the list of **breaking changes** below.
13-
14-
If you make use of type annotations in your Falcon app, please run your type
15-
checker of choice without any *typeshed* extensions for Falcon, and
16-
:ref:`report back to us <chat>` how it went!
17-
18-
As always, you can grab the new release
19-
`from PyPI <https://pypi.org/project/falcon/4.0.0rc1/>`__::
20-
21-
pip install falcon==4.0.0rc1
22-
23-
(Alternatively, continue reading these docs for more
24-
:ref:`installation options <install>`.)
25-
26-
This release would have not been possible without contributions from the
27-
fantastic group of 30 community members and maintainers.
28-
29-
Thank You!
7+
We are happy to present Falcon 4.0, a new major version of the framework that
8+
brings a couple of commonly requested features including support for matching
9+
multiple path segments (using :class:`~falcon.routing.PathConverter`), and
10+
a fully typed codebase. (Please read more about typing in the notes below.)
11+
12+
The timeframe for Falcon 4.0 was challenging due to the need to balance our
13+
high standards with the CPython 3.13 timeline. We aimed to deliver the main
14+
development branch in this release, without resorting to another compatibility
15+
micro update (as we did with Falcon 3.1.1-3.1.3). Following community feedback,
16+
we also want to improve our overall release schedule by shipping smaller
17+
increments more often.
18+
To support this goal, we have made several tooling and testing improvements:
19+
the build process for :ref:`binary wheels <binary_wheels>` has been simplified
20+
using `cibuildwheel <https://cibuildwheel.pypa.io/>`__, and our test suite now
21+
only requires ``pytest`` as a hard dependency. Additionally, you can run
22+
``pytest`` against our tests from any directory. We hope that these changes
23+
should also benefit packaging Falcon in Linux distributions.
24+
25+
As with every SemVer major release, we have removed a number of previously
26+
deprecated functions, classes, compatibility shims, as well as made other
27+
potentially breaking changes that we could not risk in a minor version.
28+
If you have been paying attention the deprecation warnings from the 3.x series,
29+
the impact should be minimal, but please do take a look at the list of breaking
30+
changes below.
31+
32+
This release would not have been possible without the numerous contributions
33+
from our community. This release alone comprises a number of pull requests
34+
submitted by a group of 30 talented individuals. What is more, we were
35+
particularly impressed by the high-quality discussions and code submissions
36+
during our
37+
`EuroPython 2024 Sprint <https://ep2024.europython.eu/sprints#the-falcon-web-framework>`__.
38+
Some notable sprint contributions include CHIPS support, and a new
39+
:ref:`WebSocket Tutorial <tutorial-ws>`, among others.
40+
In fact, according to the
41+
`statistics on GitHub <https://github.com/falconry/falcon/graphs/contributors>`__,
42+
we are thrilled to report that the total number of Falcon
43+
contributors has now exceeded 200. We find it fascinating that our framework
44+
has become a collaborative effort involving so many individuals, and would like
45+
to thank everyone who has made this release possible!
3046

3147

3248
Changes to Supported Platforms
@@ -42,7 +58,8 @@ Changes to Supported Platforms
4258
(`#2074 <https://github.com/falconry/falcon/pull/2074>`__,
4359
`#2273 <https://github.com/falconry/falcon/pull/2273>`__)
4460
- End-of-life Python 3.8 is no longer actively supported, but
45-
the framework should still continue to install from source and function.
61+
the framework should still continue to install from the pure-Python wheel or
62+
source distribution, and function normally.
4663
- The Falcon 4.x series is guaranteed to support CPython 3.10 and
4764
PyPy3.10 (v7.3.16).
4865
This means that we may drop the support for Python 3.8 & 3.9 altogether in a

docs/user/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ Binary Wheels
127127
^^^^^^^^^^^^^
128128

129129
Binary Falcon wheels are automatically built for many CPython platforms,
130-
courtesy of `cibuildwheel <https://cibuildwheel.pypa.io/en/stable/>`__.
130+
courtesy of `cibuildwheel <https://cibuildwheel.pypa.io/>`__.
131131

132132
.. wheels:: .github/workflows/cibuildwheel.yaml
133133

falcon/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414

1515
"""Falcon version."""
1616

17-
__version__ = '4.0.0rc1'
17+
__version__ = '4.0.0'
1818
"""Current version of Falcon."""

0 commit comments

Comments
 (0)