@@ -4,29 +4,45 @@ Changelog for Falcon 4.0.0
44Summary
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
3248Changes 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
0 commit comments