Anthropic SDK Cracks EU Vertex Routing, Kills File Data Bug
Same Python SDK surface, but EU-region Vertex deployments now have a native routing path instead of a workaround.
v0.94.0 (2026-04-10): Feature: vertex eu region (#1658). Bug fix: ensure file data are only sent as 1 parameter (837b25b).
— Anthropic / stainless-app, GitHub Releases (anthropics/anthropic-sdk-python)
- EU Vertex routing is now native. Teams under GDPR data-residency pressure should test the new path before their next compliance review, not after.
- The file-data parameter fix changes how API calls package file inputs. If intermittent upload failures have been showing up in your logs, v0.94.0 is the diff to test against.
- No breaking changes in this release, but the file-parameter patch changes internal behavior. Integration tests against the live API, not mocks, are the right check before promoting to production.
- Pin to v0.94.0 if either fix applies to your stack. If you're stable on an older version and neither change affects your integration, the changelog doesn't force your hand.
Point releases get thirty seconds from most engineering leads. Scan the changelog, check for breaking changes, run the tests, ship the bump. v0.94.0 of Anthropic's Python SDK looks like that kind of release: two changes that matter, two documentation commits, no announced breaking changes. Easy.
Except the Vertex EU region addition closes a routing gap that EU-based engineering teams have been treating as background noise for months. And the file-data parameter fix touches a code path that every integration handling file uploads is running through. Neither change is loud. Both are worth a closer read before you ship the bump.
What Shipped
The changelog for v0.94.0 is short. One feature, one bug fix, two documentation updates.
The feature is Vertex EU region support, landed via PR #1658. Teams using Anthropic models through Google Cloud's Vertex AI platform can now route to EU regions. The changelog entry is a single line and a commit hash. No additional detail on which specific EU regions are now covered or the exact configuration surface, beyond what the updated documentation examples contain. What is clear: EU-region routing on Vertex moves from something you were working around to something the SDK handles natively.
The bug fix covers file data parameter handling. The patch description is precise: "ensure file data are only sent as 1 parameter." Prior behavior was sending it differently. Whether that produced API rejections, silent data truncation, or intermittent failures in specific edge cases, the changelog does not say. It was wrong. Now it is not.
Two documentation commits clean up examples. Standard maintenance.
[[IMG: a software engineer reviewing a Python SDK changelog on a dark terminal, noting commit hashes beside a list of EU compliance integration tickets]]
Why It Matters
The EU Vertex routing addition arrives at a predictable point in the enterprise AI adoption cycle. Twelve months ago, the standard advice for EU teams needing data residency on Vertex deployments was some combination of manual region overrides, infrastructure-level routing workarounds, and hoping the compliance team did not look too carefully at inference logs. That is not sustainable as AI workloads move from pilot to production.
We have been here before. The same vendor-follows-demand pattern played out with cloud infrastructure providers building out EU-region support during the 2017-to-2019 GDPR compliance window. The vendor eventually catches up. The question is always timing, and a PR landing in April 2026 means this cleared Anthropic's internal prioritization bar recently. That signals EU enterprise demand on Vertex has reached a volume worth building against.
What I am watching is whether this is the first of several EU-specific additions or a lone commit that gets lost in the noise. EU enterprise distribution is not just about routing. It involves model availability in dedicated EU inference endpoints, logging destination defaults, data processing agreements, and support documentation that actually answers the procurement questionnaire a legal team sends over. Vertex EU routing closes one box on that checklist. The rest of the checklist still exists.
The file-data parameter fix is the quieter item in the changelog, but potentially more impactful for teams running agentic workloads with document or image inputs. SDK-level parameter handling bugs tend to fail in ways that are hard to diagnose at the application layer. A request that completes without returning an error but sends a malformed payload is harder to catch than one that throws cleanly. Engineers who have been writing off intermittent file processing failures as network issues or model behavior should add this fix to the list of candidates before ruling it out.
The broader pattern this fits: the shape of small SDK releases in 2025 and 2026 has consistently been additive features plus one silent-failure-mode fix. The additive features get the changelog headline. The silent-failure fixes are the ones worth reading twice.
What to Migrate
The upgrade is standard:
pip install anthropic==0.94.0
Or pin explicitly:
anthropic==0.94.0
There are no announced breaking changes in this release. The Vertex EU region addition is additive. The file-data parameter fix changes internal behavior, not the public API surface. For most integrations, this is a drop-in upgrade.
If you are on Vertex AI with EU requirements: Pull in v0.94.0 and check the updated documentation examples (commits 48089fd and 0f3c28b) for the current recommended configuration. If your team has been using a manual workaround to force EU routing, test that the new native support and your workaround are not conflicting before you ship. Remove the workaround only after confirming the native path is routing correctly in staging. Running both simultaneously is a failure mode worth avoiding.
If you are handling file inputs: Run your file upload code paths explicitly after upgrading. The parameter fix changes how file data gets packaged before the API call. Unit tests that mock the API layer will not catch this. Integration tests against the actual API endpoint will. This is the test to run before you promote to production.
On version pinning: If neither fix applies to your current stack and your existing version is stable, v0.94.0 does not give you a forcing function. SDK upgrades carry test overhead and a small risk surface. Upgrade deliberately. Pin to v0.94.0 when EU Vertex routing matters to your deployment or when file upload paths are in scope.
Every file upload path your production agents rely on should be in your integration test suite before you touch the SDK version. Not because v0.94.0 breaks things, but because you do not actually know your current behavior until you test it.
The two documentation commits update examples. If you have been following the existing docs closely, there is nothing to unlearn. The examples are cleaner. Worth a scan if you are setting up a new integration from scratch.
[[IMG: a developer at a standing desk running Python integration tests on a dual-monitor setup, one screen showing API test output with file upload assertions]]
Looking Ahead
The signal to watch over the next twelve weeks is not v0.94.0 itself. Watch whether Anthropic follows this with additional EU-specific additions across the rest of the platform stack: logging destination options, model availability in dedicated EU inference endpoints, and compliance documentation that speaks to what a legal procurement team actually asks. If those follow in the next two or three releases, EU enterprise distribution is a deliberate push. If this Vertex routing commit sits alone in the changelog for a quarter, it was one team's request that cleared the bar and nothing more.
For the file data fix: if intermittent file processing failures have been appearing in your production logs, test against v0.94.0 and see whether the pattern changes. That is your twelve-week check. A failure mode that disappears on upgrade was a failure mode you now know the name of.
Sources
- anthropic-sdk-python v0.94.0 release notes, accessed 2026-04-27
More from the same beat.
Behind crewAI 1.14.3's Cold-Start Gain, a Critical lxml Hole Loomed
The ~29% boot-time cut is the carrot; the mandatory lxml upgrade is the reason your lockfile moves today.
- The lxml upgrade to >=6.1.0 patches a public CVE (GHSA-vfmq-68hx-4jfw) — teams on pinned older crewAI versions are exposed until this lands in their lockfile.
crewAI Axes Cold Start by 29%, Patches lxml CVE in 1.14.3a3
Same harness, faster agent init, but the lxml CVE is what your security scanner will flag at Monday's standup.
- The 29% cold-start cut is free; no code changes required, just take the bump and feel it in your serverless agent spins.
LangGraph Cracks NotRequired Keys, Drags Langsmith Across a Version Line
The state-injection fix is the clean part. The 0.6.4-to-0.7.31 langsmith jump crossing a minor boundary is what deserves the audit pass before you pin.
- The NotRequired fix resolves a real state-injection defect — TypedDict with optional fields in prebuilt agents now behaves correctly; verify your state schemas before pinning.