Skip to content

fix(deps): update non-major python dependencies#108

Open
nbl-renovate[bot] wants to merge 1 commit intomainfrom
renovate/non-major-python-dependencies
Open

fix(deps): update non-major python dependencies#108
nbl-renovate[bot] wants to merge 1 commit intomainfrom
renovate/non-major-python-dependencies

Conversation

@nbl-renovate
Copy link
Copy Markdown
Contributor

@nbl-renovate nbl-renovate Bot commented Apr 6, 2026

This PR contains the following updates:

Package Change Age Confidence
fastmcp >=3.2.0,<4>=3.2.4,<4 age confidence
pre-commit >=4.5.1>=4.6.0 age confidence
pydantic (changelog) >=2.12.5>=2.13.3 age confidence
pydantic-settings (changelog) >=2.13.1>=2.14.0 age confidence
ruff (source, changelog) >=0.15.8>=0.15.12 age confidence

Release Notes

PrefectHQ/fastmcp (fastmcp)

v3.2.4: : Patch Me If You Can

Compare Source

A grab bag of fixes, hardening, and polish.

The headline behavior change: background tasks are now scoped to the authorization context rather than the MCP session, so a task kicked off by an authenticated user survives session churn and stays tied to who started it. This is a breaking change for anyone relying on the old session-scoped semantics.

Security got three meaningful upgrades. FileUpload now validates actual decoded base64 size instead of trusting the client-reported number, so an attacker can't claim "10 bytes" and deliver 10MB. The proxy client stops forwarding inbound HTTP headers to unrelated remote servers — previously a header meant for server A could leak to server B. And AuthKit now auto-binds token audience to the resource URL per RFC 8707, closing a token-reuse gap across MCP resources.

Schema handling had a rough-edges pass. json_schema_to_type no longer crashes on Python keywords, boolean schemas, empty enums, or name collisions, and we added a 232K-schema crash test from APIs.guru to keep it honest. Gemini 2.5 Flash compatibility is fixed by stripping title fields the model rejects. Parameter descriptions are now extracted from docstrings automatically, so your tool signatures document themselves.

Plus a Keycloak OAuth provider for enterprise auth, improvements to ctx.elicit() (new response_title/response_description, deprecation warning when called without response_type), and dozens of smaller fixes across transforms, retry middleware, resource templates, and client disconnect handling.

What's Changed

Breaking Changes ⚠️
Enhancements ✨
Security 🔒
Fixes 🐞
Docs 📚
Dependencies 📦

New Contributors

Full Changelog: PrefectHQ/fastmcp@v3.2.3...v3.2.4

v3.2.3: : Redis or Not

Compare Source

fakeredis 2.35.0 shipped an undocumented rename (FakeConnectionFakeAsyncRedisConnection) that broke pydocket's memory:// backend, causing fastmcp[tasks] installs to fail at startup with an ImportError. This pins fakeredis<2.35.0 in the tasks extra as a stopgap until a fixed pydocket ships.

What's Changed

Fixes 🐞
Docs 📚

Full Changelog: PrefectHQ/fastmcp@v3.2.2...v3.2.3

v3.2.2: : Audience Appreciation

Compare Source

The Azure audience fix in 3.2.1 overcorrected: it switched token validation from client_id to identifier_uri, which fixed custom Application ID URIs but broke the default case where Azure AD v2 tokens set aud to the bare client ID GUID. Both formats are now accepted.

What's Changed

Fixes 🐞
  • fix: accept both client_id and identifier_uri as Azure audience by @​jlowin in #​3797
Dependencies 📦

Full Changelog: PrefectHQ/fastmcp@v3.2.1...v3.2.2

v3.2.1: : Audience Participation

Compare Source

Most of the fixes in this patch are about auth providers getting audience validation wrong. Cognito token verification was checking the aud JWT claim, but Cognito access tokens don't include one; they use client_id instead. Azure was hardcoding the raw client ID as the expected audience, ignoring the identifier_uri parameter even though Entra v2.0 tokens use the Application ID URI as aud. Both now validate correctly without changing the provider API. Consent cookies also had an unbounded growth problem in high-DCR-client environments, eventually blowing past reverse proxy header limits; they're now capped as an LRU.

On the OpenAPI side, nullable: true fields from 3.0 specs were leaking into tool input schemas as-is instead of being converted to JSON Schema's type: ["string", "null"]. Server variable templates in base URLs (like https://{region}.api.example.com) were also being passed through raw instead of substituted with their defaults.

Smaller fixes: form submissions from Prefab UI now correctly handle unchecked boolean checkboxes, the client no longer crashes on error responses with empty or non-text content from third-party servers, and asyncio.iscoroutinefunction no longer emits deprecation warnings on Python 3.14.

