Skip to content

Releases: getsentry/sentry-javascript

7.31.0

16 Jan 15:57
Compare
Choose a tag to compare

The Next.js SDK now supports error and performance monitoring for Next.js middleware and Edge API routes.
To set it up, add a sentry.edge.config.js or sentry.edge.config.ts file to the root of your project and initialize the SDK:

// sentry.edge.config.js or sentry.edge.config.ts

import * as Sentry from "@sentry/nextjs";

const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN;

Sentry.init({
  dsn: SENTRY_DSN || "YOUR DSN HERE",
  tracesSampleRate: 1.0,
});

The Next.js will automatically instrument Edge API routes and middleware.
If you want to opt out of automatic instrumentation of middleware can use the autoInstrumentMiddleware option in the sentry object of your Next.js configuration:

const moduleExports = {
  sentry: {
    autoInstrumentMiddleware: false,
  },
};

Middleware can be manually instrumented by using the wrapMiddlewareWithSentry function.

  • feat(nextjs): Add Edge Runtime SDK (#6752)
  • feat(nextjs): Add optional options argument to withSentryConfig as an alternative to the sentry property (#6721)
  • feat(nextjs): Add edge route and middleware wrappers (#6771)
  • feat(nextjs): Auto-wrap edge-routes and middleware (#6746)
  • feat(replay): Update rrweb & rrweb-snapshot (#6749)
  • feat(replay): Stop recording when retry fails (#6765)
  • feat(replay): Stop without retry when receiving bad API response (#6773)
  • feat(types): Add Trace Context type (#6714)
  • fix(nextjs): Export isomorphic data fetching wrappers from client SDK (#6790)
  • fix(nextjs): Make Next.js types isomorphic (#6707)
  • fix(node): Handle node build without inspector in LocalVariables integration (#6780)
  • fix(otel): Set trace context via Otel Span instead of Sentry span (#6724)
  • fix(otel): Prevent baggage from being overwritten (#6709)
  • fix(otel): Make sure we handle when sentry-trace is an empty array (#6781)
  • fix(remix): Make remix SDK type exports isomorphic (#6715)
  • fix(replay): Fix checkoutEveryNms (#6722)
  • fix(replay): Fix incorrect uncompressed recording size due to encoding (#6740)
  • fix(tracing): Attach request instrumentation span to active span instead of current transaction (#6778)
  • ref(nextjs): Deprecate isBuild() and IS_BUILD (#6727)

7.30.0

10 Jan 13:13
Compare
Choose a tag to compare
  • feat(core): Add addIntegration method to client (#6651)
  • feat(core): Add replay_event type for events (#6481)
  • feat(gatsby): Support Gatsby v5 (#6635)
  • feat(integrations): Add HTTPClient integration (#6500)
  • feat(node): Add LocalVariables integration to capture local variables to stack frames (#6478)
  • feat(node): Check for invalid url in node transport (#6623)
  • feat(replay): Remove replayType from tags and into replay_event (#6658)
  • feat(transport): Return result through Transport send (#6626)
  • fix(nextjs): Don't wrap res.json and res.send (#6674)
  • fix(nextjs): Don't write to res.end to fix next export (#6682)
  • fix(nextjs): Exclude SDK from Edge runtime bundles (#6683)
  • fix(replay): Allow Replay to be used in Electron renderers with nodeIntegration enabled (#6644)
  • fix(utils): Ignore stack frames over 1kb (#6627)
  • ref(angular) Add error-like objects handling (#6446)
  • ref(nextjs): Remove instrumentSever (#6592)

Work in this release contributed by @rjoonas, @Naddiseo, and @theofidry. Thank you for your contributions!

7.29.0

04 Jan 13:59
Compare
Choose a tag to compare

This update includes a change to the @sentry/nextjs SDK that may increase response times of requests in applications
deployed to Vercel or AWS lambdas to ensure that error events are sent consistently.
Additionally, Next.js applications deployed to Vercel or AWS lambdas may also see an uptick in sent transactions. (for
more information see #6578)

  • feat(core): Add getSdkMetadata to Client (#6643)
  • feat(nextjs): Send events consistently on platforms that don't support streaming (#6578)
  • feat(replay): Use new prepareEvent util & ensure dropping replays works (#6522)
  • feat(types): Upstream some replay types (#6506)
  • fix(replay): Envelope send should be awaited in try/catch (#6625)
  • fix(replay): Improve handling of maskAllText selector (#6637)
  • fix(tracing): Don't finish React Router 6 pageload transactions early (#6609)

7.28.1

22 Dec 09:08
Compare
Choose a tag to compare
  • fix(replay): Do not mangle _metadata in client options (#6600)
  • fix(replay): Cater for event processor returning null (#6576)

7.28.0

20 Dec 14:44
Compare
Choose a tag to compare
  • feat(nextjs): Check for Vercel Edge Function GA (#6565)
  • feat(utils): Improved envelope parser (#6580)
  • fix(nextjs): Export Replay from index.server.ts to avoid TS error (#6577)
  • fix(nextjs): Pass this through wrappers (#6572)
  • ref(types): Add undefined as possible event type (#6584)

7.27.0

16 Dec 12:23
Compare
Choose a tag to compare

This release exports the Session Replay integration via @sentry/browser and all framework SDKs building on top of it.
Going forward, the @sentry/replay package doesn't have to be installed explicitly to use Replay.
Furthermore, this release increases the maximim replay session duration from 30 minutes to 1 hour.

  • feat(browser): Export Replay integration from Browser SDK (#6508)
  • feat(replay): Change MAX_SESSION_LIFE to 1 hour (#6561)
  • feat(replay): Do not capture errors originating from rrweb (#6521)
  • feat(replay): Flush immediately on DOM checkouts (#6463)
  • fix(core): Make beforeSend handling defensive for different event types (#6507)
  • fix(replay): Ensure lodash.debounce does not trigger next.js warning (#6551)
  • fix(replay): Make maskAllText selector more specific (#6544)
  • fix(replay): Send dsn in envelope header if tunneling is active (#6568)
  • fix(utils): Don't attach context lines to stack frames without line number (#6549)
  • ref(replay): Send SDK's name in replay event (#6514)

Work in this release contributed by @theofidry. Thank you for your contribution!

7.26.0

13 Dec 16:03
Compare
Choose a tag to compare
  • feat(browser): Export event builder methods for use in other SDKs (#6515)
  • feat(types): Add threads to Event (#6516)
  • feat(nextjs): Add option to automatically tunnel events (#6425)
  • fix(nextjs): Fix automatic release value discovery (#6513)
  • ref(nextjs): Use generic loader to inject global values (#6484)

Work in this release contributed by @theofidry. Thank you for your contribution!

7.25.0

12 Dec 12:21
Compare
Choose a tag to compare
  • feat(core): Add scope.getLastBreadcrumb() (#6495)
  • feat(replay): Allow to opt-in to capture replay exceptions (#6482)
  • feat(tracing): Add interaction transaction as an experiment (#6210)
  • feat(types): Add profile envelope item type (#6468)
  • fix(replay): Replace _waitForError with recordingMode (#6489)
  • ref(replay): Inline lodash dependency into build (#6483)
  • build(core): Do not mangle private methods used by Replay (#6493)

7.24.2

07 Dec 19:02
Compare
Choose a tag to compare
  • fix(replay): Add missing rrweb type declarations (#6464)
  • fix(tracing): Check for otel before loading db module (#6461)
  • fix(tracing): Deprecate and remove reportAllChanges option (#6456)
  • ref(replay): Extract integration to clarify public API (#6457)

7.24.1

07 Dec 12:58
Compare
Choose a tag to compare

This patch corrects an oversight on our end which caused the Sentry Replay integration CDN bundles to be ignored when uploading bundles to our CDN.
If you want to use the Replay CDN bundles, please use version 7.24.1 or newer.

  • fix(react): Add type for React Router's encodeLocation method (#6439)
  • fix(replay): Add CDN bundle path to release artifacts (#6452)
  • fix(tracing): Instrument cursors returned from MongoDB operations. (#6437)
  • ref(angular): Extract zonejs error unwrapper into a dedicated function (#6443)

Work in this release contributed by @theofidry. Thank you for your contribution!