Skip to content

Latest commit

 

History

History
544 lines (403 loc) · 34.2 KB

CHANGELOG.md

File metadata and controls

544 lines (403 loc) · 34.2 KB

Changelog

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

  • BUGFIX: Prevent Raven throwing during installation when Function.prototype.toString is called in Angular projects with zone.js and core.js wrapped functions getsentry#1135
  • BUGFIX: Add isArray util to prevent undefined stack.stack during captureMessage with synthetic stack traces enabled getsentry#1140

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

  • NEW: All unit and integration tests are now running on CI using SauceLabs, to ensure everything is working correctly on all browsers getsentry#1026
  • NEW: console.assert is now instrumented in the same way as the rest of console methods getsentry#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 getsentry#1053
  • NEW: Updated Errors serialization to store all additional properties and allow for attaching other object instances directly to it getsentry#1060
  • NEW: Included exception type in ignoreErrors test, which allows for filtering based on error types getsentry#1057
  • CHANGE: Raven.js now uses Prettier to format it's code getsentry#1020
  • CHANGE: Unit tests are using Headless Chrome instead of PhantomJS getsentry#1029
  • CHANGE: Added setDSN typing definition for TypeScript getsentry#995
  • BUGFIX: Defend against undefined XMLHttpRequest while sending events getsentry#1024
  • BUGFIX: lastEventId won't be overriden when an event was dropped getsentry#1041
  • BUGFIX: Make sure that document is available before reading location getsentry#1038
  • BUGFIX: Prevent breadcrumbs with undefined url to throw an error getsentry#1018

3.17.0

  • CHANGE: Export TypeScript definitions as a CommonJS module. See: getsentry#977

3.16.1

  • BUGFIX: Fixed stacktrace on Android for React Native release builds. See: getsentry#985
  • BUGFIX: TypeScript: Change loglevel option "warn" to "warning".

3.16.0

3.15.0

3.14.2

  • BUGFIX: Fix bug in breadcrumb URL truncation when fetch is used with a Request argument. See: getsentry#924

3.14.1

  • BUGFIX: Fix TypeError caused by breadcrumb URL truncation in some situations. See: getsentry#925
  • BUGFIX: Made URL truncation more defensive for some rare cases. See: getsentry#918
  • BUGFIX: Raven.js now treats DOMExceptions as "Error" objects w/ traces. See: getsentry#919
  • CHANGE: Remove unused/deprecated escape functions in vendored TraceKit.js. See: getsentry#923
  • CHANGE: Removed json-stringify-safe from package.json (was already vendored). See: getsentry#917

3.14.0

  • NEW: URL values captured in http + breadcrumb interfaces are now trimmed to new maxUrlLength config (default 250). See: getsentry#906
  • CHANGE: Better extraction of URLs from eval frames on Chrome, Firefox. This may affect issue grouping of some events. See: getsentry#907
  • BUGFIX: Raven.js now parses webpack:// URLs (generated when using devtool: eval). See: getsentry#908
  • BUGFIX: React Native frames on Android no longer show [native code]. See: getsentry#875

3.13.1

  • BUGFIX: Revert TypeScript declaration changes from 3.13.0 that resulted in bad imports. See: getsentry#898

3.13.0

  • NEW: Added new sampleRate config option. See: getsentry#885
  • CHANGE: TypeScript declaration file (raven.d.ts) has been improved considerably. See: getsentry#827

3.12.2

  • BUGFIX: Fix Raven.js not capturing IE8 errors. See: getsentry#883

3.12.1

  • BUGFIX: Fix Raven.js not properly catching some thrown messages, objects. See: getsentry#872

3.12.0

  • NEW: Raven.js now attempts to suppress back-to-back duplicate errors by default. See: getsentry#861
  • BUGFIX: Fix case where breadcrumb instrumention could sometimes throw errors on custom DOM events. See: getsentry#857
  • BUGFIX: Fix Raven.js incorrectly interpreting Retry-After header in ms; should be seconds. See: getsentry#862

3.11.0

  • CHANGE: Raven.js no longer auto-wraps jQuery.ready (if present); fixes jQuery deprecation warnings. See: getsentry#849
  • BUGFIX: Fix User-Agent not collected in web worker environment. See: getsentry#853
  • BUGFIX: Fix DOM tree summarizer (breadcrumbs) not splitting on breadcrumbs effectively. See: getsentry#852
  • BUGFIX: Fix Vue plugin breaking on production builds. See: getsentry#848
  • NEW: Added comment to Raven.wrap to indicate stack traces containing this frame are not indicative of a bug. See: getsentry#847

