Skip to content

publish: getsentry/toolkit/packages/cli@0.49.0 #10288

Closed

Description

@sentry-release-bot

Requested by: @sentry-junior[bot]

Merge target: (default)

Quick links:

Assign the accepted label to this issue to approve the release.

Targets

  • npm
  • npm[@sentry/mcp-server]
  • mcp-registry
  • github
  • vercel
  • registry
  • brew

Checked targets will be skipped (either already published or user-requested skip). Uncheck to retry a target.


📋 Changelog

New CLI, MCP, search, profiling, and evaluation capabilities, paired with safer persistence, diagnostics, and workflow tooling, improve testing, setup, and development.

New Features ✨

CLI, MCP, search, profiling, and evaluation updates add structured outputs, safer persistence, replayable testing, and clearer setup guidance.

Cli

CLI updates add the sentry`…` tag for command hints, linting, and correct npx prefixes; runtime-data hints still use asInvocationCommand(command). SDK calls now write no local state by default while retaining reads and separate telemetry opt-outs; callers needing persistence must use the prior package behavior rather than assuming it. Installer guidance now mentions sentry mcp. Dashboard charts use events-timeseries responses. sentry init prints an agent setup guide instead of running the remote Mastra wizard.

  • Build command hints with a sentry… tag and lint them by @BYK with @sentry-junior in #2071
  • Make SDK calls write no local state by default by @BYK with @sentry-junior in #2074
  • Mention sentry mcp in installer Get started output by @dcramer with @sentry-junior in #2052
  • Migrate dashboard chart widgets to events-timeseries by @edwardgou-sentry in #1901
  • Make sentry init print an agent setup guide by @betegon and @claude in #1856

Mcp

MCP search tools increasingly return structured JSON with declared output schemas instead of markdown, including errors, logs, traces, metrics, profiles, and replays, with selected fields, links, notes, and suggested actions. search_issues can translate queries through Seer when the required rollout and feature flags allow it, while fallback paths remain unchanged. Token-cost reporting now includes output schemas.

  • Translate search_issues queries with Seer's Issues strategy by @claude with @sentry-junior in #2059
  • Count outputSchema in the token cost report by @dcramer with @sentry-junior in #2045
  • Return structured output from search_replays by @dcramer with @sentry-junior in #2025
  • Return structured output from search_profiles by @dcramer with @sentry-junior in #2012
  • Return structured output from search_metrics by @dcramer with @sentry-junior in #2010
  • Return structured output from search_traces by @dcramer with @sentry-junior in #2008
  • Return structured output from search_logs by @dcramer with @sentry-junior in #2006
  • Return structured output from search_errors by @dcramer with @sentry-junior in #1987

Tools

Search results now return structured output with mapped hits, limited snippets, and conditional get_doc suggestions; get_doc remains markdown. Tool schemas now type-check handler results and reject missing or mistyped fields. get_profile and get_profile_details expose structured profile data, nullable fields, indexed shared frames, balanced time estimates, and conditional follow-up actions while filtering raw profile data.

  • Return structured output from search_docs by @dcramer with @sentry-junior in #2040
  • Type handler results from outputSchema by @dcramer with @sentry-junior in #2035
  • Add outputSchema to get_profile_details by @dcramer with @sentry-junior in #2024
  • Add outputSchema to get_profile by @dcramer with @sentry-junior in #2023

Other

  • (evals) Record and replay eval model calls with Roach by @dcramer with @sentry-junior in #1972
  • (server) Send compact JSON as structured tool result text by @dcramer with @sentry-junior in #2046

Bug Fixes 🐛

CLI and MCP fixes improve installation, database fallback, query diagnostics, scope errors, documentation guidance, option warnings, and provider identity.

Cli