What's Changed

Breaking Changes ⚠️
Enhancements ✨
Fixes 🐞
Docs 📚
  • Github integraiton documentation fix: use result.data otherwise CallToolResult not scriptable by @​c4jquick in #​3753
  • chore: split v2 docs navigation into separate file by @​jlowin in #​3762
  • docs: document forward_resource parameter on OAuthProxy by @​jlowin in #​3788
Examples & Contrib 💡
Dependencies 📦
  • chore(deps): bump fastmcp from 3.1.1 to 3.2.0 in /examples/testing_demo in the uv group across 1 directory by @​dependabot[bot] in #​3728
  • chore(deps): bump anthropic from 0.86.0 to 0.87.0 in the uv group across 1 directory by @​dependabot[bot] in #​3742

New Contributors

Full Changelog: PrefectHQ/fastmcp@v3.2.0...v3.2.1

pre-commit/pre-commit (pre-commit)

v4.6.0

Compare Source

==================

Features
  • pre-commit hook-impl: allow --hook-dir to be missing to enable easier
    usage with git 2.54+ git hooks.
Fixes
pydantic/pydantic (pydantic)

v2.13.3

Compare Source

GitHub release

What's Changed
Fixes

v2.13.2

Compare Source

GitHub release

What's Changed
Fixes

v2.13.1

Compare Source

GitHub release

What's Changed
Fixes

v2.13.0

Compare Source

GitHub release

The highlights of the v2.13 release are available in the blog post.
Several minor changes (considered non-breaking changes according to our versioning policy)
are also included in this release. Make sure to look into them before upgrading.

This release contains the updated pydantic.v1 namespace, matching version 1.10.26 which includes support for Python 3.14.

What's Changed

See the beta releases for all changes sinces 2.12.

New Features
  • Allow default factories of private attributes to take validated model data by @​Viicos in #​13013
Changes
Fixes
  • Change type of Any when synthesizing _build_sources for BaseSettings.__init__() signature in the mypy plugin by @​Viicos in #​13049
  • Fix model equality when using runtime extra configuration by @​Viicos in #​13062
Packaging
New Contributors
pydantic/pydantic-settings (pydantic-settings)

v2.14.0

Compare Source

What's Changed

New Contributors

Full Changelog: pydantic/pydantic-settings@v2.13.1...v2.14.0

astral-sh/ruff (ruff)

v0.15.12

Compare Source

Released on 2026-04-24.

