- BUGFIX: Remove engine field from package.json, preventing correct npm/yarn usage
- NEW: All unit and integration tests are now running on CI using SauceLabs, to ensure everything is working correctly on all browsers #1026
- NEW:
console.assert
is now instrumented in the same way as the rest ofconsole
methods #1044 - NEW: Vue.js plugin now provides
lifecycleHook
as the 3rd argument to error handler, to make it in line with v2.2.0 implementation #1053 - NEW: Updated Errors serialization to store all additional properties and allow for attaching other object instances directly to it #1060
- NEW: Included exception type in
ignoreErrors
test, which allows for filtering based on error types #1057 - CHANGE: Raven.js now uses Prettier to format it's code #1020
- CHANGE: Unit tests are using Headless Chrome instead of PhantomJS #1029
- CHANGE: Added
setDSN
typing definition for TypeScript #995 - BUGFIX: Defend against undefined
XMLHttpRequest
while sending events #1024 - BUGFIX:
lastEventId
won't be overriden when an event was dropped #1041 - BUGFIX: Make sure that
document
is available before readinglocation
#1038 - BUGFIX: Prevent breadcrumbs with undefined url to throw an error #1018
- CHANGE: Export TypeScript definitions as a CommonJS module. See: #977
- BUGFIX: Fixed stacktrace on Android for React Native release builds. See: #985
- BUGFIX: TypeScript: Change loglevel option "warn" to "warning".
- CHANGE: Plugins no longer disrupt data callback behavior. See: #891
- BUGFIX: Fixed event object copying in React Native. See: #960
- BUGFIX: More TypeScript definitions for API properties and methods. See: #968, #963
- NEW: Added new
instrument
config option for disabling portions of instrumentation. See: #938 - NEW: Support CJS use of AngularJS module. See documentation: https://docs.sentry.io/clients/javascript/integrations/angularjs/
- BUGFIX: Fix bug in breadcrumb URL truncation when
fetch
is used with aRequest
argument. See: #924
- BUGFIX: Fix TypeError caused by breadcrumb URL truncation in some situations. See: #925
- BUGFIX: Made URL truncation more defensive for some rare cases. See: #918
- BUGFIX: Raven.js now treats DOMExceptions as "Error" objects w/ traces. See: #919
- CHANGE: Remove unused/deprecated escape functions in vendored TraceKit.js. See: #923
- CHANGE: Removed json-stringify-safe from package.json (was already vendored). See: #917
- NEW: URL values captured in http + breadcrumb interfaces are now trimmed to new
maxUrlLength
config (default 250). See: #906 - CHANGE: Better extraction of URLs from eval frames on Chrome, Firefox. This may affect issue grouping of some events. See: #907
- BUGFIX: Raven.js now parses webpack:// URLs (generated when using devtool: eval). See: #908
- BUGFIX: React Native frames on Android no longer show [native code]. See: #875
- BUGFIX: Revert TypeScript declaration changes from 3.13.0 that resulted in bad imports. See: #898
- NEW: Added new
sampleRate
config option. See: #885 - CHANGE: TypeScript declaration file (raven.d.ts) has been improved considerably. See: #827
- BUGFIX: Fix Raven.js not capturing IE8 errors. See: #883
- BUGFIX: Fix Raven.js not properly catching some thrown messages, objects. See: #872
- NEW: Raven.js now attempts to suppress back-to-back duplicate errors by default. See: #861
- BUGFIX: Fix case where breadcrumb instrumention could sometimes throw errors on custom DOM events. See: #857
- BUGFIX: Fix Raven.js incorrectly interpreting Retry-After header in ms; should be seconds. See: #862
- CHANGE: Raven.js no longer auto-wraps jQuery.ready (if present); fixes jQuery deprecation warnings. See: #849
- BUGFIX: Fix User-Agent not collected in web worker environment. See: #853
- BUGFIX: Fix DOM tree summarizer (breadcrumbs) not splitting on breadcrumbs effectively. See: #852
- BUGFIX: Fix Vue plugin breaking on production builds. See: #848
- NEW: Added comment to Raven.wrap to indicate stack traces containing this frame are not indicative of a bug. See: #847
- NEW: Raven.js will exponentially back off if server returns a 400-level error (e.g. 429 too many requests). See: #839
- CHANGE: Raven.js will not set lastEventId if transmission failed because Raven is not configured. See: #839
- BUGFIX: Raven.js now properly handles Firefox resource:// URLs (extensions). See: #837
- BUGFIX: Use json-stringify-safe in React Native plugin to avoid circular refs. See: #829
- BUGFIX: Avoid document.location access in React Native plugin. See: #800
- BUGFIX: Fix TypeError triggered by some event listeners. See: #793
- BUGFIX: Fix bad
window
access in web worker environments. See: #792
- NEW:
breadcrumbCallback
andsetBreadcrumbCallback
for filtering/mutating breadcrumbs. See: #788 - NEW: Can enable synthetic traces globally via
stacktrace: true
config option. See: #763 - CHANGE: Can set user context via
config
underuser
key. See: #762 - CHANGE: Unit and integration tests now run on PhantomJS 2. See: #777
- BUGFIX: Fix mouse click breadcrumbs not captured in some scenarios. See: #766
- BUGFIX: React Native plugin normalizes paths in stacktraces generated via
captureMessage
. See: #778 - BUGFIX: Doesn't break when window is absent (e.g. inside web workers). See: #785
- BUGFIX: Fix dangling comma affecting IE8. See: #769
- NEW: Record fetch request breadcrumbs. See: #744
- NEW: Record contentEditable input event breadcrumbs. See: #748
- BUGFIX: Updated Typescript declaration file. See: #746
- NEW: File size improvements for raven.min.js See: #721
- BUGFIX: Add missing return types from TypeScript declaration file. See: #718
- BUGFIX: Fix "Permission denied" error in Firefox via WebDriver. See: #720
- REMOVED: Legacy stack trace parsing from Opera 9, 10. See: #716
- BUGFIX: Fix
trimHeadFrames
appearing in some data payloads when using synthetic traces. See: #714
- NEW:
Raven.captureMessage
will generate synthetic stacktraces if passedstacktrace: true
via options. See: #582 - NEW: Added
Raven.setDSN
for changing target DSN after Raven has been configured. See: #706 - CHANGE: Added missing TypeScript type declarations for Raven API methods. See: #698
- BUGFIX: Fix non-fatals crashing React Native plugin unless
shouldSendCallback
is specified. See: #694
- NEW: Can now disable automatic collection of breadcrumbs via
autoBreadcrumbs
config option. See: #686 - NEW: Can now configure max number of breadcrumbs to collect via
maxBreadcrumbs
. See: #685 - NEW: Added Vue.js plugin. See: #688
- CHANGE: Raven.js now collects 100 breadcrumbs by default. See: #685
- CHANGE: React Native plugin now also normalizes paths from CodePush. See: #683
- BUGFIX: Fix exception breadcrumbs having "undefined" for exception value. See: #681
- CHANGE: React Native plugin now stores errors in AsyncStorage and sends error data on app init. See: #626
- BUGFIX: React Native path normalization regex has been updated. See: #666
- BUGFIX: Angular 1 plugin now extracts errors from minified exception strings. See: #667
- NEW: Can now specify
environment
configuration option. See: #661 - CHANGE: Raven.js now serializes data payload w/ json-stringify-safe to avoid circular references. See: #652
- BUGFIX: Angular 1.x plugin no longer clobbers user-specified
dataCallback
. See: #658
- BUGFIX: Fixed error when manually calling captureException with Error objects w/ maxMessageLength > 0. See: #647
- BUGFIX: Fixed TypeScript language declaration file for compatibility w/ Webpack loaders. See: #645
- BUGFIX: Fixed Raven dropping file:/// frames from Phantom 1.x. See: #642
- CHANGE: Callbacks set via
setDataCallback
,setShouldSendCallback
now receive any prior-set callback as the 2nd argument. See: #636 - CHANGE: Raven.js no longer passes a 'message' interface for exceptions. See: #632
- CHANGE: Log level now recorded for "sentry" breadcrumbs. See: #633
- BUGFIX: Fix message truncation occurring before dataCallback is invoked. See: #605
- BUGFIX: Fix pushState error in Chrome Apps. See: #601
- BUGFIX: Fix error in addEventListener call affecting very old Firefox versions. See: #603
- NEW: Added TypeScript declaration file for compatibility with TypeScript projects. See: #610
- BUGFIX: Fix breadcrumb instrumentation failing in IE8. See: #594
- BUGFIX: Navigation breadcrumbs now include query strings and document fragment (#). See: #573
- BUGFIX: Remove errant
throw
call in _makeRequest affecting some Raven configs. See: #572
- BUGFIX: Fix pushState instrumentation breaking on non-string URL args. See: #569
- BUGFIX: Fix XMLHttpRequest.prototype.open breaking on non-string
url
arguments. See: #567
- BUGFIX: Fix broken CDN builds. See: #566
- NEW: Raven.js now collects breadcrumbs from XMLHttpRequest objects, URL changes (pushState), console log calls, UI clicks, and errors.
- BUGFIX: Fix parsing error messages from Opera Mini. See: #554
- REMOVED: Fallback Image transport (HTTP GET) has been removed. See: #545
- REMOVED: TraceKit client-side source fetching has been removed. See: #542
- NEW:
pathStrip
option now available in React Native plugin. See: #515 - BUGFIX: Handle stacks from internal exceptions sometimes thrown by Firefox. See: #536
- BUGFIX: Better error message strings in browsers w/ limited onerror implementations. See: #538
- BUGFIX: Fix HTTP requests not sending with React Native on Android devices. See: #526
- BUGFIX: Raven.js now captures stack traces caused by Firefox internal errors. See: #528
- NEW:
allowSecretKey
configuration option. See: #525 - NEW: Console plugin can be configured to capture specific log levels. See: #514
- CHANGE: React Native plugin now calls default exception handler. See: #492
- CHANGE: React Native plugin now uses HTTP POST transport. See: #494
- BUGFIX: Fix Raven throwing exception when run via Webdriver. See: #495
- BUGFIX: Fixed IE8 regression introduced in 2.1.0. See: #498
- BUGFIX: Fixed initialization error when run via Selenium. See: #495
- BUGFIX: Fixed Raven.js rejecting frames w/ blob URLs. See: #463
- BUGFIX: Fixed plugin files not consumable without module loader. See: #446
- BUGFIX: Fixed bug in console.js plugin where
level
wasn't passed. See: #474 - BUGFIX: Fixed broken debug logging in IE9 and below. See: #473
- BUGFIX: Fixed
XMLHttpRequest
wrapper not capturing all event handlers. See: #453 - CHANGE:
Raven.uninstall
now restores original builtin functions (e.g. setTimeout). See: #228 - CHANGE:
maxMessageLength
now defaults to 0 (no limit). See: #441 - NEW: New
stackTraceLimit
config option (default 50 in supported browsers). See: https://github.com/getsentry/raven-js/pull/419/files - NEW:
Raven.showReportDialog
(experimental). See: #456
- BUGFIX: Fixed exception thrown by React Native plugin. See: #468
- BUGFIX: Fixed "pre-built JavaScript" warning when loading Raven.js via Webpack. See: #465
- BUGFIX: Fixed bug where Raven.VERSION was not set when required as a CommonJS module.
- BUGFIX: Fixed bug where wrapped requestAnimationFrame didn't return callback ID. See: #460
- BUGFIX: Fixed bug where unwrapped errors might be suppressed. See: #447
- 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 toXMLHttpRequest
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)
- CHANGE:
console
plugin will now send all arguments as anextra
value. See: #398 - CHANGE: Bump to v7 of the Sentry API spec. This now requires a Sentry 7.7.0+ #403
- CHANGE: Revamp of AngularJS plugin. Please see documentation. See: #405
- CHANGE:
Raven.debug
now defaults tofalse
. https://github.com/getsentry/raven-js/commit/dc142b88f0c4953f54cb3754f9015d95ada55ba0 - BUGFIX:
Raven.wrap
now correctly preservesprototype
. See: #401 and #402 - NEW:
serverName
config option. #404 - NEW: Experimental support for React Native added.
- BUGFIX: Error in cases where a
document
context doesn't exist. See: #383 - BUGFIX: Trailing comma when using unminified dist which affects IE9. See: #385
- NEW: Add ability to swap in a custom transport. Adds
Raven.setTransport
, andtransport
option to config. Docs: https://docs.sentry.io/hosted/clients/javascript/config/ - CHANGE: Always expose
Raven
towindow
. Please callRaven.noConflict()
if you want it restored to what it was. See: #393 - DEPRECATED: Replace
Raven.setReleaseContext
withRaven.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.
- Fix another outstanding bug related to #377 that wasn't fully resolved with 1.1.21
- Laid groundwork for pluggable transports, but not ready for public consumption yet
- Fix a bug where calling
captureException
before callingRaven.config()
would trigger it's own exception. See: #377
- Wrap jquery's deferred[ resolveWith | rejectWith | notifyWith ] See: #268
- Use window.crypto for uuid4 if present. See: #349
- Add winjs support. See: https://github.com/getsentry/raven-js/commit/b9a1292cbc9275fc9f9f1108ff3698cbd5ce2180
- Fix calling
Raven.captureException
from browser console. See: #358 - guard against document.location being null or undefined. See: #357
- Change error message format to match other clients. See: https://github.com/getsentry/raven-js/commit/64ca528b1b066ec7cdb5ef38e755c445f16ebef7
- Don't require a user in the DSN. See: #361
- Add
crossOrigin
option. See: #362 - Avoid recursing when using the
console
plugin. See: https://github.com/getsentry/raven-js/commit/f92ff9de538f331a291af4a7d302202e587aaae5
- Use more compliant way of creating an Image in the dom. See: #334
String
objects weren't getting identified as a string. See: #336- Expose getter/setter for dataCallback and shouldSendCallback
- Better handle if/when the dataCallback returns garbage
- Fix support for nodeunit. See: #338
- Fix
console.warn
sending as awarning
level to server. See: #342 - Improve the capture of unhandled errors from promises in Ember plugin. See: #330
- Fixed a trailing comma which would make IE8 cry. This affects the uncompressed builds only. Compressed builds were unaffected. See: #333
- Better support for Angular errors. See: #238
- Allow setting truncate length through
globalOptions.maxMessageLength
. See: #246 - Fixed the pattern for parsing gecko stacktraces. See: #252
- Browserify support. See: #253, #260, #261
- Start tracking
session:duration
automatically as metadata. - Fix globalOptions overwrite. See: #264
- Better cross origin support. See: #276
- Better anonymous function support in Chrome stack trace parsing. See: #290, #294
- Remove deprecated
site
param. - New
Raven.isSetup()
. See: #309 - Better backbone.js support. See: #307
ignoreErrors
now also is applied tocaptureMessage()
. See: #312- Capture unhandled errors from promises in Ember. See: #319
- Add new support for
releases
. See: #325
- Fixed a bug that was preventing stack frames from
raven.js
from being hidden correctly. See: #216 - Fixed an IE bug with the
console
plugin. See: #217 - Added support for
chrome-extension://
protocol in Chrome in stack traces. - Added
setExtraContext
andsetTagsContext
. See: #219 - Renamed
setUser
tosetUserContext
to match.setUser
still exists, but will be deprecated in a future release. - New
backbone.js
plugin. See: #220 - Added support for
chrome://
protocol in Firefox in stack traces. See: #225 - Ignore more garbage from IE cross origin errors. See: #224
- Added
Raven.debug
to prevent logging toconsole
whenfalse
. Defaults totrue
for backwards compatability. See: #229 - Prevent calling
Raven.config()
orRaven.install()
twice. See: #233
- Fix issues if a non-string were passed to
Raven.captureMessage
and non-Error objects were passed toRaven.captureException
.
- Only filter normal Error objects without a message, not all of them. Turns out, people throw errors like this. Ahem, Underscore.js. See: https://github.com/jashkenas/underscore/pull/1589/files
- Fixed a unicode issue in the previous release.
- Fix a bug using the
console
plugin with older IE. See: #192 - Added initial
ember.js
plugin for early testing and feedback. - Added initial
angular.js
plugin for early testing and feedback. - Fixed an issue with the
require.js
plugin basically not working at all. See: https://github.com/getsentry/raven-js/commit/c2a2e2672a2a61a5a07e88f24a9c885f6dba57ae - Got rid of
Raven.afterLoad
and made it internal only. Raven.TraceKit
is now internal only.- Truncate message length to a max of 100 characters becasue angular.js sucks and generates stupidly large error messages.
- Capture column number from FireFox
- Fix propagation of extra options through
captureException
, see: #189 - Fix a minor bug that causes TraceKit to blow up of someone passes something dumb through
window.onerror
- A falsey DSN value disables Raven without yelling about an invalid DSN.
- Added
Raven.lastEventId()
to get back the Sentry event id. See: http://raven-js.readthedocs.org/en/latest/usage/index.html#getting-back-an-event-id - Fixed a bug in the
console
plugin. See: #181 - Provide a way out of deep wrapping arguments. See: #182
Raven.uninstall()
actually removes the patchedwindow.onerror
.- No more globally exposed
TraceKit
!
- Fixed a bug in IE8. See: #179
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: #172
- When loading with an AMD loader present, do not automatically call
Raven.noConflict()
. This was causing issues with using plugins. See: #165 - #168
- 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
- #128
- Fixed a bug in parsing some DSNs. See: #160
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
A new website dedicated to helping you compile a custom build of raven.js
whitelistUrls
are recommended over ignoreUrls
. whitelistUrls
drastically helps cut out noisy error messages from other scripts running on your site.
ignoreUrls
,ignoreErrors
,includePaths
have all been unified to accept both a regular expression and strings to avoid confusion and backwards compatabilityRaven.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