Homebrew installations now set the CLI binary executable before completions. API calls send only supported parameters and use updated SDK errors. Database access falls back to in-memory storage when cli.db cannot open, while WASM handles WAL databases when safe. Snapshot uploads batch object-store requests. MCP adds working cli defaults and cli fix commands, uses invocation-aware hints, and hides deprecated --access-token from help.

  • Make the Homebrew binary executable before generating completions by @BYK with @sentry-junior in #2077
  • Send the API params the endpoints accept by @BYK with @sentry-junior in #2075
  • Use an in-memory database when cli.db won't open by @BYK with @sentry-junior in #2070
  • Read a WAL-mode database on the WASM SQLite driver by @BYK with @sentry-junior in #2069
  • Batch objectstore requests in snapshots upload by @jamieQ and @BYK with @sentry-junior in #2062
  • Name a working ca-cert command in @sentry/mcp-server by @dcramer with @sentry-junior in #2054
  • Hide deprecated --access-token from sentry mcp help by @dcramer with @sentry-junior in #2057

Mcp

MCP search now explains when untranslated multi-word queries return no results and suggests Sentry syntax. Startup validates missing organization or project scopes, reporting 404 resolution errors with exit code 23 while preserving other startup behavior. get_doc reports missing and soft-404 pages as errors and directs callers to search_docs. The CLI warns when --disable-skills removes no tools. streamText restores the sentry-mcp User-Agent for OpenAI, Anthropic, OpenRouter, and Azure OpenAI providers.

  • Note untranslated natural-language searches that find nothing by @claude with @sentry-junior in #2053
  • Fail at startup when the org or project scope does not exist by @dcramer with @sentry-junior in #2056
  • Return an error when get_doc finds no page by @dcramer with @sentry-junior in #2051
  • Warn when --disable-skills removes no tools by @dcramer with @sentry-junior in #2055
  • Restore sentry-mcp User-Agent on streamText provider calls by @dcramer with @sentry-junior in #2011

Internal Changes 🔧

API and logging updates support cleaner tooling, while registry metadata, release automation, and incremental reviews improve development workflows.

Cli

The CLI is moving generated API operations onto @​sentry/api 1.46.0, including updated issue, dashboard, explore, conversation, and trace calls. Packages using @​sentry/logger now prohibit console calls and route messages through the logger, keeping data on stdout available for JSON and MCP stdio while honoring SENTRY_LOG_LEVEL and --log-level.

  • Bump @sentry/api to 1.46.0 and move unblocked call sites by @sentry-junior in #2078
  • Move API calls with generated operations onto @sentry/api by @BYK with @sentry-junior in #2073
  • Ban console calls in every package that uses @sentry/logger by @BYK with @sentry-junior in #2072

Mcp

mcp-core now shares organization and project constraint lookup and classification between hosted and stdio callers while preserving their policies and hosts. Metadata tests validate tool outputs, schemas, server information, environment declarations, and registry fields. The MCP Registry manifest now points to getsentry/toolkit, makes SENTRY_AUTH_TOKEN optional, and publishes corrected host, URL, branding, and icon metadata.

  • Share the org/project constraint lookup in mcp-core by @BYK with @sentry-junior in #2060
  • Lint the metadata clients receive from the server by @dcramer with @sentry-junior in #2039
  • Update the MCP Registry manifest by @dcramer with @sentry-junior in #1986

Release

Craft AI changelog summaries receive a 600-second timeout and require Craft 3.11.0, preventing large release preparations from stopping at the previous limit. Release workflows now support auto and pre bump modes, default to auto, and accept an optional exact version that overrides bump.

  • Give Craft AI summaries 10 minutes by @BYK with @sentry-junior in #2029
  • Add auto, pre, and exact version inputs by @BYK with @sentry-junior in #2005

Other

