Releases: falconry/falcon
4.0.2
Falcon 4.0.2 is a minor point release (following the major Falcon 4.0.0 release, and Falcon 4.0.1 bugfix) to fix some missed re-exports for type checkers. In addition, we have also included a couple of documentation improvements.
Fixed
Running Mypy on code that uses parts of falcon.testing
would previously lead to errors like:
Name "falcon.testing.TestClient" is not defined
This has been fixed by explicitly exporting the names that are imported into the falcon.testing
namespace. (#2387)
Misc
The printable PDF version of our documentation was enabled on Read the Docs. (#2365)
4.0.1
Falcon 4.0.1 is a minor point release addressing a Python distribution issue in Falcon 4.0.0.
Fixed
Installing Falcon 4.0.0 unexpectedly copies many unintended directories from the source tree to the venv’s site-packages
. This issue has been rectified, and our CI has been extended with new tests (that verify what is actually installed from the distribution) to make sure this regression does not resurface. (#2384)
4.0.0
We are happy to present Falcon 4.0, a new major version of the framework that brings a couple of commonly requested features including support for matching multiple path segments (using PathConverter), and a fully typed codebase. (Please read more about typing in the notes on RtD.)
🐍 Falcon 4.0.0 on PyPI
📚 Changelog on RtD
The timeframe for Falcon 4.0 was challenging due to the need to balance our high standards with the CPython 3.13 timeline. We aimed to deliver the main development branch in this release, without resorting to another compatibility micro update (as we did with Falcon 3.1.1-3.1.3). Following community feedback, we also want to improve our overall release schedule by shipping smaller increments more often. To support this goal, we have made several tooling and testing improvements: the build process for binary wheels has been simplified using cibuildwheel, and our test suite now only requires pytest as a hard dependency. Additionally, you can run pytest against our tests from any directory. We hope that these changes should also benefit packaging Falcon in Linux distributions.
As with every SemVer major release, we have removed a number of previously deprecated functions, classes, compatibility shims, as well as made other potentially breaking changes that we could not risk in a minor version. If you have been paying attention the deprecation warnings from the 3.x series, the impact should be minimal, but please do take a look at the list of breaking changes on RtD.
This release would not have been possible without the numerous contributions from our community. This release alone comprises a number of pull requests submitted by a group of 30 talented individuals. What is more, we were particularly impressed by the high-quality discussions and code submissions during our EuroPython 2024 Sprint. Some notable sprint contributions include CHIPS support, and a new WebSocket Tutorial, among others. In fact, according to the statistics on GitHub, we are thrilled to report that the total number of Falcon contributors has now exceeded 200. We find it fascinating that our framework has become a collaborative effort involving so many individuals, and would like to thank everyone who has made this release possible!
4.0.0rc1
We are almost ready to release Falcon 4.0!
🐍 4.0.0rc1 on PyPI
📚 Changelog on RtD
We would greatly appreciate it if you could help us with the final round of testing on your apps (pip install falcon==4.0.0rc1
),
and let us know if you run into any issues!
Thank You!
4.0.0b4
Falcon 4.0.0b4
is hopefully the final beta release of Falcon 4.0. Compared to 4.0.0b3
, we have made the timezone-aware datetime breaking changes more consistent, and documented the scope clearer.
🐍 4.0.0b4 on PyPI
📚 Changelog on RtD
Please test this beta release with your apps (pip install falcon==4.0.0b4
), and let us know if you run into any issues!
Thank You!
4.0.0b3
This is the third beta release of Falcon 4.0; it is almost identical to 4.0.0b2
with the exception of one multipart form parsing bug that has been fixed (#2364).
🐍 4.0.0b3 on PyPI
📚 Changelog on RtD
Please test this beta release with your apps (pip install falcon==4.0.0b3
), and let us know if you run into any issues!
Thank You!
4.0.0b2
This is the second beta release of Falcon 4.0, where we made minor CI tweaks, and brought back the unintentionally removed, blocked resp.body
property (it raises an instance of specialized AttributeError
instead of a silent failure, making it much easier for the developer to track down this breaking change).
🐍 4.0.0b2 on PyPI
📚 Changelog on RtD
This release is otherwise largely identical to 4.0.0b1
.
Please test this beta release with your apps (pip install falcon==4.0.0b2
), and let us know if you run into any issues!
Thank You!
4.0.0b1
The first beta release of Falcon 4.0.0 is here!
Falcon 4.0 is now feature-complete, and we would really be thankful if you could test this beta release with your apps, and let us know if you run into any issues!
If you make use of type annotations in your Falcon app, please run your type checker of choice without any typeshed extensions for Falcon, and report back to us how it went!
🐍 4.0.0b1 on PyPI
📚 Changelog on RtD
As always, you can grab the new release from PyPI:
pip install falcon==4.0.0b1
This release would have not been possible without contributions from the fantastic group of 30 community members and maintainers.
Thank You!
4.0.0a2
The second alpha release of Falcon 4.0.0 is out!
Although we are still in the process of polishing the last items from the version 4.0 milestone, we do not expect (m)any radical changes from now on until Falcon 4.0.0 final.
The full changelog of new features, breaking changes and fixes will be rendered as part of the first beta release.
This release hopefully addresses the build issues we encountered in 4.0.0a1
.
We would really appreciate if you could help with early testing on your code!
You can grab this release from PyPI (pip install falcon==4.0.0a2
), and let us know how it went!
4.0.0a1
The first alpha release of Falcon 4.0.0 is here!
Although we are still in the process of polishing the last items from the version 4.0 milestone, we do not expect (m)any radical changes from now on until Falcon 4.0.0 final.
The full changelog of new features, breaking changes and fixes will be rendered as part of the first beta release.
Update
One wheel failed to build on Windows, so nothing has been published to PyPI yet 😬. We will address this issue in 4.0.0a2
.
If you feel adventurous, you can still build and test the release from the below files here on GitHub:
# Build binaries (takes a couple of minutes)
pip install https://github.com/falconry/falcon/releases/download/4.0.0a1/falcon-4.0.0a1.tar.gz
# Pure-python wheel (fast install, slightly lower runtime performance)
pip install https://github.com/falconry/falcon/releases/download/4.0.0a1/falcon-4.0.0a1-py3-none-any.whl