Skip to content

Support Sentry SDK v9 and v10 in node renderer integration#2434

Merged
alexeyr-ci2 merged 1 commit intomasterfrom
alexeyr/sentry-v9-v10-compatibility
Feb 26, 2026
Merged

Support Sentry SDK v9 and v10 in node renderer integration#2434
alexeyr-ci2 merged 1 commit intomasterfrom
alexeyr/sentry-v9-v10-compatibility

Conversation

@alexeyr-ci2
Copy link
Copy Markdown
Collaborator

@alexeyr-ci2 alexeyr-ci2 commented Feb 16, 2026

Summary

  • Replace @sentry/types import with Parameters<typeof Sentry.startSpan>[0] to avoid depending on @sentry/types, which is no longer a transitive dependency of @sentry/node in v9+
  • Widen @sentry/node peer dependency from <9.0.0 to <11.0.0
  • Add note about test assertion that needs updating when devDependency is upgraded to Sentry v10

Closes #2294.

Test plan

  • TypeScript type check passes with current v7 devDependency
  • tests/shared/tracing.test.ts passes
  • Manually verified type check and tracing tests pass with Sentry v10 devDependency

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores

    • Broadened Sentry integration peer dependency compatibility.
    • Added root-level metadata entries in the package manifest.
  • Improvements

    • Improved type handling for Sentry configuration options.
  • Tests

    • Added clarifying comments in tracing tests about Sentry version behavior.
  • Documentation

    • Added changelog note describing Sentry SDK compatibility updates.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 16, 2026

Walkthrough

Widened @sentry/node peer range, replaced a Sentry type import with a derived parameter type, added two test comments about Sentry v10 behavior, added advisory metadata to root package.json, and updated CHANGELOG with a Pro Unreleased entry. No runtime logic changes.

Changes

Cohort / File(s) Summary
Root manifest
package.json
Added a non-standard top-level property // for devDependencies containing two advisory strings (metadata only; no functional change).
Node renderer manifest
packages/react-on-rails-pro-node-renderer/package.json
Widened peer dependency for @sentry/node from >=5.0.0 <9.0.0 to >=5.0.0 <11.0.0.
Sentry integration types
packages/react-on-rails-pro-node-renderer/src/integrations/sentry.ts
Replaced StartSpanOptions usage with Parameters<typeof Sentry.startSpan>[0] and removed the StartSpanOptions import (type-only change).
Tests / notes
packages/react-on-rails-pro-node-renderer/tests/shared/tracing.test.ts
Added two inline comments noting that Sentry v10 no longer sets report.tags.transaction automatically (comment-only).
Changelog
CHANGELOG.md
Added Unreleased Pro entry describing Sentry SDK v9/v10 compatibility and PR attribution (documentation only).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related issues

Poem

🐰 Hopping through changelogs, light and spry,
I nudged the ranges, let old bounds fly,
Types now follow where startSpan goes,
A tiny note where test wind blows,
Pro rabbit cheers — release we try!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main objective of the pull request: supporting Sentry SDK v9 and v10 in the node renderer integration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch alexeyr/sentry-v9-v10-compatibility

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Feb 16, 2026

Greptile Summary

This PR updates Sentry SDK compatibility from v7-v8 to v5-v10 by replacing the direct @sentry/types import with a type extraction pattern using Parameters<typeof Sentry.startSpan>[0]. This approach avoids the dependency issue where @sentry/types is no longer a transitive dependency of @sentry/node in v9+.

Key changes:

  • Type extraction using Parameters utility type eliminates need for @sentry/types import
  • Peer dependency range widened to >=5.0.0 <11.0.0 to support v9 and v10
  • Test assertion documented as needing removal when devDependency is upgraded to v10
  • Root package.json documents why Sentry devDependency must stay at v7 (to avoid breaking sentry6 integration)

The approach is clean and maintains type safety without introducing additional dependencies.

Confidence Score: 5/5

  • Safe to merge - clean backward-compatible type extraction pattern with proper documentation
  • The changes use TypeScript's built-in Parameters utility type to extract the correct type from the Sentry SDK API, which is a robust approach that will work across all supported Sentry versions. The peer dependency range is appropriately widened, and important constraints are documented in comments. Tests pass with current v7 and were manually verified with v10.
  • No files require special attention

Important Files Changed

Filename Overview
packages/react-on-rails-pro-node-renderer/src/integrations/sentry.ts Replaced @sentry/types import with Parameters<typeof Sentry.startSpan>[0] to avoid dependency on package no longer transitively included in Sentry v9+
packages/react-on-rails-pro-node-renderer/package.json Updated @sentry/node peer dependency range from <9.0.0 to <11.0.0 to support Sentry SDK v9 and v10

Flowchart

flowchart TD
    A[Sentry Integration v7-v8] --> B{Type Dependency Issue}
    B --> C[sentry/types no longer transitive in v9+]
    C --> D[Solution: Type Extraction]
    D --> E[Parameters typeof Sentry.startSpan]
    E --> F[UnitOfWorkOptions Interface]
    F --> G[Supports Sentry v5-v10]
    
    H[Peer Dependency] --> I[Update range to v5-v10]
    I --> G
    
    J[Root package.json] --> K[Keep devDep at v7]
    K --> L[Prevents breaking sentry6 integration]
Loading

Last reviewed commit: aee5fde

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 16, 2026

size-limit report 📦

Path Size
react-on-rails/client bundled (gzip) 62.5 KB (0%)
react-on-rails/client bundled (gzip) (time) 62.5 KB (0%)
react-on-rails/client bundled (brotli) 53.71 KB (0%)
react-on-rails/client bundled (brotli) (time) 53.71 KB (0%)
react-on-rails-pro/client bundled (gzip) 63.5 KB (0%)
react-on-rails-pro/client bundled (gzip) (time) 63.5 KB (0%)
react-on-rails-pro/client bundled (brotli) 54.67 KB (0%)
react-on-rails-pro/client bundled (brotli) (time) 54.67 KB (0%)
registerServerComponent/client bundled (gzip) 127.16 KB (0%)
registerServerComponent/client bundled (gzip) (time) 127.16 KB (0%)
registerServerComponent/client bundled (brotli) 61.54 KB (0%)
registerServerComponent/client bundled (brotli) (time) 61.64 KB (+0.03% 🔺)
wrapServerComponentRenderer/client bundled (gzip) 121.69 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) (time) 121.69 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) 56.63 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) (time) 56.63 KB (0%)

@alexeyr-ci2 alexeyr-ci2 force-pushed the alexeyr/sentry-v9-v10-compatibility branch from aee5fde to ff81d95 Compare February 16, 2026 11:31
- Replace `@sentry/types` import with `Parameters<typeof Sentry.startSpan>[0]`
  to avoid depending on `@sentry/types`, which is no longer a transitive
  dependency of `@sentry/node` in v9+
- Widen `@sentry/node` peer dependency from `<9.0.0` to `<11.0.0`
- Add note about test assertion that needs updating for Sentry v10
@alexeyr-ci2 alexeyr-ci2 force-pushed the alexeyr/sentry-v9-v10-compatibility branch from 8ae3f41 to 3dd19c6 Compare February 25, 2026 07:27
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Feb 25, 2026

PR Review: Support Sentry SDK v9 and v10 in node renderer integration

Overall this is a clean, well-scoped change. The approach is sound and the breadth of the diff is appropriately minimal.

What's good

  • Type extraction pattern — Replacing the explicit StartSpanOptions import with Parameters<typeof Sentry.startSpan>[0] is the idiomatic solution here. It derives the type directly from the function signature, so it stays in sync automatically when Sentry updates its API, and avoids the transitive-dep problem entirely.

  • Graceful runtime check for older Fastify API — The existing 'setupFastifyErrorHandler' in Sentry check in sentry.ts already handles version branching cleanly, and the widened peer dep is consistent with that pattern.

  • package.json comment — Adding an explanatory comment about the Sentry v7 devDependency cap is helpful; it prevents a future contributor from innocently bumping the version and breaking the sentry6 integration type-check.

  • CHANGELOG placement — Correctly filed under "Fixed" before "Changed".