3.10.0

  • NEW: Raven.js will exponentially back off if server returns a 400-level error (e.g. 429 too many requests). See: getsentry#839
  • CHANGE: Raven.js will not set lastEventId if transmission failed because Raven is not configured. See: getsentry#839
  • BUGFIX: Raven.js now properly handles Firefox resource:// URLs (extensions). See: getsentry#837

3.9.2

  • BUGFIX: Use json-stringify-safe in React Native plugin to avoid circular refs. See: getsentry#829
  • BUGFIX: Avoid document.location access in React Native plugin. See: getsentry#800

3.9.1

  • BUGFIX: Fix TypeError triggered by some event listeners. See: getsentry#793
  • BUGFIX: Fix bad window access in web worker environments. See: getsentry#792

3.9.0

  • NEW: breadcrumbCallback and setBreadcrumbCallback for filtering/mutating breadcrumbs. See: getsentry#788
  • NEW: Can enable synthetic traces globally via stacktrace: true config option. See: getsentry#763
  • CHANGE: Can set user context via config under user key. See: getsentry#762
  • CHANGE: Unit and integration tests now run on PhantomJS 2. See: getsentry#777
  • BUGFIX: Fix mouse click breadcrumbs not captured in some scenarios. See: getsentry#766
  • BUGFIX: React Native plugin normalizes paths in stacktraces generated via captureMessage. See: getsentry#778
  • BUGFIX: Doesn't break when window is absent (e.g. inside web workers). See: getsentry#785

3.8.1

3.8.0

3.7.0

  • BUGFIX: Add missing return types from TypeScript declaration file. See: getsentry#718
  • BUGFIX: Fix "Permission denied" error in Firefox via WebDriver. See: getsentry#720
  • REMOVED: Legacy stack trace parsing from Opera 9, 10. See: getsentry#716

3.6.1

  • BUGFIX: Fix trimHeadFrames appearing in some data payloads when using synthetic traces. See: getsentry#714

3.6.0

  • NEW: Raven.captureMessage will generate synthetic stacktraces if passed stacktrace: 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

3.5.1

  • BUGFIX: Fix non-fatals crashing React Native plugin unless shouldSendCallback is specified. See: getsentry#694

3.5.0

  • 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

3.4.1

  • BUGFIX: Fix exception breadcrumbs having "undefined" for exception value. See: getsentry#681

3.4.0

  • 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

3.3.0

  • 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

3.2.1

  • 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

3.2.0

  • 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

3.1.1

  • 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

3.1.0

  • NEW: Added TypeScript declaration file for compatibility with TypeScript projects. See: getsentry#610

3.0.5

  • BUGFIX: Fix breadcrumb instrumentation failing in IE8. See: getsentry#594

3.0.4

  • 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

3.0.3

  • BUGFIX: Fix pushState instrumentation breaking on non-string URL args. See: getsentry#569

3.0.2

  • BUGFIX: Fix XMLHttpRequest.prototype.open breaking on non-string url arguments. See: getsentry#567

3.0.1

3.0.0

  • 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

2.3.0

  • 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

2.2.1

  • 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

2.2.0

  • 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

2.1.1

  • BUGFIX: Fixed IE8 regression introduced in 2.1.0. See: getsentry#498
  • BUGFIX: Fixed initialization error when run via Selenium. See: getsentry#495

2.1.0

2.0.5

  • 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

2.0.4

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

2.0.2

  • BUGFIX: Fixed bug where wrapped requestAnimationFrame didn't return callback ID. See: getsentry#460

2.0.1

  • BUGFIX: Fixed bug where unwrapped errors might be suppressed. See: getsentry#447

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: 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, 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: getsentry#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

  • 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

1.1.21

  • Fix a bug where calling captureException before calling Raven.config() would trigger it's own exception. See: getsentry#377

1.1.20

1.1.19

  • 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 a warning level to server. See: getsentry#342
  • Improve the capture of unhandled errors from promises in Ember plugin. See: getsentry#330

1.1.18

  • Fixed a trailing comma which would make IE8 cry. This affects the uncompressed builds only. Compressed builds were unaffected. See: getsentry#333

1.1.17

1.1.16

  • 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 and setTagsContext. See: getsentry#219
  • Renamed setUser to setUserContext 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 to console when false. Defaults to true for backwards compatability. See: getsentry#229
  • Prevent calling Raven.config() or Raven.install() twice. See: getsentry#233

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

  • 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.

1.1.11

  • 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

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: getsentry#172

1.1.3

  • 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

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
  • getsentry#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