Skip to content

chore(deps): bump pinecone from 5.4.2 to 9.1.0#30

Merged
PyDevDeep merged 1 commit into
mainfrom
dependabot/pip/pinecone-9.1.0
Jun 23, 2026
Merged

chore(deps): bump pinecone from 5.4.2 to 9.1.0#30
PyDevDeep merged 1 commit into
mainfrom
dependabot/pip/pinecone-9.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 22, 2026

Copy link
Copy Markdown
Contributor

Bumps pinecone from 5.4.2 to 9.1.0.

Release notes

Sourced from pinecone's releases.

9.1.0

Release v9.1.0

v9.1.0 is the retry-resilience release. It overhauls how the SDK behaves under throttling: decorrelated jitter on every transport, plus automatic per-host concurrency back-off that shrinks in-flight bulk requests during a 429 storm and recovers as pressure eases. A new RateLimitError lets callers catch throttling distinctly, and a dedicated retries guide documents the full model. Secondary changes round out GrpcIndex parity with the REST clients and restore the v8 search(query={...}) request shape.


Highlights

  • Decorrelated jitter on every transport. REST (sync and async) and gRPC now use AWS-style decorrelated jitter for retry backoff, so many clients throttled at the same moment no longer retry in lockstep.
  • Automatic concurrency back-off under throttling. Bulk operations self-tune downward when the backend rate-limits a host and recover as throttling subsides — an AIMD control loop, per host, with no new knobs to configure.
  • Bounded multi-namespace fan-out. AsyncIndex.query_namespaces no longer fires one unbounded request per namespace — a common cause of self-inflicted 429 storms. It's now capped at 10 in-flight.
  • RateLimitError for HTTP 429. Rate-limit responses raise a dedicated pinecone.errors.RateLimitError, so you can catch throttling distinctly from other server errors.
  • New retries guide at docs/guides/retries.md — defaults, jitter math, the adaptive-concurrency ceiling, and the limits of in-process retries under multi-process / serverless deployment.
  • GrpcIndex parity with the REST clients. query_namespaces, query_namespaces_async, fetch_by_metadata, and the full bulk-import API now exist on GrpcIndex, so switching to grpc=True for throughput no longer loses functionality.
  • Community contribution — search(query={...}) syntax from v8 has been restored. Thanks to @​pragnyanramtha, the single-argument request-body form that v9.0.x rejected works again on Index, AsyncIndex, and GrpcIndex.

Retry & resilience

Decorrelated jitter

REST and gRPC retries now use decorrelated jitter — each delay is drawn from a window that grows with the previous delay, capped at max_wait. This replaces the previous fixed full-jitter backoff and spreads retries from many clients across time instead of bunching them at the same instant. See the retries guide for the exact formula and defaults.

Automatic concurrency back-off

Bulk operations now self-tune their concurrency under throttling. When the backend rate-limits a host (HTTP 429/503, or gRPC RESOURCE_EXHAUSTED), the SDK reduces the number of in-flight requests it allows to that host, then recovers after a streak of successes — the same AIMD (additive-increase / multiplicative-decrease) approach used by TCP congestion control. It's per host, automatic, and requires no configuration; max_concurrency remains the ceiling the SDK tunes beneath.

RateLimitError

HTTP 429 responses now raise RateLimitError, a subclass of ApiError, so throttling can be caught distinctly from other server errors:

from pinecone.errors import RateLimitError
try:
pc.indexes.describe("my-index")
except RateLimitError:
# back off and retry, or surface to your orchestrator
...

Exported from pinecone.errors and the top-level pinecone namespace; a RateLimitException alias matches the existing exception-naming pattern.

Observability

The retry and concurrency layers emit namespaced log records with consistent key=value fields, so you can diagnose throttling from logs without adding instrumentation:

  • pinecone._internal.http_client — DEBUG on each throttled retry attempt (status, host, attempt N/total, computed delay).

... (truncated)

Commits
  • bb1304e release: 9.1.0
  • 620933a chore(deps): bump idna from 3.11 to 3.15 in the uv group across 1 directory (...
  • b0f1887 docs(retries): stop surfacing Retry-After / grpc-retry-pushback-ms
  • 559ce7e revert(backcompat): drop DeprecationWarning on search(query=...)
  • 366bb10 test(integration): add opt-in retry smoke test for quota-limited upserts
  • 56d0e16 test(retry): add Hypothesis fuzz tests for Retry-After parsing; fix parser bugs
  • 9fe9f9d fix(adaptive): bound _AdaptiveLimiterRegistry with LRU eviction at 256 entries
  • 41ea434 feat(observability): log throttle events and AIMD transitions at INFO/DEBUG
  • 17431f7 test(retry): add bulk-path regression tests under quota-starved backend (DX-0...
  • 27d34cd test(retry): add gRPC storm simulation test and enable cross-transport parity...
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 22, 2026
@dependabot dependabot Bot force-pushed the dependabot/pip/pinecone-9.1.0 branch 2 times, most recently from 2867b44 to e8bcdfb Compare June 23, 2026 11:41
Bumps [pinecone](https://github.com/pinecone-io/python-sdk) from 5.4.2 to 9.1.0.
- [Release notes](https://github.com/pinecone-io/python-sdk/releases)
- [Commits](pinecone-io/python-sdk@v5.4.2...v9.1.0)

---
updated-dependencies:
- dependency-name: pinecone
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/pinecone-9.1.0 branch from e8bcdfb to 43aeacd Compare June 23, 2026 13:57
@PyDevDeep PyDevDeep merged commit 3e8a3d3 into main Jun 23, 2026
2 checks passed
@PyDevDeep PyDevDeep deleted the dependabot/pip/pinecone-9.1.0 branch June 23, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant