Releases: getsentry/sentry-javascript
7.36.0
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
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
andshowReportDialog
(#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 ofmain
(#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
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
This release is a preview build to test out SDK support for the server-side Next.js app
directory.
7.33.0
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.
7.32.1
7.32.0
- build(replay): Stop preserving modules (#6817)
- feat(nextjs): Add browser SDK to
app
directory browser bundle (#6812) - feat(node): Use
includeLocalVariables
option to enableLocalVariables
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 ofBrowserTracing
(#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
- 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
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 thesentry
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()
andIS_BUILD
(#6727)
7.30.0
- 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 intoreplay_event
(#6658) - feat(transport): Return result through Transport send (#6626)
- fix(nextjs): Don't wrap
res.json
andres.send
(#6674) - fix(nextjs): Don't write to
res.end
to fixnext 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!