Repository navigation
Conversation
Adds .github/dependabot.yml with weekly, grouped dependency updates so we stay close to patched releases and can fast-patch security advisories. Part of PIN-4 (security fast-patch process).
jhamon
added a commit
that referenced
this pull request
Oct 20, 2026
…ng it (#651) * fix(validation): reject a non-str where a name or id is required require_non_empty reached .strip() on whatever it was handed, so an int raised AttributeError naming strip, and a non-empty list passed the guard entirely and died inside urllib.parse.quote several frames later. Both are now a PineconeValueError naming the parameter and the type it received. The list branch goes with it: no caller in pinecone/ passes a list, and one that got through could only have been a path parameter on its way to quote. * fix(assistants,backups): refuse a non-str path parameter instead of coercing it The assistants surface and backups.list wrapped each interpolation as quote(str(...)), so an int id or a UUID reached the API as its str data and named a resource that cannot exist. Every other path-parameter site already refused. Type-correctness is not value-validation, so refusing here narrows minimal validation rather than reversing it. None keeps its documented meaning on backups.list: an omitted index_name still lists backups across every index. * test(paths): sweep every path parameter with a value of the wrong type Drives the three existing operation tables with an int, a bool, a list and a UUID, asserting a PineconeValueError that names the parameter and the type, that nothing reaches the wire, and that both lanes word it identically. Inverts the four tests that pinned coercion on backups.list and the assistants surface. * fix(imports): refuse a bulk-import id the URL encoder cannot take describe_import and cancel_import document id as str | int and stringify an int. Everything else fell through: a list reached urllib.parse.quote and raised TypeError, a float died in len(). Both now raise PineconeValueError naming the type, on all three lanes that build the path. The documented int coercion is untouched. * docs(migration): name the non-URL arguments the type guard also refuses The path-parameter entry scoped the break to names and IDs the SDK interpolates into a URL. The same guard fronts twelve arguments that never reach one, so those move from AttributeError to PineconeValueError too and a caller with an except AttributeError around inference.rerank(query=123) could not find them in the guide. * fix(paths): raise PineconeTypeError, not PineconeValueError, for a non-str name or id Per the #87 decision, an argument rejected because of its type raises PineconeTypeError; PineconeValueError stays for a right-typed, unusable value. require_str and the bulk-import id guards now raise PineconeTypeError. Blank strings still raise PineconeValueError, and the five pre-existing inline type checks (namespace, vector id, id prefix) keep their class (tracked in #685).
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
.github/dependabot.ymlenabling weekly, grouped Dependabot version updates.Ecosystems covered: uv (python), cargo (rust), github-actions.
Why
Part of standing up the security fast-patch process (PIN-4). Keeping dependencies close to their latest patched release shrinks the diff and time needed to ship a fix when a security advisory lands. Dependabot security updates (auto patch PRs on advisories) and vulnerability alerts are already enabled on this repo; this adds the routine version-update cadence.
Minor/patch updates are grouped into a single PR per ecosystem to keep review noise low; majors come as individual PRs.
Review notes
Config only — no code changes. First run may open a batch of update PRs; that is expected. Adjust
open-pull-requests-limitorscheduleif the cadence is too noisy.Note
Low Risk
CI/dependency automation config only; no application code or runtime behavior changes.
Overview
Introduces
.github/dependabot.ymlto run weekly Dependabot version updates for uv (Python), Cargo (Rust), and GitHub Actions, complementing existing security alerts and advisory-driven updates (PIN-4).For uv and Cargo, minor and patch bumps are grouped into one PR per ecosystem (cap 10 open update PRs each). GitHub Actions updates are grouped under a single weekly PR. Major version bumps are not grouped and should still arrive as separate PRs.
Reviewed by Cursor Bugbot for commit e942467. Bugbot is set up for automated code reviews on this repo. Configure here.