Observation: test comment is fragile future-debt

The comment added to tracing.test.ts is well-intentioned but easy to miss:

// Note: Sentry v10 no longer sets report.tags.transaction automatically.
// Remove this assertion when upgrading devDependency.
expect(report.tags.transaction).toBe(spanName);

Since the PR description says this assertion will fail when the devDependency is upgraded to v10, and there's no linked issue or TODO tracker, it's likely to surface as a confusing test failure in the future. Consider opening a GitHub issue for tracking the devDependency upgrade and referencing it in the comment (e.g. // TODO: remove when upgrading @sentry/node devDep (see #XXXX)), or file a follow-up issue immediately.

Minor: lower peer-dep bound may be over-broad (pre-existing)

The @sentry/node peer dep lower bound >=5.0.0 predates this PR, but is worth flagging since Sentry.startSpan wasn't introduced until v7.99+. A user on v5 or v6 who installs react-on-rails-pro-node-renderer and uses the sentry.ts integration would hit a runtime crash — the type system can't catch this because Parameters<typeof Sentry.startSpan>[0] resolves at compile time against whatever version is installed. Not a blocker for this PR since it's a pre-existing issue, but worth tracking.

Summary

The core change is correct and elegantly minimal. No blockers — the observations above are improvements to consider as follow-ups.

const report = reports[0]!;
// Note: Sentry v10 no longer sets report.tags.transaction automatically.
// Remove this assertion when upgrading devDependency.
expect(report.tags.transaction).toBe(spanName);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This comment documents known v10 breakage but is easy to overlook when upgrading. Consider referencing a GitHub issue here so it doesn't get lost:

Suggested change
expect(report.tags.transaction).toBe(spanName);
// TODO: Sentry v10 no longer sets report.tags.transaction automatically.
// Remove this assertion when upgrading devDependency (open a tracking issue).
expect(report.tags.transaction).toBe(spanName);

Alternatively, open a follow-up issue now and reference its number so the cleanup is tracked.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/react-on-rails-pro-node-renderer/src/integrations/sentry.ts`:
- Line 13: The current property type uses Parameters<typeof Sentry.startSpan>[0]
which breaks TS for `@sentry/node` v5–6 where startSpan doesn't exist; update the
declaration (sentry?: ...) to either narrow the peer dependency to ">=7.0.0
<11.0.0" or make the type compatible with older Sentry by widening it (e.g., use
a safe union/alias like unknown | Sentry.SpanLike or a conditional/fallback type
that falls back to any/unknown when Sentry.startSpan is not present) so
TypeScript consumers on v5–6 no longer error; refer to the existing symbol
sentry and the Sentry.startSpan reference when making the change.

In `@packages/react-on-rails-pro-node-renderer/tests/shared/tracing.test.ts`:
- Around line 49-51: The test currently assumes report.tags.transaction exists
and asserts expect(report.tags.transaction).toBe(spanName); — change this to
first check for the tag's existence on report (e.g., if (report.tags &&
'transaction' in report.tags) ...) and only then assert equality to spanName;
otherwise skip or assert undefined/absent to support Sentry v8+ span-centric
behavior, updating the assertion around the report and spanName symbols.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ff81d95 and 3dd19c6.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • package.json
  • packages/react-on-rails-pro-node-renderer/package.json
  • packages/react-on-rails-pro-node-renderer/src/integrations/sentry.ts
  • packages/react-on-rails-pro-node-renderer/tests/shared/tracing.test.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/react-on-rails-pro-node-renderer/package.json
  • CHANGELOG.md

declare module '../shared/tracing.js' {
interface UnitOfWorkOptions {
sentry?: StartSpanOptions;
sentry?: Parameters<typeof Sentry.startSpan>[0];
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Find and read the package.json for the sentry integration
find . -name "package.json" -path "*react-on-rails-pro-node-renderer*" | head -5

Repository: shakacode/react_on_rails

Length of output: 124


🏁 Script executed:

# Search for peer dependency declarations related to sentry
rg -A5 -B5 "@sentry/node" --type json | head -50

Repository: shakacode/react_on_rails

Length of output: 3720


🏁 Script executed:

# Check the actual file context around line 13
cat -n packages/react-on-rails-pro-node-renderer/src/integrations/sentry.ts | head -30

Repository: shakacode/react_on_rails

Length of output: 930


🌐 Web query:

Sentry @sentry/node startSpan API availability version history 5 6 7 8 9 10

💡 Result:

@sentry/node startSpan(...) API availability (major versions 5 → 10)

@sentry/node major Sentry.startSpan(...) available? Notes / what to use instead
5.x No Manual tracing guidance was Sentry.startTransaction() + transaction.startChild(); older hub.startSpan existed for some APM-era/manual instrumentation but was being moved away from in favor of startTransaction workflows. [1]
6.x No Public manual tracing is still centered on Sentry.startTransaction() (and span children off the transaction). Example reports/issues for @sentry/node 6.18.2 discuss startTransaction usage rather than startSpan. [2]
7.x Yes Sentry.startSpan is present (e.g., exported by @sentry/node at least as early as 7.91.0). [3] In later 7.x, Sentry began deprecating the old model (startTransaction, span.startChild) in favor of startSpan, startSpanManual, startInactiveSpan. [4]
8.x Yes New tracing model is the headline change in v8; startSpan/startSpanManual/startInactiveSpan are the primary manual APIs, and Sentry notes these APIs were already available in 7.x to allow incremental migration. [5]
9.x Yes startSpan remains part of the public API surface (it’s exported from @sentry/core in v9 and re-exported by SDKs). Example: @sentry/browser 9.23.0 exports startSpan from @sentry/core (same core surface that @sentry/node builds on). [6]
10.x Yes @sentry/node continues to re-export startSpan, startSpanManual, and startInactiveSpan from @sentry/core (example: @sentry/node 10.26.0 type entrypoint). [7]

Practical takeaway

  • If you’re on @sentry/node 5 or 6: you generally don’t have Sentry.startSpan—use startTransaction + startChild. [1][2]
  • If you’re on 7+: Sentry.startSpan is available (and is the forward path). [3][5]

Sources:
[1] (newreleases.io)
[2] (github.com)
[3] (app.unpkg.com)
[4] (docs.sentry.dev)
[5] (docs.sentry.io)
[6] (app.unpkg.com)
[7] (app.unpkg.com)

Citations:


Update type to support Sentry 5–6 compatibility or narrow the peer dependency range.

Sentry.startSpan does not exist in @sentry/node versions 5 and 6—it was introduced in v7. The peer range >=5.0.0 <11.0.0 includes 5 and 6, so TypeScript consumers on those versions will fail type-checking. Either:

  • Narrow the peer dependency to >=7.0.0 <11.0.0, or
  • Use a conditional type or fallback to support the broader range.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/react-on-rails-pro-node-renderer/src/integrations/sentry.ts` at line
13, The current property type uses Parameters<typeof Sentry.startSpan>[0] which
breaks TS for `@sentry/node` v5–6 where startSpan doesn't exist; update the
declaration (sentry?: ...) to either narrow the peer dependency to ">=7.0.0
<11.0.0" or make the type compatible with older Sentry by widening it (e.g., use
a safe union/alias like unknown | Sentry.SpanLike or a conditional/fallback type
that falls back to any/unknown when Sentry.startSpan is not present) so
TypeScript consumers on v5–6 no longer error; refer to the existing symbol
sentry and the Sentry.startSpan reference when making the change.

Comment on lines +49 to 51
// Note: Sentry v10 no longer sets report.tags.transaction automatically.
// Remove this assertion when upgrading devDependency.
expect(report.tags.transaction).toBe(spanName);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cd packages/react-on-rails-pro-node-renderer && find . -type f -name "tracing.test.ts"

Repository: shakacode/react_on_rails

Length of output: 1730


🏁 Script executed:

# Search for test file to understand its full context
rg -l "tracing.test.ts" --type ts

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

# Check if the file exists and read it
cat packages/react-on-rails-pro-node-renderer/tests/shared/tracing.test.ts 2>/dev/null | head -100

Repository: shakacode/react_on_rails

Length of output: 2218


🌐 Web query:

Sentry @sentry/node v10 release notes tags.transaction automatic

💡 Result:

  • @sentry/node v10 (10.0.0) release notes: there’s no mention of any change related to tags.transaction or “automatic transaction tag” behavior; v10 is primarily an OpenTelemetry v2 upgrade plus other unrelated breaking changes. [1]
  • What tags.transaction is: it’s an Ownership Rules matcher type which matches against the event’s transaction tag (shown in rule examples as tags.transaction:/checkout/:page ...). [2]
  • Where it comes from / “automatic”: the JavaScript/Node SDKs generally attach a transaction name to events via the scope (the scope’s “transaction name” is “attached to future events”, and SDKs often set it automatically during navigations/requests). [3] Also, errors are tied to the currently active span when one exists, which is the typical way the SDK knows what transaction it’s in. [4]

