Skip to content

Releases: getsentry/sentry-javascript

7.36.0

02 Feb 13:33
Compare
Choose a tag to compare

This Release re-introduces the accidentally removed but still deprecated maskInputOptions option for Session Replay.
Furthermore, replays are now stopped instead of paused when a rate limit is encountered.

  • feat(replay): Add back deprecated maskInputOptions (#6981)
  • feat(replay): Stop recording when hitting a rate limit (#7018)
  • fix(integrations): Report BaseClient integrations added after init (#7011)
  • fix(replay): Don't mangle private rrweb property (#7033)
  • fix(replay): Fix feature detection of PerformanceObserver (#7029)

7.35.0

01 Feb 12:07
Compare
Choose a tag to compare

Session Replay is deprecating privacy options in favor of a more streamlined API. Please see the Replay migration guide for further information.
Additionally, the following configuration options will no longer be configurable: slimDOMOptions, recordCanvas, inlineStylesheet, collectFonts, inlineImages.

  • feat(browser): Track if cdn or npm bundle (#6976)
  • feat(core): Add aria label to breadcrumb attributes (#6955)
  • feat(core): Add Offline Transport wrapper (#6884)
  • feat(loader): Add SENTRY_SDK_SOURCE to track loader stats (#6985)
  • feat(loader): Sync loader with Sentry template (#7001)
  • feat(replay): Deprecate privacy options in favor of a new API, remove some recording options (#6645)
  • feat(replay): Move sample rate tags into event context (#6659)
  • fix(nextjs): Add isomorphic versions of ErrorBoundary, withErrorBoundary and showReportDialog (#6987)
  • fix(nextjs): Don't modify require calls in wrapping loader (#6979)
  • fix(nextjs): Don't share I/O resources in between requests (#6980)
  • fix(nextjs): Inject client config into _app instead of main (#7009)
  • fix(nextjs): Use Proxies to wrap to preserve static methods (#7002)
  • fix(replay): Catch style mutation handling & null events in rrweb (#7010)
  • fix(replay): Handle compression failures more robustly (#6988)
  • fix(replay): Only call scope.getLastBreadcrumb if available (#6969)
  • fix(utils): Account for null prototype during normalization (#6925)
  • ref(replay): Log warning if sample rates are all undefined (#6959)

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

7.34.0

26 Jan 21:09
Compare
Choose a tag to compare

This release adds automatic injection of the Next.js SDK into serverside app directory bundles, allowing users to call the Sentry SDK in server components.

  • feat(nextjs): Add SDK to serverside app directory (#6927)
  • fix(replay): Do not renew session in error mode (#6948)
  • fix(replay): Handle compression worker errors more gracefully (#6936)
  • fix(replay): fix path separator substitution to replay all \ (#6932)
  • fix(replay): ignore errors in CSSStyleSheetObserver (getsentry/rrweb#16)

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

7.34.0-beta.0

25 Jan 13:50
Compare
Choose a tag to compare
7.34.0-beta.0 Pre-release
Pre-release

This release is a preview build to test out SDK support for the server-side Next.js app directory.

7.33.0

24 Jan 16:22
Compare
Choose a tag to compare

With this release, the sample rate for Session Replays will default to 0. We recommend explicitly setting the sample rate via the replaysSessionSampleRate and replaysOnErrorSampleRate options.

  • feat(replay): Remove default sample rates for replay (#6878)
  • feat(replay): try/catch around stopRecording (#6856)
  • fix(nextjs): Mark multiplexer targets as entrypoints (#6919)

7.32.1

23 Jan 15:48
Compare
Choose a tag to compare
  • fix(nextjs): Make SDK multiplexer more resilient (#6905)

7.32.0

23 Jan 10:18
Compare
Choose a tag to compare
  • build(replay): Stop preserving modules (#6817)
  • feat(nextjs): Add browser SDK to app directory browser bundle (#6812)
  • feat(node): Use includeLocalVariables option to enable LocalVariables integration (#6874)
  • feat(node): Add option to capture local variables for caught exceptions via LocalVariables integration (#6876)
  • feat(replay): Add flush method to integration (#6776)
  • feat(replay): Handle worker loading errors (#6827)
  • feat(replay): Lower the flush max delay from 15 seconds to 5 seconds (#6761)
  • feat(tracing): Promote enableLongTask to option of BrowserTracing (#6837)
  • fix(core): Fix replay client report data category (#6891)
  • fix(nextjs): Fix SDK multiplexer loader on Windows (#6866)
  • fix(otel): Use http/grpc status over span status (#6879)
  • fix(react): Add children prop for Profiler (#6828)
  • fix(react): Make wrapCreateBrowserRouter generic (#6862)
  • fix(remix): Make sure the domain is created before running. (#6852)
  • ref(nextjs): Remove NFT build time exclusions (#6846)
  • ref(replay): Avoid duplicate debounce timers (#6863)
  • ref(replay): Remove unused initialFlushDelay option (#6867)
  • ref(replay): Send SDK version in Replay events (#6814)

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

7.31.1

17 Jan 14:59
Compare
Choose a tag to compare
  • build(replay): Provide full browser+tracing+replay bundle (#6793)
  • feat(nextjs): Disable NextJS perf monitoring when using otel (#6820)
  • fix(nextjs): Add back browser field in package.json (#6809)
  • fix(nextjs): Connect Edge API route errors to span (#6806)
  • fix(nextjs): Correctly handle ts middleware files (#6816)

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!