---
title: "pinecone Breaking Changes on PyPI | Since.dev"
description: "What each pinecone release removed, renamed or changed: 1,240 breaking changes in 3 versions on PyPI, each with its source."
canonical_url: https://since.dev/packages/pypi/pinecone
last_updated: 2026-05-04
---

# pinecone breaking changes

Every breaking API change we have recorded in pinecone on PyPI: 1,240 breaking changes in 3 versions. Below are its newest 3 versions, removals and renames first, each with its source.

Newest change May 4, 2026

## 9.0.0

789 breaking changes, first published May 4, 2026.

- **Removed**  

Assistant ships in the core package, so the separate plugin and its discovery system are no longer used. [github.com](https://github.com/pinecone-io/python-sdk/releases/tag/v9.0.0)
- **Removed** `pinecone_plugins.assistant`  

Assistant model imports must come from pinecone.models.assistant instead. [github.com](https://github.com/pinecone-io/python-sdk/releases/tag/v9.0.0)
- **Removed** `pinecone_plugins.assistant.assistant.assistant.Assistant`  

Code that constructed the plugin class directly has no v9 equivalent. Use pc.assistants instead. [github.com](https://github.com/pinecone-io/python-sdk/blob/main/docs/migration/v9-migration.md)
- **Removed** `pinecone.adapters`  

pinecone.adapters was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)
- **Removed** `pinecone.admin.admin.API_VERSION`  

pinecone.admin.admin.API_VERSION was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)
- **Removed** `pinecone.admin.admin.ApiClient`  

pinecone.admin.admin.ApiClient was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)
- **Removed** `pinecone.admin.admin.get_user_agent`  

pinecone.admin.admin.get_user_agent was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)
- **Removed** `pinecone.admin.admin.OAuthApi`  

pinecone.admin.admin.OAuthApi was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)
- **Removed** `pinecone.admin.admin.OpenApiConfiguration`  

pinecone.admin.admin.OpenApiConfiguration was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)
- **Removed** `pinecone.admin.admin.TokenRequest`  

pinecone.admin.admin.TokenRequest was removed in pinecone 9.0.0 [pypi.org](https://pypi.org/project/pinecone/9.0.0/)

And 779 more in this version.

## 8.0.0

426 breaking changes, first published November 18, 2025.

- **Signature changed** `pinecone.admin.Admin.__init__`  

Was def \_\_init\_\_(self, client_id: Optional\[str\] = None, client_secret: Optional\[str\] = None, additional_headers: Optional\[Dict\[str, str\]\] = None); now def \_\_init\_\_(self, client_id: str | None = None, client_secret: str | None = None... [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.eraser.project_eraser.Pinecone.Index`  

Was def Index(self, name: str = '', host: str = '', \*\*kwargs) -> Index; now def Index(self, name: str = '', host: str = '', \*\*kwargs) -> 'Index'. [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.eraser.resources.backup.Pinecone.Index`  

Was def Index(self, name: str = '', host: str = '', \*\*kwargs) -> Index; now def Index(self, name: str = '', host: str = '', \*\*kwargs) -> 'Index'. [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.eraser.resources.collection.Pinecone.Index`  

Was def Index(self, name: str = '', host: str = '', \*\*kwargs) -> Index; now def Index(self, name: str = '', host: str = '', \*\*kwargs) -> 'Index'. [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.eraser.resources.index.Pinecone.Index`  

Was def Index(self, name: str = '', host: str = '', \*\*kwargs) -> Index; now def Index(self, name: str = '', host: str = '', \*\*kwargs) -> 'Index'. [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.resources.api_key.parse_non_empty_args`  

Was def parse_non_empty_args(args: List\[Tuple\[str, Any\]\]) -> Dict\[str, Any\]; now def parse_non_empty_args(args: list\[tuple\[str, Any\]\]) -> dict\[str, Any\]. [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.resources.ApiKeyResource.create`  

Was def create(self, project_id: str, name: str, description: Optional\[str\] = None, roles: Optional\[List\[str\]\] = None); now def create(self, project_id: str, name: str, description: str | None = None, roles: List\[str\] | None = None). [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.resources.project.parse_non_empty_args`  

Was def parse_non_empty_args(args: List\[Tuple\[str, Any\]\]) -> Dict\[str, Any\]; now def parse_non_empty_args(args: list\[tuple\[str, Any\]\]) -> dict\[str, Any\]. [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.resources.ProjectResource.create`  

Was def create(self, name: str, max_pods: Optional\[int\] = None, force_encryption_with_cmek: Optional\[bool\] = None); now def create(self, name: str, max_pods: int | None = None, force_encryption_with_cmek: bool | None = None). [pypi.org](https://pypi.org/project/pinecone/8.0.0/)
- **Signature changed** `pinecone.admin.resources.ProjectResource.describe`  

Was def describe(self, project_id: Optional\[str\] = None, name: Optional\[str\] = None); now def describe(self, project_id: str | None = None, name: str | None = None). [pypi.org](https://pypi.org/project/pinecone/8.0.0/)

And 416 more in this version.

## 7.0.0

25 breaking changes, first published May 20, 2025.

- **Signature changed** `pinecone.data.features.inference.Inference.__init__`  

Was def \_\_init\_\_(self, config, openapi_config, \*\*kwargs) -> None; now def \_\_init\_\_(self, config: Config, openapi_config: OpenApiConfiguration, pool_threads: int = 1, \*\*kwargs) -> None. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.data.features.inference.Inference.config`  

Was config; now config: Config. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.data.features.inference.Inference.openapi_config`  

Was openapi_config; now openapi_config: OpenApiConfiguration. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.data.features.inference.Inference.pool_threads`  

Was pool_threads; now pool_threads: int. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.DescribeIndexStatsResponse`  

Was from pinecone.data import DescribeIndexStatsResponse; now from pinecone.db_data.models import IndexDescription as DescribeIndexStatsResponse. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.FetchResponse`  

Was class FetchResponse; now from pinecone.db_data.models import FetchResponse. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.ImportErrorMode`  

Was class ImportErrorMode(Enum); now from pinecone.db_data.resources.sync.bulk_import import ImportErrorMode. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.openapi_support.ApiClient.pool`  

Was pool; now pool: ThreadPool. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.openapi_support.ApiClient.threadpool_executor`  

Was threadpool_executor; now threadpool_executor: ThreadPoolExecutor. [pypi.org](https://pypi.org/project/pinecone/7.0.0/)
- **Signature changed** `pinecone.Pinecone`  

Was class Pinecone(PineconeDBControlInterface, PluginAware); now class Pinecone(PluginAware, LegacyPineconeDBControlInterface). [pypi.org](https://pypi.org/project/pinecone/7.0.0/)

And 15 more in this version.

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