Activity

  1. github-actions commented on Nov 7, 2026

    @github-actions

    Approved. Checking CI status on the release branch. Publishing will start automatically when CI passes.

  2. added
    ci-readyCI passed, safe to publish without polling
    and removed
    ci-pendingCI signal expected but not yet received
    on Nov 7, 2026
  3. getsantry commented on Nov 7, 2026

    @getsantry

    CI checks passed for getsentry/toolkit@0.49.0. Publishing is starting now.

  4. github-actions commented on Nov 7, 2026

    @github-actions

    Publishing: run#42330674835

  5. github-actions commented on Nov 7, 2026

    @github-actions

    Failed to publish. (run logs)

    Already done: npm, npm[@sentry/mcp-server]. Keep the release branch and fix the cause in the run logs. If you need to fix something on the release branch, open a PR to it, but the remaining targets then publish from the new commit, so they can differ from the ones already published. Then add the accepted label again: the retry skips the checked-off targets.

  6. sentry-junior commented on Nov 7, 2026

    @sentry-junior
    Contributor

    Root cause: a Craft bug in the mcp-registry target, not this release. The registry accepted io.github.getsentry/sentry-mcp@0.49.0, and the listing is live and active. Craft then failed its own check: The MCP Registry listing … does not match the published manifest. The registry drops empty fields (Go omitempty), so isRequired: false / isSecret: false from toolkit's server.json are missing from the listing, and Craft's strict comparison treats that as a mismatch. No GitHub incident was reported for this run.

    Targets: done: npm, npm[@sentry/mcp-server], plus mcp-registry (published, but not checked off). Pending: github, vercel, registry, brew.

    Not retried: a plain retry fails the same way, because the version is now listed and gets the same comparison.

    Next steps (pick one):

    Keep the release branch.

  7. added
    ci-pendingCI signal expected but not yet received
    and removed
    ci-readyCI passed, safe to publish without polling
    on Nov 7, 2026
  8. github-actions commented on Nov 7, 2026

    @github-actions

    Approved. Checking CI status on the release branch. Publishing will start automatically when CI passes.

  9. removed
    ci-pendingCI signal expected but not yet received
    on Nov 7, 2026
  10. 2 remaining items

  11. github-actions commented on Nov 7, 2026

    @github-actions

    Publishing: run#42362521520

  12. github-actions commented on Nov 7, 2026

    @github-actions

    Failed to publish. (run logs)

    Already done: npm, npm[@sentry/mcp-server], mcp-registry, github, vercel, registry, brew. Keep the release branch and fix the cause in the run logs. If you need to fix something on the release branch, open a PR to it, but the remaining targets then publish from the new commit, so they can differ from the ones already published. Then add the accepted label again: the retry skips the checked-off targets.

  13. sentry-junior commented on Nov 7, 2026

    @sentry-junior
    Contributor

    Root cause: the release-branch merge after publishing (ReleaseBranchMergeError), not a conflict or an expired token. Craft merged release/cli/0.49.0 into main locally, but GitHub rejected the push: GH013: Repository rule violations found for refs/heads/main … Changes must be made through a pull request. The "likely due to an expired authentication token" hint in that output is wrong: the whole run took about 40 seconds. No GitHub incidents were reported for this run.

    The main rulesets in getsentry/toolkit require a PR, and the Default ruleset only allows squash merges. The publish bot can't bypass them, so Craft can never push the merge commit. The last release finished by hand too (getsentry/toolkit#2028), and I found no Craft merge commit on main in the last 300 commits.

    Targets: all done (npm, npm[@sentry/mcp-server], mcp-registry, github, vercel, registry, brew). Pending: only the merge back to main and the post-release bump.

    Not retried: a plain retry would make the same push and get rejected the same way.

    Next steps (pick one):

    • A getsentry/toolkit admin lets the publish bot bypass the main rulesets (Default and Default production ruleset), then adds accepted again. The retry skips every target and only merges and cleans up.
    • Or finish by hand like publish: getsentry/react-inspector@6.0.1-2 #2028: open a PR that merges release/cli/0.49.0 into main and does the post-release bump, merge it, then close this issue. A squash merge makes a later accepted retry fail the same way, so don't retry after that.

    Keep the release branch until main has the merge.

  14. added
    ci-pendingCI signal expected but not yet received
    and removed
    ci-readyCI passed, safe to publish without polling
    on Nov 7, 2026
  15. github-actions commented on Nov 7, 2026

    @github-actions

    Approved. Checking CI status on the release branch. Publishing will start automatically when CI passes.

  16. added
    ci-readyCI passed, safe to publish without polling
    and removed
    ci-pendingCI signal expected but not yet received
    on Nov 7, 2026
  17. getsantry commented on Nov 7, 2026

    @getsantry

    CI checks passed for getsentry/toolkit@0.49.0. Publishing is starting now.

  18. github-actions commented on Nov 7, 2026

    @github-actions

    Publishing: run#42363191656

  19. github-actions commented on Nov 7, 2026

    @github-actions

    Published successfully: run#42363191656

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci-readyCI passed, safe to publish without polling

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions