releases.shpreview
Home/Sentry
Sentry

Sentry

Command Palette adds bulk issue actions; DSN lookup bidirectional

This release4 featuresNew capabilities1 enhancementImprovements to existing featuresAI-tallied from the release notes

Hit Cmd+K (or Ctrl+K on Windows/Linux) anywhere in Sentry.

Bulk actions on issues

Select a bunch of issues and open the palette. You can archive, resolve, or assign them all to someone without touching the mouse. Useful for the periodic "clear out the noise" session most of us do and pretend we don't.

Full issue actions from the palette

On any issue detail page, the palette gives you the whole action set:

  • Assign the issue to someone (or yourself)
  • Resolve or archive it
  • Change the priority
  • Copy the stack trace straight to your clipboard
  • Hand it off to Seer

No need to hunt through the toolbar. Open the palette, type what you want to do, done.

DSN lookup, two ways

Find a DSN by project: select the DSN action in the palette and pick your project. Or just start typing the project name and the DSN action will surface in the list.

Find a project by DSN: paste a raw DSN string into the palette and it'll tell you which of your projects it belongs to. Handy when you're staring at a DSN in some config file and have no idea where it came from.

Seer is in the palette too

If you're on an issue and want Seer to take a crack at it, the action is right there in the palette. The palette walks you through the workflow step by step. You only ever see the next valid action, so it never feels like you're guessing what to do.

Fast even with a lot of projects

For organizations running a large number of projects, navigating used to mean a lot of scrolling. Now you search by project name and jump straight there.

Hono SDK now stable; honoIntegration deprecated

This release1 featureNew capabilities1 enhancementImprovements to existing featuresAI-tallied from the release notes
Sentry Changelog · v10.55.0

The @sentry/hono SDK is now stable. If you build APIs and web apps with Hono, you can use it to monitor errors, trace requests, profile performance, track metrics, and send logs to Sentry.

If you want to jump right to the setup, check out the Sentry Hono SDK docs.

What changed

With version 10.55.0 the @sentry/hono SDK is now stable, and honoIntegration is deprecated. It continues to work for now, but we recommend migrating to the dedicated SDK. Moving from a generic integration to a standalone package means instrumentation tuned to Hono's routing and middleware, and lets us ship framework-specific features independently of the core SDK.

The SDK gives you:

Error Monitoring — captures unhandled exceptions reported through Hono's onError, including uncaught exceptions and unhandled rejections.

Tracing — distributed tracing across your routes and services, including middleware spans for nested Hono route groups.

Profiling — function-level performance data without custom instrumentation (Node.js only).

Metrics — application metrics correlated with your traces, logs, and errors.

Logs — application logs correlated with your errors and traces.

How to use it

Hono runs across multiple JavaScript runtimes, so install the SDK that matches your environment (alongside @sentry/hono): @sentry/node for Node.js, @sentry/cloudflare for Cloudflare Workers, and @sentry/bun for Bun. If you currently use the community @hono/sentry middleware, migrate to Sentry's official packages.

See the Sentry Hono SDK docs to get started.

13 API endpoints published; dynamic sampling per-org

This release45 featuresNew capabilities12 enhancementsImprovements to existing featuresAI-tallied from the release notes
Sentry · v26.5.2
New Features ✨
Admin
Api
  • Union response annotations with plugin narrowing + relaxed linter by @azulus in #116659
  • Add [T] to 33 Serializer subclasses by @azulus in #116629
  • Add Serializer[T] generic; pilot on environments by @azulus in #116538
  • Opt 43 endpoints into Response[T] typed bodies by @azulus in #116433
  • Type @extend_schema responses via Response[T] stub + linter by @azulus in #116335
Api Docs
Autofix
Bitbucket Server
Cells
Conversations
Dynamic Sampling
Eslint
Explore
Issues
Jira
Msteams
Ourlogs
Preprod
Repositories
Seer
Workflow Engine
Other
Bug Fixes 🐛
Aci
Api Logs
Eap
Feedback
Integrations
Issues
Logs
Metrics
Preprod
Replays
Workflows
  • Rule deletion shouldn't automatically result in Workflow deletion by @kcons in #116537
  • Update Workflows with org-scoped envs when transfered with a project by @kcons in #116239
Other
Internal Changes 🔧
Aci
  • Remove usage of workflow engine redirect flag by @ceorourke in #116609
  • Update alerts:write settings toggle label to include reference to monitors by @malwilley in #116313
Api
Api Docs
  • Add EventAttachmentSerializerResponse type and example by @cvxluo in #116515
  • Add DebugFileSerializerResponse type and example fixture by @cvxluo in #116397
Ci
Codecov
Deps
Dynamic Sampling
  • Document config types and simplify dir structure by @shellmayr in #116462
  • Only run sliding window calculations when config is enabled by @shellmayr in #116371
  • With multiple org volumes, make sure their duration is clear in scheduler by @shellmayr in #116367
Explore
Flags
Forms
Github Enterprise
Integrations
Issues
  • Add fallback event components codeowner by @scttcper in #116505
  • Rename feature flag to be specific to displaying Seer actions as issue details activities by @shashjar in #116425
  • Minor cleanup of boolean logic in escalating issue algorithm by @shashjar in #116453
  • Remove streamline names from issue details by @scttcper in #116344
Logs
Onboarding
  • Update project creation URL to /organizations/{org}/projects/ by @betegon in #116388
  • Decouple SCM step components from OnboardingContext by @jaydgoss in #115639
Repositories
  • When making a ProjectRepository link, upgrade the source if we have a stronger signal by @wedamija in #116543
  • Mark project repo endpoint as public by @wedamija in #116343
Seer
  • Mark seer endpoints as private instead of experimental by @gricha in #116591
  • Remove organizations:seer-wizard by @cvxluo in #116546
  • Remove organizations:seer-issue-view by @cvxluo in #116528
  • Call project settings update helper in callsites that don't need to update the full Seer project preference by @srest2021 in #116356
  • Add GitLab code-review web hooks by @cmanallen in #116317
  • Unify Seer project settings update helper and add tuning and auto_create_pr fields by @srest2021 in #116352
  • Use get_group_list helper in supergroups-by-group endpoint by @giovanni-guidini in #116474
  • Get stopping point and handoff directly in callsites that don't need the full project preference by @srest2021 in #116222
Settings
Snapshots
Snuba
Spans
Typing
  • Remove 9 zero-error modules from mypy ignore list by @shashjar in #116430
  • Remove sentry.services.eventstore.models from mypy ignore list by @shashjar in #116229
Webhooks
Other
Other

Snapshots diff and download commands ship

