unstale

pypi / pinecone

pinecone

What changed in pinecone 9 to 10, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.

34 breaking3 security1 deprecations36 new APIs and options17 behavior and defaults1 tooling39 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

pinecone 1046 changes

Breaking changes 19

  • Adds role-binding management; authorization uses one role, one principal, and one scope, with no other source of permissions.

    10.0.0release notes

  • Becomes an explicit runtime dependency with a minimum version of 4.0.

    10.0.0release notes

  • Streaming assistant chat no longer aborts at 30 seconds; without a per-call timeout, the read floor is 300 seconds.

    10.0.0release notes

  • Removes error_message; read error from the assistant operations API instead.

    10.0.0release notes

  • Removes percent_done; read percent_complete from the assistant operations API instead.

    10.0.0release notes

  • Becomes a coroutine, so callers must await it.

    10.0.0release notes

  • Removes dimension from BackupModel; read schema instead.

    10.0.0release notes

  • Removes metric from BackupModel; read schema instead.

    9.0.1, 10.0.0release notesrelease notes

  • Invalid values and argument combinations now raise PineconeValueError or PineconeTypeError locally before a request; these are not ApiError subclasses.

    10.0.0release notes

  • Removes the [dev] extra; use uv sync --group dev instead.

    10.0.0release notes

  • Backup schedules accept exactly daily, weekly, or monthly; cron is not supported.

    10.0.0release notes

  • No longer raises on partial failure by default; failures are collected in the response. Set on_error="raise" to restore the previous behavior.

    10.0.0release notes

  • Adds document upsert, search, fetch, list, update, delete, and batch_upsert on sync and async index clients for indexes created with a 2026-07 document schema.

    10.0.0release notes

  • The created_at property is removed from IndexModel.

    10.0.0release notes

  • Returns Paginator[IndexModel] instead of IndexList, so .names() is unavailable on this path; pc.list_indexes() is unchanged.

    10.0.0release notes

  • Removes the preview namespace and its classes and modules without a shim; graduated APIs are available on the main client.

    10.0.0release notes

  • Encodes every REST path parameter at the transport boundary to prevent caller-supplied slashes and dot segments from addressing a different endpoint.

    10.0.0release notes

  • Builds an index schema in Python; add methods return the builder and build() returns a dict suitable for pc.indexes.create(schema=...).

    10.0.0release notes

  • The async rerank path now enforces top_n >= 1.

    10.0.0release notes

Security 1

  • Masks the access token in repr() and str(), showing only its last four characters.

    10.0.0release notes

New APIs and options 17

  • Adds organization invite management to the Admin client.

    10.0.0release notes

  • Adds service-account management to the Admin client.

    10.0.0release notes

  • Adds user management to the Admin client.

    10.0.0release notes

  • Assistant chat stream chunks now carry content_filter_results.

    10.0.0release notes

  • Adds members for models available at API version 2026-07.

    10.0.0release notes

  • Adds an ApiError subclass for HTTP 412 responses.

    10.0.0release notes

  • Adds an exported typed object for per-string-field full-text search configuration, including language, stemming, stop words, and character n-grams.

    10.0.0release notes

  • Adds an exported typed object for character n-gram configuration; n-grams cannot be combined with stemming or stop words.

    10.0.0release notes

  • Adds an ApiError subclass for HTTP 402 responses.

    10.0.0release notes

  • Describes assistant operations, exposing status, percent_complete, and error so asynchronous file writes can be followed.

    10.0.0release notes

  • Lists assistant operations so asynchronous jobs can be followed.

    10.0.0release notes

  • Adds recurring backup schedule management and per-schedule run history. Frequency supports daily, weekly, or monthly; only one enabled schedule per index is allowed.

    10.0.0release notes

  • Accepts read_capacity to apply dedicated read capacity while restoring an index.

    10.0.0release notes

  • Adds dedicated read capacity configuration at index creation, configure, or restore for managed and BYOC indexes; the setting reads back from IndexModel.read_capacity.

    10.0.0release notes

  • Adds an id to StreamMessageStart.

    10.0.0release notes

  • Adds a deadline for an entire batched upsert call; when it expires, submission stops, in-flight batches finish, and unsent items are returned as failures.

    10.0.0release notes

  • Adds on_error to choose between collecting partial failures in the response or raising; failed rows are available in response.failed_items.

    10.0.0release notes

Behavior and default changes 3

  • Batched upsert defaults max_concurrency to 8, up from 4; an adaptive per-host admission gate can limit or abandon batch submission.

    10.0.0release notes

  • A plaintext gRPC data plane using http against a non-loopback, non-private host now emits one RuntimeWarning per process.

    10.0.0release notes

  • The default API version header is 2026-07 on every plane; set the header explicitly to pin an older version.

    10.0.0release notes

