bugsnag-js

JavaScript error handling tool for BugSnag. Monitor and report JavaScript bugs & errors.

MIT License

Downloads
17.1M
Stars
852
Committers
54
bugsnag-js - v7.1.1

Published by bengourley over 4 years ago

Fixed

  • (plugin-express): Use import syntax that works without TypeScript's esModuleInterop compiler flag #866
  • (expo-cli): Ensure version detection logic for @bugsnag/expo works after v7.0.0 #865
  • (core): Ensure callbacks supplied in config permit functions with no named arguments #863
bugsnag-js - v7.1.0

Published by bengourley over 4 years ago

This update contains some substantial changes to plugin type definitions. If you are using TypeScript alongside a framework, you may need to make changes to your app. Please refer to the upgrade guide.

Changed

  • (plugin-react|plugin-vue): Support late passing of framework reference #839

Added

  • (plugin-react): Add type definitions for Bugsnag.getPlugin('react') #839
  • (plugin-vue): Add type definitions for Bugsnag.getPlugin('vue') #839
  • (plugin-react): Add clearError prop to ErrorBoundary #797
  • (plugin-express|plugin-koa|plugin-restify): Add full type definitions for plugins #853
bugsnag-js - v7.0.2

Published by bengourley over 4 years ago

Fixed

  • (types): Correct init static method name to start #847
bugsnag-js - v7.0.1

Published by bengourley over 4 years ago

Fixed

  • (plugin-vue): Fix plugin type definitions #809
  • (delivery-expo): Ensure Expo delivery logs event details correctly (instead of undefined) #804
  • (expo-cli): Ensure Expo cli inserts correct code depending on the version of the notifier #808
bugsnag-js - v7.0.0

Published by bengourley over 4 years ago

This major version contains substantial changes. Please also refer to the upgrade guide.

Added

  • Add onBreadcrumb and onSession callbacks. #665
  • Add pauseSession() and resumeSession() methods to Client #666
  • Add static Bugsnag client interface #685
  • Add getUser() and setUser() methods to Session #692

Changed

  • Migrate lint tooling to ESLint for both .js and .ts source files #644
  • Rename autoNotify -> autoDetectErrors, and add enabledErrorTypes option for granularity #706
  • Rename autoCaptureSessions -> autoTrackSessions and simplify validation logic #647
  • Rename report to event #646
  • Rename notifyReleaseStages -> enabledReleaseStages #649
  • Rename beforeSend -> onError, remove event.ignore() and refactor callback logic #654
  • Update signature of notify(err, opts?, cb?) -> notify(err, onError?, cb?) for a canonical way to update events #655
  • Simplify client configuration, and store resulting config privately #656
  • User is now stored privately on client and event and updated via get/set methods #657
  • Remove individual breadcrumb flags in favour of enabledBreadcrumbTypes, rename breadcrumb.{ name -> message, metaData -> metadata }, and update leaveBreadcrumb() type signature to be more explicit #650
  • Rename metaData -> metadata and add consistent add/get/clearMetadata() methods to Client/Event for manipulating metadata explicitly, rather than mutating a property #658
  • Update leaveBreadcrumb() type signature to return void. #661
  • Refactor notify() to not accept events (they go via _notify() instead). Consolidate Event static methods into a single .create() utility, used by all automatic error detection components. #664
  • Stop applying default error class/message when none is supplied #676
  • Remove Bugsnag* prefix from internal class names #679
  • Rename and make private the Session method trackError() -> _track() #675
  • Update Event to support multiple errors #680
  • Move context to a private property on Client, and get/set via getContext()/setContext() #681
  • Update @bugsnag/safe-json-stringify to replace redacted values with [REDACTED] #683
  • Update collectUserIp option to use [REDACTED] instead of [NOT COLLECTED] for consistency #743
  • Refactor type definitions #682
  • Ensure automatic context is not used when setContext(null) has been called #694
  • Rename filters option to redactedKeys #704
  • Rename device.modelName to device.model #726
  • Rename client.refresh() to client.resetEventCount() #727
  • client.use(plugin) has been removed and plugins must now be passed in to configuration #759
  • Invalid configuration (except for apiKey) now falls back to default values rather than throwing an error #759

Removed

  • Remove non-public methods from Client interface: logger(), delivery() and sessionDelegate() #659
  • Remove client.request property #672
  • Remove client.device property #673
  • Remove client.app property #677
  • Move breadcrumbs to a private property on client._breadcrumbs #681
bugsnag-js - v6.6.1

Published by bengourley over 4 years ago

Fixes

  • (expo): Ensure Expo packages that depend on NetInfo have their versions locked #796
  • (expo-cli): Update Expo versions installed by the cli #796

Note, alongside this release, additional patches were made to previous minor versions of @bugsnag/expo: 6.5.3 and 6.4.4. This is to ensure the correct version of NetInfo is depended on for SDK versions 36 and 34 respectively.

bugsnag-js - v6.6.0

Published by bengourley over 4 years ago

Changed

  • (expo): Add support for Expo SDK v37 #781
bugsnag-js - v6.5.2

Published by djskinner over 4 years ago

Changed

  • (node): Use util.inspect() on plain object errors when logging their value #696

Fixed

  • (delivery-x-domain-request): Correct this->client reference when attempting to log an error #722
bugsnag-js - v6.5.1

Published by bengourley almost 5 years ago

Fixed

  • (expo): Pin @react-native-community/netinfo dependency to exact version bundled by Expo #691
  • (plugin-express), (plugin-restify): Send request metadata as the correct notify() parameter #687
bugsnag-js - v6.5.0

Published by bengourley almost 5 years ago

