Skip to content

build(deps): bump the python-examples group across 2 directories with 7 updates - #388

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/demos/python-examples-2249250d28
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/demos/python-examples-2249250d28

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the python-examples group with 3 updates in the /demos directory: cmcp-runtime, openai and starlette.
Bumps the python-examples group with 6 updates in the /examples directory:

Package From To
cmcp-runtime 0.7.0 0.7.1
starlette 1.8.0 1.9.0
pycparser 3.11 3.12
certifi 2026.7.22 2026.10.19
transformers 5.19.0 5.20.2
cedarpy 4.12.1 4.12.2

Updates cmcp-runtime from 0.7.0 to 0.7.1

Release notes

Sourced from cmcp-runtime's releases.

cmcp 0.7.1

Three security fixes, backported onto 0.7.0 so they ship without the breaking Agent Manifest binding change and the opaque provider removal waiting on main. Full detail in CHANGELOG.

  • GHSA-frxc-7f57-6f4r: deny a Cedar Allow that comes with evaluation errors, instead of skipping the errored policy and allowing.
  • GHSA-mrcx-xvv4-m7f8: bound the TPM AIA certificate fetch. Each hop resolves the host once, connects only to that checked address, and the hop and byte limits hold.
  • GHSA-2p85-666x-xm7x: classify upstream drift against the drifted tool's own catalog entry.

SDK on PyPI as cmcp-runtime 0.7.1.

Changelog

Sourced from cmcp-runtime's changelog.

[0.7.1] - 2026-10-19

Security

  • A Cedar Allow reached with evaluation errors was enforced as Allow (GHSA-frxc-7f57-6f4r). Cedar skips a policy whose condition errors, so a forbid reading a context attribute the current phase does not carry could not stop a matching permit. CedarBackend now denies any Allow that comes with evaluation errors, and the error reaches the tool_call or egress_denied audit row. So that a policy written for one phase does not deny in the other, both phases now carry the same context keys: egress adds session_max_sensitivity (the label string), arguments, baa_covered, compliance_domain, server_identity, destination_class and attestation_platform, and ingress adds egress (false), sensitivity_level, injection_events, reset_count and response_size_bytes (0). Without this the shipped BFSi demo denied every response at egress. A policy that reads a key outside that set, or workflow_id when the caller declared none, now denies.
  • The TPM AIA certificate fetch was unbounded (GHSA-mrcx-xvv4-m7f8). The chain walk followed redirects to any address and read responses without a limit. It now refuses destinations that do not resolve to global addresses, checks every redirect the same way, follows at most three and ignores responses over 64 KiB. Each hop's host is resolved once and the connection goes to the checked address (the request still names the host, and HTTPS still verifies the certificate against it), so a second DNS answer cannot point the fetch somewhere else. The fetch no longer uses environment proxies. An on-prem CA whose AIA host has a private address falls back to the vendored bundle.
  • Upstream drift was classified against the wrong catalog entry (GHSA-2p85-666x-xm7x). The scanner received the server of whichever entry was last in the catalog. Detection and fail-closed denial were not affected; only the classification written to the audit row was.
