- [ ] Make a low priority task to test stacktrace logic cross browser
- [ ] Ensure `noConflict()` is not necessary and/or document how to instantiate multiple clients in the same environment

- [x] Logging. Do we/don't we?
- [x] Configuration of external plugins, consistency?
- [x] Refer to Ruby upgrade guide for example on changing `notify()` usage
- [x] In v4 implementation of `notify(err, opts)` coerce null -> {}
- [x] Deal with CORS script error things https://docs.bugsnag.com/platforms/browsers/faq/#3-cross-origin-script-errors
- [x] In v4 implementation of `notify()` warn of deprecated `notifyException(string, string)` usage. Attach arguments as `metaData`.
- [x] Augment `BugsnagReport.ensureReport()` to account for objects like the jQuery error event, and any other obvious/pertinent examples
- [x] Test bad user input for unhandled rejection plugin
- [x] Ensure opts passed to notify() merge with sensible precedence
- [x] Chain existing window.onerror function
- [x] Merge the inline script PR
- [x] Check the length of the stringified payload (limit 1MB)
- [x] Ensure breadcrumb limit can be set to 0
- [x] Reorder `leaveBreadcrumb()` arguments: `name` `metaData`, `type`, `timestamp`
- [x] Ensure only valid-shaped breadcrumbs get recorded
- [x] Ensure no duplicates in breadcrumbs
- [x] Only leaveBreadcrumb() for errors if it actually sent