Sources: [1] [2] [3] [4]


🌐 Web query:

Sentry v7 vs v10 transaction tags behavior changelog

💡 Result:

For Sentry JavaScript SDKs (the @sentry/* v7 → v10 line), “transaction tags” behavior effectively changed as Sentry moved from a transaction-centric model to a span-centric (OpenTelemetry-based) model.

What changed (v7 → v10), chronologically

v7 (late v7.x): “transaction APIs” start getting deprecated

  • The classic performance API startTransaction() (and hub.startTransaction()) was deprecated in v7 and slated for removal, in favor of the newer span APIs (startSpan, startSpanManual, startInactiveSpan). This is the start of the shift away from treating “transactions” as the primary object you enrich. [1]
  • In practice, this is when patterns like getActiveTransaction()?.setTag(...) start becoming “the old way”.

v8+: transactions become “conceptually gone” in the SDK → tags move to span attributes

  • With the OpenTelemetry-based model, you “operate on spans” and Sentry may still group spans into a transaction in the UI, but that grouping is transparent and not the primary SDK surface anymore. [2]
  • As a result, “additional data / tags” you attach during execution is often visible on spans rather than on the “transaction” summary the way it used to be. Sentry explicitly calls this out: the product focus moved to showing data per-span instead of per-transaction. [2]

v10: no new “transaction tags” semantics (mostly dependency upgrade)

  • The v9 → v10 migration is described as primarily upgrading OpenTelemetry dependencies to v2 with minimal breaking changes, i.e., it does not reintroduce transaction-tag behavior from old v7 patterns. [3]

Practical implication (“behavior changelog” in one line)

  • v7 (old model): you could think “transaction + transaction tags”.
  • v8–v10 (current model): think “root span + span attributes”; “transaction tags” are no longer a first-class concept, and the UI increasingly emphasizes span-level data. [2]

Sources: v7 deprecations / tracing API changes [1], Sentry support note on spans vs transactions display behavior [2], v9→v10 migration scope [3].

References:
[1] Deprecations in 7.x (v7→v8) https://docs.sentry.dev/platforms/javascript/migration/v7-to-v8/v7-deprecations/
[2] Sentry Help Center: “Why is additional data showing on spans but not on transactions?” https://sentry.zendesk.com/hc/en-us/articles/25981252414875-Why-is-additional-data-showing-on-spans-but-not-on-transactions
[3] v9→v10 migration guide (example: SvelteKit, but describes SDK v10 focus) https://docs.sentry.io/platforms/javascript/guides/sveltekit/migration/v9-to-v10


Make the assertion conditional to handle Sentry's span-centric model in v8+.

The comment correctly identifies that newer Sentry versions (v8+, including v10) have moved from a transaction-centric to a span-centric (OpenTelemetry-based) architecture. In this model, tags.transaction is no longer a first-class concept on events. Rather than deferring this with a TODO, conditionally check for the tag's presence now:

Proposed test update
-  // Note: Sentry v10 no longer sets report.tags.transaction automatically.
-  // Remove this assertion when upgrading devDependency.
-  expect(report.tags.transaction).toBe(spanName);
+  // In Sentry v8+, the SDK uses a span-centric model; transaction tags may be absent.
+  if (report.tags?.transaction !== undefined) {
+    expect(report.tags.transaction).toBe(spanName);
+  }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/react-on-rails-pro-node-renderer/tests/shared/tracing.test.ts`
around lines 49 - 51, The test currently assumes report.tags.transaction exists
and asserts expect(report.tags.transaction).toBe(spanName); — change this to
first check for the tag's existence on report (e.g., if (report.tags &&
'transaction' in report.tags) ...) and only then assert equality to spanName;
otherwise skip or assert undefined/absent to support Sentry v8+ span-centric
behavior, updating the assertion around the report and spanName symbols.

Copy link
Copy Markdown
Collaborator

@AbanoubGhadban AbanoubGhadban left a comment

Choose a reason for hiding this comment

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

Reviewed thoroughly — approving.

The core change is correct. Replacing import { StartSpanOptions } from '@sentry/types' with Parameters<typeof Sentry.startSpan>[0] eliminates the dependency on a package that's no longer transitively available in Sentry v9+. I verified locally that the emitted .d.ts preserves the Parameters<...> expression and resolves against @sentry/node (not @sentry/types), so customers on v9/v10 get correct types.

CodeRabbit's "Critical" about v5/v6 breakage is a false positivesentry.ts was never usable with v5/v6 (it calls Sentry.startSpan() at runtime, which doesn't exist in those versions). Those users use sentry6.ts. The peer dep range covers both integration files.

Two small requests before merge:

  1. Link the issue: Add "Closes #2294" to the PR body so it auto-closes.
  2. Test TODO tracking: The comment at tracing.test.ts:48-49 about removing the report.tags.transaction assertion when upgrading to v10 — consider opening a follow-up issue and referencing it in the comment so it doesn't get lost.

Neither is a blocker.

@alexeyr-ci2 alexeyr-ci2 merged commit ab610c6 into master Feb 26, 2026
41 of 42 checks passed
@alexeyr-ci2 alexeyr-ci2 deleted the alexeyr/sentry-v9-v10-compatibility branch February 26, 2026 13:36
AbanoubGhadban pushed a commit that referenced this pull request Mar 7, 2026
## Summary
- Replace `@sentry/types` import with `Parameters<typeof
Sentry.startSpan>[0]` to avoid depending on `@sentry/types`, which is no
longer a transitive dependency of `@sentry/node` in v9+
- Widen `@sentry/node` peer dependency from `<9.0.0` to `<11.0.0`
- Add note about test assertion that needs updating when devDependency
is upgraded to Sentry v10

Closes #2294.

## Test plan
- [x] TypeScript type check passes with current v7 devDependency
- [x] `tests/shared/tracing.test.ts` passes
- [x] Manually verified type check and tracing tests pass with Sentry
v10 devDependency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Broadened Sentry integration peer dependency compatibility.
  * Added root-level metadata entries in the package manifest.

* **Improvements**
  * Improved type handling for Sentry configuration options.

* **Tests**
* Added clarifying comments in tracing tests about Sentry version
behavior.

* **Documentation**
  * Added changelog note describing Sentry SDK compatibility updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Alexey Romanov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Sentry SDK v9/10 in Node Renderer

3 participants