Skip to content

chore(deps): bump anyio from 4.12.1 to 4.14.2 in /envs/reasoning_gym_env - #1205

Closed
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/uv/envs/reasoning_gym_env/anyio-4.14.2
Closed

dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/uv/envs/reasoning_gym_env/anyio-4.14.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 18, 2026

Copy link
Copy Markdown
Contributor

Bumps anyio from 4.12.1 to 4.14.2.

Release notes

Sourced from anyio's releases.

4.14.2

  • Changed ByteReceiveStream.receive() implementations to raise a ValueError when max_bytes is not a positive integer (#1191)
  • Fixed CapacityLimiter.total_tokens rejecting float("inf") when the limiter was instantiated outside of an event loop. The adapter setter checked for infinity by identity (value is math.inf), so only the exact math.inf singleton was accepted, while every backend setter (using math.isinf()) accepts any positive infinity (#1189; PR by @​greymoth-jp).
  • Fixed to_process.run_sync() deadlocking when the worker function writes enough data to sys.stderr to fill the (undrained) pipe buffer. The worker process now redirects sys.stderr to os.devnull as well, matching the documented behavior
  • Fixed TLSStream.wrap() matching an internationalized (unicode) host name against the peer certificate using IDNA 2003 (via the standard library) instead of IDNA 2008, which could cause the host name to be matched against the wrong certificate (#1208)
  • Fixed anyio.open_process() (and run_process()) ignoring the extra_groups argument, as it mistakenly passed the value of the group argument instead (#1209)
  • Fixed CapacityLimiter.acquire_nowait() and CapacityLimiter.acquire_nowait_on_behalf_of() raising trio.WouldBlock instead of anyio.WouldBlock on the trio backend when there are no tokens available (#1218)
  • Fixed CapacityLimiter on the asyncio backend over-granting tokens (borrowed_tokens exceeding total_tokens and available_tokens going negative) when a non-blocking acquire was made in the window between a token being released and the notified waiter resuming. The freed token is now reserved for the woken waiter right away, so the non-blocking acquire correctly raises WouldBlock (#1170; PR by @​gaoflow)
  • Fixed unnecessary CPU spin when delivering cancellation from CancelScope on asyncio under certain conditions, including improper cancel scope nesting (#1111)

4.14.1

  • Fixed teardown of higher-scoped async fixtures failing on asyncio with RuntimeError: Attempted to exit cancel scope in a different task than it was entered in when an async test raise an outcome exception (e.g., pytest.skip(), pytest.xfail(), or pytest.fail()) (#1179; PR by @​EmmanuelNiyonshuti)
  • Fixed CapacityLimiter.total_tokens rejecting a value of 0 when the limiter was instantiated outside of an event loop, contradicting the documented behavior of allowing 0 total tokens (#1183; PR by @​nyxst4ck)

4.14.0

  • Added support for Python 3.15

  • Added an asynchronous implementation of the itertools module (#998; PR by @​11kkw)

  • Added the local_port parameter to connect_tcp() to allow binding to a specific local port before connecting (#1067; PR by @​nullwiz)

  • Added support for custom capacity limiters in async path and file I/O functions and classes

  • Added the create_task() task group method for easier asyncio migration (returns a TaskHandle) (#1098)

  • Changed TaskGroup.start_soon() to return a TaskHandle

  • Added an option for TaskGroup.start() to return a TaskHandle (which then contains the start value in the start_value property)

  • Added the cancel() convenience method to TaskGroup as a shortcut for cancelling the task group's cancel scope

  • Improved the error message when a known backend is not installed to suggest the install command (#1115; PR by @​EmmanuelNiyonshuti)

  • Improved anyio.Path to preserve subclass types by returning Self in methods that return path objects (#1130; PR by @​EmmanuelNiyonshuti)

  • Changed the parameter type annotation in anyio.Path.write_bytes() to accept any ReadableBuffer, thus allowing it to accept bytearray and memoryview to match pathlib.Path.write_bytes() (#1135; PR by @​SAY-5)

  • Changed several type annotations to only accept callables returning coroutine-like objects instead of arbitrary awaitables:

    • TaskGroup.start_soon()
    • TaskGroup.start()
    • anyio.from_thread.run()

    This reverts an earlier change from v3.7.0 which was made in error. (#1153)

  • Changed anyio.run to support callables returning arbitrary awaitables at runtime on all backends. Previously, this only worked on asyncio (#1171; PR by @​gschaffner)

  • Changed several classes (and their subclasses) to have __slots__ (with __weakref__):

    • anyio.CancelScope

... (truncated)

Commits
  • c384f99 Bumped up the version
  • dbba29d Fixed 100% CPU spin on cancel scope misuse (#1217)
  • 6bbc6c3 Fix CapacityLimiter over-granting tokens on asyncio (#1172)
  • 6f82b25 Refactored TestTLSStream.test_receive_invalid_max_bytes() to be less flaky
  • be24b04 Relaxed timeouts to fix test flakiness
  • 8113506 Fix test flakiness caused by slow callback duration logging
  • 1e988b6 Fixed CapacityLimiter raising trio.WouldBlock instead of anyio.WouldBlock (#1...
  • 44713f3 Pin setup-uv to a commit sha across downstream jobs (#1213)
  • f1b7301 Fixed stderr writes in a worker subprocess causing a deadlock (#1207)
  • 212be93 Fix flaky test_tcp_listener_same_port using a hardcoded port (#1206)
  • Additional commits viewable in compare view

Dependabot compatibility score

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note

Low Risk
Lockfile-only dependency bump for the reasoning gym environment with no direct code changes; typical low-risk maintenance.

Overview
Bumps the resolved anyio dependency in envs/reasoning_gym_env from 4.12.1 to 4.14.2 (lockfile update via Dependabot).

This is a transitive async I/O library upgrade only; no application code in this repo changes. The newer release mainly brings bug fixes (capacity limiter, cancel scopes, TLS host matching, subprocess/extra_groups behavior) and minor API additions from 4.14.x.

Reviewed by Cursor Bugbot for commit b98570a. Bugbot is set up for automated code reviews on this repo. Configure here.

Bumps [anyio](https://github.com/agronholm/anyio) from 4.12.1 to 4.14.2.
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Commits](agronholm/anyio@4.12.1...4.14.2)

---
updated-dependencies:
- dependency-name: anyio
  dependency-version: 4.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added Dependencies python:uv Pull requests that update python:uv code labels Sep 18, 2026
@burtenshaw burtenshaw added environment size: small Small pull request labels Sep 18, 2026 — with Cursor
@bot-ci-comment

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alignment Review Report

PR #1205chore(deps): bump anyio from 4.12.1 to 4.14.2 in /envs/reasoning_gym_env (Dependabot)
Scope: envs/reasoning_gym_env/uv.lock only — no Python/source changes.

Automated Checks

  • Lint (.claude/hooks/lint.sh): FAIL, but pre-existing and unrelated to this PR. ruff format --check reports 56 files repo-wide would be reformatted (e.g. envs/reasoning_gym_env/README.md and various env example scripts). This PR modifies zero .py/.md files, so it introduces no new findings — the failures exist identically on main and are out of scope for a lock bump.
  • Debug code (.claude/hooks/check-debug.sh): CLEAN for this PR. The hook scans only src/ and surfaced solely pre-existing print/TODO items; this PR touches no src/ code.
  • Lockfile validity: uv lock --check in envs/reasoning_gym_env PASSES ("Resolved 140 packages") — the committed lockfile is internally consistent and matches pyproject.toml.
  • Supply-chain integrity: for all pre-existing packages the artifact URLs (files.pythonhosted.org) and sha256 hashes are unchanged; only the source index label changed. anyio's new artifacts are hash-pinned.

Open RFCs Context

Open RFCs (000–012; mostly In Review, 010/011 Draft) are all architectural — abstractions, env-spec, MCP boundary, rubrics, agentic harnesses, auto-validation, world-modeling, catalog discovery. None concern dependency management, lockfiles, or package indexes. No overlap with this PR.

Tier 1: Fixes Required

None. The lockfile is valid; no syntax/type/import/security regressions are introduced. The lint FAIL is pre-existing repo drift, not actionable within this PR's scope.

Tier 2: Alignment Discussion

Principle Conflicts

None identified. This is a transitive-dependency lock bump (anyio is pulled in via openenv, not a direct dep). It touches no runtime architecture, API surface, client/server boundary, container isolation, or reward logic — the areas PRINCIPLES.md / INVARIANTS.md govern.

RFC Conflicts

None identified.

Additional Observations (process, non-blocking)

The genuinely useful signals for a human maintainer:

  1. Contradicts the documented "no Dependabot in envs" policy. .github/dependabot.yml sets exclude-paths: ["envs/**"] for the uv ecosystem, added by @burtenshaw in 5f499da9 ("chore: stop dependabot in envs", #566). Yet this PR — and a steady stream of others (#1196 openapp_env, #1013 repl_env, #994 textarena_env, #967/#968 sumo_rl/textarena) — are Dependabot updates inside envs/. exclude-paths is not a supported Dependabot key, so it appears to be silently ignored. If excluding envs is still the intent, use a supported mechanism (scope directories to the root, or ignore rules); if envs updates are now welcome, the stale exclude-paths could be removed.

  2. Scope creep beyond the anyio bump. Dependabot regenerated the whole lockfile: (a) rewrote the source registry for ~all ~150 packages from pypi.registries.huggingface.techpypi.org/simple, (b) bumped lock revision 2 → 3 (newer uv format), and (c) dropped some now-redundant environment markers (e.g. pandas, secretstorage). Low risk — integrity is preserved (unchanged hashes) and the registry move actually aligns this env with the repo majority (31 of 40 env lockfiles already use pypi.org/simple; only 9 still reference the HF internal mirror) — but it's worth a conscious ack that a one-line dep bump also flips this env's package index and lock format.

Summary

  • 0 mechanical issues to fix (lockfile valid; lint FAIL is pre-existing/unrelated).
  • 0 principle/invariant conflicts.
  • 0 RFC conflicts.
  • 2 non-blocking process notes for maintainers (Dependabot-in-envs policy mismatch; lockfile scope creep). Suggested reviewer: @burtenshaw (owns the Dependabot config).
Open in Web View Automation 

Sent by Cursor Automation: Pre-review

@@ -1,5 +1,5 @@
version = 1
revision = 2
revision = 3

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lockfile format revision bumped 2 → 3 here — produced by a newer uv when Dependabot regenerated the lock, not a manual edit. Expected side effect; uv lock --check on this env passes, so the file remains internally consistent.

version = "4.12.1"
source = { registry = "https://pypi.registries.huggingface.tech/" }
version = "4.14.2"
source = { registry = "https://pypi.org/simple" }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registry rewrite bundled into this anyio bump: this line — and the source for ~all ~150 packages in the lock — moved from pypi.registries.huggingface.techpypi.org/simple. Artifact URLs + sha256 hashes are unchanged (integrity preserved), and it aligns this env with the repo majority (31/40 env lockfiles already use pypi.org/simple). Flagging so maintainers consciously ack the index flip, since it's beyond the stated anyio change.

… anyio security refresh

Co-authored-by: benjamin.burtenshaw <benjamin.burtenshaw@huggingface.co>

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Superseded: anyio 4.14.2 for this env landed via the batched merge in #1202 (39fdf5cd). Please close this PR (this automation cannot close PRs).

View PR

Open in Web View Automation 

Sent by Cursor Automation: Release

@dependabot @github

dependabot Bot commented on behalf of github Sep 21, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/uv/envs/reasoning_gym_env/anyio-4.14.2 branch September 21, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies environment python:uv Pull requests that update python:uv code size: small Small pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants