This release contains several refinements to request validation and error handling, along with some tweaks to response handling for static and downloadable files.
Due to popular demand, TestClient and ASGIConductor now expose convenience shorthand aliases for the simulate_* methods, i.e., simulate_get() is now also available as get(), etc.
Some important bugs were also fixed to ensure applications properly clean up response streams and do not hang when reading request bodies that are streamed using chunked transfer encoding.
This release also adds support for CPython 3.10 and deprecates CPython 3.6.
Review and edit doc changes since the last release for clarity and consistency.
Publish final version and add a release note.
Run benchmark and update falconframework.org with latest numbers.
Announce the new version in Gitter channels and on the socials.
Bump version and update tag
Modify falcon/version.py if it has not been updated since the previous
release. Examine the rendered changelog to determine the appropriate SEMVER
field to modify.
Update changelog filename in pyproject.toml to suit.
Update the build tag in setup.cfg under [egg_info] for pre-release builds,
or remove it (leaving it blank as in tag_build = ) for a final releases.
Update changelog and render towncrier fragments
If a changelog RST has not yet been created, add one under docs/changes using
the following template, and update the summary and changes to supported
platforms to suit:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps falcon from 3.0.1 to 3.1.0.
Release notes
Sourced from falcon's releases.
Changelog
Sourced from falcon's changelog.
Commits
33c8450
chore: release 3.1.0 final0f7be6e
docs: fix up sphinx tabs 🌚 (#2045)294d434
chore: bump tag to rc378db88a
chore(create-wheels): stop building wheels for 3.5395c773
chore(docs): pinsphinx-tabs
until we figure out dark mode (#2042)a41f5c0
chore(version): bump to rc2ed22ff9
chore(wheel): attempt to fix some issues found in 3.1.0rc1 build (#2040)9a0088f
docs(changes): fix a broken class link in 3.1.0 notes (#2038)f2de3bd
chore: prep for 3.1.0 release (#2036)89a615a
docs(media): add an example for using a custom JSON encoder (#2035)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)