- NEW:
Raven.captureMessage
will generate synthetic stacktraces if passedstacktrace: true
via options. See: getsentry#582 - NEW: Added
Raven.setDSN
for changing target DSN after Raven has been configured. See: getsentry#706 - CHANGE: Added missing TypeScript type declarations for Raven API methods. See: getsentry#698
- BUGFIX: Fix non-fatals crashing React Native plugin unless
shouldSendCallback
is specified. See: getsentry#694
- NEW: Can now disable automatic collection of breadcrumbs via
autoBreadcrumbs
config option. See: getsentry#686 - NEW: Can now configure max number of breadcrumbs to collect via
maxBreadcrumbs
. See: getsentry#685 - NEW: Added Vue.js plugin. See: getsentry#688
- CHANGE: Raven.js now collects 100 breadcrumbs by default. See: getsentry#685
- CHANGE: React Native plugin now also normalizes paths from CodePush. See: getsentry#683
- BUGFIX: Fix exception breadcrumbs having "undefined" for exception value. See: getsentry#681
- CHANGE: React Native plugin now stores errors in AsyncStorage and sends error data on app init. See: getsentry#626
- BUGFIX: React Native path normalization regex has been updated. See: getsentry#666
- BUGFIX: Angular 1 plugin now extracts errors from minified exception strings. See: getsentry#667
- NEW: Can now specify
environment
configuration option. See: getsentry#661 - CHANGE: Raven.js now serializes data payload w/ json-stringify-safe to avoid circular references. See: getsentry#652
- BUGFIX: Angular 1.x plugin no longer clobbers user-specified
dataCallback
. See: getsentry#658
- BUGFIX: Fixed error when manually calling captureException with Error objects w/ maxMessageLength > 0. See: getsentry#647
- BUGFIX: Fixed TypeScript language declaration file for compatibility w/ Webpack loaders. See: getsentry#645
- BUGFIX: Fixed Raven dropping file:/// frames from Phantom 1.x. See: getsentry#642
- CHANGE: Callbacks set via
setDataCallback
,setShouldSendCallback
now receive any prior-set callback as the 2nd argument. See: getsentry#636 - CHANGE: Raven.js no longer passes a 'message' interface for exceptions. See: getsentry#632
- CHANGE: Log level now recorded for "sentry" breadcrumbs. See: getsentry#633
- BUGFIX: Fix message truncation occurring before dataCallback is invoked. See: getsentry#605
- BUGFIX: Fix pushState error in Chrome Apps. See: getsentry#601
- BUGFIX: Fix error in addEventListener call affecting very old Firefox versions. See: getsentry#603
- NEW: Added TypeScript declaration file for compatibility with TypeScript projects. See: getsentry#610
- BUGFIX: Fix breadcrumb instrumentation failing in IE8. See: getsentry#594
- BUGFIX: Navigation breadcrumbs now include query strings and document fragment (#). See: getsentry#573
- BUGFIX: Remove errant
throw
call in _makeRequest affecting some Raven configs. See: getsentry#572
- BUGFIX: Fix pushState instrumentation breaking on non-string URL args. See: getsentry#569
- BUGFIX: Fix XMLHttpRequest.prototype.open breaking on non-string
url
arguments. See: getsentry#567
- BUGFIX: Fix broken CDN builds. See: getsentry#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: getsentry#554
- REMOVED: Fallback Image transport (HTTP GET) has been removed. See: getsentry#545
- REMOVED: TraceKit client-side source fetching has been removed. See: getsentry#542
- NEW:
pathStrip
option now available in React Native plugin. See: getsentry#515 - BUGFIX: Handle stacks from internal exceptions sometimes thrown by Firefox. See: getsentry#536
- BUGFIX: Better error message strings in browsers w/ limited onerror implementations. See: getsentry#538
- BUGFIX: Fix HTTP requests not sending with React Native on Android devices. See: getsentry#526
- BUGFIX: Raven.js now captures stack traces caused by Firefox internal errors. See: getsentry#528
- NEW:
allowSecretKey
configuration option. See: getsentry#525 - NEW: Console plugin can be configured to capture specific log levels. See: getsentry#514
- CHANGE: React Native plugin now calls default exception handler. See: getsentry#492
- CHANGE: React Native plugin now uses HTTP POST transport. See: getsentry#494
- BUGFIX: Fix Raven throwing exception when run via Webdriver. See: getsentry#495
- BUGFIX: Fixed IE8 regression introduced in 2.1.0. See: getsentry#498
- BUGFIX: Fixed initialization error when run via Selenium. See: getsentry#495
- BUGFIX: Fixed Raven.js rejecting frames w/ blob URLs. See: getsentry#463
- BUGFIX: Fixed plugin files not consumable without module loader. See: getsentry#446
- BUGFIX: Fixed bug in console.js plugin where
level
wasn't passed. See: getsentry#474 - BUGFIX: Fixed broken debug logging in IE9 and below. See: getsentry#473
- BUGFIX: Fixed
XMLHttpRequest
wrapper not capturing all event handlers. See: getsentry#453 - CHANGE:
Raven.uninstall
now restores original builtin functions (e.g. setTimeout). See: getsentry#228 - CHANGE:
maxMessageLength
now defaults to 0 (no limit). See: getsentry#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: getsentry#456
- BUGFIX: Fixed exception thrown by React Native plugin. See: getsentry#468
- BUGFIX: Fixed "pre-built JavaScript" warning when loading Raven.js via Webpack. See: getsentry#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: getsentry#460
- BUGFIX: Fixed bug where unwrapped errors might be suppressed. See: getsentry#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: getsentry#398 - CHANGE: Bump to v7 of the Sentry API spec. This now requires a Sentry 7.7.0+ getsentry#403
- CHANGE: Revamp of AngularJS plugin. Please see documentation. See: getsentry#405
- CHANGE:
Raven.debug
now defaults tofalse
. https://github.com/getsentry/raven-js/commit/dc142b88f0c4953f54cb3754f9015d95ada55ba0 - BUGFIX:
Raven.wrap
now correctly preservesprototype
. See: getsentry#401 and getsentry#402 - NEW:
serverName
config option. getsentry#404 - NEW: Experimental support for React Native added.
- BUGFIX: Error in cases where a
document
context doesn't exist. See: getsentry#383 - BUGFIX: Trailing comma when using unminified dist which affects IE9. See: getsentry#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: getsentry#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 getsentry#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: getsentry#377
- Wrap jquery's deferred[ resolveWith | rejectWith | notifyWith ] See: getsentry#268
- Use window.crypto for uuid4 if present. See: getsentry#349
- Add winjs support. See: https://github.com/getsentry/raven-js/commit/b9a1292cbc9275fc9f9f1108ff3698cbd5ce2180
- Fix calling
Raven.captureException
from browser console. See: getsentry#358 - guard against document.location being null or undefined. See: getsentry#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: getsentry#361
- Add
crossOrigin
option. See: getsentry#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: getsentry#334
String
objects weren't getting identified as a string. See: getsentry#336- Expose getter/setter for dataCallback and shouldSendCallback
- Better handle if/when the dataCallback returns garbage
- Fix support for nodeunit. See: getsentry#338
- Fix
console.warn
sending as awarning
level to server. See: getsentry#342 - Improve the capture of unhandled errors from promises in Ember plugin. See: getsentry#330
- Fixed a trailing comma which would make IE8 cry. This affects the uncompressed builds only. Compressed builds were unaffected. See: getsentry#333
- Better support for Angular errors. See: getsentry#238
- Allow setting truncate length through
globalOptions.maxMessageLength
. See: getsentry#246 - Fixed the pattern for parsing gecko stacktraces. See: getsentry#252
- Browserify support. See: getsentry#253, getsentry#260, getsentry#261
- Start tracking
session:duration
automatically as metadata. - Fix globalOptions overwrite. See: getsentry#264
- Better cross origin support. See: getsentry#276
- Better anonymous function support in Chrome stack trace parsing. See: getsentry#290, getsentry#294
- Remove deprecated
site
param. - New
Raven.isSetup()
. See: getsentry#309 - Better backbone.js support. See: getsentry#307
ignoreErrors
now also is applied tocaptureMessage()
. See: getsentry#312- Capture unhandled errors from promises in Ember. See: getsentry#319
- Add new support for
releases
. See: getsentry#325
- Fixed a bug that was preventing stack frames from
raven.js
from being hidden correctly. See: getsentry#216 - Fixed an IE bug with the
console
plugin. See: getsentry#217 - Added support for
chrome-extension://
protocol in Chrome in stack traces. - Added
setExtraContext
andsetTagsContext
. See: getsentry#219 - Renamed
setUser
tosetUserContext
to match.setUser
still exists, but will be deprecated in a future release. - New
backbone.js
plugin. See: getsentry#220 - Added support for
chrome://
protocol in Firefox in stack traces. See: getsentry#225 - Ignore more garbage from IE cross origin errors. See: getsentry#224
- Added
Raven.debug
to prevent logging toconsole
whenfalse
. Defaults totrue
for backwards compatability. See: getsentry#229 - Prevent calling
Raven.config()
orRaven.install()
twice. See: getsentry#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: getsentry#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: getsentry#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: getsentry#181 - Provide a way out of deep wrapping arguments. See: getsentry#182
Raven.uninstall()
actually removes the patchedwindow.onerror
.- No more globally exposed
TraceKit
!
- Fixed a bug in IE8. See: getsentry#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: getsentry#172
- When loading with an AMD loader present, do not automatically call
Raven.noConflict()
. This was causing issues with using plugins. See: getsentry#165 - getsentry#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
- getsentry#128
- Fixed a bug in parsing some DSNs. See: getsentry#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