Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v7.4.0 #1082

Merged
merged 65 commits into from
Oct 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
9c18735
feat(react-native): Pass nativeStack to native layer if it exists
bengourley Sep 14, 2020
35548f3
ci(publish): handle 404 when @bugsnag/js is not in registry at all
twometresteve Sep 17, 2020
e806d04
docs(test): add React Native 0.63 to list of available options
twometresteve Sep 18, 2020
e07b030
feat(expo): bump netinfo version to match Expo 39
imjoehaines Sep 18, 2020
841305c
feat(expo-cli): Pick Expo <39 compatible version
imjoehaines Sep 18, 2020
786cbfd
chore(expo): remove broken and out of date build script
twometresteve Sep 18, 2020
5729ff5
ci(mac): use macOS 10.15 build queue
twometresteve Sep 18, 2020
064a3bf
ci(mac): use refined naming convention for buildkite queues
twometresteve Sep 18, 2020
b610792
test(plugin-react-native-orientation-breadcrumbs): convert tests
djskinner Sep 21, 2020
5992e44
chore: fix RN 0.63 example app setup
fractalwrench Sep 21, 2020
6f71079
Merge pull request #1055 from bugsnag/convert-tests-to-jest
djskinner Sep 21, 2020
6cb59fc
test(plugin-network-breadcrumbs): convert tests
djskinner Sep 21, 2020
ebf9d83
test(plugin-navigation-breadcrumbs): convert tests
djskinner Sep 21, 2020
f9e59f4
test(plugin-react-native-global-error-handler): convert tests
djskinner Sep 21, 2020
83c0735
test(plugin-react-native-session): convert tests
djskinner Sep 21, 2020
9e38511
Merge pull request #1056 from bugsnag/PLAT-5074
fractalwrench Sep 21, 2020
7b5f9b5
Merge pull request #1050 from bugsnag/handle-empty-npm
bengourley Sep 22, 2020
bc3200d
test(react-native): Create placeholder assertions JS errors with nati…
bengourley Sep 15, 2020
7ed53b3
feat: record "nativeStack" in an error
nickdowell Sep 18, 2020
5d8de04
Update bugsnag-cocoa
nickdowell Sep 21, 2020
b8e562b
test(react-native): Spike out tests for native stack
bengourley Sep 15, 2020
0cfd3af
dep: update RN Android AAR to support nativeStack error parsing
fractalwrench Sep 18, 2020
f50d7a2
feat(react-native): Allow plugins to be set in JS
imjoehaines Sep 22, 2020
cb2ec3a
chore: add changelog entry
imjoehaines Sep 22, 2020
847b0c6
Merge pull request #1063 from bugsnag/PLAT-5001/native-stack
fractalwrench Sep 22, 2020
9a87d34
test(expo): remove instructions for running expo tests locally on iOS
twometresteve Sep 22, 2020
37e73f5
fix(react-native): Specify Cocoa error type for native promise reject…
nickdowell Sep 22, 2020
ba8a701
Merge pull request #1062 from bugsnag/rn-native-stack-ios
fractalwrench Sep 22, 2020
ad7ada1
Merge pull request #1064 from bugsnag/allow-plugins-in-react-native
bengourley Sep 22, 2020
76af636
Merge pull request #1053 from bugsnag/build-ios-with-macos-10.15
twometresteve Sep 22, 2020
7d4f3d4
chore: add example app for React Native 0.60.0
fractalwrench Sep 24, 2020
52705a8
dep: update RN android dependency
fractalwrench Sep 24, 2020
65e3d02
Merge pull request #1069 from bugsnag/rn-native-stack/update-android
fractalwrench Sep 24, 2020
d816984
dep: bump RN bugsnag-cocoa version to next
fractalwrench Sep 25, 2020
b930904
test: verify native stacktrace parising of RN promise rejection
fractalwrench Sep 24, 2020
8fa0ea3
Merge pull request #1068 from bugsnag/rn-native-stack/example-app
fractalwrench Sep 25, 2020
bbdf5bf
Merge pull request #1070 from bugsnag/rn-native-stack/update-ios
fractalwrench Sep 25, 2020
6325c90
Merge pull request #1066 from bugsnag/rn-native-stack/mazerunner-tests
bengourley Sep 28, 2020
c6f82f6
dep(react-native): update cocoa notifier to v6.1.6
bengourley Sep 28, 2020
db828ee
Merge branch 'next' into integration/rn-native-stack
bengourley Sep 28, 2020
1d146c1
chore: Update changelog
bengourley Sep 28, 2020
1b470e5
Merge pull request #1057 from bugsnag/convert-tests-to-jest
bengourley Sep 28, 2020
5f345ca
dep(react-native): Bump cocoa to latest next
bengourley Sep 28, 2020
d76429d
refactor(examples): Handle native promise rejection so that it works …
bengourley Sep 28, 2020
ac11be7
Merge pull request #1058 from bugsnag/convert-tests-to-jest-2
djskinner Sep 28, 2020
07ed735
Merge pull request #1059 from bugsnag/convert-tests-to-jest-3
djskinner Sep 28, 2020
e027673
test(plugin-react-native-connectivity-breadcrumbs): convert tests
djskinner Sep 28, 2020
05aaaab
chore: update changelog
imjoehaines Sep 28, 2020
6ee7b2e
Merge branch 'next' into expo-39
imjoehaines Sep 28, 2020
be54a4f
Merge pull request #1052 from bugsnag/expo-39
imjoehaines Sep 29, 2020
390379a
refactor(react-native): Hold nativeStack feature until pipeline suppo…
bengourley Sep 29, 2020
97ffaa3
Merge branch 'next' into integration/rn-native-stack
bengourley Sep 29, 2020
1ccead2
test(delivery-react-native): Skip tests for commented out feature
bengourley Sep 29, 2020
d5ac2bb
Merge pull request #1074 from bugsnag/convert-tests-to-jest
djskinner Sep 29, 2020
fc53d42
test(react-native): @skip annotation doesn't work
bengourley Sep 30, 2020
6f8080e
feat(plugin-browser-device): Add anonymous ID
imjoehaines Sep 24, 2020
8e2c43f
test(browser): Add E2E tests for device.id
imjoehaines Sep 28, 2020
2e05394
Merge pull request #1072 from bugsnag/anonymous-device-id
imjoehaines Oct 1, 2020
f4e6876
Merge pull request #1061 from bugsnag/integration/rn-native-stack
bengourley Oct 1, 2020
fe008c6
Update bugsnag-android to v5.2.1
imjoehaines Oct 1, 2020
064e7ae
Update bugsnag-cocoa to v6.1.7
imjoehaines Oct 1, 2020
eaafaaf
Merge pull request #1080 from bugsnag/update-android-5.2.1
imjoehaines Oct 1, 2020
b8eac7b
Merge branch 'next' into update-cocoa-6.1.7
imjoehaines Oct 1, 2020
2f7643c
Merge pull request #1081 from bugsnag/update-cocoa-6.1.7
imjoehaines Oct 1, 2020
1a5eb80
chore: bump changelog version number
imjoehaines Oct 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .buildkite/expo-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ steps:
- label: ':docker: Build expo IPA'
timeout_in_minutes: 20
agents:
queue: "opensource-mac"
queue: "opensource-mac-expo"
env:
EXPO_RELEASE_CHANNEL: ${BUILDKITE_BUILD_ID}
artifact_paths: build/output.ipa
Expand Down
4 changes: 2 additions & 2 deletions .buildkite/react-native-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ steps:

- label: ':ios: Build React-native 0.60 ipa'
agents:
queue: "opensource-mac"
queue: "opensource-mac-rn"
env:
REACT_NATIVE_VERSION: rn0.60
artifact_paths: build/rn0.60.ipa
Expand All @@ -50,7 +50,7 @@ steps:

- label: ':ios: Build React-native 0.63 ipa'
agents:
queue: "opensource-mac"
queue: "opensource-mac-rn"
env:
REACT_NATIVE_VERSION: rn0.63
artifact_paths: build/rn0.63.ipa
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# Changelog

## 7.4.0 (2020-10-01)

### Added

- (browser): Attach an anonymous device ID to error reports and sessions when the new `generateAnonymousId` option is enabled. [#1072](https://github.com/bugsnag/bugsnag-js/pull/1072)

### Changed

- (react-native): Allow plugins to be set in the JS layer. [#1064](https://github.com/bugsnag/bugsnag-js/pull/1064)
- (expo): Add support for Expo SDK v39 [#1052](https://github.com/bugsnag/bugsnag-js/pull/1052)
- (react-native): Update bugsnag-cocoa to v6.1.7 [#1081](https://github.com/bugsnag/bugsnag-js/pull/1081)
- Re-enabled the `Require Only App-Extension-Safe API` build setting [bugsnag-cocoa#823](https://github.com/bugsnag/bugsnag-cocoa/pull/823)
- Fix reporting of events with more than one error [bugsnag-cocoa#821](https://github.com/bugsnag/bugsnag-cocoa/pull/821)
- Fix crash-on-launch (attempt to insert into immutable dictionary). [bugsnag-cocoa#819](https://github.com/bugsnag/bugsnag-cocoa/pull/819)
- Add `+[Bugsnag breadcrumbs]` to allow apps to fetch the list of breadcrumbs. [bugsnag-cocoa#813](https://github.com/bugsnag/bugsnag-cocoa/pull/813)
- Disable JSON pretty-printing in KSCrash reports to save disk space and bandwidth. [bugsnag-cocoa#802](https://github.com/bugsnag/bugsnag-cocoa/pull/802)
- Fix reporting of Mach exception code and subcode. [bugsnag-cocoa#806](https://github.com/bugsnag/bugsnag-cocoa/pull/806)
- Create date formatters at init time to avoid potential race conditions. [bugsnag-cocoa#807](https://github.com/bugsnag/bugsnag-cocoa/pull/807)
- Refactor OOM handler to be less suceptible to data loss on crash. [bugsnag-cocoa#804](https://github.com/bugsnag/bugsnag-cocoa/pull/804)
- (react-native): Update bugsnag-android to v5.2.1 [#1080](https://github.com/bugsnag/bugsnag-js/pull/1080)
- Support changing Event's api key in OnErrorCallback [bugsnag-android#928](https://github.com/bugsnag/bugsnag-android/pull/928)
- Ensure device ID is set separately to the user ID [bugsnag-android#939](https://github.com/bugsnag/bugsnag-android/pull/939)
- Improve stack traces and grouping for promise rejections on React Native < 0.63.2 [bugsnag-android#940](https://github.com/bugsnag/bugsnag-android/pull/940)
- Prevent ConcurrentModificationException thrown from Metadata class [bugsnag-android#935](https://github.com/bugsnag/bugsnag-android/pull/935)
- Prevent incorrect merge of nested maps in metadata [bugsnag-android#936](https://github.com/bugsnag/bugsnag-android/pull/936)
- Improve stack traces and grouping for React Native promise rejections [bugsnag-android#937](https://github.com/bugsnag/bugsnag-android/pull/937)

## 7.3.5 (2020-09-16)

### Fixed
Expand Down
23 changes: 2 additions & 21 deletions TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,27 +144,7 @@ EXPO_PASSWORD=xxx \
npm run test:expo:android
```

To run against an iOS device, several additional details are required. In order to provision the app the `Expotest.mobileprovision` and its accompanying certificates need to be downloaded from the shared engineering document store and additional environment variables need to be set:

- `APPLE_TEAM_ID`: The team ID to use when building the application
- `EXPO_PROVISIONING_PROFILE_PATH`: The path to the `Expotest.mobileprovision` file as mentioned above
- `EXPO_P12_PATH`: The path to the `Certificates.p12` file as mentioned above
- `EXPO_IOS_DIST_P12_PASSWORD`: The password required for the above certificate

To run against an iOS device:

```sh
DEVICE_TYPE=IOS_10 \
BROWSER_STACK_USERNAME=xxx \
BROWSER_STACK_ACCESS_KEY=xxx \
EXPO_USERNAME=xxx \
EXPO_PASSWORD=xxx \
APPLE_TEAM_ID=xxx \
EXPO_PROVISIONING_PROFILE_PATH=xxx \
EXPO_P12_PATH=xxx \
EXPO_IOS_DIST_P12_PASSWORD=xxx \
npm run test:expo:ios
```
Running tests against an iOS device locally is not currently supported.

### React-native

Expand All @@ -184,6 +164,7 @@ These should be set to the `REACT_NATIVE_VERSION` environment variable according
| React native fixture | `REACT_NATIVE_VERSION` |
|----------------------|------------------------|
| 0.60 | `rn0.60` |
| 0.63 | `rn0.63` |

The following environment variables need to be set:

Expand Down
6 changes: 6 additions & 0 deletions examples/reactnative/rn060example/.buckconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

[android]
target = Google Inc.:Google APIs:23

[maven_repositories]
central = https://repo1.maven.org/maven2
4 changes: 4 additions & 0 deletions examples/reactnative/rn060example/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native-community',
};
99 changes: 99 additions & 0 deletions examples/reactnative/rn060example/.flowconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
[ignore]
; We fork some components by platform
.*/*[.]android.js

; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/

; Ignore unexpected extra "@providesModule"
.*/node_modules/.*/node_modules/fbjs/.*

; Ignore duplicate module providers
; For RN Apps installed via npm, "Libraries" folder is inside
; "node_modules/react-native" but in the source repo it is in the root
node_modules/react-native/Libraries/react-native/React.js

; Ignore polyfills
node_modules/react-native/Libraries/polyfills/.*

; These should not be required directly
; require from fbjs/lib instead: require('fbjs/lib/warning')
node_modules/warning/.*

; Flow doesn't support platforms
.*/Libraries/Utilities/HMRLoadingView.js

[untyped]
.*/node_modules/@react-native-community/cli/.*/.*

[include]

[libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow/

[options]
emoji=true

esproposal.optional_chaining=enable
esproposal.nullish_coalescing=enable

module.file_ext=.js
module.file_ext=.json
module.file_ext=.ios.js

module.system=haste
module.system.haste.use_name_reducers=true
# get basename
module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1'
# strip .js or .js.flow suffix
module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1'
# strip .ios suffix
module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1'
module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1'
module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
module.system.haste.paths.blacklist=.*/__tests__/.*
module.system.haste.paths.blacklist=.*/__mocks__/.*
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/Libraries/.*
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/RNTester/.*
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/IntegrationTests/.*
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation.js
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/Animated/src/polyfills/.*

munge_underscores=true

module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub'

suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState

suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError

[lints]
sketchy-null-number=warn
sketchy-null-mixed=warn
sketchy-number=warn
untyped-type-import=warn
nonstrict-import=warn
deprecated-type=warn
unsafe-getters-setters=warn
inexact-spread=warn
unnecessary-invariant=warn
signature-verification-failure=warn
deprecated-utility=error

[strict]
deprecated-type
nonstrict-import
sketchy-null
unclear-type
unsafe-getters-setters
untyped-import
untyped-type-import

[version]
^0.98.0
1 change: 1 addition & 0 deletions examples/reactnative/rn060example/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pbxproj -text
59 changes: 59 additions & 0 deletions examples/reactnative/rn060example/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# OSX
#
.DS_Store

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# BUCK
buck-out/
\.buckd/
*.keystore

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/

*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots

# Bundle artifact
*.jsbundle

# CocoaPods
/ios/Pods/
1 change: 1 addition & 0 deletions examples/reactnative/rn060example/.watchmanconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
Loading