v9.0.1
Breaking Changes📦 pinecone-clientView on GitHub →
⚠ 2 breaking✨ 10 features🐛 10 fixes⚡ 1 deprecations🔧 29 symbols
Summary
Version 9.0.1 is a polish release restoring several missing gRPC namespace APIs and search query features from v9.0.0, widening public input types for better ergonomics, and adding client-side validation checks.
⚠️ Breaking Changes
- The parameters `filter` on `PreviewDocuments.fetch` and `PreviewDocuments.delete` have been removed. If you were passing `filter=` to these methods in v9.0.0, the call will now raise a `TypeError` as the argument was ignored by the backend.
- Code that explicitly caught `grpc.RpcError` to handle gRPC timeouts will no longer catch `Cancelled` + `"Timeout expired"` errors from the gRPC backend, as these are now raised as the higher-level `PineconeTimeoutError`.
Migration Steps
- If you relied on passing `filter=` to `PreviewDocuments.fetch` or `PreviewDocuments.delete`, remove that argument from your calls.
- If you had custom error handling that specifically caught `grpc.RpcError` to handle timeouts, ensure you also catch `PineconeTimeoutError` if you need to handle gRPC timeouts specifically.
✨ New Features
- Restored gRPC namespace operations: `create_namespace`, `describe_namespace`, `delete_namespace`, `list_namespaces`, and `list_namespaces_paginated` on `GrpcIndex`.
- Enabled sparse and hybrid vector queries on `Index.search` / `AsyncIndex.search` by accepting a dictionary structure for the query input.
- Restored `pc.preview.indexes.describe_backup` and its async counterpart.
- Restored forwarding of `serverless_read_capacity` in `pc.indexes.configure`.
- Restored forwarding of configuration parameters (`source_collection`, `source_backup_id`, `cmek_id`) during preview index creation.
- Restored forwarding of the `deployment` parameter during preview index configuration patching.
- Restored forwarding of the `environment` parameter in `pc.assistants.create`.
- Restored `IndexModel.private_host` and `ByocSpecInfo.schema` in response decoding.
- Public input types are widened: `list[T]` now accepts any `Sequence[T]`, and `dict[str, str]`/`dict[str, Any]` now accept `Mapping` for greater flexibility.
- Added a `pinecone/__init__.pyi` stub file to improve IDE support (autocomplete, go-to-definition) in Jedi-based editors like Spyder and Eric.
🐛 Bug Fixes
- Schema and `read_capacity` fields are now correctly forwarded end-to-end across BYOC, IntegratedSpec, ServerlessSpec, async creation, `create_index` shim, and `configure` paths.
- Client-side validation now correctly rejects `top_k > 10000` on `GrpcIndex.query`.
- Client-side validation now correctly rejects `top_n < 1` on `pc.inference.rerank(...)`.
- Client-side validation now correctly rejects `limit < 1` on `Index.fetch_by_metadata`.
- Upsert records now reject records with invalid `_id` fields (non-string, empty, or containing null bytes) client-side.
- Resource name validation for `pc.collections.create(name=...)` is now enforced client-side.
- Project name validation (length ≤ 50, no null bytes) and negative `max_pods` validation are enforced on `Projects.create/update`.
- API key name length cap (≤ 80 characters) is enforced on `ApiKeys.create`.
- Empty `ids` lists are rejected client-side by `PreviewDocuments.fetch(ids=...)`.
- gRPC backend errors matching `Cancelled` + `"Timeout expired"` are now correctly raised as `PineconeTimeoutError`.
Affected Symbols
grpc_index.create_namespacegrpc_index.describe_namespacegrpc_index.delete_namespacegrpc_index.list_namespacesgrpc_index.list_namespaces_paginatedIndex.searchAsyncIndex.searchpc.preview.indexes.describe_backuppc.indexes.configurepc.assistants.createIndexModel.private_hostByocSpecInfo.schemaPreviewIndexes.createPreviewIndexes.configurePreviewIndexModelpc.assistants.chatpinecone.__init__.pyiPreviewTextQuery.fieldPreviewTextQuery.fieldsGrpcIndex.querypc.inference.rerankIndex.fetch_by_metadataupsert_recordspc.collections.createProjects.createProjects.updateApiKeys.createPreviewDocuments.fetchPreviewDocuments.delete
⚡ Deprecations
- The `field` keyword argument on `PreviewTextQuery` is deprecated and functions as an alias for the new `fields` argument. It will be removed in a future release.