Skip to content

Releases: falconry/falcon

4.0.2

06 Nov 19:00
4ac5ec6
Compare
Choose a tag to compare

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.

🐍 Falcon 4.0.2 on PyPI

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

22 Oct 18:24
Compare
Choose a tag to compare

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

18 Oct 17:05
5351220
Compare
Choose a tag to compare

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

16 Oct 04:54
61c1047
Compare
Choose a tag to compare
4.0.0rc1 Pre-release
Pre-release

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

14 Oct 05:35
9debc9e
Compare
Choose a tag to compare
4.0.0b4 Pre-release
Pre-release

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

10 Oct 19:34
2556dbe
Compare
Choose a tag to compare
4.0.0b3 Pre-release
Pre-release

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

09 Oct 18:16
06fdf28
Compare
Choose a tag to compare
4.0.0b2 Pre-release
Pre-release

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

06 Oct 20:48
Compare
Choose a tag to compare
4.0.0b1 Pre-release
Pre-release

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

28 Sep 09:52
a0da915
Compare
Choose a tag to compare
4.0.0a2 Pre-release
Pre-release

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

28 Sep 05:58
217dc46
Compare
Choose a tag to compare
4.0.0a1 Pre-release
Pre-release

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

Let us know how it went!