Commits
  • 4a7163a fix(security): cmcp-runtime 0.7.1 backport (Cedar errors, AIA fetch, drift cl...
  • See full diff in compare view

Updates openai from 3.31.0 to 3.37.0

Release notes

Sourced from openai's releases.

v3.37.0

3.37.0 (2026-10-22)

⚠ BREAKING CHANGES

  • api: This minor release includes a breaking change to Decisions types. In Live response models, question instructions can now be a string or a list of structured text, image, or JSON parts; check isinstance(question.instructions, str) before using string operations and handle the structured form. Decisions request input types also include additional message roles and tool-history items, so update exhaustive type checks accordingly. Existing string instructions and DecisionInputMessageParam user-message inputs remain supported.

Features

  • api: expand Decisions input and question types (#4158) (1e45ad1)

Chores

  • api: preserve file and video polling helpers (#4155) (7db9d88)
  • api: preserve upload helpers and Live connection defaults (#4152) (a29dc39)
  • deps: bump astral-sh/setup-uv from 10.2.0 to 10.3.0 (#4109) (fa9a161)

v3.36.1

3.36.1 (2026-10-22)

Bug Fixes

  • api: honor per-call WebSocket query settings (#4138) (d40a5e1)
  • examples: stop microphone capture between recordings (#4143) (26e5d92)
  • validate browser calls before reading driver state (#4142) (2bfe460)

Chores

  • api: clarify service-account API key deletion (#4151) (6ed945e)

Refactors

  • prepare handwritten chunked upload runtime (#4146) (2d58e82)
  • prepare handwritten vector-store polling runtime (#4148) (7cd7028)

v3.36.0

3.36.0 (2026-10-21)

Features

... (truncated)

Changelog

Sourced from openai's changelog.

3.37.0 (2026-10-22)

⚠ BREAKING CHANGES

  • api: This minor release includes a breaking change to Decisions types. In Live response models, question instructions can now be a string or a list of structured text, image, or JSON parts; check isinstance(question.instructions, str) before using string operations and handle the structured form. Decisions request input types also include additional message roles and tool-history items, so update exhaustive type checks accordingly. Existing string instructions and DecisionInputMessageParam user-message inputs remain supported.

Features

  • api: expand Decisions input and question types (#4158) (1e45ad1)

Chores

  • api: preserve file and video polling helpers (#4155) (7db9d88)
  • api: preserve upload helpers and Live connection defaults (#4152) (a29dc39)
  • deps: bump astral-sh/setup-uv from 10.2.0 to 10.3.0 (#4109) (fa9a161)

3.36.1 (2026-10-22)

Bug Fixes

  • api: honor per-call WebSocket query settings (#4138) (d40a5e1)
  • examples: stop microphone capture between recordings (#4143) (26e5d92)
  • validate browser calls before reading driver state (#4142) (2bfe460)

Chores

  • api: clarify service-account API key deletion (#4151) (6ed945e)

Refactors

  • prepare handwritten chunked upload runtime (#4146) (2d58e82)
  • prepare handwritten vector-store polling runtime (#4148) (7cd7028)

3.36.0 (2026-10-21)

Features

  • add Vertex AI support for the Responses API (#4139) (3e63d33)
  • api: add 30-minute cache-write usage counts (#4111) (5589146)
  • api: add compaction trigger IDs (#4122) (0e5794d)
  • api: add custom voice consent management (#4135) (de6d70d)
  • types: prepare native synchronous WebSocket option type (#4118) (90c0bac)

... (truncated)

Commits
  • e8a0fd2 release: 3.37.0 (#4154)
  • fa9a161 chore(deps): bump astral-sh/setup-uv from 10.2.0 to 10.3.0 (#4109)
  • 1e45ad1 feat(api): expand Decisions input and question types (#4158)
  • 1f76a59 ci: allow time for browser dependency installation (#4159)
  • 7db9d88 chore(api): preserve file and video polling helpers (#4155)
  • a29dc39 chore(api): preserve upload helpers and Live connection defaults (#4152)
  • 49e6757 release: 3.36.1 (#4145)
  • 6ed945e chore(api): clarify service-account API key deletion (#4151)
  • 7cd7028 refactor: prepare handwritten vector-store polling runtime (#4148)
  • d40a5e1 fix(api): honor per-call WebSocket query settings (#4138)
  • Additional commits viewable in compare view

Updates starlette from 1.7.0 to 1.9.0

Release notes

Sourced from starlette's releases.

Version 1.9.0

This release streams TestClient response bodies, so client.stream() returns before the application finishes. It also escapes path delimiters when building URLs, matches host names case-insensitively, and keeps every existing Vary header.

Changed

  • Stream TestClient response bodies, so client.stream() returns before the application finishes. Closing an unfinished streamed response now cancels the application #3491.

Fixed

  • Percent-encode ?, #, \ and a leading // in the request path when building request.url, and \ and a leading // in url_path_for #3671.
  • Use the byte length for Content-Length when the response body is a typed or multidimensional memoryview #3622.
  • Include HEAD in the Allow header of HTTPEndpoint 405 responses when GET is defined #3585.
  • Match host names case-insensitively in Host routing and TrustedHostMiddleware #3542.
  • Preserve every existing Vary header in MutableHeaders.add_vary_header(), used by GZipMiddleware and SessionMiddleware #3675.

Full changelog: 1.8.0...1.9.0

Version 1.8.0

This release adds HTTP 103 Early Hints, preserves response trailers through GZipMiddleware, and stops FileResponse transfers when clients disconnect. Starlette now requires Python 3.11.

Added

  • Add Request.send_early_hints() for HTTP 103 Early Hints through the ASGI http.response.early_hint extension #3435.

Changed

  • Require Python 3.11 or later, dropping support for Python 3.10 #3592.
  • Exclude native gRPC media types (application/grpc and application/grpc+...) from GZipMiddleware compression by default #3565.
  • Send http.response.start immediately in GZipMiddleware for responses with an existing Content-Encoding, status 206, or an excluded content type, instead of waiting for the first body chunk #3631.
  • Resolve the multipart charset once per request instead of once per field #3618.

Fixed

  • Preserve response trailers through GZipMiddleware #3565.
  • Stop FileResponse transfers when the client disconnects #3523.
  • Stop multipart range responses when the file ends before a range is complete, instead of looping forever #3583.
  • Ignore Range when If-Range contains a weak ETag #3567.
  • Include Allow: GET, HEAD in StaticFiles 405 responses #3640.
  • Close Request.stream() generators deterministically, avoiding "Exception ignored" errors with stacked BaseHTTPMiddleware #3628.
  • Add Vary: Cookie when Session.pop() removes an existing key #3186.
  • Emit Max-Age=0 on the session cookie when SessionMiddleware uses max_age=0 #3651.
  • Bracket IPv6 hostnames in URL.replace() #3617.

Full changelog: 1.7.0...1.8.0

Changelog

Sourced from starlette's changelog.

1.9.0 (October 18, 2026)

Changed

  • Stream TestClient response bodies, so client.stream() returns before the application finishes. Closing an unfinished streamed response now cancels the application #3491.

Fixed

  • Percent-encode ?, #, \ and a leading // in the request path when building request.url, and \ and a leading // in url_path_for #3671.
  • Use the byte length for Content-Length when the response body is a typed or multidimensional memoryview #3622.
  • Include HEAD in the Allow header of HTTPEndpoint 405 responses when GET is defined #3585.
  • Match host names case-insensitively in Host routing and TrustedHostMiddleware #3542.
  • Preserve every existing Vary header in MutableHeaders.add_vary_header(), used by GZipMiddleware and SessionMiddleware #3675.

1.8.0 (October 13, 2026)

This release drops Python 3.10 support and adds HTTP 103 Early Hints.

Added

  • Add Request.send_early_hints() for HTTP 103 Early Hints through the ASGI http.response.early_hint extension #3435.

Changed

  • Require Python 3.11 or later, dropping support for Python 3.10 #3592.
  • Exclude native gRPC media types (application/grpc and application/grpc+...) from GZipMiddleware compression by default #3565.
  • Send http.response.start immediately in GZipMiddleware for responses with an existing Content-Encoding, status 206, or an excluded content type, instead of waiting for the first body chunk #3631.
  • Resolve the multipart charset once per request instead of once per field #3618.

Fixed

  • Preserve response trailers through GZipMiddleware #3565.
  • Stop FileResponse transfers when the client disconnects #3523.
  • Stop multipart range responses when the file ends before a range is complete, instead of looping forever #3583.
  • Ignore Range when If-Range contains a weak ETag #3567.
  • Include Allow: GET, HEAD in StaticFiles 405 responses #3640.
  • Close Request.stream() generators deterministically, avoiding "Exception ignored" errors with stacked BaseHTTPMiddleware #3628.
  • Add Vary: Cookie when Session.pop() removes an existing key #3186.
  • Emit Max-Age=0 on the session cookie when SessionMiddleware uses max_age=0 #3651.
  • Bracket IPv6 hostnames in URL.replace() #3617.
Commits
  • 1840c9d Version 1.9.0 (#3676)
  • 750dc33 Preserve all Vary headers in MutableHeaders.add_vary_header (#3675)
  • 414af4f Remove unmaintained packages from the third-party packages page (#3674)
  • d4df01a Add adminsite to the third-party packages (#3654)
  • 1766228 Match host names case-insensitively in Host routing and `TrustedHostMiddlew...
  • a579222 Include HEAD in the Allow header of HTTPEndpoint 405 responses (#3585)
  • 6b11cd7 Honor streaming responses in TestClient (#3491)
  • b7901fb Use byte length for typed memoryview response bodies (#3622)
  • 3214cd0 Escape path delimiters and leading // when building URLs (#3671)
  • 7b2948f Version 1.8.0 (#3660)
  • Additional commits viewable in compare view

Updates cmcp-runtime from 0.7.0 to 0.7.1

Release notes

Sourced from cmcp-runtime's releases.

cmcp 0.7.1

Three security fixes, backported onto 0.7.0 so they ship without the breaking Agent Manifest binding change and the opaque provider removal waiting on main. Full detail in CHANGELOG.

  • GHSA-frxc-7f57-6f4r: deny a Cedar Allow that comes with evaluation errors, instead of skipping the errored policy and allowing.
  • GHSA-mrcx-xvv4-m7f8: bound the TPM AIA certificate fetch. Each hop resolves the host once, connects only to that checked address, and the hop and byte limits hold.
  • GHSA-2p85-666x-xm7x: classify upstream drift against the drifted tool's own catalog entry.

SDK on PyPI as cmcp-runtime 0.7.1.

Changelog

Sourced from cmcp-runtime's changelog.

[0.7.1] - 2026-10-19

Security

  • A Cedar Allow reached with evaluation errors was enforced as Allow (GHSA-frxc-7f57-6f4r). Cedar skips a policy whose condition errors, so a forbid reading a context attribute the current phase does not carry could not stop a matching permit. CedarBackend now denies any Allow that comes with evaluation errors, and the error reaches the tool_call or egress_denied audit row. So that a policy written for one phase does not deny in the other, both phases now carry the same context keys: egress adds session_max_sensitivity (the label string), arguments, baa_covered, compliance_domain, server_identity, destination_class and attestation_platform, and ingress adds egress (false), sensitivity_level, injection_events, reset_count and response_size_bytes (0). Without this the shipped BFSi demo denied every response at egress. A policy that reads a key outside that set, or workflow_id when the caller declared none, now denies.
  • The TPM AIA certificate fetch was unbounded (GHSA-mrcx-xvv4-m7f8). The chain walk followed redirects to any address and read responses without a limit. It now refuses destinations that do not resolve to global addresses, checks every redirect the same way, follows at most three and ignores responses over 64 KiB. Each hop's host is resolved once and the connection goes to the checked address (the request still names the host, and HTTPS still verifies the certificate against it), so a second DNS answer cannot point the fetch somewhere else. The fetch no longer uses environment proxies. An on-prem CA whose AIA host has a private address falls back to the vendored bundle.
  • Upstream drift was classified against the wrong catalog entry (GHSA-2p85-666x-xm7x). The scanner received the server of whichever entry was last in the catalog. Detection and fail-closed denial were not affected; only the classification written to the audit row was.
Commits
  • 4a7163a fix(security): cmcp-runtime 0.7.1 backport (Cedar errors, AIA fetch, drift cl...
  • See full diff in compare view

Updates starlette from 1.8.0 to 1.9.0

Release notes

Sourced from starlette's releases.

Version 1.9.0

This release streams TestClient response bodies, so client.stream() returns before the application finishes. It also escapes path delimiters when building URLs, matches host names case-insensitively, and keeps every existing Vary header.

Changed

  • Stream TestClient response bodies, so client.stream() returns before the application finishes. Closing an unfinished streamed response now cancels the application #3491.

Fixed

  • Percent-encode ?, #, \ and a leading // in the request path when building request.url, and \ and a leading // in url_path_for #3671.
  • Use the byte length for Content-Length when the response body is a typed or multidimensional memoryview #3622.
  • Include HEAD in the Allow header of HTTPEndpoint 405 responses when GET is defined #3585.
  • Match host names case-insensitively in Host routing and TrustedHostMiddleware #3542.
  • Preserve every existing Vary header in MutableHeaders.add_vary_header(), used by GZipMiddleware and SessionMiddleware #3675.

Full changelog: 1.8.0...1.9.0

Version 1.8.0

This release adds HTTP 103 Early Hints, preserves response trailers through GZipMiddleware, and stops FileResponse transfers when clients disconnect. Starlette now requires Python 3.11.

Added

  • Add Request.send_early_hints() for HTTP 103 Early Hints through the ASGI http.response.early_hint extension #3435.

Changed

  • Require Python 3.11 or later, dropping support for Python 3.10 #3592.
  • Exclude native gRPC media types (application/grpc and application/grpc+...) from GZipMiddleware compression by default #3565.
  • Send http.response.start immediately in GZipMiddleware for responses with an existing Content-Encoding, status 206, or an excluded content type, instead of waiting for the first body chunk #3631.
  • Resolve the multipart charset once per request instead of once per field #3618.

Fixed

  • Preserve response trailers through GZipMiddleware #3565.
  • Stop FileResponse transfers when the client disconnects #3523.
  • Stop multipart range responses when the file ends before a range is complete, instead of looping forever #3583.
  • Ignore Range when If-Range contains a weak ETag #3567.
  • Include Allow: GET, HEAD in StaticFiles 405 responses #3640.
  • Close Request.stream() generators deterministically, avoiding "Exception ignored" errors with stacked BaseHTTPMiddleware #3628.
  • Add Vary: Cookie when Session.pop() removes an existing key #3186.
  • Emit Max-Age=0 on the session cookie when SessionMiddleware uses max_age=0 #3651.
  • Bracket IPv6 hostnames in URL.replace() #3617.

Full changelog: 1.7.0...1.8.0

Changelog

Sourced from starlette's changelog.

1.9.0 (October 18, 2026)

Changed

  • Stream TestClient response bodies, so client.stream() returns before the application finishes. Closing an unfinished streamed response now cancels the application #3491.

Fixed

  • Percent-encode ?, #, \ and a leading // in the request path when building request.url, and \ and a leading // in url_path_for #3671.
  • Use the byte length for Content-Length when the response body is a typed or multidimensional memoryview #3622.
  • Include HEAD in the Allow header of HTTPEndpoint 405 responses when GET is defined #3585.
  • Match host names case-insensitively in Host routing and TrustedHostMiddleware #3542.
  • Preserve every existing Vary header in MutableHeaders.add_vary_header(), used by GZipMiddleware and SessionMiddleware #3675.

1.8.0 (October 13, 2026)

This release drops Python 3.10 support and adds HTTP 103 Early Hints.

Added

  • Add Request.send_early_hints() for HTTP 103 Early Hints through the ASGI http.response.early_hint extension #3435.

Changed

  • Require Python 3.11 or later, dropping support for Python 3.10 #3592.
  • Exclude native gRPC media types (application/grpc and application/grpc+...) from GZipMiddleware compression by default #3565.
  • Send http.response.start immediately in GZipMiddleware for responses with an existing Content-Encoding, status 206, or an excluded content type, instead of waiting for the first body chunk #3631.
  • Resolve the multipart charset once per request instead of once per field #3618.

Fixed

  • Preserve response trailers through GZipMiddleware #3565.
  • Stop FileResponse transfers when the client disconnects #3523.
  • Stop multipart range responses when the file ends before a range is complete, instead of looping forever #3583.
  • Ignore Range when If-Range contains a weak ETag #3567.
  • Include Allow: GET, HEAD in StaticFiles 405 responses #3640.
  • Close Request.stream() generators deterministically, avoiding "Exception ignored" errors with stacked BaseHTTPMiddleware #3628.
  • Add Vary: Cookie when Session.pop() removes an existing key #3186.
  • Emit Max-Age=0 on the session cookie when SessionMiddleware uses max_age=0 #3651.
  • Bracket IPv6 hostnames in URL.replace() #3617.
Commits
  • 1840c9d Version 1.9.0 (#3676)
  • 750dc33 Preserve all Vary headers in MutableHeaders.add_vary_header (#3675)
  • 414af4f Remove unmaintained packages from the third-party packages page (#3674)
  • d4df01a Add adminsite to the third-party packages (#3654)
  • 1766228 Match host names case-insensitively in Host routing and `TrustedHostMiddlew...
  • a579222 Include HEAD in the Allow header of HTTPEndpoint 405 responses (#3585)
  • 6b11cd7 Honor streaming responses in TestClient (#3491)
  • b7901fb Use byte length for typed memoryview response bodies (#3622)
  • 3214cd0 Escape path delimiters and leading // when building URLs (#3671)
  • 7b2948f Version 1.8.0 (#3660)
  • Additional commits viewable in compare view

Updates pycparser from 3.11 to 3.12

Release notes

Sourced from pycparser's releases.

release_v3.12

What's Changed

Full Changelog: eliben/pycparser@release_v3.11...release_v3.12

Commits
  • 3ec766b Tweak build
  • 1771cbf Prepare to release 3.12
  • 51715bf Add documentation on using methods of ast node
  • 878c289 Support va_arg properly
  • 840fe55 Add some Linux kernel headers to benchmark
  • 8fd2299 Add ArrayDesignator AST node to distinguish array indices in designators
  • aa32af5 Fix crashes in generator with empty case bodies
  • f29e8ef Regression test for #215
  • a74aa74 Support form feed and vertical tabs as whitespace
  • 02380d0 Comment fixes
  • Additional commits viewable in compare view

Updates certifi from 2026.7.22 to 2026.10.19

Commits

Updates transformers from 5.19.0 to 5.20.2

Release notes

Sourced from transformers's releases.

Patch release v5.20.2

Patch release: v5.20.2

This patch notably solves an issue where some inputs could loose their original type inside prepare_inputs_for_generation in generate, leading to problems with multimodal models. It also fixes some other issues listed on the below commits.

It contains the following commits:

Release v5.20.1

Special surprise including the new model Beam from Reflection AI 🥳

Beam is a token-efficient, frontier-scale model focused on coding and agentic use cases. It is built for teams that want to run a powerful model on their own hardware, infrastructure, or cloud, and customize it to their specific needs.

Links: Documentation

Some real patch fixes

We broke loading models on older torch versions 😢 should be fixed now. But here is the full list of fixes

Full Changelog: huggingface/transformers@v5.20.0...v5.20.1

Release v5.20.0

New Model additions

Muse Spark Open

Muse Spark Open is a multimodal mixture-of-experts model from Meta that takes text, images, audio, and video as input and generates text. It has 816B total parameters (42B active per token) and a context window of up to 1,048,576 tokens shared across modalities. It is trained for agentic coding tasks such as multi-file editing, debugging, and tool use. Checkpoints are available in BF16 and NVFP4 formats.

Links: Documentation | Blog Post

... (truncated)

Commits
  • 18329f1 Release: v5.20.2
  • 2ce3082 Avoid a host-to-device copy in eager_mask (#49684)
  • 62bc6fd Declare the input modalities of the VLMs that report text only (#49677)
  • 30f4e38 Fix zero expert gradients in bfloat16 with expert parallelism and ep_size < f...
  • ce8231f Fix inputs dict casting in generate (#49731)
  • 0ea8779 v5.20.1
  • de4f35f Fix small bug in auto mappings (#49664)
  • 759c538 Make DtensorShardOperation work on torch 2.6 and 2.7 (#49657)
  • c180e2d Fix from_pretrained on torch 2.7: require torch>=2.8 for distributed checkpoi...
  • 10d36aa Fix DeepGEMM Mega MoE under expert parallelism (#49428)
  • Additional commits viewable in compare view

Updates cedarpy from 4.12.1 to 4.12.2

Release notes

Sourced from cedarpy's releases.

cedarpy v4.12.2

Added

  • With the new keyword-only release_gil=True, other Python threads run while Cedar validates policies or builds a handle, so asyncio.to_thread keeps an event loop responsive during those calls (#120). The default, False, holds the GIL for the whole call, as before. These entry points take it:

    • validate_policies
    • PolicySet.from_str, PolicySet.from_json_str and PolicySet.from_pst
    • Schema.from_str and Schema.from_json_str
    • Entities.from_json_str

    When another thread is busy, a released call typically waits about sys.getswitchinterval() (5 ms by default) to resume, so releasing pays off for calls that take milliseconds or more. Reading the arguments and building the result still hold the GIL. See the Threads and asyncio Guide (#121). Thanks @​kousun12!

Full Changelog: k9securityio/cedar-py@v4.12.1...v4.12.2

Changelog

Sourced from cedarpy's changelog.

[4.12.2] - 2026-10-14

Added

  • With the new keyword-only release_gil=True, other Python threads run while Cedar validates policies or builds a handle, so asyncio.to_thread keeps an event loop responsive during those calls (#120). The default, False, holds the GIL for the whole call, as before. These entry points take it:

    • validate_policies
    • PolicySet.from_str, PolicySet.from_json_str and PolicySet.from_pst
    • Schema.from_str and Schema.from_json_str
    • Entities.from_json_str

    When another thread is busy, a released call typically waits about sys.getswitchinterval() (5 ms by default) to resume, so releasing pays off for calls that take milliseconds or more. Reading the arguments and building the result still hold the GIL. See the Threads and asyncio Guide (#121). Thanks @​kousun12!

Commits
  • f9a3af1 Merge pull request #122 from k9securityio/release/4.12.2
  • fd79b2d release: bump version to 4.12.2
  • 5bf4e43 feat: add opt-in release_gil to validation and handle constructors (#121)
  • See full diff in compare view

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself...

Description has been truncated

… 7 updates

Bumps the python-examples group with 3 updates in the /demos directory: [cmcp-runtime](https://github.com/agentrust-io/cmcp), [openai](https://github.com/openai/openai-python) and [starlette](https://github.com/Kludex/starlette).
Bumps the python-examples group with 6 updates in the /examples directory:

| Package | From | To |
| --- | --- | --- |
| [cmcp-runtime](https://github.com/agentrust-io/cmcp) | `0.7.0` | `0.7.1` |
| [starlette](https://github.com/Kludex/starlette) | `1.8.0` | `1.9.0` |
| [pycparser](https://github.com/eliben/pycparser) | `3.11` | `3.12` |
| [certifi](https://github.com/certifi/python-certifi) | `2026.7.22` | `2026.10.19` |
| [transformers](https://github.com/huggingface/transformers) | `5.19.0` | `5.20.2` |
| [cedarpy](https://github.com/k9securityio/cedar-py) | `4.12.1` | `4.12.2` |



Updates `cmcp-runtime` from 0.7.0 to 0.7.1
- [Release notes](https://github.com/agentrust-io/cmcp/releases)
- [Changelog](https://github.com/agentrust-io/cmcp/blob/main/CHANGELOG.md)
- [Commits](agentrust-io/cmcp@v0.7.0...v0.7.1)

Updates `openai` from 3.31.0 to 3.37.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@v3.31.0...v3.37.0)

Updates `starlette` from 1.7.0 to 1.9.0
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](Kludex/starlette@1.7.0...1.9.0)

Updates `cmcp-runtime` from 0.7.0 to 0.7.1
- [Release notes](https://github.com/agentrust-io/cmcp/releases)
- [Changelog](https://github.com/agentrust-io/cmcp/blob/main/CHANGELOG.md)
- [Commits](agentrust-io/cmcp@v0.7.0...v0.7.1)

Updates `starlette` from 1.8.0 to 1.9.0
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](Kludex/starlette@1.7.0...1.9.0)

Updates `pycparser` from 3.11 to 3.12
- [Release notes](https://github.com/eliben/pycparser/releases)
- [Commits](eliben/pycparser@release_v3.11...release_v3.12)

Updates `certifi` from 2026.7.22 to 2026.10.19
- [Commits](certifi/python-certifi@2026.07.22...2026.10.19)

Updates `transformers` from 5.19.0 to 5.20.2
- [Release notes](https://github.com/huggingface/transformers/releases)
- [Commits](huggingface/transformers@v5.19.0...v5.20.2)

Updates `cedarpy` from 4.12.1 to 4.12.2
- [Release notes](https://github.com/k9securityio/cedar-py/releases)
- [Changelog](https://github.com/k9securityio/cedar-py/blob/main/CHANGELOG.md)
- [Commits](k9securityio/cedar-py@v4.12.1...v4.12.2)

---
updated-dependencies:
- dependency-name: cmcp-runtime
  dependency-version: 0.7.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-examples
- dependency-name: openai
  dependency-version: 3.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-examples
- dependency-name: starlette
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-examples
- dependency-name: cmcp-runtime
  dependency-version: 0.7.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-examples
- dependency-name: starlette
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-examples
- dependency-name: pycparser
  dependency-version: '3.12'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-examples
- dependency-name: certifi
  dependency-version: 2026.10.19
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-examples
- dependency-name: transformers
  dependency-version: 5.20.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-examples
- dependency-name: cedarpy
  dependency-version: 4.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-examples
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot requested review from a team, carloshvp and imran-siddique as code owners October 26, 2026 04:38
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 26, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #403.

@dependabot dependabot Bot closed this Oct 29, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/demos/python-examples-2249250d28 branch October 29, 2026 00:22
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