Skip to content

deps: drop the protobuf upper bound from the vertexai and all extras - #734

Draft
vishal-bala wants to merge 2 commits into
mainfrom
deps/drop-protobuf-upper-bound
Draft

deps: drop the protobuf upper bound from the vertexai and all extras#734
vishal-bala wants to merge 2 commits into
mainfrom
deps/drop-protobuf-upper-bound

Conversation

@vishal-bala

Copy link
Copy Markdown
Collaborator

Motivation

The vertexai extra declared protobuf>=5.28.0,<6.0.0, copied verbatim into all, with no comment explaining either bound. The cap was tighter than the dependency it existed to serve: google-cloud-aiplatform accepts protobuf>=3.20.2,<7.0.0 on both its current 1.x and 2.x lines, so RedisVL excluded two major lines the vendor accepts.

RedisVL imports no protobuf symbol anywhere, so the cap protected no API surface here. Its only effect was to narrow resolution for every redisvl[all] and redisvl[vertexai] user, which conflicts with current grpcio, opentelemetry and google-genai stacks.

Changes

The upper bound is removed from both the vertexai extra and all. The floor is retained, since it predates this change and a floor carries none of the same cost. A comment now records why there is no ceiling, so the cap is not reinstated by reflex: the package that actually uses protobuf is the one that should express its bound, and it does.

Resolution is unchanged. protobuf still locks at 5.29.6, because google-cloud-aiplatform's own constraint is what selects it. The lockfile diff is the two requires-dist specifiers and nothing else.

Notes

The lockfile was regenerated with uv 0.12.3 to match UV_VERSION in the workflows. A different uv version rewrites environment markers throughout the file, which produced 136 lines of unrelated churn on a first attempt.

The comment above google-cloud-aiplatform>=1.26,<2.0.0 in the same block is stale on both of its stated facts: it names 1.162.0 as the latest 1.x, which is now 1.165.1, and it says the 2.0.0 release is yanked for dropping the model-garden modules, where the recorded yank reason is an incorrect version bump and 2.0.1 has since shipped un-yanked with those modules present. Correcting it is left out of this change to keep the diff to one concern.

Release Notes

The protobuf upper bound has been removed from the vertexai and all extras. Installations that previously could not resolve alongside a newer protobuf are no longer constrained by RedisVL; google-cloud-aiplatform continues to supply its own bound.

`protobuf>=5.28.0,<6.0.0` was declared in the `vertexai` extra and
copied into `all`, with no comment explaining either bound. It was
tighter than the dependency it existed to serve:
google-cloud-aiplatform accepts `protobuf>=3.20.2,<7.0.0` on both its
current 1.x and 2.x lines, so RedisVL was excluding two major lines the
vendor is happy with.

RedisVL itself imports no protobuf symbol -- `grep -rn 'protobuf'
redisvl/` returns nothing -- so there was no API surface here to
protect. The only effect was to constrain resolution for every
`redisvl[all]` and `redisvl[vertexai]` user, which conflicts with
current grpcio, opentelemetry and google-genai stacks.

Keep the floor and let google-cloud-aiplatform express its own ceiling,
which is the constraint that tracks reality without needing maintenance
here.

Resolution is unchanged today: protobuf still locks at 5.29.6, because
google-cloud-aiplatform's own bound is what selects it. The lockfile
diff is the two `requires-dist` specifiers and nothing else.

Relocked with uv 0.12.3 to match UV_VERSION in the workflows; a
different uv version rewrites unrelated environment markers throughout
the file.
@vishal-bala vishal-bala added the auto:dependencies Update one or more dependencies version label Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto:dependencies Update one or more dependencies version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant