Sentry SDK v5 is no longer supported. We recommend migrating to the latest version of the SDK. There was no breaking
changes introduced in v6
of the SDK, so you can start by migrating from v5
of the SDK to v7
by following the
migration guide.
- [node] fix: esbuild warning dynamic require (#3164)
- [tracing] ref: Expose required things for React Native auto tracing (#3144)
- [ember] fix: rootURL breaking route recognition (#3166)
- [serverless] feat: Zip serverless dependencies for AWS Lambda (#3110)
- [build] feat: Target to deploy on AWS Lambda (#3165)
- [build] ref: Remove TravisCI (#3149)
- [build] ref: Upgrade action-prepare-release to latest version
- Fix version
- [types] ref: Loosen tag types, create new
Primitive
type (#3108) - [tracing] feat: Send sample rate and type in transaction item header in envelope (#3068)
- [tracing] fix(web-vitals): Fix TTFB capture in Safari (#3106)
- [tracing] feat: MongoDB Tracing Support (#3072)
- [tracing] feat: MySQL Tracing Support (#3088)
- [tracing] feat: PostgreSQL Tracing Support (#3064)
- [tracing] fix: Add
sentry-trace
header to outgoing http(s) requests in node (#3053) - [node] fix: Revert express tracing integration type to use any (#3093)
- [browser] fix: Handle expo file dir stack frames (#3070)
- [vue] feat: @sentry/vue (#2953)
- [node] ref: Revamp express route info extraction (#3084)
- [browser] fix: Dont append dsn twice to report dialog calls (#3079)
- [ember] fix: Use correct import from
@sentry/browser
(#3077) - [node] ref: Express integration span name change and path unification (#3078)
- [hub] fix: Don't invoke scope updates in scope listeners
- [hub] fix: Sync ScopeListeners (#3065)
- [tracing] fix: Typo in constant name in @sentry/tracing (#3058)
- [core] fix: Remove globalThis usage (#3033)
- [react] ref: Add React 17.x to peerDependencies (#3034)
- [tracing] fix: Express transaction name (#3048)
- [serverless] fix: AWS Execution duration (#3032)
- [serverless] fix: Add
optional
parameter to AWSServices integration (#3030) - [serverless] fix: Wrap google cloud functions with a Proxy(). (#3035)
- [hub] fix: stop using @types/node in @sentry/hub (#3050)
- [hub] fix: Make sure that
getSession
exists before calling it (#3017) - [browser] feat: Add
DOMException.code
as tag if it exists (#3018) - [browser] fix: Call
removeEventListener
twice only when necessary (#3016) - [tracing] fix: Schedule the execution of the finish to let all the spans being closed first (#3022)
- [tracing] fix: Adjust some web vitals to be relative to fetchStart and some other improvements (#3019)
- [tracing] fix: Add transaction name as tag on error events (#3024)
- [apm] ref: Delete sentry/apm package (#2990)
- [types] fix: make requestHandler options an own type (#2995)
- [core] fix: Use 'production' as default value for environment key (#3013)
- [hub] fix: Preserve original user data for explicitly updated scopes (#2991)
- [ember] fix: prevent unexpected errors on transition (#2988)
- [browser] feat: Sessions Health Tracking (#2973)
- [core] fix: Correct
processing
flag inBaseClient
(#2983) - [node] feat: use
req.cookies
if available instead of parsing (#2985) - [core] ref: Use SentryError for
prepareEvent
rejections (#2973) - [core] ref: Errors handling in
prepareEvent
pipeline (#2987) - [serverless] feat: Implement tracing of Google Cloud Requests (#2981)
- [serverless] ref: Set global event processor and pass scope data for transactions (#2975)
- [tracing] feat: Add secure connect navigation timing (#2980)
- [tracing] feat: Capture time spent redirecting before loading the current page (#2986)
- [tracing] feat: Capture browser navigator information (#2966)
- [tracing] feat: Express router methods tracing (#2972)
- [tracing] ref: Only report FCP or FP if the page wasn't hidden prior to their instrumentation (#2979)
- [serverless] feat: Implement error handling and tracing for
Google Cloud Functions
(#2945) - [serverless] feat: Enable tracing for
AWSLambda
(#2945) - [serverless] feat: Add
AWSResources
integration (#2945) - [browser] feat: Implement
X-Sentry-Rate-Limits
handling for transports (#2962) - [tracing] feat: Add measurements support and web vitals (#2909)
- [tracing] feat: Add web vitals: CLS and TTFB (#2964)
- [angular] ref: Make
@angular/common
a peerDependency instead of dependency (#2961) - [ember] feat: Add more render instrumentation (#2902)
- [ember] ref: Use
@embroider/macros
instead ofrunInDebug
(#2873) - [hub] ref: Do not allow for popping last layer and unify getter methods (#2955)
- [tracing] fix: Expose
startTransaction
in CDN bundle (#2938) - [tracing] fix: Allow unsampled transactions to be findable by
getTransaction()
(#2952) - [tracing] fix: Reimplement timestamp computation (#2947)
- [tracing] ref: Clean up sampling decision inheritance (#2921) (#2944)
- [react] fix: Makes
normalizeTransactionName
take a callback function in router-v3 (#2946) - [ember] feat: Add more render instrumentation to @sentry/ember (#2902)
- [types] ref: Use correct types for
event.context
and allow for context removal (#2910) - [types] ref: Make name required on transaction class (#2949)
- [build] feat: Update to use extends w. Volta (#2930)
- [utils] fix: Check that performance is available before calling it in RN (#2924)
- [types] fix: Remove Location type to avoid dom lib dependency (#2922)
- [angular] fix: Make sure that message exist before returning it in angular error handler (#2903)
- [integrations] feat: Add referrer to data collected by UserAgent integration (#2912)
- [core] fix: Make sure that body is not exposed in the breadcrumb by default (#2911)
- [core] feat: Give access to XHR requests body in breadcrumb hint (#2904)
- [core] fix: Add a wrapper around performance for React Native (#2915)
- [integrations] fix: Make Vue tracing options optional (#2897)
- [integrations] ref: Remove unnecessary eventID check in offline integration (#2890)
- [tracing] feat: Add hook for trace sampling function to SDK options (#2820)
- [serverless] feat: Introduce
@sentry/serverless
withAWSLambda
support (#2886) - [ember] feat: Add performance instrumentation for routes (#2784)
- [node] ref: Remove query strings from transaction and span names (#2857)
- [angular] ref: Strip query and fragment from Angular tracing URLs (#2874)
- [tracing] ref: Simplify
shouldCreateSpanForRequest
(#2867)
- [integrations] fix: Window type (#2864)
- [integrations] fix: localforage typing (#2861)
- [integrations] fix: Add localforage typing (#2856)
- [tracing] fix: Make sure BrowserTracing is exported in CDN correctly (#2855)
- [browser] ref: Recognize
Capacitor
scheme asGecko
(#2836) - [node]: fix: Save
string
exception as a message forsyntheticException
(#2837) - [tracing] feat: Add
build
dir in npm package (#2846) - [tracing] fix: Fix typo in
addPerformanceEntries
method name (#2847) - [apm] ref: Deprecate
@sentry/apm
package (#2844) - [angular] fix: Allow for empty DSN/disabling with
AngularJS
integration (#2842) - [gatsby] ref: Make
@sentry/tracing
mandatory + add tests (#2841) - [integrations] feat: Add integration for offline support (#2778)
- [utils] ref: Revert the usage of
globalThis
forgetGlobalObject
util (#2851) - [build] fix: Lock in
TypeScript
to3.7.5
(#2848) - [build] misc: Upgrade
Prettier
to1.19.0
(#2850)
- [ci] fix: Actually release correct code
- [tracing] feat: Track span status for fetch requests (#2835)
- [react] fix: Return an any from createReduxEnhancer to avoid type conflicts (#2834)
- [react] fix: Make sure profiler is typed with any (#2838)
- [tracing] fix: Normalize transaction names for express methods to match those of other SDKs (#2832)
- [tracing] feat: Change resource span op name and add data (#2816)
- [tracing] ref: Make sure error status is set on transactions (#2818)
- [apm/tracing] fix: Make sure Performance Observer takeRecords() is defined (#2825)
- [ember] fix: Make the package public and fix the build by bumping TypeScript to v3.9 (#2811)
- [eslint] test: Don't test eslint config/plugin on Node <= v8
- [all] feat: Convert
sentry-javascript
toESLint
(#2786) - [internal/eslint] feat: Add
@sentry-internal/eslint-config-sdk
(#2807) - [ember] feat: Add
@sentry/ember
(#2739) - [angular] feat: Add
@sentry/angular
(#2787) - [react] feat: Add routing instrumentation for
React Router v4/v5
(#2780) - [gatsby] feat: support
process.env.SENTRY_RELEASE
(#2776) - [apm/tracing] feat: Export
addExtensionMethods
for SDKs to use (#2805) - [apm/tracing] ref: Remove
express
typing (#2803) - [node] fix:
Retry-After
header in node should be lower-case (#2779)
- [core] ref: Expose sentry request for electron (#2774)
- [browser] fix: Make sure that DSN is always passed to report dialog (#2770)
- [apm/tracing] fix: Make sure fetch requests are being timed correctly (#2772)
- [apm/tracing] fix: Make sure pageload transactions start timestamps are correctly generated (#2773)
- [react] feat: Add instrumentation for React Router v3 (#2759)
- [react] ref: Use inline types to avoid redux dependency. (#2768)
- [node] fix: Set transaction on scope in node for request (#2769)
- [browser] feat: Make
@sentry/browser
more treeshakeable (#2747) - [browser] fix: Make sure that handler exists in
LinkedErrors
integration (#2742) - [tracing] feat: Introduce
@sentry/tracing
(#2719) - [tracing] ref: Use
idleTimout
if no activities occur in idle transaction (#2752) - [react] feat: Export
createReduxEnhancer
to log redux actions as breadcrumbs, and attach state as an extra. (#2717) - [react] feat: Add
beforeCapture
option to ErrorBoundary (#2753) - [react] fix: Change import of
hoist-non-react-statics
(#2755) - [gatsby] fix: Make
@sentry/apm
optional in@sentry/gatsby
package (#2752)
- [gatsby] fix: Include correct gatsby files in npm tarball (#2731)
- [browser] fix: Correctly detach event listeners (#2737)
- [browser] fix: Drop initial frame for production react errors (#2728)
- [node] chore: Upgrade https-proxy-agent to v5 (#2702)
- [types] ref: Define type for Extra(s) (#2727)
- [browser] fix: Correctly remove all event listeners (#2725)
- [tracing] fix: APM CDN bundle expose startTransaction (#2726)
- [tracing] fix: Add manual
DOMStringList
typing (#2718)
- [react] feat: Expose eventId on ErrorBoundary component (#2704)
- [node] fix: Extract transaction from nested express paths correctly (#2714)
- [tracing] feat: Pick up sentry-trace in JS
<meta/>
tag (#2703) - [tracing] fix: Respect fetch headers (#2712) (#2713)
- [tracing] fix: Check if performance.getEntries() exists (#2710)
- [tracing] fix: Add manual Location typing (#2700)
- [tracing] fix: Respect sample decision when continuing trace from header in node (#2703)
- [tracing] fix: All options of adding fetch headers (#2712)
- [gatsby] fix: Add gatsby SDK identifier (#2709)
- [gatsby] fix: Package gatsby files properly (#2711)
- [react] feat: Update peer dependencies for
react
andreact-dom
(#2694) - [react] ref: Change Profiler prop names (#2699)
- [core] ref: Rename
whitelistUrls/blacklistUrls
toallowUrls/denyUrls
(#2671) - [core] feat: Export
makeMain
(#2665) - [core] fix: Call
bindClient
when creating newHub
to make integrations work automatically (#2665) - [react] feat: Add @sentry/react package (#2631)
- [react] feat: Add Error Boundary component (#2647)
- [react] feat: Add useProfiler hook (#2659)
- [react] ref: Refactor Profiler to account for update and render (#2677)
- [gatsby] feat: Add @sentry/gatsby package (#2652)
- [apm] feat: Add ability to get span from activity using
getActivitySpan
(#2677) - [apm] fix: Check if
performance.mark
exists before calling it (#2680) - [tracing] feat: Add
scope.getTransaction
to return a Transaction if it exists (#2668) - [tracing] ref: Deprecate
scope.setTransaction
in favor ofscope.setTransactionName
(#2668) - [tracing] feat: Add
beforeNavigate
option (#2691) - [tracing] ref: Create navigation transactions using
window.location.pathname
instead ofwindow.location.href
(#2691)
- [browser] feat: Support
fetchParameters
(#2567) - [apm] feat: Report LCP metric on pageload transactions (#2624)
- [core] fix: Normalize Transaction and Span consistently (#2655)
- [core] fix: Handle DSN qs and show better error messages (#2639)
- [browser] fix: Change XHR instrumentation order to handle
onreadystatechange
breadcrumbs correctly (#2643) - [apm] fix: Re-add TraceContext for all events (#2656)
- [integrations] fix: Change Vue interface to be inline with the original types (#2634)
- [apm] ref: Use startTransaction where appropriate (#2644)
- [node] fix: Requests to old
/store
endpoint need thex-sentry-auth
header in node (#2637)
If you are a @sentry/apm
and did manual instrumentation using hub.startSpan
please be aware of the changes we did
to the API. The recommended entry point for manual instrumentation now is Sentry.startTransaction
and creating child
Span by calling startChild
on it. We have internal workarounds in place so the old code should still work but will be
removed in the future. If you are only using the Tracing
integration there is no need for action.
- [core] feat: Send transactions in envelopes (#2553)
- [core] fix: Send event timestamp (#2575)
- [browser] feat: Allow for configuring TryCatch integration (#2601)
- [browser] fix: Call wrapped
RequestAnimationFrame
with correct context (#2570) - [node] fix: Prevent reading the same source file multiple times (#2569)
- [integrations] feat: Vue performance monitoring (#2571)
- [apm] fix: Use proper type name for op (#2584)
- [core] fix: sent_at for envelope headers to use same clock (#2597)
- [apm] fix: Improve bundle size by moving span status to @sentry/apm (#2589)
- [apm] feat: No longer discard transactions instead mark them deadline exceeded (#2588)
- [apm] feat: Introduce
Sentry.startTransaction
andTransaction.startChild
(#2600) - [apm] feat: Transactions no longer go through
beforeSend
(#2600) - [browser] fix: Emit Sentry Request breadcrumbs from inside the client (#2615)
- [apm] fix: No longer debounce IdleTransaction (#2618)
- [apm] feat: Add pageload transaction option + fixes (#2623)
- [minimal/core] feat: Allow for explicit scope through 2nd argument to
captureException/captureMessage
(#2627)
- [browser/node] Add missing
BreadcrumbHint
andEventHint
types exports (#2545) - [utils] fix: Prevent
isMatchingPattern
from failing on invalid input (#2543)
- [node] fix: Path domain onto global extension method to not use require (#2527)
- [hub] fix: Restore dynamicRequire, but for
perf_hooks
only (#2524)
- [hub] fix: Remove dynamicRequire, Fix require call (#2521)
- [browser] fix: Prevent crash for react native instrumenting fetch (#2510)
- [node] fix: Remove the no longer required dynamicRequire hack to fix scope memory leak (#2515)
- [node] fix: Guard against invalid req.user input (#2512)
- [node] ref: Move node version to runtime context (#2507)
- [utils] fix: Make sure that SyncPromise handler is called only once (#2511)
- [apm] fix: Sampling of traces work now only depending on the client option
tracesSampleRate
(#2500) - [apm] fix: Remove internal
forceNoChild
parameter fromhub.startSpan
(#2500) - [apm] fix: Made constructor of
Span
internal, only usehub.startSpan
(#2500) - [apm] ref: Remove status from tags in transaction (#2497)
- [browser] fix: Respect breadcrumbs sentry:false option (#2499)
- [node] ref: Skip body parsing for GET/HEAD requests (#2504)
- [apm] fix: Use Performance API for timings when available, including Web Workers (#2492)
- [apm] fix: Remove Performance references (#2495)
- [apm] fix: Set
op
in node http.server transaction (#2496)
- [apm] fix: Check for performance.timing in webworkers (#2491)
- [apm] ref: Remove performance clear entry calls (#2490)
- [apm] feat: Add a simple heartbeat check, if activities don't change in 3 beats, finish the transaction (#2478)
- [apm] feat: Make use of the
performance
browser API to provide better instrumentation (#2474) - [browser] ref: Move global error handler + unhandled promise rejection to instrument (#2475)
- [apm] ref: Always use monotonic clock for time calculations (#2485)
- [apm] fix: Add trace context to all events (#2486)
- [apm] feat: Add
discardBackgroundSpans
to discard background spans by default
- [node] fix: Restore engines back to
>= 6
- [apm] feat: Add
options.autoPopAfter
parameter topushActivity
to prevent never-ending spans (#2459) - [apm] fix: Use monotonic clock to compute durations (#2441)
- [core] ref: Remove unused
sentry_timestamp
header (#2458) - [node] ref: Drop Node v6, add Node v12 to test matrix, move all scripts to Node v12 (#2455)
- [utils] ref: Prevent instantiating unnecessary Date objects in
timestampWithMs
(#2442) - [browser] fix: Mark transactions as event.transaction in breadcrumbs correctly
- [browser] ref: Mark transactions as event.transaction in breadcrumbs (#2450)
- [node] fix: Dont overwrite servername in requestHandler (#2449)
- [utils] ref: Move creation of iframe into try/catch in fetch support check (#2447)
- [browser] ref: Rework XHR wrapping logic to make sure it always triggers (#2438)
- [browser] fix: Handle PromiseRejectionEvent-like CustomEvents (#2429)
- [core] ref: Notify user when event failed to deliver because of digestion pipeline issue (#2416)
- [node] fix: Improve incorrect
ParseRequest
typing (#2433) - [apm] fix: Remove auto unknown_error transaction status (#2440)
- [apm] fix: Properly remove undefined keys from apm payload (#2414)
- [apm] fix: Remove undefined keys from trace.context (#2413)
- [apm] ref: Check if Tracing integration is enabled before dropping transaction
- [apm] ref: If
maxTransactionTimeout
=0
there is no timeout (#2410) - [apm] fix: Make sure that the
maxTransactionTimeout
is always enforced on transaction events (#2410) - [browser] fix: Support for Hermes stacktraces (#2406)
- [core] feat: Provide
normalizeDepth
option and sensible default for scope methods (#2404) - [browser] fix: Export
EventHint
type (#2407)
- [apm] fix: Add new option to
Tracing
maxTransactionTimeout
determines the max length of a transaction (#2399) - [hub] ref: Always also set transaction name on the top span in the scope
- [core] fix: Use
event_id
from hint given by top-level hub calls
- [apm] feat: Add build bundle including @sentry/browser + @sentry/apm
- [utils] ref: Extract adding source context incl. tests
- [apm] fix: Always attach
contexts.trace
to finished transaction (#2353) - [integrations] fix: Make RewriteFrame integration process all exceptions (#2362)
- [node] ref: Update agent-base to 5.0 to remove http/s patching (#2355)
- [browser] feat: Set headers from options in XHR/fetch transport (#2363)
- [browser] fix: Always trigger default browser onerror handler (#2348)
- [browser] fix: Restore correct
functionToString
behavior for updatedfill
method (#2346) - [integrations] ref: Allow for backslashes in unix paths (#2319)
- [integrations] feat: Support Windows-style path in RewriteFrame iteratee (#2319)
- [apm] fix: Sent correct span id with outgoing requests (#2341)
- [utils] fix: Make
fill
andwrap
work nicely together to prevent double-triggering instrumentations (#2343) - [node] ref: Require
https-proxy-agent
only when actually needed (#2334)
- [hub] feat: Update
span
implementation (#2161) - [apm] feat: Add
@sentry/apm
package - [integrations] feat: Change
Tracing
integration (#2161) - [utils] feat: Introduce
instrument
util to allow for custom handlers - [utils] Optimize
supportsNativeFetch
with a fast path that avoids DOM I/O (#2326) - [utils] feat: Add
isInstanceOf
util for safety reasons
- [browser] ref: Fix regression with bundle size
- [node] feat: Added
mode
option forOnUnhandledRejection
integration that changes how we log errors and what we do with the process itself - [browser] ref: Both global handlers now always return
true
to call default implementations (error logging)
- [browser/node] feat: 429 http code handling in node/browser transports (#2300)
- [core] feat: Make sure that Debug integration is always setup as the last one (#2285)
- [browser] fix: Gracefuly handle incorrect input from onerror (#2302)
- [utils] fix: Safer normalizing for input with
domain
key (#2305) - [utils] ref: Remove dom references from utils for old TS and env interop (#2303)
- [core] ref: Use the smallest possible interface for our needs -
PromiseLike
(#2273) - [utils] fix: Add TS dom reference to make sure its in place for compilation (#2274)
- [core] ref: Use
Promise
as the interface, butSyncPromise
as the implementation in all the places we needthenable
API - [browser] fix: Capture only failed
console.assert
calls - [browser] ref: Major
TraceKit
andGlobalHandlers
refactor - [browser] ref: Remove all required IE10-11 polyfills
- [browser] ref: Remove
Object.assign
method usage - [browser] ref: Remove
Number.isNaN
method usage - [browser] ref: Remove
includes
method usage - [browser] ref: Improve usage of types in
addEventListener
breadcrumbs wrapper - [browser] ci: Use Galaxy S9 Plus for Android 9
- [browser] ci: Increase timeouts and retries between Travis and BrowserStack
- [node] fix: Update https-proxy-agent to 3.0.0 for security reasons (#2262)
- [node] feat: Extract prototyped data in
extractUserData
(#2247) - [node] ref: Use domain Hub detection only in Node environment
- [integrations] feat: Use
contexts
to handle ExtraErrorData (#2208) - [integrations] ref: Remove
process.env.NODE_ENV
from Vue integration (#2263) - [types] fix: Breadcrumb
data
needs to be an object - [utils] ref: Make
Event
instances somewhat serializeable
- [browser] fix: Don't capture our own XHR events that somehow bubbled-up to global handler (#2221)
- [browser] feat: Use framesToPop for InvaliantViolations in React errors (#2204)
- [browser] fix: Apply crossorigin attribute with setAttribute tag for userReport dialog (#2196)
- [browser] fix: Make sure that falsy values are captured in unhandledrejections (#2207)
- [loader] fix: Loader should also retrigger falsy values as errors (#2207)
- [core] fix: Correctly detect when client is enabled before installing integrations (#2193)
- [browser] ref: Loosen typings in
wrap
method
- [core] fix: When using enabled:false integrations shouldnt be installed (#2181)
- [browser] feat: Add support for custom schemes to Tracekit
- [browser] ref: Return function call result from
wrap
method - [browser] ref: Better UnhandledRejection messages (#2185)
- [browser] test: Complete rewrite of Browser Integration Tests (#2176)
- [node] feat: Add cookies as an optional property in the request handler (#2167)
- [node] ref: Unify method name casing in breadcrumbs (#2183)
- [integrations] feat: Add logErrors option to Vue integration (#2182)
- [core] fix: Store processing state for each
flush
call separately (#2143) - [scope] feat: Generate hint if not provided in the Hub calls (#2142)
- [browser] feat: Read
window.SENTRY_RELEASE
to set release by default (#2132) - [browser] fix: Don't call
fn.handleEvent.bind
iffn.handleEvent
does not exist (#2138) - [browser] fix: Correctly handle events that utilize
handleEvent
object (#2149) - [node] feat: Provide optional
shouldHandleError
option for nodeerrorHandler
(#2146) - [node] fix: Remove unsafe
any
fromNodeOptions
type (#2111) - [node] fix: Merge
transportOptions
correctly (#2151) - [utils] fix: Add polyfill for
Object.setPrototypeOf
(#2127) - [integrations] feat:
SessionDuration
integration (#2150)
- [core] feat: Expose
Span
class - [node] fix: Don't overwrite transaction on event in express handler
- [core] fix: Allow
Integration<T>
constructor to have arguments - [browser] fix: Vue breadcrumb recording missing in payload
- [node] fix: Force agent-base to be at version 4.3.0 to fix various issues. Fix #1762, fix #2085
- [integrations] fix: Tracing integration fetch headers bug where trace header is not attached if there are no options.
- [utils] fix: Better native
fetch
detection via iframes. Fix #1601
- [integrations] fix: Tracing integration fetch headers bug.
- [global] feat: Exposed new simplified scope API.
Sentry.setTag
,Sentry.setTags
,Sentry.setExtra
,Sentry.setExtras
,Sentry.setUser
,Sentry.setContext
- [integrations] fix: Tracing integration CDN build.
- [browser] fix: Remove
use_strict
from@sentry/browser
- [utils] fix: Guard string check in
truncate
- [browser] fix: TraceKit fix for eval frames
- [browser] feat: Expose
wrap
function in@sentry/browser
- [browser] feat: Added
onLoad
callback toshowReportDialog
- [browser] fix: Use 'native code' as a filename for some frames
- [opentracing] ref: Removed opentracing package
- [integrations] feat: Add tracing integration
- [hub] feat: Add tracing related function to scope and hub (
Scope.startSpan
,Scope.setSpan
,Hub.traceHeaders
) - [hub] feat: Add new function to Scope
setContext
- [hub] feat: Add new function to Scope
setTransaction
- [integrations] fix: Update ember integration to include original error in
hint
inbeforeSend
- [integrations] fix: Ember/Vue fix integration
- [browser] fix: GlobalHandler integration sometimes receives Event objects as message: Fix #1949
- [browser] fix: Fixed a bug if Sentry was initialized multiple times: Fix #2043
- [browser] ref: Mangle more stuff, reduce bundle size
- [browser] fix: Support for ram bundle frames
- [node] fix: Expose lastEventId method
- [browser] fix: Breadcrumb Integration: Fix #2034
- [hub] feat: Add
setContext
on the scope - [browser] fix: Breacrumb integration ui clicks
- [node] feat: Add
flushTimeout
torequestHandler
to auto flush requests
- [core] fix: Don't disable client before flushing
- [utils] fix: Remove node types
- [hub] fix: Make sure all breadcrumbs have a timestamp
- [hub] fix: Merge event with scope breadcrumbs instead of only using event breadcrumbs
- [utils] ref: Move
htmlTreeAsString
to@sentry/browser
- [utils] ref: Remove
Window
typehintgetGlobalObject
- [core] fix: Make sure that flush/close works as advertised
- [integrations] feat: Added
CaptureConsole
integration
- [utils]: Change how we use
utils
and exposeesm
build - [utils]: Remove
store
andfs
classes -> moved to @sentry/electron where this is used - [hub]: Allow to pass
null
tosetUser
to reset it
- [esm]:
module
inpackage.json
now provides aes5
build instead ofes2015
- [integrations] fix: Not requiring angular types
- [hub] fix: Don't reset registry when there is no hub on the carrier #1969
- [integrations] fix: Export dedupe integration
- [browser] fix: Remove
browser
field frompackage.json
- [browser] fix: Add missing types
This major bump brings a lot of internal improvements. Also, we extracted some integrations out of the SDKs and put them
in their own package called @sentry/integrations
. For a detailed guide how to upgrade from 4.x
to 5.x
refer to our
migration guide.
If you were using the SDKs high level API, the way we describe it in the docs, you should be fine without any code changes. This is a breaking release since we removed some methods from the public API and removed some classes from the default export.
- breaking [node] fix: Events created from exception shouldn't have top-level message attribute
- [utils] ref: Update wrap method to hide internal sentry flags
- [utils] fix: Make internal Sentry flags non-enumerable in fill utils
- [utils] ref: Move
SentryError
+PromiseBuffer
to utils - breaking [core] ref: Use
SyncPromise
internally, this reduces memory pressure by a lot. - ref: Move internal
ExtendedError
to a types package - breaking [browser] ref: Removed
BrowserBackend
from default export. - breaking [node] ref: Removed
BrowserBackend
from default export. - breaking [core] feat: Disable client once flushed using
close
method - breaking [core] ref: Pass
Event
tosendEvent
instead of already stringified data - [utils] feat: Introduce
isSyntheticEvent
util - breaking [utils] ref: remove
isArray
util in favor ofArray.isArray
- breaking [utils] ref: Remove
isNaN
util in favor ofNumber.isNaN
- breaking [utils] ref: Remove
isFunction
util in favor oftypeof === 'function'
- breaking [utils] ref: Remove
isUndefined
util in favor of=== void 0
- breaking [utils] ref: Remove
assign
util in favor ofObject.assign
- breaking [utils] ref: Remove
includes
util in favor of nativeincludes
- breaking [utils] ref: Rename
serializeKeysToEventMessage
tokeysToEventMessage
- breaking [utils] ref: Rename
limitObjectDepthToSize
tonormalizeToSize
and rewrite its internals - breaking [utils] ref: Rename
safeNormalize
tonormalize
and rewrite its internals - breaking [utils] ref: Remove
serialize
,deserialize
,clone
andserializeObject
functions - breaking [utils] ref: Rewrite normalization functions by removing most of them and leaving just
normalize
andnormalizeToSize
- breaking [core] ref: Extract all pluggable integrations into a separate
@sentry/integrations
package - breaking [core] ref: Move
extraErrorData
integration to@sentry/integrations
package - [core] feat: Add
maxValueLength
option to adjust max string length for values, default is 250. - [hub] feat: Introduce
setExtras
,setTags
,clearBreadcrumbs
. - breaking [all] feat: Move
Mechanism
toException
- [browser/node] feat: Add
synthetic
toMechanism
in exception. - [browser/node] fix: Use
addExceptionTypeValue
in helpers - [browser] ref: Remove unused TraceKit code
- breaking [all] build: Expose
module
inpackage.json
as entry point for esm builds. - breaking [all] build: Use
es6
target instead of esnext for ESM builds - [all] feat: Prefix all private methods with
_
- [all] build: Use terser instead of uglify
- [opentracing] feat: Introduce
@sentry/opentracing
providing functions to attach opentracing data to Sentry Events - breaking [core] ref:
Dedupe
Integration is now optional, it is no longer enabled by default. - breaking [core] ref: Removed default client fingerprinting for messages
- [node] ref: Remove stack-trace dependencies
- breaking [core] ref: Transport function
captureEvent
was renamed tosendEvent
- [node] fix: Check if buffer isReady before sending/creating Promise for request.
- [browser] fix: Remove beacon transport.
- [browser] fix: Don't mangle names starting with two
__
- [utils] fix: Ensure only one logger instance
- [node] feat: Add esm build
- [integrations] feat: Fix build and prepare upload to cdn
- [integrations] fix: Bug in vue integration with
attachProps
- breaking [core] ref: Remove SDK information integration
- breaking [core] ref: Remove
install
function on integration interface - [node] feat: Add esm build
- [integrations] feat: Fix build and prepare upload to cdn
- [integrations] fix: Bug in vue integration with
attachProps
- [browser] fix: Don't mangle names starting with two
__
- [utils] fix: Ensure only one logger instance
- [browser] fix: Remove beacon transport.
- [node] fix: Check if buffer isReady before sending/creating Promise for request.
- Fix: Tag npm release with
next
to not make it latest
- Fix: NPM release
This major bump brings a lot of internal improvements. This is a breaking release since we removed some methods from the public API and removed some classes from the default export.
- breaking [node] fix: Events created from exception shouldn't have top-level message attribute
- [utils] ref: Update wrap method to hide internal sentry flags
- [utils] fix: Make internal Sentry flags non-enumerable in fill utils
- [utils] ref: Move
SentryError
+PromiseBuffer
to utils - breaking [core] ref: Use
SyncPromise
internally, this reduces memory pressure by a lot. - breaking [browser] ref: Removed
BrowserBackend
from default export. - breaking [node] ref: Removed
BrowserBackend
from default export. - breaking [core] feat: Disable client once flushed using
close
method - ref: Move internal
ExtendedError
to a types package - breaking [core] ref: Pass
Event
tosendEvent
instead of already stringified data - [utils] feat: Introduce
isSyntheticEvent
util - breaking [utils] ref: remove
isArray
util in favor ofArray.isArray
- breaking [utils] ref: Remove
isNaN
util in favor ofNumber.isNaN
- breaking [utils] ref: Remove
isFunction
util in favor oftypeof === 'function'
- breaking [utils] ref: Remove
isUndefined
util in favor of=== void 0
- breaking [utils] ref: Remove
assign
util in favor ofObject.assign
- breaking [utils] ref: Remove
includes
util in favor of nativeincludes
- breaking [utils] ref: Rename
serializeKeysToEventMessage
tokeysToEventMessage
- breaking [utils] ref: Rename
limitObjectDepthToSize
tonormalizeToSize
and rewrite its internals - breaking [utils] ref: Rename
safeNormalize
tonormalize
and rewrite its internals - breaking [utils] ref: Remove
serialize
,deserialize
,clone
andserializeObject
functions - breaking [utils] ref: Rewrite normalization functions by removing most of them and leaving just
normalize
andnormalizeToSize
- breaking [core] ref: Extract all pluggable integrations into a separate
@sentry/integrations
package - breaking [core] ref: Move
extraErrorData
integration to@sentry/integrations
package - [core] feat: Add
maxValueLength
option to adjust max string length for values, default is 250. - [hub] feat: Introduce
setExtras
,setTags
,clearBreadcrumbs
. - breaking [all] feat: Move
Mechanism
toException
- [browser/node] feat: Add
synthetic
toMechanism
in exception. - [browser/node] fix: Use
addExceptionTypeValue
in helpers - [browser] ref: Remove unused TraceKit code
- breaking [all] build: Expose
module
inpackage.json
as entry point for esm builds. - breaking [all] build: Use
es6
target instead of esnext for ESM builds - [all] feat: Prefix all private methods with
_
- [all] build: Use terser instead of uglify
- [opentracing] feat: Introduce
@sentry/opentracing
providing functions to attach opentracing data to Sentry Events - breaking [core] ref:
Dedupe
Integration is now optional, it is no longer enabled by default. - breaking [core] ref: Removed default client fingerprinting for messages
- [node] ref: Remove stack-trace dependencies
- breaking [core] ref: Transport function
captureEvent
was renamed tosendEvent