Fixes and other changes 6

  • Is now populated in namespace descriptions.

    10.0.0release notes

  • The grpc overload narrows the return type so index.documents type-checks under mypy and pyright.

    10.0.0release notes

  • Now reaches the transport that opens the socket, so the setting takes effect.

    10.0.0release notes

  • The SDK is tested and classified on Python 3.10 through 3.14; its Python requirement floor remains 3.10.

    10.0.0release notes

  • Now reaches the transport that opens the socket, so the setting takes effect.

    10.0.0release notes

  • Now reaches the transport that opens the socket, so the setting takes effect.

    10.0.0release notes

pinecone 985 changes

Breaking changes 15

  • The default changes from 2.0 to 0.25; the value is now the minimum delay floor in the decorrelated-jitter formula, not an exponential multiplier.

    9.1.0release notes

  • REST now counts max_retries as retries after the initial attempt, matching gRPC; N retries allow up to N+1 total requests.

    9.1.0release notes

  • Makes name nullable and removes the unused description field.

    9.0.1release notes

  • Removes the dead description parameter because the server does not accept it.

    9.0.1release notes

  • Enforces an 80-character API key name limit.

    9.0.1release notes

  • Cancelled and Timeout expired errors from the gRPC backend are raised as PineconeTimeoutError instead of grpc.RpcError.

    9.0.1release notes

  • Rejects top_k values greater than 10000 client-side.

    9.0.1release notes

  • Rejects limit values below 1 client-side.

    9.0.1release notes

  • Polling raises IndexTerminatedError when an index enters Terminating or Disabled instead of waiting for the operator timeout.

    9.0.1release notes

  • Rejects combining type=rerank with a vector_type argument.

    9.0.1release notes

  • Rejects top_n values below 1 client-side with ValidationError.

    9.0.1release notes

  • Removes the nonfunctional filter parameter; calls passing filter now raise TypeError.

    9.0.1release notes

  • Removes the nonfunctional filter parameter; calls passing filter now raise TypeError.

    9.0.1release notes

  • Rejects empty ids lists.

    9.0.1release notes

  • Rejects records with a non-string, empty, or null-byte-containing _id before making the HTTP call.

    9.0.1release notes

Security 2

  • Validates collection resource names client-side for length and allowed characters.

    9.0.1release notes

  • Validates project name length and null bytes, and refuses negative max_pods.

    9.0.1release notes

Deprecations 1

  • The field keyword remains supported as a deprecated alias for fields and is planned for removal in a future release.

    9.0.1release notes

New APIs and options 19

  • Accepts a single query= request body as a SearchQuery or plain Mapping; passing it with direct kwargs or with the wrong type raises TypeError.

    9.1.0release notes

  • Bulk import operations are now available on GrpcIndex, including cancel_import.

    9.1.0release notes

  • Bulk import operations are now available on GrpcIndex, including describe_import.

    9.1.0release notes

  • Bulk import operations are now available on GrpcIndex, including list_imports.

    9.1.0release notes

  • Bulk import operations are now available on GrpcIndex, including list_imports_paginated.

    9.1.0release notes

  • Accepts a single query= request body as a SearchQuery or plain Mapping; passing it with direct kwargs or with the wrong type raises TypeError.

    9.1.0release notes

  • Bulk import operations are now available on GrpcIndex, including start_import.

    9.1.0release notes

  • Accepts a single query= request body as a SearchQuery or plain Mapping; passing it with direct kwargs or with the wrong type raises TypeError.

    9.1.0release notes

  • HTTP 429 responses now raise a dedicated ApiError subclass, exported from pinecone.errors and the top-level pinecone namespace.

    9.1.0release notes

  • A RateLimitException alias is available for the new throttling exception.

    9.1.0release notes

  • The backcompat shim now accepts messages= to match the deprecated v8 signature.

    9.0.1release notes

  • Accepts sparse and hybrid vector query dictionaries alongside dense lists, and validates and normalizes dictionary keys client-side.

    9.0.1release notes

  • Accepts sparse and hybrid vector query dictionaries alongside dense lists, and validates and normalizes dictionary keys client-side.

    9.0.1release notes

  • Exposes private endpoint hosts returned by the backend.

    9.0.1release notes

  • Uses API version v202604, corrects query parameter names and pagination-token parsing, and adds page_size.

    9.0.1release notes

  • Uses API version v202604, corrects query parameter names and pagination-token parsing, and adds page_size.

    9.0.1release notes

  • Exposes private_host, source_collection, source_backup_id, and cmek_id in preview index responses.

    9.0.1release notes

  • Adds error_message to represent read capacity failure states.

    9.0.1release notes

  • Renames field to fields to support multiple field names; field remains a deprecated alias.

    9.0.1release notes