Preview features
  • Implement #ruff:file-ignore file-level suppressions (#​23599)
  • Implement #ruff:ignore logical-line suppressions (#​23404)
  • Revert preview changes to displayed diagnostic severity in LSP (#​24789)
  • [airflow] Implement task-branch-as-short-circuit (AIR004) (#​23579)
  • [flake8-bugbear] Fix break/continue handling in loop-iterator-mutation (B909) (#​24440)
  • [pylint] Fix PLC2701 for type parameter scopes (#​24576)
Rule changes
  • [pandas-vet] Suggest .array as well in PD011 (#​24805)
CLI
  • Respect default Unix permissions for cache files (#​24794)
Documentation
  • [pylint] Fix PLR0124 description not to claim self-comparison always returns the same value (#​24749)
  • [pyupgrade] Expand docs on reusable TypeVars and scoping (UP046) (#​24153)
  • Improve rules table accessibility (#​24711)
Contributors

v0.15.11

Compare Source

Released on 2026-04-16.

Preview features
  • [ruff] Ignore RUF029 when function is decorated with asynccontextmanager (#​24642)
  • [airflow] Implement airflow-xcom-pull-in-template-string (AIR201) (#​23583)
  • [flake8-bandit] Fix S103 false positives and negatives in mask analysis (#​24424)
Bug fixes
  • [flake8-async] Omit overridden methods for ASYNC109 (#​24648)
Documentation
  • [flake8-async] Add override mention to ASYNC109 docs (#​24666)
  • Update Neovim config examples to use vim.lsp.config (#​24577)
Contributors

v0.15.10

Compare Source

Released on 2026-04-09.

Preview features
  • [flake8-logging] Allow closures in except handlers (LOG004) (#​24464)
  • [flake8-self] Make SLF diagnostics robust to non-self-named variables (#​24281)
  • [flake8-simplify] Make the fix for collapsible-if safe in preview (SIM102) (#​24371)
Bug fixes
  • Avoid emitting multi-line f-string elements before Python 3.12 (#​24377)
  • Avoid syntax error from E502 fixes in f-strings and t-strings (#​24410)
  • Strip form feeds from indent passed to dedent_to (#​24381)
  • [pyupgrade] Fix panic caused by handling of octals (UP012) (#​24390)
  • Reject multi-line f-string elements before Python 3.12 (#​24355)
Rule changes
  • [ruff] Treat f-string interpolation as potential side effect (RUF019) (#​24426)
Server
  • Add support for custom file extensions (#​24463)
Documentation
  • Document adding fixes in CONTRIBUTING.md (#​24393)
  • Fix JSON typo in settings example (#​24517)
Contributors

v0.15.9

Compare Source

Released on 2026-04-02.

Preview features
  • [pyflakes] Flag annotated variable redeclarations as F811 in preview mode (#​24244)
  • [ruff] Allow dunder-named assignments in non-strict mode for RUF067 (#​24089)
Bug fixes
  • [flake8-errmsg] Avoid shadowing existing msg in fix for EM101 (#​24363)
  • [flake8-simplify] Ignore pre-initialization references in SIM113 (#​24235)
  • [pycodestyle] Fix W391 fixes for consecutive empty notebook cells (#​24236)
  • [pyupgrade] Fix UP008 nested class matching (#​24273)
  • [pyupgrade] Ignore strings with string-only escapes (UP012) (#​16058)
  • [ruff] RUF072: skip formfeeds on dedent (#​24308)
  • [ruff] Avoid re-using symbol in RUF024 fix (#​24316)
  • [ruff] Parenthesize expression in RUF050 fix (#​24234)
  • Disallow starred expressions as values of starred expressions (#​24280)
Rule changes
  • [flake8-simplify] Suppress SIM105 for except* before Python 3.12 (#​23869)
  • [pyflakes] Extend F507 to flag %-format strings with zero placeholders (#​24215)
  • [pyupgrade] UP018 should detect more unnecessarily wrapped literals (UP018) (#​24093)
  • [pyupgrade] Fix UP008 callable scope handling to support lambdas (#​24274)
  • [ruff] RUF010: Mark fix as unsafe when it deletes a comment (#​24270)
Formatter
  • Add nested-string-quote-style formatting option (#​24312)
Documentation
  • [flake8-bugbear] Clarify RUF071 fix safety for non-path string comparisons (#​24149)
  • [flake8-type-checking] Clarify import cycle wording for TC001/TC002/TC003 (#​24322)
Other changes
  • Avoid rendering fix lines with trailing whitespace after | (#​24343)
Contributors

Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • "before 4am on Monday,Tuesday,Wednesday,Thursday,Friday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 6, 2026

Vulnerability Scan: Passed

Image: netbox-mcp-server:scan

Source Library CVE Severity Installed Fixed Title
Python Authlib GHSA-jj8c-mmj3-mmgv 🟡 MEDIUM 1.6.9 1.6.11 Authlib: Cross-site request forging when using cache
Python Pygments CVE-2026-4539 ⚪ LOW 2.19.2 2.20.0 pygments: Pygments: Denial of Service via inefficient regular expression process
Python cryptography CVE-2026-39892 🟡 MEDIUM 46.0.6 46.0.7 cryptography: Cryptography: Buffer overflow via non-contiguous buffer in API
Python python-dotenv CVE-2026-28684 🟡 MEDIUM 1.2.1 1.2.2 python-dotenv: python-dotenv: Arbitrary file overwrite via symbolic link followi
Python python-multipart CVE-2026-40347 🟡 MEDIUM 0.0.22 0.0.26 python-multipart: Python-Multipart: Denial of Service via crafted multipart/form

Commit: c4e05cf

@nbl-renovate nbl-renovate Bot force-pushed the renovate/non-major-python-dependencies branch from 1f51502 to 0e14944 Compare April 10, 2026 18:23
@nbl-renovate nbl-renovate Bot changed the title chore(deps): update dependency ruff to >=0.15.9 chore(deps): update non-major python dependencies Apr 10, 2026
@nbl-renovate nbl-renovate Bot force-pushed the renovate/non-major-python-dependencies branch from 0e14944 to 69c4ccf Compare April 13, 2026 00:29
@nbl-renovate nbl-renovate Bot changed the title chore(deps): update non-major python dependencies fix(deps): update non-major python dependencies Apr 13, 2026
@nbl-renovate nbl-renovate Bot force-pushed the renovate/non-major-python-dependencies branch 7 times, most recently from f394df2 to eb4b1ce Compare April 21, 2026 00:29
@nbl-renovate nbl-renovate Bot force-pushed the renovate/non-major-python-dependencies branch 4 times, most recently from e344411 to 6a22a69 Compare April 27, 2026 18:38
@nbl-renovate nbl-renovate Bot force-pushed the renovate/non-major-python-dependencies branch from 6a22a69 to 2bd86b2 Compare April 27, 2026 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants