Skip to content

release: 1.22.0#193

Open
stainless-app[bot] wants to merge 24 commits intomainfrom
release-please--branches--main--changes--next--components--turbopuffer
Open

release: 1.22.0#193
stainless-app[bot] wants to merge 24 commits intomainfrom
release-please--branches--main--changes--next--components--turbopuffer

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app bot commented Mar 20, 2026

Automated Release PR

1.22.0 (2026-04-06)

Full Changelog: v1.21.0...v1.22.0

Features

  • add update_metadata method to configure pinning (6981e22)
  • docs for glob/regex acceleration (07706f0)
  • Multiple Vector Columns Docs (2723cf9)
  • spec: disable CopyFromNamespace syntax sugar in Go (87b07c8)
  • spec: include pinning status in /metadata response (afa48e6)

Bug Fixes

  • internal: gitignore generated oidc dir (b2836ba)

Chores

  • ci: escape input path in publish-npm workflow (c3ef81a)
  • ci: skip lint on metadata-only changes (3018358)
  • internal: codegen related update (a4da17a)
  • internal: fix MCP docker image builds in yarn projects (c7bb7f0)
  • internal: fix MCP server import ordering (3f3526e)
  • internal: fix MCP server TS errors that occur with required client options (c64e321)
  • internal: improve local docs search for MCP servers (0418fb9)
  • internal: improve local docs search for MCP servers (9b9f73d)
  • internal: support custom-instructions-path flag in MCP servers (f3e26b2)
  • internal: support local docs search in MCP servers (445c462)
  • internal: support type annotations when running MCP in local execution mode (2c1054b)
  • internal: update gitignore (3fc364c)
  • internal: use link instead of file in MCP server package.json files (96a56d1)
  • mcp-server: add support for session id, forward client info (6a260da)
  • mcp-server: log client info (040d7fd)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions


Note

Medium Risk
Adds a new PATCH /v1/namespaces/{namespace}/metadata surface (pinning config/status) and significantly updates MCP server behavior (local docs indexing, session/client info propagation, and code execution mechanism), which could affect runtime behavior in deployed MCP setups.

Overview
Bumps the SDK and MCP server to 1.22.0 and updates generated docs/changelog to match.

Adds client.namespaces.updateMetadata (PATCH /v1/namespaces/{namespace}/metadata) plus new pinning-related types (PinningConfig, NamespaceMetadataPatch) and extends NamespaceMetadata to include pinning status; also tweaks schema typing (e.g., glob support) and refactors copy_from_namespace to a shared CopyFromNamespaceParams type.

Enhances the MCP server with local docs search (new LocalDocsSearch index + CLI flags --docs-search-mode/--docs-dir), custom instructions from a file (--custom-instructions-path), and session/client metadata propagation (request/response mcp-session-id, forwarded headers to remote docs search, and logging). The code tool worker also replaces eval with dynamic module import for executing user code and ensures console overrides are restored.

CI/workflow tweaks skip lint/build on metadata-only pushes and harden npm publish path handling; MCP Docker build is adjusted to avoid SDK symlink interference, and .gitignore gains oidc and .stdy.log.

Reviewed by Cursor Bugbot for commit db5e27d. Bugbot is set up for automated code reviews on this repo. Configure here.

@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app bot commented Mar 20, 2026

🧪 Testing

To try out this version of the SDK:

npm install 'https://pkg.stainless.com/s/turbopuffer-typescript/afa48e6dfbe86c0e2807af2f4d9290a6760eabb7/dist.tar.gz'

Expires at: Wed, 06 May 2026 21:33:21 GMT
Updated at: Mon, 06 Apr 2026 21:33:21 GMT

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 775bc6c to c2666f0 Compare March 23, 2026 12:43
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from c2666f0 to 69d64c2 Compare March 23, 2026 16:22
Note that we still want to run tests, as these depend on the metadata.
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 69d64c2 to bf360a8 Compare March 24, 2026 15:24
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from bf360a8 to 8ff5f6d Compare March 26, 2026 21:33
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 8ff5f6d to 6bf1321 Compare March 27, 2026 15:15
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 6bf1321 to 52960cb Compare March 27, 2026 18:05
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 52960cb to 034dbe4 Compare March 27, 2026 22:03
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 034dbe4 to f7ffd88 Compare March 29, 2026 18:27
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from f7ffd88 to aaf0dd3 Compare March 30, 2026 17:13
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from aaf0dd3 to 25b4f5a Compare March 30, 2026 17:35
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 25b4f5a to 9c0059b Compare March 31, 2026 04:00
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 9c0059b to a9bdb3e Compare March 31, 2026 16:23
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from a9bdb3e to e048719 Compare March 31, 2026 17:58
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from e048719 to df66e2e Compare April 1, 2026 08:48
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from df66e2e to 8e53a5e Compare April 1, 2026 16:01
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 8e53a5e to bbf887f Compare April 2, 2026 12:38
};
try {
let run_ = async (client: any) => {};
eval(`${code}\nrun_ = run;`);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Console spread loses non-enumerable methods in worker

Medium Severity

globalThis.console methods (warn, info, debug, trace, dir, time, etc.) are non-enumerable own properties in Node.js/Deno. The spread { ...originalConsole } only copies enumerable properties, resulting in an object with only the explicitly defined log and error methods. Any code (including SDK internals) calling console.warn() or other missing methods will throw a TypeError. The previous eval-based approach used a local console variable, so globalThis.console was untouched and SDK code could still use all methods.

Fix in Cursor Fix in Web

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from bbf887f to e7f43f6 Compare April 2, 2026 19:30
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from e7f43f6 to 9d52e98 Compare April 2, 2026 21:06
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 9d52e98 to 1723068 Compare April 6, 2026 18:14
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 1723068. Configure here.

...(docsTools !== undefined && { includeDocsTools: docsTools }),
codeExecutionMode: defaultOptions.codeExecutionMode,
docsSearchMode: defaultOptions.docsSearchMode,
docsDir: defaultOptions.docsDir,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing customInstructionsPath in parseQueryOptions return value

Low Severity

The parseQueryOptions function passes through the newly added docsSearchMode and docsDir from defaultOptions, but omits the also-newly-added customInstructionsPath. This means if parseQueryOptions is ever called, the customInstructionsPath setting will be silently dropped from the returned McpOptions object, causing the MCP server to fall back to API-fetched instructions instead of using the custom file.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1723068. Configure here.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next--components--turbopuffer branch from 1723068 to 7f0dba4 Compare April 6, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant