Skip to content

build(deps): bump the python-dependencies group across 1 directory with 34 updates#69

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-dependencies-60c83358e0
Open

build(deps): bump the python-dependencies group across 1 directory with 34 updates#69
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-dependencies-60c83358e0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 26, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on crawl4ai, faiss-cpu, google-genai, litellm, openai, pinecone, playwright, pypdf, redis, psycopg2-binary, requests, faker, fastapi, uvicorn, pymupdf, pymupdf4llm, prometheus-client, python-multipart, sqlalchemy, alembic, httpx-oauth, arq, greenlet, aiosqlite, pytest, pytest-asyncio, opentelemetry-api, opentelemetry-sdk, opentelemetry-exporter-otlp-proto-http, opentelemetry-instrumentation-fastapi, opentelemetry-instrumentation-redis, opentelemetry-instrumentation-sqlalchemy, opentelemetry-instrumentation-httpx and pgvector to permit the latest version.
Updates crawl4ai to 0.9.2

Release notes

Sourced from crawl4ai's releases.

Release v0.9.2

🎉 Crawl4AI v0.9.2 Released!

📦 Installation

PyPI:

pip install crawl4ai==0.9.2

Docker:

docker pull unclecode/crawl4ai:0.9.2
docker pull unclecode/crawl4ai:latest

Note: Docker images are being built and will be available shortly. Check the Docker Release workflow for build status.

📝 What's Changed

See CHANGELOG.md for details.

Changelog

Sourced from crawl4ai's changelog.

Changelog

All notable changes to Crawl4AI will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.9.0] - 2026-06-18

0.9.0 is a major, secure-by-default release of the Crawl4AI Docker API server. The out-of-the-box deployment is now hardened with defense in depth: authentication is on by default, the server binds loopback unless you give it a token, and the network request body is treated as an untrusted trust boundary. This release contains breaking changes for the self-hosted HTTP server only. The core pip library (SDK / in-process use) is unchanged.

What changed: the Docker server moved from an open, trust-the-caller posture to a closed, secure-by-default one. Defaults that used to be permissive (open bind, no auth, request-supplied browser internals, TLS verification off, Redis with no password) are now safe by default and gated behind explicit configuration.

What you must do: set CRAWL4AI_API_TOKEN and re-issue any tokens, then review whether you relied on any of the request fields or features that are now configured server-side. Most plain "crawl these URLs" users only need the two steps in the "Everyone" section of the migration guide. The full guide is at deploy/docker/MIGRATION.md.

Security

This release completes the secure-by-default hardening of the Docker API server begun in 0.8.7 and 0.8.8. It moves the worst remaining issues from mitigation to architecture: unauthenticated access and request-supplied code/config are eliminated by design rather than patched in place. Every change is hardening; users self-hosting the Docker server should upgrade and follow the migration guide.

  • Authentication on by default, loopback bind: the server no longer serves an unauthenticated API on 0.0.0.0. With no token it binds 127.0.0.1 and prints a one-off local token; exposing it requires CRAWL4AI_API_TOKEN and Authorization: Bearer <token> on every request except GET /health.
  • Request trust boundary: a crawl request body now carries declarative, scalar options only. Fields that previously let a caller drive browser internals or arbitrary code are rejected at the network boundary.
  • Declarative hooks replace hook code: arbitrary Python hook strings are replaced by a fixed set of declarative actions, removing request-supplied code from the server entirely.
  • Strengthened JWT, admin-scoped monitor actions, deny-by-default CORS, strict security headers, TLS verification on, password-protected loopback-only Redis, bounded job queue, generic error responses with correlation ids, and validated webhook headers round out the defense-in-depth posture. See the migration guide for the full list.
  • Download path confinement (CWE-22): both download sinks now confine writes with basename plus realpath plus O_NOFOLLOW, closing a path-traversal-to-file-write class. Credit: Y4tacker.
  • SSRF destination validation on the streaming crawl path (CWE-918): /crawl/stream and /crawl with stream=true now validate the destination and return HTTP 400 for disallowed targets, matching the non-streaming handlers. Credit: KOH Jun Sheng.
  • Request-supplied browser_config.extra_args rejected (CWE-94): launch arguments can no longer be supplied over the network, closing a Chromium launch-arg injection class. Credit: Y4tacker, UDU_RisePho (hoanggxyuuki).

All reporters are credited in SECURITY-CREDITS.md. GitHub Security Advisories accompany this release.

Breaking Changes

