npm @sentry/node 10.48.0

10 hours ago

Important Changes

  • feat(aws-serverless): Ship Lambda extension in npm package for container image Lambdas (#20133)

    The Sentry Lambda extension is now included in the npm package, enabling container image-based Lambda functions to use it. Copy the extension files into your Docker image and set the tunnel option:

    RUN mkdir -p /opt/sentry-extension
    COPY node_modules/@sentry/aws-serverless/build/lambda-extension/sentry-extension /opt/extensions/sentry-extension
    COPY node_modules/@sentry/aws-serverless/build/lambda-extension/index.mjs /opt/sentry-extension/index.mjs
    RUN chmod +x /opt/extensions/sentry-extension /opt/sentry-extension/index.mjs
    Sentry.init({
      dsn: '__DSN__',
      tunnel: 'http://localhost:9000/envelope',
    });

    This works with any Sentry SDK (@sentry/aws-serverless, @sentry/sveltekit, @sentry/node, etc.).

  • feat(cloudflare): Support basic WorkerEntrypoint (#19884)

    withSentry now supports instrumenting classes extending Cloudflare's WorkerEntrypoint. This instruments fetch, scheduled, queue, and tail handlers.

    import * as Sentry from '@sentry/cloudflare';
    import { WorkerEntrypoint } from 'cloudflare:workers';
    
    class MyWorker extends WorkerEntrypoint {
      async fetch(request: Request): Promise<Response> {
        return new Response('Hello World!');
      }
    }
    
    export default Sentry.withSentry(env => ({ dsn: env.SENTRY_DSN, tracesSampleRate: 1.0 }), MyWorker);
  • ref(core): Unify .do* span ops to gen_ai.generate_content (#20074)

    All Vercel AI do* spans (ai.generateText.doGenerate, ai.streamText.doStream, ai.generateObject.doGenerate, ai.streamObject.doStream) now use a single unified span op gen_ai.generate_content instead of separate ops like gen_ai.generate_text, gen_ai.stream_text, gen_ai.generate_object, and gen_ai.stream_object.

  • ref(core): Remove provider-specific AI span attributes in favor of gen_ai attributes in sentry conventions (#20011)

    The following provider-specific span attributes have been removed from the OpenAI and Anthropic AI integrations. Use the standardized gen_ai.* equivalents instead:

    Removed attribute Replacement
    openai.response.id gen_ai.response.id
    openai.response.model gen_ai.response.model
    openai.usage.prompt_tokens gen_ai.usage.input_tokens
    openai.usage.completion_tokens gen_ai.usage.output_tokens
    openai.response.timestamp (removed, no replacement)
    anthropic.response.timestamp (removed, no replacement)

    If you reference these attributes in hooks (e.g. beforeSendTransaction), update them to the gen_ai.* equivalents.

  • feat(core): Support embeddings in LangChain (#20017)

    Adds instrumentation for LangChain embeddings (embedQuery, embedDocuments), creating gen_ai.embeddings spans. In Node.js, embedding classes from @langchain/openai, @langchain/google-genai, @langchain/mistralai, and @langchain/google-vertexai are auto-instrumented. For other runtimes, use the new instrumentLangChainEmbeddings API:

    import * as Sentry from '@sentry/cloudflare';
    import { OpenAIEmbeddings } from '@langchain/openai';
    
    const embeddings = Sentry.instrumentLangChainEmbeddings(new OpenAIEmbeddings({ model: 'text-embedding-3-small' }));
    
    await embeddings.embedQuery('Hello world');

Other Changes

  • feat(core): Support registerTool/registerResource/registerPrompt in MCP integration (#20071)
  • feat(core, node): Portable Express integration (#19928)
  • feat(deno): Add denoRuntimeMetricsIntegration (#20023)
  • feat(deps): Bump bundler plugins to 5.2.0 (#20122)
  • feat(deps): bump @hapi/content from 6.0.0 to 6.0.1 (#20102)
  • feat(node, bun): Enforce minimum collection interval in runtime metrics integrations (#20068)
  • feat(nuxt): Exclude tracing meta tags on cached pages in Nuxt 5 (#20168)
  • feat(react-router): Export sentryOnError (#20120)
  • fix(aws-serverless): Add timeout to _endSpan forceFlush to prevent Lambda hanging (#20064)
  • fix(cloudflare): Ensure every request instruments functions (#20044)
  • fix(core): Only attach flags context to error events (#20116)
  • fix(core): Replace regex with string check in stack parser to prevent main thread blocking (#20089)
  • fix(core): set span.status to error when MCP tool returns JSON-RPC error response (#20082)
  • fix(gatsby): Fix errorHandler signature to match bundler-plugin-core API (#20048)
  • ref(core): Do not emit spans for chats.create in google-genai (#19990)
Internal Changes
  • chore: Remove unused tsconfig-template folder (#20067)
  • chore: Update validate-pr workflow (#20072)
  • chore(deps-dev): Bump effect from 3.20.0 to 3.21.0 (#19999)
  • chore(deps): Bump @xmldom/xmldom from 0.8.3 to 0.8.12 (#20066)
  • chore(deps): Bump lodash.template from 4.5.0 to 4.18.1 (#20085)
  • chore(oxlint): Add typeawareness into oxlintrc (#20075)
  • ci(deps): Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.24.1 to 2.25.2 (#20081)
  • ci(deps): Bump mshick/add-pr-comment (#20078)
  • ref(core): Extract shared endStreamSpan for AI integrations (#20021)
  • ref(core): Simplify addResponseAttributes in openai integration (#20013)
  • test(angular): Bump TypeScript to ~6.0.0 in angular-21 E2E test app (#20134)
  • test(nuxt): Make Nuxt 5 (nightly) E2E optional (#20113)
  • tests(node): Add node integration tests for Vercel ToolLoopAgent (#20087)

Bundle size 📦

Path Size
@sentry/browser 25.12 KB
@sentry/browser - with treeshaking flags 23.65 KB
@sentry/browser (incl. Tracing) 41.7 KB
@sentry/browser (incl. Tracing, Profiling) 46.21 KB
@sentry/browser (incl. Tracing, Replay) 79.6 KB
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.42 KB
@sentry/browser (incl. Tracing, Replay with Canvas) 84.2 KB
@sentry/browser (incl. Tracing, Replay, Feedback) 96.12 KB
@sentry/browser (incl. Feedback) 41.51 KB
@sentry/browser (incl. sendFeedback) 29.67 KB
@sentry/browser (incl. FeedbackAsync) 34.55 KB
@sentry/browser (incl. Metrics) 26.4 KB
@sentry/browser (incl. Logs) 26.55 KB
@sentry/browser (incl. Metrics & Logs) 27.2 KB
@sentry/react 26.84 KB
@sentry/react (incl. Tracing) 43.96 KB
@sentry/vue 29.84 KB
@sentry/vue (incl. Tracing) 43.51 KB
@sentry/svelte 25.14 KB
CDN Bundle 27.74 KB
CDN Bundle (incl. Tracing) 42.69 KB
CDN Bundle (incl. Logs, Metrics) 29.09 KB
CDN Bundle (incl. Tracing, Logs, Metrics) 43.75 KB
CDN Bundle (incl. Replay, Logs, Metrics) 66.99 KB
CDN Bundle (incl. Tracing, Replay) 78.71 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.71 KB
CDN Bundle (incl. Tracing, Replay, Feedback) 84.12 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 85.13 KB
CDN Bundle - uncompressed 81.05 KB
CDN Bundle (incl. Tracing) - uncompressed 126.6 KB
CDN Bundle (incl. Logs, Metrics) - uncompressed 85.1 KB
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 129.93 KB
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 205.2 KB
CDN Bundle (incl. Tracing, Replay) - uncompressed 240.74 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 244.06 KB
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 253.35 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 256.66 KB
@sentry/nextjs (client) 46.33 KB
@sentry/sveltekit (client) 42.15 KB
@sentry/node-core 56.5 KB
@sentry/node 170.69 KB
@sentry/node - without tracing 95.65 KB
@sentry/aws-serverless 112.5 KB

Don't miss a new node release

NewReleases is sending notifications on new releases.