Skip to content

Latest commit

 

History

History
367 lines (271 loc) · 12.3 KB

File metadata and controls

367 lines (271 loc) · 12.3 KB

Changelog for Sentry SDK 4.x

Sentry SDK v4 is no longer supported. We recommend migrating to the latest version of the SDK. You can start by migrating from v4 of the SDK to v5 by following the migration guide.

4.6.4

  • [utils] fix: Prevent decycling from referencing original objects
  • [utils] fix: Preserve correct name when wrapping
  • [raven-node] test: Update raven-node tests for new node version

4.6.3

  • [utils] fix: Normalize value before recursively walking down the tree
  • [browser] ref: Check whether client is enabled for reportDialog and log instead of throw

4.6.2

  • [utils] fix: Preserve function prototype when filling
  • [utils] fix: use a static object as fallback of the global object
  • [node] feat: Read from SENTRY_RELEASE and SENTRY_ENVIRONMENT if present

4.6.1

  • [utils] fix: Patch tslib_1__default regression and add additional tests around it

4.6.0

  • [loader] fix: Detect if init has been called in an onload callback
  • [core] fix: Use correct frame for inboundFilter methods
  • [core] ref: Multiple init calls have been changed to "latest wins" instead of "ignore all after first"
  • [core] feat: Introduce flush method which currently is an alias for close
  • [node] feat: If options.dsn is undefined when calling init we try to load it from process.env.SENTRY_DSN
  • [node] feat: Expose flush and close on Sentry.*
  • [node] feat: Add sentry to express error handler response which contains the event_id of the error

4.5.4

  • [browser] fix: DOMError and DOMException should be error level events
  • [browser] ref: Log error if Ember/Vue instances are not provided
  • [utils] fix: Dont mutate original input in decycle util function
  • [utils] fix: Skip non-enumerable properties in decycle util function
  • [utils] ref: Update wrap method to hide internal Sentry flags
  • [utils] fix: Make internal Sentry flags non-enumerable in fill util

4.5.3

  • [browser]: fix: Fix UnhandledPromise: [object Object]
  • [core]: fix: Error in extraErrorData integration where event would not be send in case of non assignable object property.
  • [hub]: feat: Support non async event processors

4.5.2

  • [utils] fix: Decycling for objects to no produce an endless loop
  • [browser] fix: <unlabeled> event for unhandledRejection
  • [loader] fix: Handle unhandledRejection the same way as it would be thrown

4.5.1

  • [utils] fix: Don't npm ignore esm for utils

4.5.0

  • [core] feat: Deprecate captureEvent, prefer sendEvent for transports. sendEvent now takes a string (body) instead of Event object.
  • [core] feat: Use correct buffer for requests in transports
  • [core] feat: (beta) provide esm build
  • [core] ref: Change way how transports are initialized
  • [core] ref: Rename RequestBuffer to PromiseBuffer, also introduce limit
  • [core] ref: Make sure that captureMessage input is a primitive
  • [core] fix: Check if value is error object in extraErrorData integration
  • [browser] fix: Prevent empty exception values
  • [browser] fix: Permission denied to access property name
  • [node] feat: Add file cache for providing pre/post context in frames
  • [node] feat: New option frameContextLines, if set to 0 we do not provide source code pre/post context, default is 7 lines pre/post
  • [utils] fix: Use custom serializer inside serialize method to prevent circular references

4.4.2

  • [node] Port memory-leak tests from raven-node
  • [core] feat: ExtraErrorData integration
  • [hub] ref: use safeNormalize on any data we store on Scope
  • [utils] feat: Introduce safeNormalize util method to unify stored data
  • [loader] Support multiple onLoad callbacks

4.4.1

  • [core] Bump dependencies to remove flatmap-stream

4.4.0

  • [node] HTTP(S) Proxy support
  • [node] Expose lastEventId method
  • [browser] Correctly detect and remove wrapped function frames

4.3.4

  • [utils] fix: Broken tslib import - Fixes #1757

4.3.3

  • [build] ref: Dont emit TypeScript helpers in every file separately
  • [node] fix: Move stacktrace types from devDeps to deps as its exposed
  • [browser] misc: Added browser examples page

4.3.2

  • [browser] fix: Typings for npm package

4.3.1

  • [browser] ref: Breadcrumbs will now be logged only to a max object depth of 2
  • [core] feat: Filter internal Sentry errors from transports/sdk
  • [core] ref: Better fingerprint handling
  • [node] ref: Expose Parsers functions

4.3.0

  • [browser]: Move ReportingObserver integration to "pluggable" making it an opt-in integration
  • [utils]: Use node internal path / fs for store.ts

4.2.4

  • [browser]: Use withScope in Ember integration instead of manual pushPop/popScope calls
  • [browser] fix: rethrow errors in testing mode with Ember integration (#1696)
  • [browser/node]: Fix LinkedErrors integration to send exceptions in correct order and take main exception into the limit count
  • [browser/node] ref: Re-export addGlobalEventProcessor
  • [core]: Fix InboundFilters integration so that it reads and merge configuration from the init call as well

4.2.3

  • [utils]: bundlerSafeRequire renamed to dynamicRequire now takes two arguments, first is should be module, second request / moduleName.

4.2.2

  • [core]: Several internal fixes regarding integration, exports and domain.
  • [core]: "De-deprecate" name of Integration interface.
  • [node]: Export parseRequest on Handlers.

4.2.1

  • [core] Invert logger logic the explicitly enable it.
  • [hub] Require domain in getCurrentHub in try/catch - Fixed #1670
  • [hub] Removed exposed getter on the Scope.

4.2.0

  • [browser] fix: Make addBreadcrumb sync internally, beforeBreadcrumb is now only sync
  • [browser] fix: Remove internal console guard in beforeBreadcrumb
  • [core] feat: Integrations now live on the Client. This means that when binding a new Client to the Hub the client itself can decide which integration should run.
  • [node] ref: Simplify Node global handlers code

4.1.1

  • [browser] fix: Use our own path utils instead of node built-ins
  • [node] fix: Add colon to node base protocol to follow http module
  • [utils] feat: Create internal path module

4.1.0

  • [browser] feat: Better mechanism detection in TraceKit
  • [browser] fix: Change loader to use getAttribute instead of dataset
  • [browser] fix: Remove trailing commas from loader for IE10/11
  • [browser] ref: Include md5 lib and transcript it to TypeScript
  • [browser] ref: Remove all trailing commas from integration tests cuz IE10/11
  • [browser] ref: Remove default transaction from browser
  • [browser] ref: Remove redundant debug.ts file from browser integrations
  • [browser] test: Fix all integration tests in IE10/11 and Android browsers
  • [browser] test: Run integration tests on SauceLabs
  • [browser] test: Stop running raven-js saucelabs tests in favour of @sentry/browser
  • [browser] test: Store breadcrumbs in the global variable in integration tests
  • [browser] test: Update polyfills for integration tests
  • [build] ref: Use Mocha v4 instead of v5, as it's not supporting IE10
  • [core] feat: Introduce stringify and debugger options in Debug integration
  • [core] feat: RewriteFrames pluggable integration
  • [core] feat: getRequestheaders should handle legacy DSNs
  • [core] fix: correct sampleRate behaviour
  • [core] misc: Warn user when beforeSend doesnt return an event or null
  • [core] ref: Check for node-env first and return more accurate global object
  • [core] ref: Remove Repo interface and repos attribute from Event
  • [core] ref: Rewrite RequestBuffer using Array instead of Set for IE10/11
  • [hub] fix: Scope level overwrites level on the event
  • [hub] fix: Correctly store and retrieve Hub from domain when one is active
  • [hub] fix: Copy over user data when cloning scope
  • [node] feat: Allow requestHandler to be configured
  • [node] feat: Allow pick any user attributes from requestHandler
  • [node] feat: Make node transactions a pluggable integration with tests
  • [node] feat: Transactions handling for RequestHandler in Express/Hapi
  • [node] fix: Dont wrap native modules more than once to prevent leaks
  • [node] fix: Add the same protocol as dsn to base transport option
  • [node] fix: Use getCurrentHub to retrieve correct hub in requestHandler
  • [utils] ref: implemented includes, assign and isNaN polyfills

4.0.6

  • [browser] fix: Fallback to Error object when rejection reason is not available
  • [browser] feat: Support Bluebird's detail.reason for promise rejections
  • [types] fix: Use correct type for event's repos attribute

4.0.5

  • [browser] ref: Expose ReportDialogOptions
  • [browser] ref: Use better default message for ReportingObserver
  • [browser] feat: Capture wrapped function arguments as extra
  • [browser] ref: Unify integrations options and set proper defaults
  • [browser] fix: Array.from is not available in old mobile browsers
  • [browser] fix: Check for anonymous function before getting its name for mechanism
  • [browser] test: Add loader + integration tests
  • [core] ref: Move SDKInformation integration into core prepareEvent method
  • [core] ref: Move debug initialization as the first step
  • [node] fix: Make handlers types compatibile with Express
  • [utils] fix: Dont break when non-string is passed to truncate
  • [hub] feat: Add run function that makes this hub the current global one

4.0.4

  • [browser] feat: Add forceLoad and onLoad function to be compatible with loader API

4.0.3

  • [browser] feat: Better dedupe integration event description
  • [core] ref: Move Dedupe, FunctionString, InboundFilters and SdkInformation integrations to the core package
  • [core] feat: Provide correct platform and make a place to override event internals
  • [browser] feat: UserAgent integration

4.0.2

  • [browser] fix: Dont filter captured messages when they have no stacktraces

4.0.1

  • [browser] feat: Show dropped event url in blacklistUrl/whitelistUrl debug mode
  • [browser] feat: Use better event description instead of event_id for user-facing logs
  • [core] ref: Create common integrations that are exposed on @sentry/core and reexposed through browser/node
  • [core] feat: Debug integration
  • [browser] ref: Port TraceKit to TypeScript and disable TraceKit's remote fetching for now

4.0.0

This is the release of our new SDKs, @sentry/browser, @sentry/node. While there are too many changes to list for this release, we will keep a consistent changelog for upcoming new releases. raven-js (our legacy JavaScript/Browser SDK) and raven (our legacy Node.js SDK) will still reside in this repo, but they will receive their own changelog.

We generally guide people to use our new SDKs from this point onward. The migration should be straightforward if you were only using the basic features of our previous SDKs.

raven-js and raven will both still receive bugfixes but all the new features implemented will only work in the new SDKs. The new SDKs are completely written in TypeScript, which means all functions, classes and properties are typed.

Links

Migration

Here are some examples of how the new SDKs work. Please note that the API for all JavaScript SDKs is the same.

Installation

Old:

Raven.config('___PUBLIC_DSN___', {
  release: '1.3.0',
}).install();

New:

Sentry.init({
  dsn: '___PUBLIC_DSN___',
  release: '1.3.0',
});

Set a global tag

Old:

Raven.setTagsContext({ key: 'value' });

New:

Sentry.configureScope(scope => {
  scope.setTag('key', 'value');
});

Capture custom exception

Old:

try {
  throwingFunction();
} catch (e) {
  Raven.captureException(e, { extra: { debug: false } });
}

New:

try {
  throwingFunction();
} catch (e) {
  Sentry.withScope(scope => {
    scope.setExtra('debug', false);
    Sentry.captureException(e);
  });
}

Capture a message

Old:

Raven.captureMessage('test', 'info', { extra: { debug: false } });

New:

Sentry.withScope(scope => {
  scope.setExtra('debug', false);
  Sentry.captureMessage('test', 'info');
});

Breadcrumbs

Old:

Raven.captureBreadcrumb({
  message: 'Item added to shopping cart',
  category: 'action',
  data: {
    isbn: '978-1617290541',
    cartSize: '3',
  },
});

New:

Sentry.addBreadcrumb({
  message: 'Item added to shopping cart',
  category: 'action',
  data: {
    isbn: '978-1617290541',
    cartSize: '3',
  },
});