Added

  • (expo): Add support for breaking changes in Expo SDK v36 #670
  • (expo-cli): Choose a compatible version of @bugnsnag/expo for SDK v33-35 #670

Fixed

  • (plugin-network-breadcrumbs): Fixes the window.fetch monkey-patch to also accept Request. #662
bugsnag-js - v6.4.3

Published by bengourley about 5 years ago

Fixed

  • (browser): Add browser alias to dist/types/bugsnag to fix Angular build failure #632 (GDreyV)
bugsnag-js - v6.4.2

Published by bengourley about 5 years ago

Fixed

  • (plugin-angular): Ensure Node notifier matches the type interface in the .d.ts file #626
bugsnag-js - v6.4.1

Published by bengourley about 5 years ago

Fixed

  • (plugin-koa): Ensure unhandled Koa errors are logged out and that non-errors don't generate two reports #614
  • (plugin-inline-script-content): Tolerate errors when trying to call existing installed handler #613 (fixes #608)
  • (plugin-inline-script-content): Ensure line numbers are correct when error is at line 1/2/3 #616
  • (plugin-koa|express|restify): Ensure clientIp and referer are properly collected #617 (fixes #615)
bugsnag-js - v6.4.0

Published by bengourley about 5 years ago

Changed

  • (expo): Support Expo SDK 34, dropping support for versions < 33 #610

Added

  • (expo-cli): Check for the current version of Expo and install an appropriate version of @bugsnag/expo #610

Fixed

  • (plugin-inline-script-content): Tolerate WebDriverException: Message: Permission denied to access property "handleEvent" errors when running in selenium #605
  • (core): Tolerate being bundled in strict mode #584
  • (plugin-inline-script-content): Ensure event handlers added before Bugsnag can be removed #582
  • (core): Update error-stack-parser to ensure spaces in filenames are parsed correctly #612
bugsnag-js - v6.3.2

Published by bengourley over 5 years ago

Fixed

  • (plugin-inline-script): Ensure inline script content callback doesn't cause error logs when there are no stackframes #559 / #563
  • (plugin-angular): Bundle an ES5 and an ES6 version of the plugin to support various Angular build settings #565 / #563
bugsnag-js - v6.3.1

Published by bengourley over 5 years ago

Fixed

  • (node): Ensure agent is passed through to http(s) request for proxy support #548 / #546
bugsnag-js - v6.3.0

Published by bengourley over 5 years ago

Added

  • (expo): Support configuration of post-publish hook, allowing On-premise users to customize the build/source map endpoints. #542

Changed

  • (plugin-inline-script-content): Overhaul inline script tracking #528
  • (node): Add Node version string to report and session payloads (device.runtimeVersions) #537
  • (core): Update docs url so that it doesn't follow a redirect #536
  • (plugin-navigation-breadcrumbs): Compile away _restore() function from output bundle which is only used in tests #533

Fixed

  • (plugin-koa): Send the correct status code when handling ctx.throw() errors #541
  • (plugin-angular): Target ES6 so that classes in the build are native, not polyfilled #540
  • (plugin-angular): Support subsequent rebuilds of an Angular app in AOT mode #539
  • (plugin-node-surrounding-code): Truncate line length so that minified code doesn't exceed payload limit #531
bugsnag-js - v6.2.0

Published by bengourley over 5 years ago

This release adds @bugsnag/expo, a notifier for use on React Native apps that are built using Expo.

A small internal change was made to facilitate this new notifier, but there are no changes required for existing users of documented APIs.

Added

  • (expo): a new top-level notifier @bugsnag/expo including a whole bunch of packages:
    • @bugsnag/delivery-expo - Expo-specific delivery mechanism which caches on disk when a crash happens, or the network is not available
    • @bugsnag/plugin-expo-app - gathers app information
    • @bugsnag/plugin-expo-device - gathers device information
    • @bugsnag/plugin-react-native-app-state-breadcrumbs - collects breadcrumbs when the app transitions to the foreground/background
    • @bugsnag/plugin-react-native-connectivity-breadcrumbs - collects breadcrumbs when the state of the network changes
    • @bugsnag/plugin-react-native-global-error-handler - reports unhandled errors
    • @bugsnag/plugin-react-native-orientation-breadcrumbs - collects breadcrumbs when the device orientation changes
    • @bugsnag/plugin-react-native-unhandled-rejection - reports unhandled promise rejections

Changed

  • (core): internal delivery interface now receives the client it is attached to on creation, and the sendReport/sendSession methods are no longer passed the logger and config objects which can be accesses on the client #489 (Note: this was an undocumented internal API)
bugsnag-js - v6.1.0

Published by bengourley over 5 years ago

Added

  • (core): Improvements to logging and available information when error reports are not sent #515

Changed

  • (delivery-node): Error stack is now included in first argument to logger #486

Removed

  • (core): Stacktrace is omitted in error breadcrumbs (it's not used by the dashboard) #512

Fixed

  • (plugin-navigation-breadcrumbs): startSession() is not called when autoCaptureSessions=false #514
  • (plugin-express): Express/Connect now send a 500 (not 200) HTTP status when about to crash #513
  • (core): Bad logic in notify() error normalisation #516
bugsnag-js - v6.0.0

Published by bengourley over 5 years ago

Removed

  • request is no longer used for sending error reports and sessions. This results in a much smaller dependency footprint. If you were using the proxy option or http(s)_proxy environment variables you will need to update your implementation to pass in a proxy agent. See the proxy guide on our docs for more information.

Fixed

  • Prevent incorrect warning about missing peer dependencies when using yarn (#478)
  • Deduplicate module in browser bundle (#479)
Package Rankings
Top 20.85% on Repo1.maven.org
Top 0.95% on Npmjs.org
Top 3.58% on Bower.io
Related Projects