Behavior and default changes 14

  • Bulk operations automatically reduce per-host in-flight requests under throttling and recover after successes; max_concurrency remains the ceiling.

    9.1.0release notes

  • Namespace fan-out is capped at 10 in-flight requests instead of issuing one unbounded request per namespace.

    9.1.0release notes

  • The namespace emits DEBUG records for concurrency adjustments and an INFO record the first time a host is throttled.

    9.1.0release notes

  • The namespace emits DEBUG records for throttled retry attempts, including status, host, attempt count, and computed delay.

    9.1.0release notes

  • REST and gRPC retries now use decorrelated jitter, spreading retries across time instead of bunching them together.

    9.1.0release notes

  • Widens tags from dict[str, str] to dict[str, Any] and exposes the actual schema field.

    9.0.1release notes

  • Removes the hardcoded limit=10 default so backend-default pagination is used.

    9.0.1release notes

  • Makes host optional to handle null values during creation and Terminating states.

    9.0.1release notes

  • Header and tag inputs accept Mapping[str, str], and read-only Index operation parameters accept Mapping[str, Any].

    9.0.1release notes

  • Widens tags from dict[str, str] to dict[str, Any].

    9.0.1release notes

  • Removes the hardcoded limit=10 default so backend-default pagination is used.

    9.0.1release notes

  • The configure boundary now wraps bare schema dictionaries, accepting both fields-wrapped and short field mappings.

    9.0.1release notes

  • Public input parameters previously typed as list[T] now accept Sequence[T], including embed, rerank, and assistant messages and roles.

    9.0.1release notes

  • Allows partial Dedicated patches, such as changing min_replicas without re-specifying max_replicas.

    9.0.1release notes

Tooling 1

  • Adds an explicit public-surface stub so Jedi-based editors can resolve autocomplete and go-to-definition.

    9.0.1release notes

Fixes and other changes 33

  • Bare list[float] queries now use the correct wire shape, so dense-vector queries work.

    9.1.0release notes

  • Surfaces schema in decoded BYOC spec responses instead of dropping it.

    9.0.1release notes

  • Makes role and content optional to match streaming assistant-role chunks where values arrive on later chunks.

    9.0.1release notes

  • Exposes the usage field previously dropped during struct decoding.

    9.0.1release notes

  • Includes dimension in the index creation request instead of silently dropping it.

    9.0.1release notes

  • Populates reasoning from evaluate_alignment responses instead of returning it empty.

    9.0.1release notes

  • Adds create_namespace, describe_namespace, delete_namespace, list_namespaces, and list_namespaces_paginated to the gRPC index API.

    9.0.1release notes

  • Omits errorMode from the wire payload when error_mode is unspecified, avoiding backend rejection of null.

    9.0.1release notes

  • Widens min and max to int | float | None to match backend parameter values.

    9.0.1release notes

  • Maps the JSON field error_message into error for failed operations.

    9.0.1release notes

  • Forwards the environment parameter to the backend when creating an assistant.

    9.0.1release notes

  • Omits metadata from the request body when it is not provided, avoiding rejection by stricter backends.

    9.0.1release notes

  • Omits description from the request body when it is not provided.

    9.0.1release notes

  • Forwards serverless_read_capacity, which previously was not plumbed through the SDK.

    9.0.1release notes

  • Stops pre-merging tags client-side so partial updates are not overwritten.

    9.0.1release notes

  • With timeout=-1, returns CreateIndexFromBackupResponse directly rather than polling.

    9.0.1release notes

  • Adds the previously omitted preview backup description operation and its async counterpart.

    9.0.1release notes

  • Honors the legacy assistant control host environment variable at client construction.

    9.0.1release notes

  • Honors the legacy assistant data host environment variable at client construction.

    9.0.1release notes

  • Makes replicas, shards, and pods optional to match nullable backend responses.

    9.0.1release notes

  • Treats Terminated and Terminating as terminal assistant states so creation polling exits promptly.

    9.0.1release notes

  • Adds PreviewBooleanField to the schema union so schemas containing it are accepted.

    9.0.1release notes

  • Forwards deployment for pod index patching and completes tag and schema-field validation.

    9.0.1release notes

  • Forwards source_collection, source_backup_id, and cmek_id to the backend when creating preview indexes.

    9.0.1release notes

  • Forwards limit to the server in fetch_page instead of using a hardcoded value.

    9.0.1release notes

  • Makes host optional to match nullable backend responses.

    9.0.1release notes

  • Adds PreviewLegacyIntegerField to the schema union so schemas containing it are accepted.

    9.0.1release notes

  • Makes environment optional to match nullable backend responses.

    9.0.1release notes

  • Rejects negative max_pods before making the HTTP call.

    9.0.1release notes

  • Preserves input namespace order in results so ties break deterministically.

    9.0.1release notes

  • Makes created_at optional to match nullable backend responses.

    9.0.1release notes

  • Makes usage optional to handle null values in streaming responses.

    9.0.1release notes

  • Drops the redundant id key when _id is present to avoid backend 400 responses.

    9.0.1release notes