Improved logging of "unhandled rejections"
Added support for other Javascript-based SDKs to integrate this SDK
Limit the size of the logs sent according to the limits accepted by the server
Report unhandled async errors
Report unhandled errors that happen in async functions
Improve SDK types documentation
Report unhandled errors that happen in async functions
Added support for multi-threaded browsers that do not allow communication between tabs. This includes, most notably, some browsers' "Private Window" mode.
Export DeviceKeyValue
type from @bugfender/sdk
Format Bugfender SDK logs to the browser console for better readability
Disable automatic capturing of text inputs with data-bf-ignore-keypress
attribute. This attribute is inherited also by children.
sendLog()
now also accepts an array as parameter, compatible with calls to window.console()
Improve command queue handling, now stack trace & time will correct for logs that get stored before initialization
Double logging when using overrideConsoleMethods
and printToConsole
Add setForceEnabled() to override device enabled status manually
Add command buffering so SDK calls done before init() completes aren’t lost. This makes it easier to use the SDK without waiting for the init() promise to complete.
Add optional hint property in getUserFeedback() to match React Native options
Fix calling forceSendOnce() just after init() errored
This is a joint Web Frontend and React Native SDKs update, which makes them completely exchangeable. This way, you only need to learn one API and you can even switch from one SDK to the other one, depending on your use case. With this update, we're also bringing support to React Native Web.
For additional details, see the migration guide. If you're importing Bugfender with a script tag, you will need to point to bugfender-v2.js
to get this version.
Bugfender.forceSendOnce()
method added. Sends all logs and issues to the server, regardless if the device is enabled or not.
Add deviceName
option that allows to name a device. If deviceName
is not set, then the platform standard device name will be used.
Sending crashes is now prioritized, first thing after initializing the SDK
Add support for React Native Web
Add documentation on how to configure Content-Security-Policy with Bugfender Web SDK
Markdown methods have been removed, since they have been already deprecated for some time
getDeviceURL
, getSessionURL
, sendIssue
, sendCrash
, and sendUserFeedback
are now asynchronous and return a Promise
When a device was disabled, the SDK did not log crashes at all. It now logs the crashes internally, so they can be sent later if the device is later enabled.
Improve memory management, so if logs can not be sent, they will be eventually discarded.
Provide defaults to version
and build
options, to make them truly optional
Added support for incognito tabs
Performance improvement when SDK is disabled
Gracefully handle app key changes in same app/domain
Get User Feedback more easily with our prebuilt UI
Improved efficiency if SDK is installed but the app has been deleted from the server
Some sanitization of user input in order to provide better errors
Print logs written to console.log() when overrideConsoleMethods=true and printToConsole=false
We improved the argument parsing of logging functions to allow for a wider range of objects to be passed and will be represented in string format
If not provided, a default app version of 0.0.0 is used, to make integration easier
Fix cross-browser compatibility when parsing Error objects (Firefox and Safari)