This release5 featuresNew capabilities2 fixesBug fixesAI-tallied from the release notes
Sentry CLI · v3.5.0
Features
  • (snapshots) Add snapshots diff command for locally comparing directories of PNG snapshot images using odiff (#3306)
  • (snapshots) Add snapshots download command for downloading baseline snapshot images from Sentry (#3310)
  • (snapshots) Add --all-image-file-names and --all-image-file-names-file flags to snapshots upload for detecting image removals and renames in selective builds (#3312)
  • Add PE DWARF companion support (#3240)
  • Add Windows ARM64 PE unwind support (#3240)
Fixes
  • Improve error message when organization slug is missing from config (#3311)
  • Respect CURL_CA_BUNDLE and SSL_CERT_FILE when configuring TLS certificate authorities (#3301).
Internal changes

Redis diagnostics channel integration added for Deno

This release5 featuresNew capabilities4 fixesBug fixesAI-tallied from the release notes
Sentry JavaScript · v10.56.0
Important Changes
  • feat(deno): Redis diagnostics channel based integration for Deno (#21087)

    Adds Redis integration support for Deno, covering both redis and ioredis clients.

Other Changes
  • feat(cloudflare): Only capture workflow step error on final retry attempt (#21025)
  • feat(hono): Emit warning if @sentry/node was imported instead of @sentry/hono/node (#21240)
  • feat(node): Use ioredis tracing channels (#21187)
  • fix(browser): Correctly parse sampleRate when consistentTraceSampling is enabled (#21281)
  • fix(cloudflare): Fix instrumentDurableObjectWithSentry breaking Cloudflare Agents (#21101)
  • fix(cloudflare): Wait for span links to be set (#21167)
  • fix(core): Use WeakRef for Span-Scope circular references (#21242)
  • fix(node): Vendor InstrumentationNodeModuleFile to fix Bun --bytecode crash (#21262)
  • fix(profiling-node): Ensure node version support warning includes latest 26 (#21229)
<details> <summary> <strong>Internal Changes</strong> </summary>
  • chore: Ignore scheduled_tasks.lock (#21252)
  • chore: Promote lint warnings to errors (#21213)
  • chore(docs): Document how to support a new node version (#21228)
  • chore(size-limit): Weekly auto-bump (#21243)
  • chore(skills): Add linear-project-status skill (#21214)
  • chore(skills): Add linear-project-update skill (#21233)
  • chore(skills): Improve triage-issue skill (#21257)
  • chore(skills): Update linear-project-status skill with more details & context (#21234)
  • feat(deps): Bump axios from 1.15.0 to 1.16.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic (#21263)
  • feat(server-utils): Initial scaffolding (#21200)
  • ref(cloudflare): Move D1 instrumentation (#21266)
  • ref(node): Refactor usage of hrTime utilities from @opentelemetry/core (#21191)
  • ref(node): Stop mutating OTel RPC metadata to set http.route (#21193)
  • ref(opentelemetry): Vendor minimal TraceState implementation (#21192)
  • test(browser): Add unit test for http client header collection behavior (#21273)
  • test(browser): Move browser integration tests to dataCollection (#21282)
  • test(cloudflare): Remove vitest in CF e2e tests (#21259)
</details>

Bundle size 📦

PathSize
@sentry/browser26.57 KB
@sentry/browser - with treeshaking flags25.05 KB
@sentry/browser (incl. Tracing)44.19 KB
@sentry/browser (incl. Tracing + Span Streaming)46.37 KB
@sentry/browser (incl. Tracing, Profiling)49.06 KB
@sentry/browser (incl. Tracing, Replay)82.86 KB
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags72.67 KB
@sentry/browser (incl. Tracing, Replay with Canvas)87.45 KB
@sentry/browser (incl. Tracing, Replay, Feedback)99.78 KB
@sentry/browser (incl. Feedback)43.32 KB
@sentry/browser (incl. sendFeedback)31.27 KB
@sentry/browser (incl. FeedbackAsync)36.24 KB
@sentry/browser (incl. Metrics)27.61 KB
@sentry/browser (incl. Logs)27.85 KB
@sentry/browser (incl. Metrics & Logs)28.53 KB
@sentry/react28.35 KB
@sentry/react (incl. Tracing)46.41 KB
@sentry/vue31.46 KB
@sentry/vue (incl. Tracing)46.06 KB
@sentry/svelte26.59 KB
CDN Bundle28.88 KB
CDN Bundle (incl. Tracing)46.7 KB
CDN Bundle (incl. Logs, Metrics)30.35 KB
CDN Bundle (incl. Tracing, Logs, Metrics)47.91 KB
CDN Bundle (incl. Replay, Logs, Metrics)68.69 KB
CDN Bundle (incl. Tracing, Replay)83.19 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)84.33 KB
CDN Bundle (incl. Tracing, Replay, Feedback)88.92 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)90.04 KB
CDN Bundle - uncompressed85.64 KB
CDN Bundle (incl. Tracing) - uncompressed140.75 KB
CDN Bundle (incl. Logs, Metrics) - uncompressed90.03 KB
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed144.42 KB
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed211.83 KB
CDN Bundle (incl. Tracing, Replay) - uncompressed256.74 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed260.4 KB
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed270.12 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed273.77 KB
@sentry/nextjs (client)48.88 KB
@sentry/sveltekit (client)44.64 KB
@sentry/core/server74.16 KB
@sentry/core/browser61.61 KB
@sentry/node-core60.25 KB
@sentry/node127.35 KB
@sentry/node - without tracing72.33 KB
@sentry/aws-serverless84.24 KB
@sentry/cloudflare (withSentry) - minified167.82 KB
@sentry/cloudflare (withSentry)419.43 KB

Hono SDK stable; TanStack Start gets distributed tracing—server/client traces connected

This release7 featuresNew capabilities3 enhancementsImprovements to existing features2 fixesBug fixesAI-tallied from the release notes
Sentry JavaScript · v10.55.0
Important Changes
  • feat(hono): Promote @sentry/hono to stable and deprecate honoIntegration (#21208)

    The @sentry/hono SDK is now stable. See the Sentry Hono SDK docs to get started.

  • docs(tanstackstart-react): Promote SDK status to beta (#21175)

    This release promotes the @sentry/tanstackstart-react SDK to beta. For details on how to use it, check out the Sentry TanStack Start SDK docs. Please reach out on GitHub if you have any feedback or concerns.

  • feat(hono): Add shouldHandleError option to sentry() middleware (#21205)

    The sentry() middleware now accepts a shouldHandleError callback to control which errors are captured and sent to Sentry. By default, 3xx/4xx HTTP errors are ignored and 5xx errors and plain Error objects are captured. Return true from the callback to capture an error, false to suppress it.

    app.use(
      sentry(app, {
        dsn: '__DSN__',
        shouldHandleError(error) {
          const status = (error as { status?: number })?.status;
          // Capture 401/403 in addition to the default 5xx errors
          return status === 401 || status === 403 || typeof status !== 'number' || status >= 500;
        },
      }),
    );
  • test(tanstackstart-react): Move initialization to client entry point (#21161)

    Change the recommended setup for the SDK to do Sentry.init() in the client entry file to capture telemetry that is emitted ahead of page hydration.

  • feat(tanstackstart-react): Add distributed tracing (#21144)

    Server and client traces are now automatically connected, allowing you to see the full request lifecycle from server-side rendering through client-side hydration in a single trace.

  • feat(tanstackstart-react): Add server-side route parametrization (#21147)

    Server transaction names are now parametrized automatically (e.g., GET /users/123 becomes GET /users/$userId), improving transaction grouping in Sentry.

  • feat(tanstackstart-react): Show readable server function names in traces (#21190)

    Server function spans now show human-readable names (e.g., GET /_serverFn/greet instead of GET /_serverFn/a10e70b3...). The tanstackstart.function.hash.sha256 span attribute has been renamed to tanstackstart.function.id.

Other Changes
  • feat(core): Migrate request data to dataCollection (#21071)
  • feat(hono): Add warning in Bun for double init (#21195)
  • feat(hono): Instrument main-app inline middleware spans (#20999)
  • feat(metrics): Migrate metrics to use dataCollection instead of sendDefaultPii (#21078)
  • feat(tanstackstart-react): Enable component tracking (#21149)
  • feat(tanstackstart-react): Filter noisy dev transactions (#21145)
  • fix(cloudflare): Use original waitUntil to not create a deadlock (#21197)
  • fix(elysia): Widen accepted Elysia app type to support Elysia options (#21164)
  • fix(tanstackstart-react): Add server-side replayIntegration no-op stub (#21148)
<details> <summary> <strong>Internal Changes</strong> </summary>
  • chore(changelog): clarify array attributes impact on beforeSend* callbacks (#21186)
  • chore(ci): Update bugbot instructions (#21168)
  • chore(sentry-cli): Upgrade to 2.58.6 (#21165)
  • chore(size-limit): weekly auto-bump (#21123)
  • feat(deps-dev): Bump @sveltejs/kit from 2.52.2 to 2.60.1 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages (#21162)
  • fix(e2e): Fix astro-6 e2e test build by relaxing astro version range (#21211)
  • meta(agents): Update AI commit attribution guidance (#21166)
  • ref(browser): Extract browser-specific normalize code out of core (#21172)
  • ref(node): Stop custom-handling normalization of Domain/DomainEmitter (#21182)
  • ref(node): Stop using registerSpanErrorInstrumentation() on server (#21169)
  • test(nitro-3): Update e2e tests for h3 route handler tracing (#21152)
  • test(nuxt): Fix flaky test and add note about hydration timing to skill (#21054)
</details>

Bundle size 📦

PathSize
@sentry/browser26.52 KB
@sentry/browser - with treeshaking flags25.01 KB
@sentry/browser (incl. Tracing)44.18 KB
@sentry/browser (incl. Tracing + Span Streaming)46.35 KB
@sentry/browser (incl. Tracing, Profiling)49.04 KB
@sentry/browser (incl. Tracing, Replay)82.83 KB
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags72.65 KB
@sentry/browser (incl. Tracing, Replay with Canvas)87.42 KB
@sentry/browser (incl. Tracing, Replay, Feedback)99.76 KB
@sentry/browser (incl. Feedback)43.29 KB
@sentry/browser (incl. sendFeedback)31.23 KB
@sentry/browser (incl. FeedbackAsync)36.2 KB
@sentry/browser (incl. Metrics)27.58 KB
@sentry/browser (incl. Logs)27.81 KB
@sentry/browser (incl. Metrics & Logs)28.49 KB
@sentry/react28.3 KB
@sentry/react (incl. Tracing)46.39 KB
@sentry/vue31.45 KB
@sentry/vue (incl. Tracing)46.05 KB
@sentry/svelte26.55 KB
CDN Bundle28.85 KB
CDN Bundle (incl. Tracing)46.68 KB
CDN Bundle (incl. Logs, Metrics)30.31 KB
CDN Bundle (incl. Tracing, Logs, Metrics)47.89 KB
CDN Bundle (incl. Replay, Logs, Metrics)68.65 KB
CDN Bundle (incl. Tracing, Replay)83.18 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)84.32 KB
CDN Bundle (incl. Tracing, Replay, Feedback)88.92 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)90.05 KB
CDN Bundle - uncompressed85.52 KB
CDN Bundle (incl. Tracing) - uncompressed140.7 KB
CDN Bundle (incl. Logs, Metrics) - uncompressed89.91 KB
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed144.37 KB
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed211.71 KB
CDN Bundle (incl. Tracing, Replay) - uncompressed256.69 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed260.34 KB
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed270.07 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed273.71 KB
@sentry/nextjs (client)48.85 KB
@sentry/sveltekit (client)44.6 KB
@sentry/core/server74.15 KB
@sentry/core/browser61.61 KB
@sentry/node-core60.5 KB
@sentry/node127.33 KB
@sentry/node - without tracing72.62 KB
@sentry/aws-serverless84.54 KB
@sentry/cloudflare (withSentry) - minified167.48 KB
@sentry/cloudflare (withSentry)419.23 KB

String truncation disabled by default; serializer avoids custom __iter__

This release3 featuresNew capabilities18 fixesBug fixesAI-tallied from the release notes
Sentry Python · v2.61.0
New Features ✨
  • Add server.address to transformed spans when stream_gen_ai_spans=True by @alexander-alderman-webb in #6307

  • Allow integrations to define control flow exceptions by @sentrivana in #6425

  • Disable string truncation for events by default by @alexander-alderman-webb in #6290

    Following a previous significant increase of the string truncation limit, we've now completely removed the limit by default. In case you have large strings in your events, you should now be able to see them.

    In rare cases, if you have really long strings (or a lot of them), you might see envelopes being dropped because of their size. If that happens, you can set the max_value_length init option to the previous value of 100_000:

    sentry_sdk.init(
        ...,
        max_value_length=100_000,
    )
Bug Fixes 🐛
Langchain
Openai Agents
Pydantic AI
Strawberry
Other
  • (anthropic) Do not set gen_ai.response.model to None by @alexander-alderman-webb in #6312

  • (asyncpg) Use Sentry span attribute name conventions by @ericapisani in #6306

  • (boto3) Guard setting method by @sentrivana in #6288

  • (cohere) Stop setting transaction status when child span fails by @alexander-alderman-webb in #6300

  • (google-genai) Guard against None response ID and response model by @alexander-alderman-webb in #6314

  • (huey) Fix group and chord handling in enqueue by @ericapisani in #6392

  • (integrations) Auto-wrap root gen_ai spans for openai, cohere, langgraph, huggingface_hub by @constantinius in #6285

  • (serializer) Don't call __iter__ on arbitrary sequences by @sentrivana in #6304

    Previously, we'd attempt to serialize any Sequence by walking through it by calling its __iter__ function. We've now changed the serializer to only serialize built-in sequences (like lists, tuples, and sets) to avoid triggering side-effects from custom __iter__ implementations.

    This might mean some objects might be serialized differently. If you want to continue serializing a specific custom sequence class the old way, you can register it via sentry_sdk.serializer.add_repr_sequence_type (see here).

  • Memory leak in SentrySpanProcessor by @volodkindv in #6271

Documentation 📚
Internal Changes 🔧
Langchain
Openai Agents
Pydantic Ai
Other
New Features ✨
Apigw
Autofix
Cells
Cmdk
  • Add Open in Production and Open in Development actions in #116242
  • Freeze visible action list during keyboard navigation in #115851
  • Add project search action to command palette by @JonasBa in #115591
Conversations
Dashboards
Explore
Github Enterprise
  • Add frontend pipeline steps for GHE integration setup in #114367
  • Add API-driven pipeline backend for GHE integration setup in #114366
  • Allow github.com as a source for the GitHub Enterprise integration by @tnt-sentry in #115599
Issues
Low Value Spans
Onboarding
Ourlogs
Preprod
Search
  • Add recommended sort option to issue stream dropdown in #116197
  • Surface recommended sort in UI when active via query param in #116186
  • Register feature flag for recommended issue sort by @roggenkemper in #116191
Seer
Tracemetrics
Webhooks
Other
Bug Fixes 🐛
Alerts
Api
  • Correctly parse full parameter in project events endpoint in #116216
  • Validate IDs in OrganizationGroupIndexEndpoint.delete by @kcons in #115770
Conversations
Dashboards
Discover
Dynamic Sampling
  • Use the correct field name for dynamic sampling project id in #116279
  • Update run_eap_spans_table_query_in_chunks to yield individual rows and adjust tests accordingly by @constantinius in #115995
Events
  • Debug param wasn't being passed down correctly in #116152
  • Correctly parse full parameter in group hashes endpoint in #116219
Explore
Integrations
Issues
  • Align collapsed activity row in #116266
  • Fix undefined variable in StreamGroupSerializerSnuba feature flag check in #116259
  • Move user serialization out of loop in ignored issues handler in #116246
  • Fix sidebar comment box horizontal overflow in #116209
  • Match short id when combined with filters in #116153
  • Make GroupSearchViewPermission fail closed for unknown object types by @roggenkemper in #116183
  • Provide correct value for search.sort SDK tag by @shashjar in #116065
  • Use full URL for open link button in breadcrumb messages by @scttcper in #115911
  • Enforce project access on event ID lookup endpoint by @oioki in #115784
  • Stop double-emitting issue activities for Seer PR created by @shashjar in #115749
  • Add int ID validation to a few endpoints by @kcons in #115690
  • Search org members for note mentions by @scttcper in #115614
Metrics
Monitors
Onboarding
Perforce
Preprod
Replays
Search
Seer
Settings
  • Fix CI permission checkbox not reflecting state by @scttcper in #116055
  • Restore title on accept-invite and accept-transfer pages by @natemoo-re in #116013
  • Fix Seer drawer stopping point not changing on mutate from "No Automation" by @srest2021 in #115847
Snapshots
  • Add instrumentation logging to snapshot download stream in #116079
  • Add timeout override for snapshot download in emmett gateway by @NicoHinderling in #116078
Tests
  • Don't include trace context in symbolicator snapshots in #116275
  • Use findByRole for async options in opJsonPath.spec.tsx by @sentry in #115645
  • Correct monitor form crontab test with fireEvent by @sentry in #115644
  • Update staleTime and add default mocks for external issue tests by @sentry in #115646
Tracemetrics
Ui
Workflow Engine
Other
  • (a11y) Add missing alt attributes to context icons and feedback images by @sentry-junior in #115772
  • (agents) Use minVersion in SDK update alert for consistency by @obostjancic in #115714
  • (api-docs) Correct event/replay/processing-error ID schemas in #116201
  • (apigw) Disable asyncpg statement cache (issues with pgbouncer) by @gi0baro in #115992
  • (attachments) Infer MIME type from filename when stored as octet-stream by @sentry-junior in #115977
  • (auth) Verify primary email on password reset by @michelletran-sentry in #115651
  • (autofix) Prevent loading spinner clip in artifact loading card by @priscilawebdev in #115988
  • (billing) Added fix to convert snuba sentry enum to the proto enum for usage stats by @krithikravi in #115856
  • (code-mapping) Update codeowners GET endpoint and tests in #116309
  • (codeblock) Improve nested scroll by @natemoo-re in #115839
  • (crons) De-flake "prefills with an existing monitor" test by @priscilawebdev in #115782
  • (cross-events) Correct styling based off date selection by @nsdeschenes in #116124
  • (cursored-scheduler) Recalculate batch size on tick interval change by @roggenkemper in #115888
  • (data_export) Cap export row limit at 10k for all callers by @manessaraj in #116048
  • (escalating) Register issue_velocity referrer in Referrer enum by @cvxluo in #115812
  • (feedback) Downgrade log level for insufficient feedback count in #116247
  • (forms) Preserve choice value types when submitting sentry app forms by @priscilawebdev in #115869
  • (grouping) Parameterize error message fingerprint variables by @lobsterkatie in #115496
  • (issue search) Fix invalid search query error message for device classes in #116243
  • (issue-detection) Add plural KBLayouts_iPhone.dat to FileIO ignore list by @roggenkemper in #116182
  • (jira) Bind JWT iss to body clientKey on install webhook by @michelletran-sentry in #114225
  • (kafkapublisher) Leaks memory: rdkafka stats grow without poll() in #116123
  • (members) Scope invite-request role updates to caller's allowed roles by @oioki in #115807
  • (migrations) Get rid of progress bar by @ceorourke in #115691
  • (mypy) Fix import location by @kcons in #115654
  • (ourlogs) Reset column sort to default on third click by @JoshuaKGoldberg in #115751
  • (pageFilters) Clear shift-click anchor on empty selection by @priscilawebdev in #115472
  • (profiles) Indicate invalid page URL state as error by @JoshuaKGoldberg in #115897
  • (profiling) Render single-sample continuous profile chunks in #116234
  • (rate-limit) Tighten rate limits on test notification endpoints by @nora-shap in #115613
  • (ratelimits) Handle AnonymousUser missing is_sentry_app attribute in #116251
  • (relay) Make trustedRelays optional on Organization type by @TkDodo in #116014
  • (releases) Pass Environment objects to get_latest_release by @mrduncan in #115637
  • (repositories) Fix deletion ordering for ProjectRepository children by @wedamija in #115739
  • (security) Add project-level access check to GroupEventJsonView by @roggenkemper in #116184
  • (self-hosted) Avoid install wizard mail TLS/SSL immutable errors by @aldy505 in #114011
  • (static) Add missing nonce attribute on app.js preload link by @oioki in #115984
  • (supergroups) Move to post process task in #116195
  • (tabs) Stop tooltips in overflowMenuItems from crashing the page by @TkDodo in #115993
  • (traces) Handle deleted groups in trace endpoint in #116248
  • (web) Redirect /scraps to stories by @priscilawebdev in #115776
  • (webauthn) Handle missing WebAuthn challenge data in #116167
  • (webhooks) Route sentry app actions through send_alert_webhook_v2 in new path in #115975
  • (workflow) Use Group cache in get_group_to_groupevent by @kcons in #115960
  • (workflows) Filter out workflows from other organizations in #116075
  • Add catch-all path to explore route and redirect to index by @adrianviquez in #116066
  • Revert "fix(ourlogs): stabilized column widths during scrolling (#115389)" by @getsentry-bot in 84d0139e
Documentation 📚
  • (replays) Fix OpenAPI schema/example for replay details response by @JoshFerge in #115752
  • (scraps) Render to HTML pattern by @natemoo-re in #115943
  • (snapshots) Add public OpenAPI documentation for snapshot endpoints in #116231
Internal Changes 🔧
Admin
Alerts
Api
Apigw
Autofix
Conversations
Dashboards
Discover
Dynamic Sampling
Eslint
Flags
  • Remove organizations:dashboards-drilldown-flow in #115670
  • Remove organizations:scoped-partner-oauth by @wedamija in #115675
  • Remove organizations:dashboards-import by @wedamija in #115671
  • Remove organizations:revoke-org-auth-on-slug-rename by @wedamija in #114807
  • Remove organizations:tracemetrics-alerts gates (backend) by @wedamija in #115019
  • Remove organizations:workflow-engine-metric-alert-group-by-creation by @wedamija in #114805
  • Remove organizations:ourlogs-stats, replace with organizations:explore-dev-features and move it to a permanent flag by @wedamija in #115673
  • Remove organizations:tracemetrics-alerts gates (frontend) by @wedamija in #115018
  • Remove organizations:performance-mep-reintroduce-histograms by @wedamija in #115674
  • Remove organizations:ingest-through-trusted-relays-only by @wedamija in #115682
  • Remove organizations:pr-page by @wedamija in #115686
  • Remove organizations:performance-remove-metrics-compatibility-fallback by @wedamija in #115684
  • Remove organizations:performance-transaction-name-only-search by @wedamija in #115685
  • Remove organizations:starfish-mobile-ui-module by @wedamija in #115687
  • Move organizations:init-sentry-toolbar to permanent by @wedamija in #115862
  • Remove organizations:on-demand-metrics-extraction-experimental by @wedamija in #115683
  • Remove organizations:view-hierarchies-options-dev by @wedamija in #115678
  • Remove organizations:issues-suspect-tags by @wedamija in #115680
  • Remove organizations:performance-spans-fields-stats by @wedamija in #115679
  • Remove organizations:update-action-status by @wedamija in #115676
  • Remove organizations:sentry-app-webhook-requests by @wedamija in #114813
Forms
Instrumentation Issues
Issues
  • Use standard logging pattern in group details endpoint in #116262
  • Remove redundant check on event_id in #116261
  • Indicate duration when "Since First Seen" is selected in #115533
  • Remove grouping store by @scttcper in #115970
  • Remove the option gating custom tag resolver logic by @shashjar in #116024
  • Add multiple property to select field schema by @amy-chen23 in #115814
  • Prevent assigning issues to deactivated users by @amy-chen23 in #115668
  • Update frontend types after removing unnecessary issue activity metadata for Seer actions by @shashjar in #115734
  • Remove unnecessary structured metadata under issue activities for Seer actions by @shashjar in #115732
  • Remove stray use_flagpole_for_all_features usage by @lobsterkatie in #115537
Jest
Onboarding
Ourlogs
Preprod
  • Simplify project filtering in latest base snapshot endpoint in #116237
  • Optimize snapshot download with connection reuse and progressive streaming by @NicoHinderling in #116051
  • Use TimeToIdle instead of TimeToLive for upload expiration by @NicoHinderling in #116033
  • Virtualize snapshot sidebar for 40k image builds by @NicoHinderling in #115836
  • Replace snapshot status badges with plain text by @mtopo27 in #115659
  • Remove deprecated snapshot detail TS types and update debug modal by @mtopo27 in #115653
  • Remove deprecated comparison_run_info and approval_info from snapshot detail API by @mtopo27 in #115652
Replays
Repositories
  • Simplify ProjectRepoLink serializer and make url better by @wedamija in #115826
  • Drop old project/repository columns by @wedamija in #115741
  • Remove project and repo columns from SeerProjectRepository and RepositoryProjectPathConfig by @wedamija in #115663
  • Add unique index on repository_project columns by @wedamija in #115662
  • Remove feature flag branching for RepositoryProjectPathConfig reads by @wedamija in #115607
  • Remove feature flag branching for SeerProjectRepository reads by @wedamija in #115606
Scm
Seer
  • Move agent access check from entrypoint to operator in #116143
  • Use elif instead of if in actionability filter logic for clarity in #116203
  • Remove seer-slack-workflows and seer-slack-explorer flags in #116140
  • Simplify block component states by @natemoo-re in #115589
  • Persist Seer Explorer input draft per run by @aliu39 in #115919
  • Replace chat history dropdown with searchable CompactSelect by @JonasBa in #115843
  • Rm severity group-seer option by @kddubey in #115768
  • Rm severity conditional routing by @kddubey in #115765
  • Option to route severity to group-seer by @kddubey in #115702
Settings
Slack
Snuba
  • Port query subscriptions consumer to taskbroker raw mode in #116288
  • Update tests for removal of boolean double-writing in #111421
  • Stop dropping deprecated spans dataset in reset_snuba by @phacops in #115973
  • Add exception type for snuba timeouts by @shellmayr in #115362
Spans
Ts
Typing
  • Remove tests.sentry.api.helpers.test_group_index from mypy ignore list in #116199
  • Remove tests.sentry.issues.test_utils from mypy ignore list in #116070
Utils
  • Make ParityChecker print out mismatches in a PII safe way in #116038
  • Various clarifications in SafeRolloutComparator code in #115946
Workflow Engine
  • Remove unused const in #116230
  • Edit flag with the correct prefix in #116198
Other
Other

Streamed response tracking; dataCollection option for granular control

This release10 featuresNew capabilities4 enhancementsImprovements to existing features13 fixesBug fixesAI-tallied from the release notes
Sentry JavaScript · v10.54.0
Important Changes
  • feat(browser): Add fetchStreamPerformanceIntegration for streamed response tracking (#20778)

    A new integration that tracks the performance of streamed fetch responses. Use this to measure time-to-first-byte and streaming duration for APIs that return chunked/streamed data. This replaces the now deprecated trackFetchStreamPerformance option.

  • feat(core): Add dataCollection client option (#20965)

    Adds a new dataCollection client option for controlling what data the SDK collects and sends to Sentry. This provides a centralized way to configure data collection behavior across different SDK features. In the future, this option will be used for fine-granular data filtering, while the simple sendDefaultPii boolean option will be deprecated and removed in a future release.

  • feat(core): Support array attributes for spans, logs, and metrics (#20427)

    Arrays of primitive values (string, number, boolean) are now accepted as attribute values. Arrays containing non-primitive elements will be dropped and won't show up in Sentry. Note that array attributes on logs and metrics were previously stringified in certain cases and will now be sent as arrays instead.

  • feat(hono): Add hono.request spans for internal .request() calls (#20843)

    The Hono SDK now creates spans for internal .request() calls, providing better visibility into request handling within Hono applications.

Other Changes
  • feat(core): Add data collection filtering utilities (#20989)
  • feat(core): Convert scope contexts to segment span attributes in span streaming (#20828)
  • feat(core): Emit sentry.sdk.integrations on streamed segment spans (#20428)
  • feat(core): HTTP server diagnostics channel utility (#20779)
  • feat(core): Migrate span streaming envelope to dataCollection (#21080)
  • feat(core): Migrate Supabase integration to dataCollection (#21085)
  • feat(core): Migrate trpc to dataCollection (#21072)
  • feat(deno): Instrument node:http on versions that support it (#21009)
  • feat(ember): Extract ember-specific logic into custom browserTracingIntegration (#20702)
  • feat(logs): Migrate log envelope user inference to dataCollection (#21073)
  • feat(nuxt): Allow custom configuration files paths in Nuxt module (#20650)
  • feat(replay): Update example worker script (#20899)
  • feat(serverless): Add server-only context span attributes via processSegmentSpan hooks (#20842)
  • fix(astro): Avoid injecting meta tags into <head> inside attribute values (#21089)
  • fix(astro): Use explicit ResponseInit when injecting meta tags in response (#21021)
  • fix(browser): Add a synthetic stack trace to DOMException with empty stack traces if attachStacktrace is true (#19988)
  • fix(browser): Fix internal frame detection in minified bundles (#20802)
  • fix(cloudflare): Avoid repeated flush lock wrapping (#21156)
  • fix(cloudflare): Skip SDK initialization for OPTIONS/HEAD requests (#21090)
  • fix(cloudflare, vercel-edge): Disable timer-based flush for serverless runtimes (#20889)
  • fix(core): Sanitize lone surrogates in log body and attributes (#20245)
  • fix(deno): Support Deno.serve instrumentation on Deno 2.8 (#21155)
  • fix(hono): Preserve middleware handler metadata (#20954)
  • fix(hono): Use generic Hono type in Bun/Node (#21060)
  • fix(nextjs): Widen project option type to string | string[] (#21067)
  • fix(node): Improve http.client double-wrap message (#20705)
  • fix(node): Preserve CallbackManager handlers in LangChain instrumentation (#20849)
  • fix(react-router): Do not re-write origin on router state changes (#21056)
  • fix(replay): Set sentry.replay_id attribute on streamed spans (#20897)
  • fix(replay): Set replay_id on DSC after buffer-to-session conversion (#20686)
  • fix(solidstart): Use nitro module for build hooks to preserve preset hooks (#20861)
  • ref(core): Rename types-hoist to types (#20979)
<details> <summary> <strong>Internal Changes</strong> </summary>
  • chore: Add compatibility function for sendDefaultPii (#20967)
  • chore: Add size-limit for core/server, core/browser (#20990)
  • chore: Bump rrweb deps to v2.43.0 (#20844)
  • chore(build): Replace sucrase with esbuild (#20865)
  • chore(deps): Bump nitropack from 2.13.1 to 2.13.4 (#20713)
  • chore(deps): Bump ws from 8.20.0 to 8.20.1 (#20998)
  • chore(deps): Remove redundant yarn resolutions (#20877)
  • feat(deps): Bump @tootallnate/once from 1.1.2 to 2.0.1 (#21108)
  • feat(deps): Bump devalue from 4.3.3 to 5.8.1 (#20893)
  • feat(deps): Bump protobufjs from 7.5.5 to 7.5.9 (#20846)
  • ref(aws-serverless): Vendor aws-sdk instrumentation (#20988)
  • ref(http): Use shared snippets for filtering headers and cookies (#20970)
  • ref(nestjs): Vendor nestjs-core instrumentation (#20996)
  • ref(node): Remove unused @opentelemetry/instrumentation-http dependency (#21113)
  • ref(node): Vendor @fastify/otel (#21099)
  • ref(node): Vendor @opentelemetry/instrumentation-pg (#21102)
  • ref(node): Vendor @opentelemetry/sql-common (#21140)
  • ref(node): Vendor @prisma/instrumentation (#21098)
  • ref(node): Vendor amqplib instrumentation (#21003)
  • ref(node): Vendor connect instrumentation (#20955)
  • ref(node): Vendor dataloader instrumentation (#20950)
  • ref(node): Vendor fs instrumentation (#20964)
  • ref(node): Vendor generic-pool instrumentation (#20949)
  • ref(node): Vendor graphql instrumentation (#21096)
  • ref(node): Vendor hapi instrumentation (#21057)
  • ref(node): Vendor kafkajs instrumentation (#21005)
  • ref(node): Vendor knex instrumentation (#20963)
  • ref(node): Vendor koa instrumentation (#20956)
  • ref(node): Vendor lru-memoizer instrumentation (#20948)
  • ref(node): Vendor minimal types for dataloader and generic-pool instrumentations (#21013)
  • ref(node): Vendor mongodb instrumentation (#20966)
  • ref(node): Vendor mongoose instrumentation (#21058)
  • ref(node): Vendor mysql instrumentation (#21016)
  • ref(node): Vendor mysql2 instrumentation (#21031)
  • ref(node): Vendor tedious instrumentation (#21010)
</details>

Work in this release was contributed by @abcang, @ahmadio, @delorge, @mdnanocom, and @victorgarciaesgi. Thank you for your contributions!

Bundle size 📦

PathSize
@sentry/browser26.68 KB
@sentry/browser - with treeshaking flags25.13 KB
@sentry/browser (incl. Tracing)44.25 KB
@sentry/browser (incl. Tracing + Span Streaming)46.44 KB
@sentry/browser (incl. Tracing, Profiling)49.12 KB
@sentry/browser (incl. Tracing, Replay)82.93 KB
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags72.68 KB
@sentry/browser (incl. Tracing, Replay with Canvas)87.53 KB
@sentry/browser (incl. Tracing, Replay, Feedback)99.85 KB
@sentry/browser (incl. Feedback)43.46 KB
@sentry/browser (incl. sendFeedback)31.38 KB
@sentry/browser (incl. FeedbackAsync)36.38 KB
@sentry/browser (incl. Metrics)27.74 KB
@sentry/browser (incl. Logs)27.97 KB
@sentry/browser (incl. Metrics & Logs)28.65 KB
@sentry/react28.37 KB
@sentry/react (incl. Tracing)46.43 KB
@sentry/vue31.49 KB
@sentry/vue (incl. Tracing)46.07 KB
@sentry/svelte26.71 KB
CDN Bundle29.03 KB
CDN Bundle (incl. Tracing)46.72 KB
CDN Bundle (incl. Logs, Metrics)30.48 KB
CDN Bundle (incl. Tracing, Logs, Metrics)47.94 KB
CDN Bundle (incl. Replay, Logs, Metrics)68.88 KB
CDN Bundle (incl. Tracing, Replay)83.34 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)84.47 KB
CDN Bundle (incl. Tracing, Replay, Feedback)89.07 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)90.21 KB
CDN Bundle - uncompressed85.75 KB
CDN Bundle (incl. Tracing) - uncompressed140.91 KB
CDN Bundle (incl. Logs, Metrics) - uncompressed90.13 KB
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed144.58 KB
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed211.93 KB
CDN Bundle (incl. Tracing, Replay) - uncompressed256.91 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed260.56 KB
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed270.28 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed273.93 KB
@sentry/nextjs (client)48.86 KB
@sentry/sveltekit (client)44.73 KB
@sentry/core/server74.69 KB
@sentry/core/browser61.75 KB
@sentry/node-core61.12 KB
@sentry/node128.03 KB
@sentry/node - without tracing73.26 KB
@sentry/aws-serverless85.2 KB
@sentry/cloudflare (withSentry) - minified169.45 KB
@sentry/cloudflare (withSentry)423.36 KB

Conversations feature enters open beta

This release1 featureNew capabilitiesAI-tallied from the release notes

Conversations is now in open beta for all Sentry users. It gives you a readable view into past sessions with your agent, showing the full exchange of messages and tool calls so you can understand exactly what happened during each session.

New Features ✨
Aci
  • Add organizations:workflow-engine-metric-alert-endpoints-delete flag to allow deletes in the legacy API in #115382
  • Add deprecation headers to legacy rule endpoints in #114080
  • Add a warning banner for no connections on an Alert by @saponifi3d in #114772
Agent Ui
Autofix
Cells
Cmdk
  • Default to keepPreviousData in cmdkQueryOptions in #115085
  • Add webhooks keyword to Custom Integrations action by @JonasBa in #114974
Codeowners
  • Support excluding subdirectories via no-owner rules in #115322
  • Display exclusion rules in ownership rules table in #115391
Dashboards
Dynamic Sampling
Explore
Forms
Heatmap
Issues
Iswf
Logs
Onboarding
  • Add stream_gen_ai_spans to Python agent monitoring init options in #115470
  • Add streamGenAiSpans to JS agent monitoring init options by @obostjancic in #115371
  • Add platformProductInfo.generated.ts for SCM info-only platforms by @jaydgoss in #115092
  • Add platformProductInfo codegen script by @jaydgoss in #115177
Otlp
Ourlogs
Preprod
Repos
Seer
  • Populate SeerAgentRun alongside SeerRun in agent client in #115601
  • Add GitLab support to seer preferences endpoint in #115424
  • Add Seer plan flags to structured context check by @Mihir-Mavalankar in #115571
  • Pass api.web referrer from autofix UI by @chromy in #115546
  • Add reaction_added webhook handler for Seer agent feedback by @leeandher in #115490
  • Add CLI, Linear agent, and MCP autofix referrers by @chromy in #115514
  • Accept referrer input on GroupAutofixEndpoint by @chromy in #115497
  • Expose replay search RPC by @JoshFerge in #115500
  • Wire explorer chat write site through SeerRun outbox by @trevor-e in #115231
  • Wire legacy autofix write site through SeerRun outbox by @trevor-e in #115228
  • Add outbox receiver for SeerRun creation by @trevor-e in #115111
  • Enable context engine for all Seer plan orgs in explorer in #115452
  • Add structured LLM context for logs and releases pages by @Mihir-Mavalankar in #115293
  • Add feature flag to enable Code Mode for Slack Explorer by @azulus in #115233
  • Add structured LLM context for issue taxonomy pages in #115153
  • Copy changes and fixup links between pages by @ryan953 in #114918
  • Make the Autofix settings open in a drawer from the org settings page by @ryan953 in #114933
  • Create Seer sub-nav items, and SCM requirement interstitial by @ryan953 in #114896
  • Suppress re-triage of skipped issues in night shift by @trevor-e in #114915
  • Add event-specific LLM context hint for issue event route by @Mihir-Mavalankar in #114926
  • Add check for seer-gitlab-support in the /seer/onboarding-check/ endpoint by @ryan953 in #113851
  • Move seer default settings into flyout panels & rm overview page by @ryan953 in #114599
  • Add check for seer-gitlab-support to billing/subscription screens by @ryan953 in #113855
  • Add check for seer-gitlab-support to the seer config reminder by @ryan953 in #113852
Sentry Apps
Settings
Slack
Snapshots
Spans
Trace Waterfall
Ui
  • Add keywords for theme switching in Command Palette in #114970
  • Replace MemberListStore with React Query in #114658
Other
  • (ai-conversations) Emit Sentry event on empty conversation detail page by @obostjancic in #115368
  • (auth) Add SuspendedUserMiddleware safety net in #114771
  • (billing) Use Intercom for ask Support links in #115527
  • (checkout) Use Intercom for ask Support link by @souredoutlook in #115218
  • (ci) Retry getsentry-dispatch by @joshuarli in #115309
  • (data-export) Add Sentry trace metrics for export outcomes in #115575
  • (endpoints) Add option to disable all project fetching in relay endpoints by @tobias-wilfert in #114947
  • (eslint) Enable @typescript-eslint/no-unnecessary-type-arguments by @JoshuaKGoldberg in #113674
  • (events) Add experimental api for events that allows sql by @wmak in #115330
  • (export) Update Storgae config for full trace export for Logs by @manessaraj in #114065
  • (external-issues) Use LLM generated title/description for ticket creation by @leeandher in #114760
  • (highlights) New loading state, stronger project types in #115352
  • (insights) Show source frames for slow DB spans by @scttcper in #115286
  • (integrations) Include organization_id in response tracking logs by @armenzg in #113903
  • (issue-detection) Tier-based traces per invocation by @roggenkemper in #114331
  • (playstation) Add feature for uploading attachments to object store by @tobias-wilfert in #114956
  • (process-segments) Add span deduplication filtering by @untitaker in #115283
  • (projects) Load project stats with react query, remove ProjectsStatsStore in #115463
  • (replays) Add replay dataset back to events by @wmak in #114234
  • (repositories) Filter out active repositories from the sync in #115034
  • (scm) Allow fetching by org/repo-name in #114369
  • (scraps) Markdown component by @natemoo-re in #115025
  • (search) Add userCount filter key to issue search autocomplete by @isaacwang-sentry in #114823
  • (search-query-builder) Add custom currency filter by @nsdeschenes in #114713
  • (seer-explorer) Add polling backoff for 5xx errors in #115538
  • (seer-slack) Add slack link parsing and insert slack thread info by @alexsohn1126 in #114442
  • (slo) Add SLO instrumentation to Jira search endpoint in #114513
  • (slot) Automatically bridge known contexts by @natemoo-re in #114548
  • (trace-meta) Add trace metrics by @wmak in #115107
  • (tracemetrics) Add Equation UI to Widget Builder in #115071
  • (types) Split Project into ProjectSummary and DetailedProject by @scttcper in #115024
  • (typing) Add pre-commit hook to prevent new weaklist additions by @armenzg in #114761
  • (viewer-context) Add seer_rpc_in + org_seer_rpc_in chokepoints in #115577
  • (webhooks) Add live-run flag to override circuit breaker dry-run by @Christinarlong in #114820
  • Extend performance profiles to V2 spans by @loewenheim in #115203
  • Allow interval on heatmap endpoint by @wmak in #115010
  • Add a random duration task for testing by @evanh in #114858
Bug Fixes 🐛
Aci
  • Require AlertRuleWorkflow IDs to be ints by @kcons in #115245
  • Add workflow ID to ActionInvocation by @kcons in #114770
  • Revalidate medium threshold when high threshold changes in #114923
  • Update the query filters to show monitor instead of detector by @saponifi3d in #114800
Ai Conversations
Api
  • Replace % formatting with string concatenation in count_hits to resolve Semgrep warning by @fix-it-felix-sentry in #114016
  • Validate root-cause-analysis query params via serializer by @oioki in #115297
  • Validate more user-provided int ids by @kcons in #115299
  • Return forbidden for gated events endpoint in #115148
  • Validate more user-provided integer ids by @kcons in #114996
  • Preserve string array span detail attributes in #114853
Attributes
Auth
  • Conditionally show unlinked member warning based on SSO requirement in #115461
  • Prefer session user over IdP email in SSO identity resolution by @michelletran-sentry in #115079
Autofix
Cells
  • Bump Organization replication_version to backfill mapping date_created by @lynnagara in #115423
  • Replicate Organization.date_added to mapping row in #115325
Charts
Codeowners
  • Return owner names on sync in #115583
  • Display dateSynced instead of dateUpdated in CODEOWNERS table in #115136
  • Add date_synced field to track actual CODEOWNERS sync time by @shashjar in #115115
Conversations
Dashboards
  • Clarify mobile vitals app starts in #115264
  • Use span.op for MCP pre-built dashboard filters by @gggritso in #115540
  • Render unfurl chart with dual Y axes for multi-aggregate widgets by @DominikB2014 in #115411
  • Invalidate dashboards list and grid on delete in #115354
  • Exempt details widgets from limit validation in #115170
  • Preserve prebuilt globalFilter chips when cloning by @DominikB2014 in #115081
  • Close widget viewer modal when releases drawer opens by @skaasten in #114768
  • Default text widgets to 1 row tall by @jameskeane in #114898
  • Include threshold changes in revision diffs in #114607
  • Match widgets by content fingerprint when IDs differ and titles are non-unique by @skaasten in #114578
  • Show current version when no revisions exist by @skaasten in #114718
Explore
Insights
Integrations
  • Preserve async select value in external issue modal after dynamic refetch in #115593
  • Allow blank overview on sentry app form by @priscilawebdev in #114946
  • Validate integration_id in OrganizationIntegrationBaseEndpoint by @kcons in #114821
Issue Detection
Issues
  • Render assigned user avatars from member list in #115619
  • Resolve custom tag / column name collision in events tab & timeline chart in #115416
  • Resolve custom tag / column name collision on issue details page by @shashjar in #115096
  • Migrate data conditions away from old group type categories by @ceorourke in #114614
  • Return 400 for invalid action on group integration details by @mrduncan in #114657
  • Scope get_shared_for_org to the slug-resolved organization by @oioki in #114906
  • Fix typo "withing" → "within" in status_change comment in #114911
Iswf
Jest
  • Make command palette tests deterministic by mocking debounce in #115316
  • Mock Algolia search in command palette test to prevent timeout by @sentry in #115314
Onboarding
  • Mobile style tweaks for SCM onboarding by @jaydgoss in #115426
  • Center the SCM detection loading indicator in #115404
  • Add logs to browser JS and SolidStart product selection in #115399
  • Register Replay integration during onboarding flow by @jaydgoss in #114774
Ourlogs
Preprod
  • Fix snapshot list scroll-to and duplicate React keys in #115396
  • Clarify rerun analysis description in admin page by @NicoHinderling in #115340
  • Quote CSS mask-image URLs to handle special characters by @NicoHinderling in #115318
  • Improve snapshot status filter behavior by @NicoHinderling in #115224
  • Get snapshot PR comments from detailed project in #115173
  • Get snapshot status checks from detailed project in #115139
  • Add exponential retry for GitHub API calls in snapshot tasks in #114272
  • Use display_name for snapshot sidebar labels in #114710
  • Raise expiry_seconds on Objectstore upload token by @lcian in #114844
  • Ensure artifact belongs to accessible project by @klochek in #114446
Profiling
Releases
Replay
Replays
  • Use Spans dataset when fetching contents of "Trace" tab by @gggritso in #115530
  • Cap Mobile Replay <video> element pool by @gggritso in #115403
  • Make sure the replay player doesn't reset on a background update by @TkDodo in #115052
Repositories
  • Fix serialization error during repo sync in #114880
  • Convert repository sync api to be a control endpoint by @wedamija in #114797
Search
Search Query Builder
Seer
  • Prevent duplicate assisted-query submissions in #115566
  • Record user initiator for manual explorer handoffs in #115558
  • Preserve recommended sort order for unscored issues in night shift by @trevor-e in #115444
  • Normalize U+F00D wildcard operators in snapshot_to_markdown in #115397
  • Iterate on the Add Project to Autofix form to make it work better in #115306
  • Add sent_at timestamp to autofix PR analytics events by @trevor-e in #115341
  • Use IntoTip instead of QuestionTooltip in Core Review table by @ryan953 in #115308
  • Let manage your repository connections open in a new tab by @ryan953 in #115289
  • Use hash-based jitter for night shift org dispatch by @trevor-e in #115189
  • Use self.get_projects() in OrganizationAutofixAutomationSettingsEndpoint by @srest2021 in #114977
  • Improvements in #114881
  • Stop on-completion hook from re-pushing terminally errored repos in #114885
Settings
Slack
Snapshots
Span Buffer
Spans
  • Remove conditional cleanup to fix flush lock double-flush bug by @untitaker in #114883
  • Release flush lock in done_flush_segments in #115169
Tracemetrics
Typing
  • Remove snuba modules from the mypy weaklist by @kcons in #115439
  • Remove more of sentry.incidents from the weaklist by @kcons in #115304
  • Remove sentry.incidents.serializers from the mypy weaklist by @kcons in #115232
Ui
  • Allow tooltips inside hovercard in #115590
  • Separate issues feed overlay groups in #115576
  • Rank trace group by matches with fzf in #115032
  • Table header icon size in #114913
Workflows
  • Require int ids in AlertRuleDetectorValidator by @kcons in #115510
  • Don't report timeouts as errors in process_workflow_event or delayed_workflows by @kcons in #115215
  • Require action_filters to be a list of dicts by @kcons in #114860
Other
  • (agent-ui) Derive staleness from a direct check w/scheduled rerender by @aliu39 in #115344
  • (ai) Mirror AI conversation message parsers in #114707
  • (alerts) Return 400 when trigger IDs don't belong to the alert rule being updated in #115573
  • (Anomaly Detection) Verify the users project permissions in #114900
  • (avatar) Add cached fallback to AsyncMemberAvatar by @natemoo-re in #115554
  • (backendJsonFormAdapter) Convert disabledReason to disabled string in #114847
  • (checkboxState) Update useListItemCheckboxContext to not rely on ApiQueryKey directly, only QueryKeyEndpointOptions in #114997
  • (ci-st) Don't print confusing 0 test count if all tests are selected by @joshuarli in #115305
  • (data-forwarding) Better permissions controls on editing page in #114966
  • (digests) Don't filter by RuleSnooze by @kcons in #115229
  • (discover) Guard against undefined items in collectQueryStringByKey by @sentry in #115469
  • (eap) Normalize dashed UUIDs in search filters and resolve internal column names by @BYK in #114550
  • (eslint) Inline disable new violations in #114941
  • (events) Invert PS/AMD logos in dark mode by @priscilawebdev in #115369
  • (feature-flags) Use sm text in tooltip date by @priscilawebdev in #115159
  • (feedback) Disallow OR/AND operators in feedback search by @mrduncan in #115113
  • (gsAdmin) Update admin portal contact channel and owner link by @swartzrock in #114399
  • (identity) Remove bogus email_verified from VSTS identity providers by @michelletran-sentry in #114863
  • (logs) Correct Date.now mock in virtual streaming test by @sentry in #114793
  • (migrations) Catch missing historical_silo_assignments on MOVE_TO_PENDING by @wedamija in #115087
  • (mypy) Remove stale weaklist entry for deleted test file by @NicoHinderling in #115204
  • (nightshift) Make the (temporary) alert be a system alert, no rounded corners in #114921
  • (oauth) Prevent session overwrite attack in authorization flow by @semgrep-code-getsentry in #113791
  • (occ-eap) Prevent throw on None stack frame in #115395
  • (ownership) Show specific error messages when ownership rule owners are invalid by @shashjar in #114802
  • (release-health) Add stable processing jitter by @JoshFerge in #115507
  • (repos) Fix virtualized repo list scroll container in non-nested mode in #114901
  • (sdk-crash) Exclude React Native Supabase instrumentation from SDK crash detection by @antonis in #115259
  • (seer-explorer) Clear input when switching sessions or starting new chat in #115440
  • (seer-slack) Change thinking status by @alexsohn1126 in #115280
  • (sentry-apps) Gate dashboard stats queries by @priscilawebdev in #115056
  • (sentryapps) Need GET to be exception cased to view the app status in _admin by @Christinarlong in #114980
  • (slack-unfurl) Preserve multiple groupBy entries on explore unfurl by @DominikB2014 in #114862
  • (snuba) Map ClickHouse 'Too many simultaneous queries' to 429 instead of 500 by @BYK in #114551
  • (superuser) Improve banner ux by @priscilawebdev in #115168
  • (test) Fix flaky filesChanged test by using regex matcher by @ryan953 in #114975
  • (tests) Fix missing control silo urls in test by @wedamija in #114870
  • (trace-details) Show replacement attributes when no deprecated source exists in #114943
  • (trace-meta) Fix types for EAP Trace Meta by @nsdeschenes in #115553
  • (traces) Add null state to application metrics dropdown in #115617
  • Allow reading multiple env secrets for Launchpad in #115632
  • Wrap custom tags project_id and project.name by @cobyeastwood183 in #115402
  • Mypy-weaklist-stale-on-delete by @joshuarli in #115213
  • Be less strict when parsing apiUrls by @TkDodo in #114978
  • Disable billing platform exception logging by @noahsmartin in #114872
Documentation 📚
Internal Changes 🔧
Aci
Agents
  • Clarify frontend typecheck command in #115421
  • Better instructions for using apiOptions by @TkDodo in #114949
Alerts
Autofix
Billing
Cells
  • Remove cell restriction code for Jira and integrations by @lynnagara in #115508
  • Rename SENTRY_OUTBOX_MODELS key from REGION to CELL by @lynnagara in #115210
  • Assert control org listing matches cell response in #114919
  • Remove dead OrganizationRegionEndpoint in #114791
Ci
  • Skip importing irrelevant test files during pytest collection in #114107
  • Route postgres through Unix domain socket in CI in #114108
  • Re-apply parallel devservices startup for backend tests by @mchen-sentry in #114104
Codeowners
Cross Events
Dashboards
Deps
Deps Dev
Explore
Feedback
Flags
  • Remove organizations:alerts-timeseries-comparison registration by @wedamija in #113375
  • Remove organizations:symbol-sources gates (backend) by @wedamija in #114993
  • Remove organizations:performance-transaction-summary-eap registration by @wedamija in #115015
  • Remove organizations:performance-transaction-summary-eap gates (frontend) by @wedamija in #115014
  • Remove organizations:integrations-cursor registration by @wedamija in #115017
  • Remove organizations:insights-prebuilt-dashboards by @gggritso in #114960
  • Remove organizations:integrations-cursor gates (frontend) by @wedamija in #115016
  • Remove organizations:symbol-sources gates (frontend) by @wedamija in #114991
  • Move 2 should-be-permanent flags to permanent.py by @wedamija in #114934
  • Remove organizations:new-organization-member-invite by @wedamija in #114812
  • Remove organizations:integrations-deployment by @wedamija in #114990
  • Remove organizations:on-demand-gen-metrics-deprecation-query-prefill by @wedamija in #114810
  • Remove organizations:app-store-connect-multiple by @wedamija in #114935
  • Remove organizations:dashboards-starred-reordering (backend) in #114817
  • Remove organizations:continuous-profiling-beta-ui (registration) in #114816
  • Remove organizations:dashboards-starred-reordering (frontend) in #114818
  • Remove organizations:continuous-profiling-beta-ui (frontend) in #114815
  • Make organizations:workflow-engine-log-evaluations permanent in #114803
  • Remove organizations:uptime-auto-detected-monitor-emails in #114806
  • Remove organizations:normalize_segment_names_in_span_enrichment by @wedamija in #114809
  • Remove organizations:on-demand-gen-metrics-deprecation-prefill by @wedamija in #114811
  • Remove organizations:on-demand-metrics-query-spec-version-two by @wedamija in #114808
Forms
Integrations
Issue Detection
Issues
Iswf
Jest
  • Mark flaky Jest tests with it.isKnownFlake() in #115447
  • Update flaky test markers based on recent CI data by @ryan953 in #115277
Lint Rules
Onboarding
Preprod
  • Unify snapshot detail header badges with table status column in #115633
  • Extract shared snapshot status derivation for list and detail endpoints in #115604
  • Remove approval_status from frontend search attributes in #115588
  • Add no_base_build comparison state for snapshots by @mtopo27 in #115561
  • Move comparison state badges from Changes to Status column by @mtopo27 in #115506
  • Reorder snapshot table columns and show Base badge in Status by @mtopo27 in #115488
  • Standardize logging key to preprod_artifact_id by @NicoHinderling in #115462
  • Increase process_artifact deadline from 12 to 15 minutes by @NicoHinderling in #115349
  • Remove redundant content_hash and fix extra field leakage in snapshot responses by @NicoHinderling in #115323
  • Use React components for app size treemap tooltip by @TkDodo in #115045
  • Add blocklist to filter internal fields from snapshot metadata tooltip by @NicoHinderling in #114988
  • Align snapshot status checks UI with PR comments pattern by @runningcode in #114963
Profiling
  • Remove base64 rollout option for profile task payload in #115387
  • Remove base64 encoding from profile task payload by @untitaker in #115069
Repos
Repositories
  • Switch over queries for RepositoryProjectPathConfig to use the new ProjectRepository table in #115516
  • Switch over queries for SeerProjectRepository to use ProjectRepository in #115456
  • Mark project_repository column as not null. by @wedamija in #115524
  • Backfill the new ProjectRepository table by @wedamija in #115351
  • Dual write to the new ProjectRepository table when we create related rows in other tables in #115346
  • Add a table to allow us to link a project to a repository in #115331
  • Remove most feature flags from repo syncing by @wedamija in #115033
Searchquerybuilder
  • Share filter parser grammar in #115557
  • Avoid full filter parse for free text in #115563
Seer
Seer Explorer
  • Rewrite types to use zod schemas in #115206
  • Increase stale timeout to 120s in #115386
  • Remove unused isVisible and isMinimized props from InputSection by @aliu39 in #115227
Settings
Snapshots
  • Fix snapshot product doc link in #115410
  • Update settings badge from alpha to beta by @mtopo27 in #115275
  • Improve responsiveness for snapshot detail view in #114967
Spans
Types
  • Add type stubs for prism-line-highlight plugin in #115067
  • Narrow type in Promise.catch from any to unknown in #114849
Ui
Other
Other
  • fix(cells) Increase the task deadline for outbox scheduling in #115636
  • o11y(preprod): Add context to snapshot status check and PR comment logs in #115612
  • o11y(assisted-query): track result counts after AI query is applied in #115240
  • fix(relocations) Use str instead of uuid task parameter in #115587
  • chore(cells) Reduce indirection in organization.provisioning in #115522
  • fix(cells) Move metric collection for outbox backfill in #115552
  • Add evals devservices mode by @JoshFerge in #115526
  • ref(flex) run codemod on orphaned files by @JonasBa in #115393
  • feat(cells) Add option based control for cell rollout by @markstory in #115409
  • deps(scm): Upgrade sentry-scm to 0.14.0 in #115376
  • Fully remove issue alert columns on NotificationMessage in #115327
  • feat(cells) Make organization-create work in control silo by @markstory in #115238
  • fix(types) Remove sentry.net.http from the ignore list by @markstory in #115185
  • chore(cells) Remove org_setup_complete by @markstory in #115103
  • switch from alpha -> beta badge by @mtopo27 in #115197
  • Remove Rulefirehistory references in #115035
  • fix(spans) Trim environment names to prevent overflows in #115141
  • Remove references to RuleFireHistory by @ceorourke in #115036
  • chore(tests) Improve assertion failure messages for analytics events by @markstory in #115002
  • fix(cells) Add referrer to org create endpoint by @markstory in #114962
  • chore(cells) Remove remaining usage of deprecated provisioning options by @markstory in #114879
  • Add 'organizations:relay-default-trace-id' to config in #114907
  • Update SDK version and options by @cleptric in #114856
  • Additional logging and metrics for suspended user activity by @geoffg-sentry in #114749

Plus 1 more

Last Checked
1h ago
Domain
sentry.io
Tracking since Jul 28, 2015