These apply to the self-hosted Docker API server only. The pip library is unaffected. See deploy/docker/MIGRATION.md for the step-by-step migration and deploy/docker/SECURITY-VERIFY.md for the deployment checklist.

  • Auth is on by default: set CRAWL4AI_API_TOKEN and send Authorization: Bearer <token>. With no token the server binds loopback only.
  • Loopback bind by default: the server no longer binds 0.0.0.0 without a token; put a TLS-terminating reverse proxy in front when you expose it.
  • Tokens must be re-issued: the JWT implementation changed and tokens from older versions are no longer valid. Re-mint via POST /token.
  • Request trust boundary: js_code, js_code_before_wait, c4a_script, proxy / proxy_config, extra_args, user_data_dir, cdp_url, cookies, headers, init_scripts, base_url, deep_crawl_strategy, simulate_user, magic, process_in_browser, and nested LLM config objects are rejected with HTTP 400 when sent over the network. Configure them server-side or use the in-process SDK. Unknown fields are dropped; timeouts, viewport, and scroll counts are clamped.
  • Hooks are declarative: hooks.code is replaced by a fixed action set (block_resources, add_cookies, set_headers, scroll_to_bottom, wait_for_timeout). See GET /hooks/info.
  • output_path removed, replaced by an artifact id: /screenshot and /pdf store the result and return artifact_id + URL; fetch via authenticated GET /artifacts/{artifact_id} (TTL and quota apply).
  • LLM base_url removed: /md, /llm, and /llm/job select a provider by name only; endpoint and key are configured server-side and constrained by config.llm.allowed_providers.
  • Monitor actions require an admin token: POST /monitor/actions/* and /monitor/stats/reset need an admin-scope principal.
  • CORS deny-by-default: cross-origin browser requests are denied unless listed in security.cors_allow_origins.
  • TLS verification on: self-signed / internal TLS targets fail by default. Escape hatches for trusted internal testing: CRAWL4AI_ALLOW_INSECURE_TLS=true, CRAWL4AI_ALLOW_INTERNAL_URLS=true.
  • Webhook headers validated: malformed or hop-by-hop / sensitive headers are rejected with HTTP 422.
  • Redis requires a password: in-container Redis is loopback-only, password-protected, and its port is no longer published. For external Redis set REDIS_PASSWORD.
  • Bounded background job queue: request body size, per-crawl wall clock, queue size, and per-principal concurrency are now capped (configurable; 0 = unbounded).
  • Generic 5xx responses: server errors return {"error": "Internal server error", "correlation_id": "…"}; match the id in the logs for detail.

Security Credits

... (truncated)

Commits
  • 7e80152 Merge pull request #2077 from unclecode/release/v0.9.2
  • bd8b130 Update README.md
  • 055e2ec release: Crawl4AI v0.9.2
  • 9e9e826 fix(CONTRIBUTORS.md): update section title from 'Core Team' to 'Maintainers'
  • 935f591 Merge pull request #2072 from reallav0/agent/cancel-streaming-dispatch-tasks
  • 9fb2aa8 fix(dispatcher): clean up closed stream tasks
  • 9ee84cc fix(test): update monitor auth test for WS-safe router config
  • a94041c fix(test): correct regex group name in headless shell test
  • f1fdf27 Merge branch 'develop' of https://github.com/unclecode/crawl4ai into develop
  • 6357f85 Merge pull request #2067 from reallav0/agent/include-playwright-headless-shell
  • Additional commits viewable in compare view

Updates faiss-cpu to 1.14.3

Release notes

Sourced from faiss-cpu's releases.

v1.14.3

Highlights

  • Metal GPU backend expansion — new MetalIndexIVFFlat with IVF scan/merge kernels and expanded top-k support (#5202); Metal now enabled by default on Apple Silicon machines (#5280)
  • TurboQuant in ScalarQuantizer — full Algorithm 2 (QJL stage) with SIMD and optimizations (#5170)
  • Sapphire Rapids (SPR) optimizations — ScalarQuantizer L2/IP (#5173), VPOPCNTDQ-based HammingComputer (#5183), and VPOPCNTDQ-based RaBitQ kernel (#5149)
  • faiss-gpu pip wheels — new GPU wheel packaging (#5131); musllinux wheels re-enabled for faiss-cpu (#5299)
  • SVS static vamana support (#5224)
  • HNSW is_similarity mode for IP/similarity metrics (#5246, #5226)
  • HNSW search performance — reserve VisitedTableSet capacity to avoid rehashes (#5290), search_from_candidate_unbounded templatized for VisitedTable devirtualization (#5270), and runtime checks avoided in VisitedTable (#5234)
  • NEON FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5255)
  • cuVS upgraded to 26.06 (#5240); CI updated to ROCm 7 (#5196)
  • Deserialization hardening — bool-field validation (#5279) and null inner-index rejection in IDMap / BinaryFromFloat (#5239)
  • Build robustness — fix non-AVX2 import SIGILL via .rodata partitioning tables (#5298), Windows ARM64 (MSVC) NEON build fix (#5274), and AVX512_SPR dispatch fix on AMD (#5281)

Full Changelog

Added

  • 261d8f25aac03c980f1faf5df775248eff96cb6d Add IVFSQTurboQSearchParameters to init.pyi stub (#5304)
  • 684a32d0404758bddd4f7fb9ec76db54252819e0 Add manual Faiss nightly workflow dispatch (#5300)
  • 10b6b2a1e554afc4cbd66fe73d864728ff9e310c Add MetalIndexIVFFlat with IVF scan/merge kernels and expanded top-k support (#5202)
  • 74d36198faac528fce715aa8731bf589727bef6d TurboQuant in ScalarQuantizer: full Algorithm 2 (QJL stage) with SIMD and optimizations (#5170)
  • 506600962f8a58926710edd24715bc9002eb18e9 Add Python HNSW tutorial (#5260)
  • 3cff0f419c459bdc7c4f56ea49effb6d7da1475c Add Sapphire Rapids optimizations for ScalarQuantizer (L2, IP) (#5173)
  • 46ef80db639e4de03720e3c404065636846ed47e Support IndexIDMap/IndexIDMap2 in reverse_index_factory (#5266)
  • 420158b10e0136228ff634d464fa90c4370a1ead Add VPOPCNTDQ-based HammingComputer for Sapphire Rapids+ (#5183)
  • d8f1c2716d9c2c070c0d7e4e0c1017331e9e9e8a Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5262)
  • 0951b5337b72755ade5c02705396fb7d7cedceac Support user provided blas library (#5189)
  • 215740ecc3add92d7c27e24436b2dffd8fdb157c SVS static vamana support (#5224)
  • d24ad6ef5b3e40c0e4cf8b695923cbcd674d2573 Add is_similarity mode to HNSW (#5246)
  • aa332cd5f0d6984075c849b32c387fffe067a49a Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5255)
  • 5d9aae6ee81078d33ff3c4e2fc97f7583e2e450d Add faiss-gpu pip wheel packaging (#5131)
  • 6f1cf64531130db04843737d1f538999fc295583 Add VPOPCNTDQ-based RaBitQ kernel for Sapphire Rapids+ (#5149)

Changed

  • 262fc3c7a2ec099cdd0cd21482931702171c60eb Re-enable musllinux wheels for faiss-cpu (#5299)
  • 1cdc3709c656eea41ce3725024070f2516e3b30b Run CI on push to main to refresh ccache cache (#5291)
  • 379ee758b1bb49cd167c6ed86e80be331e94c593 Reserve VisitedTableSet capacity to avoid rehashes during HNSW search (#5290)
  • 6513a2497cbc29f5c0c74c0d17bbe8b9f6ff3230 Enable Metal by default on Apple machines (#5280)
  • fe46c3c804296cc04238c2e17b02c671887791a8 Validate bool fields during deserialization (#5279)
  • 480f91790080c8daa92fcb1941c5e8d0f56de237 Type imbalance_factor and wire the .pyi stub into the buck build (#5269)
  • e60baeb7b61e617a483310fccb239ba204458c7b Templatize search_from_candidate_unbounded for VisitedTable devirtualization (#5270)
  • c000190dc07c161898093a72a16f3918bd9fd621 Accelerate ScalarQuantizer::QT_bf16 with AVX512-BF16. (#4889)
  • 7504fc8ddebdade7fcabd9dacd9861318d475b50 Upgrade CUVS Version to 26.06 (#5240)
  • d12683c3b00247ca6333ac717f3a8af49aa835e3 facebook-unused-include-check in IndexBinaryIVF.cpp (#5263)
  • 99d9013e1fbe232356759d3abedbe20df0e8dba1 facebook-unused-include-check in distances_simd.cpp (#5264)
  • 2f0368b6205c92d910ae772417e71b68dde216aa facebook-unused-include-check in hamming_avx2.cpp (#5265)
  • 0c72755eccff39f903d58ed1f46d6c278a914cae Remove unused include of platform_macros.h in partitioning.cpp
  • e6b8f6de5380aed85c2450abd31ecdb749770bbe IndexHNSW: use HNSW::is_similarity for IP/similarity metrics + tests (#5226)

... (truncated)

Changelog

Sourced from faiss-cpu's changelog.

[1.14.3] - 2026-06-12

Added

  • 261d8f25aac03c980f1faf5df775248eff96cb6d Add IVFSQTurboQSearchParameters to init.pyi stub (#5304)
  • 684a32d0404758bddd4f7fb9ec76db54252819e0 Add manual Faiss nightly workflow dispatch (#5300)
  • 10b6b2a1e554afc4cbd66fe73d864728ff9e310c Add MetalIndexIVFFlat with IVF scan/merge kernels and expanded top-k support (#5202)
  • 74d36198faac528fce715aa8731bf589727bef6d TurboQuant in ScalarQuantizer: full Algorithm 2 (QJL stage) with SIMD and optimizations (#5170)
  • 506600962f8a58926710edd24715bc9002eb18e9 Add Python HNSW tutorial (#5260)
  • 3cff0f419c459bdc7c4f56ea49effb6d7da1475c Add Sapphire Rapids optimizations for ScalarQuantizer (L2, IP) (#5173)
  • 46ef80db639e4de03720e3c404065636846ed47e Support IndexIDMap/IndexIDMap2 in reverse_index_factory (#5266)
  • 420158b10e0136228ff634d464fa90c4370a1ead Add VPOPCNTDQ-based HammingComputer for Sapphire Rapids+ (#5183)
  • d8f1c2716d9c2c070c0d7e4e0c1017331e9e9e8a Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5262)
  • 0951b5337b72755ade5c02705396fb7d7cedceac Support user provided blas library (#5189)
  • 215740ecc3add92d7c27e24436b2dffd8fdb157c SVS static vamana support (#5224)
  • d24ad6ef5b3e40c0e4cf8b695923cbcd674d2573 Add is_similarity mode to HNSW (#5246)
  • aa332cd5f0d6984075c849b32c387fffe067a49a Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5255)
  • 5d9aae6ee81078d33ff3c4e2fc97f7583e2e450d Add faiss-gpu pip wheel packaging (#5131)
  • 6f1cf64531130db04843737d1f538999fc295583 Add VPOPCNTDQ-based RaBitQ kernel for Sapphire Rapids+ (#5149)

Changed

  • 262fc3c7a2ec099cdd0cd21482931702171c60eb Re-enable musllinux wheels for faiss-cpu (#5299)
  • 1cdc3709c656eea41ce3725024070f2516e3b30b Run CI on push to main to refresh ccache cache (#5291)
  • 379ee758b1bb49cd167c6ed86e80be331e94c593 Reserve VisitedTableSet capacity to avoid rehashes during HNSW search (#5290)
  • 6513a2497cbc29f5c0c74c0d17bbe8b9f6ff3230 Enable Metal by default on Apple machines (#5280)
  • fe46c3c804296cc04238c2e17b02c671887791a8 Validate bool fields during deserialization (#5279)
  • 480f91790080c8daa92fcb1941c5e8d0f56de237 Type imbalance_factor and wire the .pyi stub into the buck build (#5269)
  • e60baeb7b61e617a483310fccb239ba204458c7b Templatize search_from_candidate_unbounded for VisitedTable devirtualization (#5270)
  • c000190dc07c161898093a72a16f3918bd9fd621 Accelerate ScalarQuantizer::QT_bf16 with AVX512-BF16. (#4889)
  • 7504fc8ddebdade7fcabd9dacd9861318d475b50 Upgrade CUVS Version to 26.06 (#5240)
  • d12683c3b00247ca6333ac717f3a8af49aa835e3 facebook-unused-include-check in IndexBinaryIVF.cpp (#5263)
  • 99d9013e1fbe232356759d3abedbe20df0e8dba1 facebook-unused-include-check in distances_simd.cpp (#5264)
  • 2f0368b6205c92d910ae772417e71b68dde216aa facebook-unused-include-check in hamming_avx2.cpp (#5265)
  • 0c72755eccff39f903d58ed1f46d6c278a914cae Remove unused include of platform_macros.h in partitioning.cpp
  • e6b8f6de5380aed85c2450abd31ecdb749770bbe IndexHNSW: use HNSW::is_similarity for IP/similarity metrics + tests (#5226)
  • c0575f2c1319a702fa4ca615e2354014c42b3e67 avoid runtime checks in VisitedTable (#5234)
  • 1cb760182917697677fe100f8a1cc2b4d0b9f751 Eliminate per-code denormalization in uniform SQ distance computation (#5166)
  • f29d8621fa4250b381d1bfb1d8362c4867ee3de3 Revert D106693266: Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder
  • ef96e3d25ecbfaa52894b0f361e9d156ee92254a Updating CI to ROCm 7 (#5196)
  • f5217d74960ead3a1d2c0b69baa63479b6f49ea2 facebook-unused-include-check in IndexBinaryHNSW.cpp (#5251)
  • 3e6ed99bbb6cfb8daf98cadf904da449a4aaea48 facebook-unused-include-check in IndexBinaryIVF.cpp (#5252)
  • 108868bfac5ad7e0ce1b4e46857d4724a62a309e Reject null inner index in IDMap and BinaryFromFloat deserialization (#5239)
  • a64b5496762a93cb7836d013c2283c6da479f717 Add IndexLattice r2 limit to cap decode-cache build cost (#5238)
  • 09937153dc55f64321ed7d96730fc3d673a9092d faiss: Replace remaining get_single_code calls with ScopedCodes (#5248)
  • 910e435bccafedfac5aa69f87863085ce6d90a3c facebook-unused-include-check in hamming_avx2.cpp (#5242)
  • d581f2f8406f8794f58794124b650ab7402ac848 Use per-SIMD TU scan for standalone PQ (AVX2 gather inlining) (#5233)

Fixed

  • 20afed0fa3aefe2d4f5bf6a5f6ab1d1459efec05 make intentional cudaGetLastError() error-clears explicit ((void)) for clang21 -- fixes S674096 (#5302)
  • e420e94ce694213a8338ac975d565f81d7251d96 Move partitioning shifts tables to .rodata to fix non-AVX2 import SIGILL (#5298)
  • 15bd8238375a1650156dc6e4b8ea54def3a3dc23 Fix cuVS nightly (#5273)

... (truncated)

Commits
  • 0ca9df4 Update backward compatibility test to v1.14.3 (#5308)
  • 9104722 Increment to next release, v1.14.3 (#5307)
  • 20afed0 make intentional cudaGetLastError() error-clears explicit ((void)) for clang2...
  • e420e94 Move partitioning shifts tables to .rodata to fix non-AVX2 import SIGILL (#5298)
  • 261d8f2 Add IVFSQTurboQSearchParameters to init.pyi stub (#5304)
  • 262fc3c Re-enable musllinux wheels for faiss-cpu (#5299)
  • 684a32d Add manual Faiss nightly workflow dispatch (#5300)
  • 1cdc370 Run CI on push to main to refresh ccache cache (#5291)
  • 379ee75 Reserve VisitedTableSet capacity to avoid rehashes during HNSW search (#5290)
  • 6513a24 Enable Metal by default on Apple machines (#5280)
  • Additional commits viewable in compare view

Updates google-genai to 2.12.1

Release notes

Sourced from google-genai's releases.

v2.12.1

2.12.1 (2026-07-16)

Bug Fixes

  • Fix the normalization of Interactions inside triggers (be554d3)
Changelog

Sourced from google-genai's changelog.

2.12.1 (2026-07-16)

Bug Fixes

  • Fix the normalization of Interactions inside triggers (be554d3)

2.12.0 (2026-07-15)

Features

  • Add AntigravityAgentConfig to OpenAPI schema overlays and regenerate SDKs. (c68f857)
  • Add trigger resource (0ab9525)
  • Add Triggers resource to GoogleGenAI client. (60727fe)
  • interactions: Add CodeMenderAgentConfig (50eca74)
  • Populate per-modality prompt token count in embedding responses for gemini-embedding-2 (2ba0154)

2.11.0 (2026-07-09)

Features

  • Add environment_id in network config (df5f13a)
  • Add response_format and Translation_config in GenerationConfig (8928da3)
  • Add retrieval result step and new fields to maps and search results (d2b19f6)
  • Add Tool.exa_ai_search for Gemini Enterprise API (8928da3)
  • Support Function declarations during Agent Creation (bbeb934)

Bug Fixes

  • Avoid shadowing of built-in list in Python 3.14 (5a14046)
  • Event loop mismatch in GenAI SDK (10df4b1)
  • interactions: Accept both dict and list[dict] for transform (8c7cee3)

Documentation

  • Add Agent Platform MCP example to readme (cb2a2a3)

Code Refactoring

  • interactions: Remove cached_content, presence_penalty, and frequency_penalty; expose safety_settings and labels (ba552f7)

2.10.0 (2026-06-24)

Features

  • Add Agent Platform MCP support to async generate_content_stream (a4772cc)

... (truncated)

Commits
  • 6debc1c chore(main): release 2.12.1 (#2734)
  • 94d59e5 Copybara import of the project:
  • be554d3 fix: fix the normalization of Interactions inside triggers
  • 939c667 chore(main): release 2.12.0 (#2696)
  • 8115b16 chore: internal change
  • c875069 feat: Add max_total_tokens for Interaction.
  • d38eaca chore: defer mcp SDK import to first MCP usage
  • 2a9350d test: add tests for private chat
  • c68f857 feat: Add AntigravityAgentConfig to OpenAPI schema overlays and regenerate SDKs.
  • 60727fe feat: Add Triggers resource to GoogleGenAI client.
  • Additional commits viewable in compare view

Updates litellm from 1.83.1 to 1.92.0

Release notes

Sourced from litellm's releases.

v1.92.0

Verify Docker Image Signature

All LiteLLM Docker images are signed with cosign. Every release is signed with the same key introduced in commit 0112e53.

Verify using the pinned commit hash (recommended):

A commit hash is cryptographically immutable, so this is the strongest way to ensure you are using the original signing key:

cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/0112e53046018d726492c814b3644b7d376029d0/cosign.pub \
  ghcr.io/berriai/litellm:v1.92.0

Verify using the release tag (convenience):

Tags are protected in this repository and resolve to the same key. This option is easier to read but relies on tag protection rules:

cosign verify \
  --key https://raw.githubusercontent.com/BerriAI/litellm/v1.92.0/cosign.pub \
  ghcr.io/berriai/litellm:v1.92.0

Expected output:

The following checks were performed on each of these signatures:
  - The cosign claims were validated
  - The signatures were verified against the specified public key

What's Changed

... (truncated)

Commits

Updates openai to 2.46.0

Release notes

Sourced from openai's releases.

v2.46.0

2.46.0 (2026-07-17)

Full Changelog: v2.45.0...v2.46.0

Features

  • api: /organization/projects/{project_id}/service_accounts/{service_account_id}/api_keys" endpoint (5a00941)
  • api: add owner_project_access to APIKeyListParams (f589d04)
  • api: manual updates (980f176)
  • api: manual updates (2eae984)

Bug Fixes

  • api: preserve generated type compatibility (00bd72a)
  • api: remove beta annotation compatibility aliases (99dbd15)
Changelog

Sourced from openai's changelog.

2.46.0 (2026-07-17)

Full Changelog: v2.45.0...v2.46.0

Features

  • api: /organization/projects/{project_id}/service_accounts/{service_account_id}/api_keys" endpoint (5a00941)
  • api: add owner_project_access to APIKeyListParams (f589d04)
  • api: manual updates (980f176)
  • api: manual updates (2eae984)

Bug Fixes

  • api: preserve generated type compatibility (00bd72a)
  • api: remove beta annotation compatibility aliases (99dbd15)

2.45.0 (2026-07-09)

Full Changelog: v2.44.0...v2.45.0

Features

  • api: gpt-5.6-sol updates (039d1fe)

Bug Fixes

  • api: restore beta resource accessors (2dfc130)

Chores

  • retrigger release automation (7b61351)

2.44.0 (2026-06-24)

Full Changelog: v2.43.0...v2.44.0

Bug Fixes

  • auth: prioritize first auth header (797e336)

2.43.0 (2026-06-17)

Full Changelog: v2.42.0...v2.43.0

Features

  • api: update OpenAPI spec or Stainless config (2254235)

... (truncated)

Commits

Updates pinecone to 9.1.0

Release notes

Sourced from pinecone's releases.

9.1.0

Release v9.1.0

v9.1.0 is the retry-resilience release. It overhauls how the SDK behaves under throttling: decorrelated jitter on every transport, plus automatic per-host concurrency back-off that shrinks in-flight bulk requests during a 429 storm and recovers as pressure eases. A new RateLimitError lets callers catch throttling distinctly, and a dedicated retries guide documents the full model. Secondary changes round out GrpcIndex parity with the REST clients and restore the v8 search(query={...}) request shape.


Highlights

  • Decorrelated jitter on every transport. REST (sync and async) and gRPC now use AWS-style decorrelated jitter for retry backoff, so many clients throttled at the same moment no longer retry in lockstep.
  • Automatic concurrency back-off under throttling. Bulk operations self-tune downward when the backend rate-limits a host and recover as throttling subsides — an AIMD control loop, per host, with no new knobs to configure.
  • Bounded multi-namespace fan-out. AsyncIndex.query_namespaces no longer fires one unbounded request per namespace — a common cause of self-inflicted 429 storms. It's now capped at 10 in-flight.
  • RateLimitError for HTTP 429. Rate-limit responses raise a dedicated pinecone.errors.RateLimitError, so you can catch throttling distinctly from other server errors.
  • New retries guide at docs/guides/retries.md — defaults, jitter math, the adaptive-concurrency ceiling, and the limits of in-process retries under multi-process / serverless deployment.
  • GrpcIndex parity with the REST clients. query_namespaces, query_namespaces_async, fetch_by_metadata, and the full bulk-import API now exist on GrpcIndex, so switching to grpc=True for throughput no longer loses functionality.
  • Community contribution — search(query={...}) syntax from v8 has been restored. Thanks to @​pragnyanramtha, the single-argument request-body form that v9.0.x rejected works again on Index, AsyncIndex, and GrpcIndex.

Retry & resilience

Decorrelated jitter

REST and gRPC retries now use decorrelated jitter — each delay is drawn from a window that grows with the previous delay, capped at max_wait. This replaces the previous fixed full-jitter backoff and spreads retries from many clients across time instead of bunching them at the same instant. See the retries guide for the exact formula and defaults.

Automatic concurrency back-off

Bulk operations now self-tune their concurrency under throttling. When the backend rate-limits a host (HTTP 429/503, or gRPC RESOURCE_EXHAUSTED), the SDK reduces the number of in-flight requests it allows to that host, then recovers after a streak of successes — the same AIMD (additive-increase / multiplicative-decrease) approach used by TCP congestion control. It's per host, automatic, and requires no configuration; max_concurrency remains the ceiling the SDK tunes beneath.

RateLimitError

HTTP 429 responses now raise RateLimitError, a subclass of ApiError, so throttling can be caught distinctly from other server errors:

from pinecone.errors import RateLimitError
try:
pc.indexes.describe("my-index")
except RateLimitError:
# back off and retry, or surface to your orchestrator
...

Exported from pinecone.errors and the top-level pinecone namespace; a RateLimitException alias matches the existing exception-naming pattern.

Observability

The retry and concurrency layers emit namespaced log records with consistent key=value fields, so you can diagnose throttling from logs without adding instrumentation:

  • pinecone._internal.http_client — DEBUG on each throttled retry attempt (status, host, attempt N/total, computed delay).

... (truncated)

Commits
  • bb1304e release: 9.1.0
  • 620933a chore(deps): bump idna from 3.11 to 3.15 in the uv group across 1 directory (...
  • b0f1887 docs(retries): stop surfacing Retry-After / grpc-retry-pushback-ms
  • 559ce7e revert(backcompat): drop DeprecationWarning on search(query=...)
  • 366bb10 test(integration): add opt-in retry smoke test for quota-limited upserts
  • 56d0e16 test(retry): add Hypothesis fuzz tests for Retry-After parsing; fix parser bugs
  • 9fe9f9d fix(adaptive): bound _AdaptiveLimiterRegistry with LRU eviction at 256 entries
  • 41ea434 feat(observability): log throttle events and AIMD transitions at INFO/DEBUG
  • 17431f7 test(retry): add bulk-path regression tests under quota-starved backend (DX-0...
  • 27d34cd test(retry): add gRPC storm simulation test and enable cross-transport parity...
  • Additional commits viewable in compare view

Updates playwright to 1.61.0

Release notes

Sourced from playwright's releases.

v1.61.0

🔑 WebAuthn passkeys

New Credentials virtual authenticator, available via browserContext.credentials, lets tests register passkeys and answer navigator.credentials.create() / navigator.credentials.get() ceremonies in the page — no real hardware key required, works in all browsers:

context = browser.new_context()
Seed a passkey your backend provisioned for a test user.
context.credentials.create("example.com",
id=credential_id,
user_handle=user_handle,
private_key=private_key,
public_key=public_key,
)
context.credentials.install()
page = context.new_page()
page.goto("https://example.com/login")
The page's navigator.credentials.get() is answered with the seeded passkey.

You can also let the app register a passkey once in a setup test, read it back with credentials.get(), and seed it into later tests — see Credentials for details.

🗃️ Web Storage

New WebStorage API, available via page.localStorage and page.sessionStorage, reads and writes the page's storage for the current origin:

page.local_storage.set_item("token", "abc")
token = page.local_storage.get_item("token")
items = page.session_storage.items()

New APIs

🛠️ Other improvements

  • Playwright now supports Ubuntu 26.04.
  • HAR and trace recordings now include WebSocket requests.

Browser Versions

  • Chromium 149.0.7827.55
  • Mozilla Firefox 151.0
  • WebKit 26.5

This version was also tested against the following stable channels:

... (truncated)

Commits
  • bd499b2 build(deps): bump typing-extensions from 4.14.1 to 4.15.0 (#3119)
  • 5b318a5 build(deps): bump mypy from 1.19.1 to 2.1.0 (#3117)
  • e6bfce9 build(deps): bump actions/checkout from 6 to 7 in the actions group across 1 ...
  • 2b41bf8 devops(driver): assemble driver from npm package and Node.js builds (#3122)
  • f75d727 feat(docker): add Ubuntu 26.04 (Resolute Raccoon) image (#3113)
  • 613c3bf chore(roll): v1.61.0 (

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 26, 2026
@dependabot
dependabot Bot requested a review from Pragadeesh122 as a code owner June 26, 2026 13:10
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 26, 2026
@dependabot dependabot Bot changed the title Bump the python-dependencies group across 1 directory with 34 updates build(deps): bump the python-dependencies group across 1 directory with 34 updates Jul 3, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-dependencies-60c83358e0 branch from 86a4093 to 3bd82d6 Compare July 3, 2026 13:08
…th 34 updates

Updates the requirements on [crawl4ai](https://github.com/unclecode/crawl4ai), [faiss-cpu](https://github.com/facebookresearch/faiss), [google-genai](https://github.com/googleapis/python-genai), [litellm](https://github.com/BerriAI/litellm), [openai](https://github.com/openai/openai-python), [pinecone](https://github.com/pinecone-io/python-sdk), [playwright](https://github.com/microsoft/playwright-python), [pypdf](https://github.com/py-pdf/pypdf), [redis](https://github.com/redis/redis-py), [psycopg2-binary](https://github.com/psycopg/psycopg2), [requests](https://github.com/psf/requests), [faker](https://github.com/joke2k/faker), [fastapi](https://github.com/fastapi/fastapi), [uvicorn](https://github.com/Kludex/uvicorn), [pymupdf](https://github.com/pymupdf/pymupdf), [pymupdf4llm](https://github.com/pymupdf/pymupdf4llm), [prometheus-client](https://github.com/prometheus/client_python), [python-multipart](https://github.com/Kludex/python-multipart), [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy), [alembic](https://github.com/sqlalchemy/alembic), [httpx-oauth](https://github.com/frankie567/httpx-oauth), [arq](https://github.com/python-arq/arq), [greenlet](https://github.com/python-greenlet/greenlet), [aiosqlite](https://github.com/omnilib/aiosqlite), [pytest](https://github.com/pytest-dev/pytest), [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio), [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python), [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python), [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python), [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib), [opentelemetry-instrumentation-redis](https://github.com/open-telemetry/opentelemetry-python-contrib), [opentelemetry-instrumentation-sqlalchemy](https://github.com/open-telemetry/opentelemetry-python-contrib), [opentelemetry-instrumentation-httpx](https://github.com/open-telemetry/opentelemetry-python-contrib) and [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.

Updates `crawl4ai` to 0.9.2
- [Release notes](https://github.com/unclecode/crawl4ai/releases)
- [Changelog](https://github.com/unclecode/crawl4ai/blob/main/CHANGELOG.md)
- [Commits](unclecode/crawl4ai@v0.7.0...v0.9.2)

Updates `faiss-cpu` to 1.14.3
- [Release notes](https://github.com/facebookresearch/faiss/releases)
- [Changelog](https://github.com/facebookresearch/faiss/blob/main/CHANGELOG.md)
- [Commits](facebookresearch/faiss@v1.13.2...v1.14.3)

Updates `google-genai` to 2.12.1
- [Release notes](https://github.com/googleapis/python-genai/releases)
- [Changelog](https://github.com/googleapis/python-genai/blob/v2.12.1/CHANGELOG.md)
- [Commits](googleapis/python-genai@v1.66.0...v2.12.1)

Updates `litellm` from 1.83.1 to 1.92.0
- [Release notes](https://github.com/BerriAI/litellm/releases)
- [Commits](https://github.com/BerriAI/litellm/commits/v1.92.0)

Updates `openai` to 2.46.0
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v2.28.0...v2.46.0)

Updates `pinecone` to 9.1.0
- [Release notes](https://github.com/pinecone-io/python-sdk/releases)
- [Commits](pinecone-io/python-sdk@v8.1.0...v9.1.0)

Updates `playwright` to 1.61.0
- [Release notes](https://github.com/microsoft/playwright-python/releases)
- [Commits](microsoft/playwright-python@v1.58.0...v1.61.0)

Updates `pypdf` to 6.14.2
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](py-pdf/pypdf@6.9.0...6.14.2)

Updates `redis` to 8.0.1
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](redis/redis-py@v7.3.0...v8.0.1)

Updates `psycopg2-binary` to 2.9.12
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Commits](psycopg/psycopg2@2.9.10...2.9.12)

Updates `requests` to 2.34.2
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.32.5...v2.34.2)

Updates `faker` to 40.31.0
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](joke2k/faker@v40.11.0...v40.31.0)

Updates `fastapi` to 0.139.2
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](fastapi/fastapi@0.115.0...0.139.2)

Updates `uvicorn` to 0.51.0
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.34.0...0.51.0)

Updates `pymupdf` to 1.28.0
- [Release notes](https://github.com/pymupdf/pymupdf/releases)
- [Changelog](https://github.com/pymupdf/PyMuPDF/blob/main/changes.txt)
- [Commits](pymupdf/PyMuPDF@1.27.2.2...1.28.0)

Updates `pymupdf4llm` to 1.28.0
- [Release notes](https://github.com/pymupdf/pymupdf4llm/releases)
- [Changelog](https://github.com/pymupdf/pymupdf4llm/blob/main/CHANGES.md)
- [Commits](pymupdf/pymupdf4llm@1.27.2.2...1.28.0)

Updates `prometheus-client` to 0.25.0
- [Release notes](https://github.com/prometheus/client_python/releases)
- [Commits](prometheus/client_python@v0.23.1...v0.25.0)

Updates `python-multipart` to 0.0.32
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](Kludex/python-multipart@0.0.22...0.0.32)

Updates `sqlalchemy` to 2.0.51
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

Updates `alembic` to 1.18.5
- [Release notes](https://github.com/sqlalchemy/alembic/releases)
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/alembic/commits)

Updates `httpx-oauth` to 0.17.0
- [Release notes](https://github.com/frankie567/httpx-oauth/releases)
- [Commits](frankie567/httpx-oauth@v0.16.1...v0.17.0)

Updates `arq` to 0.28.0
- [Release notes](https://github.com/python-arq/arq/releases)
- [Changelog](https://github.com/python-arq/arq/blob/main/HISTORY.rst)
- [Commits](python-arq/arq@v0.25.0...v0.28.0)

Updates `greenlet` to 3.5.3
- [Changelog](https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst)
- [Commits](python-greenlet/greenlet@3.3.2...3.5.3)

Updates `aiosqlite` to 0.22.1
- [Changelog](https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md)
- [Commits](omnilib/aiosqlite@v0.21.0...v0.22.1)

Updates `pytest` to 9.1.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.4.2...9.1.1)

Updates `pytest-asyncio` to 1.4.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](pytest-dev/pytest-asyncio@v1.2.0...v1.4.0)

Updates `opentelemetry-api` to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.20.0...v1.44.0)

Updates `opentelemetry-sdk` to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.20.0...v1.44.0)

Updates `opentelemetry-exporter-otlp-proto-http` to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.20.0...v1.44.0)

Updates `opentelemetry-instrumentation-fastapi` to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-instrumentation-redis` to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-instrumentation-sqlalchemy` to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-instrumentation-httpx` to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `pgvector` to 0.5.0
- [Changelog](https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md)
- [Commits](pgvector/pgvector-python@v0.3.6...v0.5.0)

---
updated-dependencies:
- dependency-name: aiosqlite
  dependency-version: 0.22.1
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: alembic
  dependency-version: 1.18.5
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: arq
  dependency-version: 0.28.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: crawl4ai
  dependency-version: 0.9.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: faiss-cpu
  dependency-version: 1.14.3
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: faker
  dependency-version: 40.23.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: fastapi
  dependency-version: 0.138.1
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: google-genai
  dependency-version: 2.10.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: greenlet
  dependency-version: 3.5.2
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: httpx-oauth
  dependency-version: 0.17.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: litellm
  dependency-version: 1.89.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: openai
  dependency-version: 2.44.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-api
  dependency-version: 1.43.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-http
  dependency-version: 1.43.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-instrumentation-fastapi
  dependency-version: 0.64b0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-instrumentation-httpx
  dependency-version: 0.64b0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-instrumentation-redis
  dependency-version: 0.64b0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-instrumentation-sqlalchemy
  dependency-version: 0.64b0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: opentelemetry-sdk
  dependency-version: 1.43.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pgvector
  dependency-version: 0.4.2
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pinecone
  dependency-version: 9.1.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: playwright
  dependency-version: 1.60.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: prometheus-client
  dependency-version: 0.25.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: psycopg2-binary
  dependency-version: 2.9.12
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pymupdf
  dependency-version: 1.27.2.3
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pymupdf4llm
  dependency-version: 1.27.2.3
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pypdf
  dependency-version: 6.14.2
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: pytest-asyncio
  dependency-version: 1.4.0
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: python-multipart
  dependency-version: 0.0.32
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: redis
  dependency-version: 8.0.1
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: requests
  dependency-version: 2.34.2
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: sqlalchemy
  dependency-version: 2.0.51
  dependency-type: direct:production
  dependency-group: python-dependencies
- dependency-name: uvicorn
  dependency-version: 0.49.0
  dependency-type: direct:production
  dependency-group: python-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-dependencies-60c83358e0 branch from 3bd82d6 to 7e246ac Compare July 17, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants