Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

raven-js

getsentry593.5kBSD-2-Clausedeprecated3.27.2TypeScript support: included

Please upgrade to @sentry/browser. See the migration guide https://bit.ly/3ybOlo7

JavaScript client for Sentry

debugging, errors, exceptions, logging, raven, sentry

readme


Raven.js - Sentry SDK for JavaScript

Build Status npm npm

Raven.js

Requirements

The latest version of Raven.js is guaranteed to work with hosted Sentry.

For on-premise users:

  • Raven.js 3.6 requires Sentry server 8.6.0 or later
  • Raven.js 2.0 requires Sentry server 8.0.0 or later

Installation

To get started with Raven.js, please see Installation.

Resources

changelog

Changelog

3.27.2

  • FIX: Plugin in npm package

3.27.1

  • FIX: TraceKit Gecko regex to support ram bundles

3.27.0

  • CHANGE: Remove keepalive: true as a default fetch option (reference: https://github.com/getsentry/sentry-docs/pull/310)
  • FIX: Use objectMerge util instead of Object.assign for IE10/11
  • FIX: Updated setUserContext type definition
  • FIX: Updated sanitizeKeys type definition
  • FIX: Update license template to use correct license url

3.26.4

  • FEAT: Add options to customize showReportDialog language

3.26.3

  • FIX: Attempt to provide some information for <unlabeled event> (#1397)

3.26.2

  • FIX: Fallback to <anonymous> handler name in mechanism (#1359)
  • FIX: check for undefined stacks in isSameStacktrace (#1339)

3.26.1

  • FIX: Bower build

3.26.0

  • REF: Return location.origin instead of assigning it for IE10
  • FEAT: Send exception mechanisms

3.25.2

  • REF: Emit transaction instead of culprit (#1330)

3.25.1

  • BUILD: fix missing plugins in dist directory and simplify grunt build (#1327)
  • BUGFIX: Polyfill location.origin for IE10 (#1325)
  • BUGFIX: use safe _window and _navigator references (#1324)

3.25.0

  • FEAT: Handle JavaScript loaded in the browser inside a blob (#1322)
  • FEAT: Handle DOMError and DOMException gracefully (#1310)
  • BUILD: include plugins-combination in dist and clear some old grunt config (#1313)

3.24.2

  • FEAT: Capture breadcrumbs on failed fetch request (#1293)
  • BUGFIX: Make debug mode actually work (#1305)
  • BUGFIX: Use correct frame url in ignore/whitelisturl calls (#1304)
  • BUGFIX: Check input type before doing truncation (#1299)

3.24.1

  • FEAT: Add flag for unhandled promise rejections (#1278)
  • BUGFIX: Use guard for document.attachEvent calls (#1289)

3.24.0

  • NEW: Introduce sanitizeKeys config option (#1264)
  • NEW: Expose Ravens constructor publicly. Kinda. (#1272)
  • BUGFIX: Guard for invalid input to fill helper method (#1265)
  • BUGFIX: Check if XMLHttpRequest exists before using it (#1265)

3.23.3

  • BUGFIX: Fix detection of custom error objects in captureException method, aka "Schrodinger's Error"© patch(#1261)

3.23.2

NOTE: This release may introduce some new events for the same errors, as we'll provide more information on them now. Your Sentry Issues stream may show new errors, without any changes done to your application's code.

  • NEW: Sensible non-Error exception serializer (#1253)
  • BUGFIX: Create correct fingerprint when using synthetic stacktraces (#1246)

3.23.1

  • BUGFIX: Check if addEventListener and removeEventListener are present before calling them

3.23.0

NOTE: This release may introduce some new, previously uncaught errors that were silently occuring in the background. Your Sentry Issues stream may show new errors, without any changes done to your application's code.

  • NEW: Introduce global unhandled rejections handler and captureUnhandledRejections config option (#1242).

3.22.4

  • NEW: Chrome and Firefox Extensions stack trace parsing (#1235)
  • BUGFIX: Handle custom error names in TraceKit (#1237)
  • BUGFIX: Let Edge to send fetch requests using default config (#1236)
  • BUGFIX: Correctly increment trimHeadFrames in captureMessage (#1224)
  • BUILD: Fix browserify plugin transform append (#1229)

3.22.3

  • BUGFIX: Reverted Rollup-based build system and fixed broken plugin builds

3.22.2

  • BUGFIX: Use correct trimHeadFrames value if capturing new trace (#1216)
  • BUGFIX: Restore console methods after calling uninstall (#1221)
  • BUGFIX: Create safeJoin util for console wrappers (#1222)

3.22.1

  • NEW: Check for SENTRY_RELEASE during config phase (#1194)
  • CHANGE: Fix ChromeLauncher for Travis integration tests (#1196)
  • BUGFIX: Do not include credentials by default (#1191)
  • BUGFIX: Call captureBreadcrumb for fetch after its done (#1197)

3.22.0

  • NEW: Add fetchParameters to configure fetch (#1177)
  • NEW: Delete empty properties before sending event to the server (#1179)
  • CHANGE: Improve support for Windows 10 webview URLs in the stack trace (#1137)
  • CHANGE: Various Typescript typings update (#1134 #1183 #1187)
  • BUGFIX: Access window.location first before trying document.location (#1180)
  • BUGFIX: Check parseUrl for correct input type (#1190)

3.21.0

3.20.1

3.20.0

3.19.1

3.19.0

3.18.1

  • BUGFIX: Remove engine field from package.json, preventing correct npm/yarn usage

3.18.0

3.17.0

3.16.1

3.16.0

3.15.0

3.14.2

3.14.1

3.14.0

3.13.1

3.13.0

3.12.2

3.12.1

3.12.0

3.11.0

3.10.0

3.9.2

3.9.1

3.9.0

3.8.1

3.8.0

3.7.0

3.6.1

3.6.0

3.5.1

3.5.0

3.4.1

3.4.0

3.3.0

3.2.1

3.2.0

3.1.1

3.1.0

3.0.5

3.0.4

3.0.3

3.0.2

3.0.1

3.0.0

2.3.0

2.2.1

2.2.0

2.1.1

2.1.0

2.0.5

2.0.4

  • BUGFIX: Fixed bug where Raven.VERSION was not set when required as a CommonJS module.

2.0.2

2.0.1

2.0.0

  • CHANGE: Raven.js now wraps functions passed to timer functions, event listeners, and XMLHttpRequest handlers
  • CHANGE: Removed jQuery, Backbone, and native plugins (now handled inside raven.js)
  • CHANGE: Default HTTP transport changed from Image GET to XMLHttpRequest POST (w/ CORS)
  • CHANGE: When using CommonJS, plugins are initialized via Raven.addPlugin(require('raven-js/plugins/ember'))
  • CHANGE: Raven builds are generated using Browserify
  • NEW: Integration tests (/test/integration/index.html)

1.3.0

1.2.0

  • BUGFIX: Error in cases where a document context doesn't exist. See: https://github.com/getsentry/raven-js/pull/383
  • BUGFIX: Trailing comma when using unminified dist which affects IE9. See: https://github.com/getsentry/raven-js/pull/385
  • NEW: Add ability to swap in a custom transport. Adds Raven.setTransport, and transport option to config. Docs: https://docs.sentry.io/hosted/clients/javascript/config/
  • CHANGE: Always expose Raven to window. Please call Raven.noConflict() if you want it restored to what it was. See: https://github.com/getsentry/raven-js/pull/393
  • DEPRECATED: Replace Raven.setReleaseContext with Raven.setRelease.
  • NEW: Add Raven.clearContext() to empty all of the context.
  • NEW: Add Raven.getContext() to get a copy of the current context.
  • NEW: Raven.set{Extra,Tags}Context(ctx) now merges with existing values instead of overwriting.
  • NEW: Add Raven.addPlugin() to register a plugin to be initialized when installed.
  • NEW: Plugins are now initialized and loaded when calling Raven.install(). This avoid some race conditions with load order.

1.1.22

1.1.21

1.1.20

1.1.19

1.1.18

1.1.17

1.1.16

1.1.15

  • Fix issues if a non-string were passed to Raven.captureMessage and non-Error objects were passed to Raven.captureException.

1.1.14

1.1.13

  • Fixed a unicode issue in the previous release.

1.1.12

1.1.11

  • Capture column number from FireFox
  • Fix propagation of extra options through captureException, see: https://github.com/getsentry/raven-js/pull/189
  • Fix a minor bug that causes TraceKit to blow up of someone passes something dumb through window.onerror

1.1.10

  • A falsey DSN value disables Raven without yelling about an invalid DSN.

1.1.9

1.1.8

1.1.4-1.1.7

These were a bunch of super small incremental updates trying to get better integration and better support inside Sentry itself.

  • Culprit determined from the src url of the offending script, not the url of the page.
  • Send Sentry the frames in the right order. They were being sent in reverse. Somehow nobody noticed this.
  • Support for Chrome's new window.onerror api. See: https://github.com/getsentry/raven-js/issues/172

1.1.3

1.1.2

  • An invalid DSN will now raise a RavenConfigError instead of some cryptic error
  • Will raise a RavenConfigError when supplying the private key part of the DSN since this isn't applicable for raven.js and is harmful to include
  • https://github.com/getsentry/raven-js/issues/128

1.1.1

1.1.0

Plugins

If you're upgrading from 1.0.x, 2 "plugins" were included with the package. These 2 plugins are now stripped out of core and included as the jquery and native plugins. If you'd like to start using 1.1.0 and maintain existing functionality, you'll want to use: http://cdn.ravenjs.com/1.1.0/jquery,native/raven.min.js For a list of other plugins, checkout http://ravenjs.com

ravenjs.com

A new website dedicated to helping you compile a custom build of raven.js

whitelistUrls

whitelistUrls are recommended over ignoreUrls. whitelistUrls drastically helps cut out noisy error messages from other scripts running on your site.

Misc

  • ignoreUrls, ignoreErrors, includePaths have all been unified to accept both a regular expression and strings to avoid confusion and backwards compatability
  • Raven.wrap recursively wraps arguments
  • Events are dispatched when an exception is received, recorded or failed sending to Sentry
  • Support newer Sentry protocol which allows smaller packets
  • Allow loading raven async with RavenConfig
  • Entirely new build system with Grunt
  • options.collectWindowErrors to tell Raven to ignore window.onerror