Both SDKs left httpx within eight days, and the plugins had to follow
llm-anthropic 0.27 landed on August 24 and now requires anthropic 1.x, which moved from httpx to httpx2. OpenAI made the same move in its 3.0.0 on August 12, eight days earlier. If you keep both plugins in one environment, they no longer upgrade independently.
Simon Willison released llm-anthropic 0.27 on August 24, and the release exists for one reason: compatibility with anthropic 1.0.0, which switches the HTTP layer from httpx to httpx2. PyPI records anthropic 1.0.0 on August 20 and llm-anthropic 0.27 four days later, on August 24 at 16:28 UTC. The new plugin declares its requirement as anthropic>=1,<2 — so the version range moved, not just the code behind it.
The second time in eight days
This is not a one-off. OpenAI's Python library made the identical switch in its 3.0.0 release, published to PyPI on August 12 — eight days before Anthropic's, and twelve before the plugin that followed it. Two vendors, one dependency, the same direction, inside eight days.
For anyone running LLM with a single plugin, this is a routine upgrade. For anyone running both llm-anthropic and llm-openai in one environment, it stops being routine: the two plugins now sit on top of libraries that have each changed their HTTP stack, and a resolver that finds one old pin holds the whole environment back.
What actually breaks
Nothing breaks by itself. What breaks is the combination. If anthropic is pinned below 1 anywhere in your requirements, llm-anthropic 0.27 will not install. If you upgrade anthropic to 1.x and leave the plugin at 0.26 or older, you have a plugin written against the old HTTP layer.
The fix is to move both in one step rather than one at a time, and to check the pin rather than the version number you remember. That is the same lesson a fresh install of LLM taught when the OpenAI library moved first: the failure shows up at install time, in a resolver message, not as a bug in anything you wrote.
How the upgrade was done
Willison says he handed the job to a model. He prompted Fable 5 inside Claude Code with a single instruction — upgrade to anthropic>=1, read the migration guide at the URL, and get the tests passing — and published the resulting pull request.
That is worth noting for what it is: a dependency migration with a published test suite is close to the ideal shape for this kind of delegation. The tests decide whether the work is done, not the model and not the person reading the diff.
Sources
Corrections
An earlier version said the two SDKs made the same move within twelve days of each other. Checked against the release dates on PyPI, OpenAI published its 3.0.0 on August 12 and Anthropic its 1.0.0 on August 20, which is eight days. Twelve days is the gap to the plugin release that followed, not the gap between the two SDKs.
Related
Python 3.15 makes UTF-8 the default encoding and adds explicit lazy imports
Python 3.15.0 came out on October 9, 2026. Files opened without an explicit encoding are now read and written as UTF-8 on every system, and a new lazy import statement defers loading a module until it is used. The release also adds frozendict and a sampling profiler.
Python Software Foundationverified

Deno's team joins Cloudflare, and the Deno runtime gets one more year of updates
Ryan Dahl announced on October 9, 2026 that the whole Deno team is moving to Cloudflare. The Deno runtime will get monthly fixes for one more year before development ends, and Deno Deploy will shut down after six months. JSR keeps running.
Denoverified

Anthropic's OSS Scanner sends open-source maintainers free vulnerability reports that no human has reviewed
Anthropic launched OSS Scanner on October 8, 2026, an opt-in service that scans eligible open-source projects with its strongest models, including Claude Mythos, at no cost. Each report includes a reproducer, an explanation, and a candidate patch when one exists, but no person checks it before it is sent. Anthropic says it expects more than 90% of findings to be real.
Anthropicverified
