chore(deps): update minor updates (master) #269
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.12.4
->3.12.6
0.112.0
->0.114.1
^0.27.0
->^0.27.2
8.26.0
->8.27.0
^1.10.0
->^1.11.2
^8.2.2
->^8.3.3
^0.23.7
->^0.24.0
0.4.9
->0.6.4
^0.4.0
->^0.6.0
3.31.0
->3.32.0
3.4.1
->3.5.0
Release Notes
fastapi/fastapi (fastapi)
v0.114.1
Compare Source
Refactors
Docs
docs/en/docs/environment-variables.md
. PR #12169 by @prometek.Translations
docs/pt/docs/virtual-environments.md
. PR #12163 by @marcelomarkus.docs/pt/docs/environment-variables.md
. PR #12162 by @marcelomarkus.docs/pt/docs/tutorial/testing.md
. PR #12164 by @marcelomarkus.docs/pt/docs/tutorial/debugging.md
. PR #12165 by @marcelomarkus.docs/ko/docs/project-generation.md
. PR #12157 by @BORA040126.Internal
issue-manager.yml
. PR #12159 by @tiangolo.fastapi/params.py
. PR #12143 by @surreal30.v0.114.0
Compare Source
You can restrict form fields to only include those declared in a Pydantic model and forbid any extra field sent in the request using Pydantic's
model_config = {"extra": "forbid"}
:Read the new docs: Form Models - Forbid Extra Form Fields.
Features
Docs
Internal
v0.113.0
Compare Source
Now you can declare form fields with Pydantic models:
Read the new docs: Form Models.
Features
Form
parameters. PR #12129 by @tiangolo.Internal
v0.112.4
Compare Source
This release is mainly a big internal refactor to enable adding support for Pydantic models for
Form
fields, but that feature comes in the next release.This release shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. It's just a checkpoint. 🤓
Refactors
embed
body fields, do not overwrite fields, compute once per router, refactor internals in preparation for Pydantic models inForm
,Query
and others. PR #12117 by @tiangolo.Internal
Form
parameters" to make a checkpoint release. PR #12128 by @tiangolo.Form
parameters. PR #12127 by @tiangolo. Reverted to make a checkpoint release with only refactors.v0.112.3
Compare Source
This release is mainly internal refactors, it shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. There are a few bigger releases coming right after. 🚀
Refactors
check_file_field()
, rename toensure_multipart_is_installed()
to clarify its purpose. PR #12106 by @tiangolo.create_response_field()
tocreate_model_field()
as it's used for more than response models. PR #12103 by @tiangolo.solve_dependencies()
using dataclasses. PR #12100 by @tiangolo.analyze_param()
to structure data with dataclasses instead of tuple. PR #12099 by @tiangolo.Docs
time.perf_counter()
in middlewares. PR #12095 by @tiangolo.time.time()
totime.perf_counter()
. PR #11957 by @domdent.docs_src/path_params_numeric_validations/tutorial006.py
. PR #11478 by @MuhammadAshiqAmeer.docs/en/docs/async.md
. PR #12062 by @Alec-Gillis.response_class
parameter, validations, and returning a response directly. PR #12067 by @tiangolo.CMD
exec form. PR #11960 by @GPla.Translations
docs/nl/docs/features.md
. PR #12101 by @maxscheijen.docs/pt/docs/advanced/testing-events.md
. PR #12108 by @ceb10n.docs/pt/docs/advanced/security/index.md
. PR #12114 by @ceb10n.docs/nl/docs/index.md
. PR #12042 by @svlandeg.docs/zh/docs/how-to/index.md
. PR #12070 by @synthpop123.Internal
include-hidden-files
toTrue
when using theupload-artifact
GH action. PR #12118 by @svlandeg.latest-changes
GitHub Action. PR #12073 by @tiangolo.v0.112.2
Compare Source
Fixes
allow_inf_nan
option for Param and Body classes. PR #11867 by @giunio-prc.app.include_router
merges nested lifespans. PR #9630 by @Lancetnik.Refactors
FastAPI.add_api_route()
. PR #10240 by @ordinary-jamie.Docs
docs/en/docs/virtual-environments.md
. PR #12064 by @aymenkrifa.Security
. PR #11168 by @0shah0.docs/en/docs/tutorial/body-multiple-params.md
. PR #11978 by @svlandeg.email-validator
dependency with dash. PR #11515 by @jirikuncar.docs/es/docs/project-generation.md
. PR #11947 by @alejsdev.compresslevel
parameter on docs forGZipMiddleware
. PR #11350 by @junah201.docs/en/docs/tutorial/body.md
with Python 3.10 union type example. PR #11415 by @rangzen.Translations
docs/pt/docs/tutorial/request_file.md
. PR #12018 by @Joao-Pedro-P-Holanda.docs/ja/docs/learn/index.md
. PR #11592 by @ukwhatn.docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md
. PR #12028 by @xuvjso.docs/ur/docs/benchmarks.md
. PR #10046 by @AhsanSheraz.Internal
.gitignore
. PR #11940 by @gitworkflows.v0.112.1
Compare Source
Upgrades
>=0.37.2,<0.39.0
. PR #11876 by @musicinmybrain.Docs
Translations
docs/pt/docs/tutorial/bigger-applications.md
. PR #11971 by @marcelomarkus.docs/pt/docs/advanced/testing-websockets.md
. PR #11994 by @ceb10n.docs/pt/docs/advanced/testing-dependencies.md
. PR #11995 by @ceb10n.docs/pt/docs/advanced/using-request-directly.md
. PR #11956 by @ceb10n.docs/fr/docs/tutorial/body-multiple-params.md
. PR #11796 by @pe-brian.docs/zh/docs/tutorial/query-params.md
. PR #11557 by @caomingpei.docs/zh/docs/advanced/testing-dependencies.md
. PR #11944 by @bestony.docs/pt/docs/advanced/sub-applications.md
anddocs/pt/docs/advanced/behind-a-proxy.md
. PR #11856 by @marcelomarkus.docs/pt/docs/tutorial/cors.md
anddocs/pt/docs/tutorial/middleware.md
. PR #11916 by @wesinalves.docs/fr/docs/tutorial/path-params-numeric-validations.md
. PR #11788 by @pe-brian.Internal
pyproject.toml
, shows in PyPI. PR #11152 by @Pierre-VF.deploy_docs_status.py
to account for deploy URLs with or without trailing slash. PR #11965 by @tiangolo.encode/httpx (httpx)
v0.27.2
Compare Source
Fixed
URLTypes
shortcut. (#2673)v0.27.1
Compare Source
Added
zstd
content decoding using the pythonzstandard
package is added. Installable usinghttpx[zstd]
. (#3139)Fixed
InvalidURL
exceptions. (#3250)app
type signature inASGITransport
. (#3109)ipython/ipython (ipython)
v8.27.0
Compare Source
python/mypy (mypy)
v1.11.2
Compare Source
pytest-dev/pytest (pytest)
v8.3.3
Compare Source
pytest 8.3.3 (2024-09-09)
Bug fixes
#12446: Avoid calling
@property
(and other instance descriptors) during fixture discovery -- byasottile
{.interpreted-text role="user"}#12659: Fixed the issue of not displaying assertion failure differences when using the parameter
--import-mode=importlib
in pytest>=8.1.#12667: Fixed a regression where type change in [ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to fail.
#12744: Fixed typing compatibility with Python 3.9 or less -- replaced [typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} -- by
Avasam
{.interpreted-text role="user"}#12745: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
#6682: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in
assert condition, msg
).#9422: Fix bug where disabling the terminal plugin via
-p no:terminal
would cause crashes related to missing theverbose
option.-- by
GTowers1
{.interpreted-text role="user"}Improved documentation
Miscellaneous internal changes
pytest-dev/pytest-asyncio (pytest-asyncio)
v0.24.0
: pytest-asyncio 0.24.0Compare Source
0.24.0 (2024-08-22)
pytest_asyncio.fixture
. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.@pytest.mark.asyncio
. #812astral-sh/ruff (ruff)
v0.6.4
Compare Source
Preview features
flake8-builtins
] Use dynamic builtins list based on Python version (#13172)pydoclint
] Permit yieldingNone
inDOC402
andDOC403
(#13148)pylint
] Update diagnostic message forPLW3201
(#13194)ruff
] Implementpost-init-default
(RUF033
) (#13192)ruff
] Implement useless if-else (RUF034
) (#13218)Rule changes
flake8-pyi
] Respectpep8_naming.classmethod-decorators
settings when determining if a method is a classmethod incustom-type-var-return-type
(PYI019
) (#13162)flake8-pyi
] Teach various rules that annotations might be stringized (#12951)pylint
] Avoidno-self-use
forattrs
-style validators (#13166)pylint
] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733
,PLR1736
) (#13186)pyupgrade
] Detectaiofiles.open
calls inUP015
(#13173)pyupgrade
] Marksys.version_info[0] < 3
and similar comparisons as outdated (UP036
) (#13175)CLI
ruff format
output (#13212)Bug fixes
pydocstyle
] Improve heuristics for detecting Google-style docstrings (#13142)refurb
] Treatsep
arguments with effects as unsafe removals (FURB105
) (#13165)v0.6.3
Compare Source
Preview features
flake8-simplify
] Extendopen-file-with-context-handler
to work withdbm.sqlite3
(SIM115
) (#13104)pycodestyle
] DisableE741
in stub files (.pyi
) (#13119)pydoclint
] AvoidDOC201
on explicit returns in functions that only returnNone
(#13064)Rule changes
flake8-async
] Disable check forasyncio
before Python 3.11 (ASYNC109
) (#13023)Bug fixes
FastAPI
] Avoid introducing invalid syntax in fix forfast-api-non-annotated-dependency
(FAST002
) (#13133)flake8-implicit-str-concat
] Normalize octals before merging concatenated strings insingle-line-implicit-string-concatenation
(ISC001
) (#13118)flake8-pytest-style
] Improve help message forpytest-incorrect-mark-parentheses-style
(PT023
) (#13092)pylint
] Avoid autofix for calls that aren'tmin
ormax
as starred expression (PLW3301
) (#13089)ruff
] Adddatetime.time
,datetime.tzinfo
, anddatetime.timezone
as immutable function calls (RUF009
) (#13109)ruff
] Extend comment deletion forRUF100
to include trailing text fromnoqa
directives while preserving any following comments on the same line, if any (#13105)v0.6.2
Compare Source
Preview features
flake8-simplify
] Extendopen-file-with-context-handler
to work with other standard-library IO modules (SIM115
) (#12959)ruff
] Avoidunused-async
for functions with FastAPI route decorator (RUF029
) (#12938)ruff
] Ignorefstring-missing-syntax
(RUF027
) forfastAPI
paths (#12939)ruff
] Implement check for Decimal called with a float literal (RUF032) (#12909)Rule changes
flake8-bugbear
] Update diagnostic message when expression is at the end of function (B015
) (#12944)flake8-pyi
] Skip type annotations instring-or-bytes-too-long
(PYI053
) (#13002)flake8-type-checking
] Always recognise relative imports as first-party (#12994)flake8-unused-arguments
] Ignore unused arguments on stub functions (ARG001
) (#12966)pylint
] Ignore augmented assignment forself-cls-assignment
(PLW0642
) (#12957)Server
Bug fixes
pep8-naming
] Don't flagfrom
imports following conventional import names (N817
) (#12946)pylint
] - Allow__new__
methods to havecls
as their first argument even if decorated with@staticmethod
forbad-staticmethod-argument
(PLW0211
) (#12958)Documentation
hyperfine
installation instructions; updatehyperfine
code samples (#13034)PT001
as per the new default behavior (#13019)perflint
] Improve docs fortry-except-in-loop
(PERF203
) (#12947)pydocstyle
] Add reference tolint.pydocstyle.ignore-decorators
setting to rule docs (#12996)v0.6.1
Compare Source
This is a hotfix release to address an issue with
ruff-pre-commit
. In v0.6,Ruff changed its behavior to lint and format Jupyter notebooks by default;
however, due to an oversight, these files were still excluded by default if
Ruff was run via pre-commit, leading to inconsistent behavior.
This has now been fixed.
Preview features
fastapi
] Implementfast-api-unused-path-parameter
(FAST003
) (#12638)Rule changes
pylint
] Renametoo-many-positional
totoo-many-positional-arguments
(R0917
) (#12905)Server
Other changes
flake8-naming
]: Respect import conventions (N817
) (#12922)v0.6.0
Compare Source
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
See also, the "Remapped rules" section which may result in disabled rules.
src
layouts by default forisort
rules (#12848)PT001
andPT023
now default to omitting the decorator parentheses when there are no arguments (#12838).Deprecations
The following rules are now deprecated:
pytest-missing-fixture-name-underscore
(PT004
)pytest-incorrect-fixture-name-underscore
(PT005
)unpacked-list-comprehension
(UP027
)Remapped rules
The following rules have been remapped to new rule codes:
unnecessary-dict-comprehension-for-iterable
:RUF025
toC420
Stabilization
The following rules have been stabilized and are no longer in preview:
singledispatch-method
(PLE1519
)singledispatchmethod-function
(PLE1520
)bad-staticmethod-argument
(PLW0211
)if-stmt-min-max
(PLR1730
)invalid-bytes-return-type
(PLE0308
)invalid-hash-return-type
(PLE0309
)invalid-index-return-type
(PLE0305
)invalid-length-return-type
(E303
)self-or-cls-assignment
(PLW0642
)byte-string-usage
(PYI057
)duplicate-literal-member
(PYI062
)redirected-noqa
(RUF101
)The following behaviors have been stabilized:
cancel-scope-no-checkpoint
(ASYNC100
): Supportasyncio
andanyio
context mangers.async-function-with-timeout
(ASYNC109
): Supportasyncio
andanyio
context mangers.async-busy-wait
(ASYNC110
): Supportasyncio
andanyio
context mangers.async-zero-sleep
(ASYNC115
): Supportanyio
context mangers.long-sleep-not-forever
(ASYNC116
): Supportanyio
context mangers.The following fixes have been stabilized:
superfluous-else-return
(RET505
)superfluous-else-raise
(RET506
)superfluous-else-continue
(RET507
)superfluous-else-break
(RET508
)Preview features
flake8-simplify
] Further simplify to binary in preview for (SIM108
) (#12796)pyupgrade
] Show violations without auto-fix (UP031
) (#11229)Rule changes
flake8-import-conventions
] Addxml.etree.ElementTree
to default conventions (#12455)flake8-pytest-style
] Add a space after comma in CSV output (PT006
) (#12853)Server
Bug fixes
flake8-async
] Do not lint yield in context manager (ASYNC100
) (#12896)flake8-comprehensions
] Do not lintasync for
comprehensions (C419
) (#12895)flake8-return
] Only add returnNone
at end of a function (RET503
) (#11074)flake8-type-checking
] Avoid treatingdataclasses.KW_ONLY
as typing-only (TCH003
) (#12863)pep8-naming
] Treattype(Protocol)
et al as metaclass base (N805
) (#12770)pydoclint
] Don't enforce returns and yields in abstract methods (DOC201
,DOC202
) (#12771)ruff
] Skip tuples with slice expressions in (RUF031
) (#12768)ruff
] Ignore unparenthesized tuples in subscripts when the subscript is a type annotation or type alias (RUF031
) (#12762)ruff
] Ignore template strings passed to logging andbuiltins._()
calls (RUF027
) (#12889)ruff
] Do not remove parens for tuples with starred expressions in Python <=3.10 (RUF031
) (#12784)Other changes
kernelspec
notebook metadata when detecting the preferred language for a Jupyter Notebook (#12875)v0.5.7
Compare Source
Preview features
flake8-comprehensions
] Account for list and set comprehensions inunnecessary-literal-within-tuple-call
(C409
) (#12657)flake8-pyi
] Add autofix forfuture-annotations-in-stub
(PYI044
) (#12676)flake8-return
] Avoid syntax error when auto-fixingRET505
with mixed indentation (space and tabs) (#12740)pydoclint
] Add `docstring-mConfiguration
📅 Schedule: Branch creation - "every 4th week on Thursday before 10am" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.