Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ steps:
key: "build-expo-ipa"
timeout_in_minutes: 20
agents:
queue: "macos-14"
queue: "macos-15"
env:
EXPO_RELEASE_CHANNEL: ${BUILDKITE_BUILD_ID}
XCODE_VERSION: "15.3.0"
XCODE_VERSION: "16.3.0"
NODE_VERSION: "18.18"
artifact_paths: build/output.ipa
commands:
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## [53.0.0] - 2025-05-21

This release adds support for Expo 53

### Breaking Changes

`@bugsnag/core` and internal plugins have been updated from v7.x to v8.x. See the [upgrade guide](UPGRADING.md) for more information.

## [52.0.1] - 2025-02-20

### Changed
Expand Down
12 changes: 12 additions & 0 deletions UPGRADING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Upgrading

## v52.x to v53.x

This release upgrades `@bugsnag/core` and internal plugin dependencies from v7.x to v8.x, which introduces some breaking changes:

### `request` replaced with `url` and `method` in network breadcrumb metadata

Prior to v8, network breadcrumb metadata included a field named `request`, which contained the request URL prepended with the HTTP method (e.g. `"GET https://request-url.com/`). This has been replaced with two separate metadata fields named `url` and `method`, which contain the request URL and HTTP method respectively.

### Validation of BugSnag endpoints

As of v8, for consistency with other BugSnag platforms, if only one [endpoint](https://docs.bugsnag.com/platforms/javascript/configuration-options/#endpoints) is set in configuration, no events **or** sessions will be sent. To correctly setup BugSnag for on-premise, both `notify` and `sessions` endpoint should be set. This change reduces the possibility of a misconfigured client leaking data to the wrong BugSnag server.

## v50.x to v51.x

This release contains an additional peer dependency on `expo-secure-store` for persistence of a device ID between app launches (previously provided by the deprecated `Constants.installationId` field) for User Stability calculations.
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
12 changes: 6 additions & 6 deletions examples/expo-52/package.json → examples/expo-53/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "expo-52",
"name": "expo-53",
"version": "1.0.0",
"private": true,
"scripts": {
Expand All @@ -9,12 +9,12 @@
},
"dependencies": {
"@bugsnag/expo": "^52.0.0",
"expo": "~52.0.11",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-native": "0.76.3"
"expo": "~53.0.9",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-native": "0.79.2"
},
"devDependencies": {
"@babel/core": "^7.19.3"
"@babel/core": "^7.20.0"
}
}
File renamed without changes.
8 changes: 6 additions & 2 deletions features/auto_breadcrumbs.feature
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,9 @@ Scenario: Network breadcrumbs are captured by default
And the exception "message" equals "defaultNetworkBreadcrumbsBehaviour"
And the event has a "request" breadcrumb named "XMLHttpRequest succeeded"
And the event "breadcrumbs.1.metaData.status" equals 200
And the event "breadcrumbs.1.metaData.request" equals "GET https://postman-echo.com/get"
And the event "breadcrumbs.1.metaData.method" equals "GET"
And the event "breadcrumbs.1.metaData.url" equals "https://postman-echo.com/get"
And the event "breadcrumbs.1.metaData.duration" is not null
And the error Bugsnag-Integrity header is valid

Scenario: Network breadcrumbs can be disabled explicitly
Expand Down Expand Up @@ -148,5 +150,7 @@ Scenario: Network breadcrumbs overrides auto-breadcrumbs
And the exception "message" equals "overrideNetworkBreadcrumbsBehaviour"
And the event has a "request" breadcrumb named "XMLHttpRequest succeeded"
And the event "breadcrumbs.0.metaData.status" equals 200
And the event "breadcrumbs.0.metaData.request" equals "GET https://postman-echo.com/get"
And the event "breadcrumbs.0.metaData.method" equals "GET"
And the event "breadcrumbs.0.metaData.url" equals "https://postman-echo.com/get"
And the event "breadcrumbs.0.metaData.duration" is not null
And the error Bugsnag-Integrity header is valid
14 changes: 9 additions & 5 deletions features/fixtures/test-app/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"buildNumber": "1",
"infoPlist": {
"NSAppTransportSecurity": {
"NSExceptionDomains": {
"bs-local.com": {
"NSExceptionAllowsInsecureHTTPLoads": true
}
"NSExceptionDomains": {
"bs-local.com": {
"NSExceptionAllowsInsecureHTTPLoads": true
}
}
}
}
Expand All @@ -43,7 +43,11 @@
"web": {
"favicon": "./assets/favicon.png"
},
"plugins": ["./config-plugins/withRemoveiOSNotificationEntitlement", "./config-plugins/withAddClearTextTrafficAndroid"],
"plugins": [
"./config-plugins/withRemoveiOSNotificationEntitlement",
"./config-plugins/withAddClearTextTrafficAndroid",
"expo-secure-store"
],
"extra": {
"eas": {
"projectId": "EXPO_EAS_PROJECT_ID"
Expand Down
3 changes: 2 additions & 1 deletion features/fixtures/test-app/eas.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"cli": {
"version": ">= 8.0.0"
"version": ">= 8.0.0",
"appVersionSource": "local"
},
"build": {
"production": {
Expand Down
24 changes: 12 additions & 12 deletions features/fixtures/test-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "test-fixture",
"version": "52.0.0",
"version": "53.0.0",
"main": "index.js",
"scripts": {
"start": "expo start",
Expand All @@ -10,17 +10,17 @@
"dependencies": {
"@bugsnag/expo": "*",
"@react-native-community/netinfo": "11.4.1",
"expo": "^52.0.0",
"expo-application": "~6.0.1",
"expo-constants": "~17.0.3",
"expo-crypto": "~14.0.1",
"expo-device": "~7.0.1",
"expo-file-system": "~18.0.4",
"expo-screen-orientation": "~8.0.0",
"expo-secure-store": "~14.0.0",
"expo-status-bar": "~2.0.0",
"react": "18.3.1",
"react-native": "0.76.7"
"expo": "^53.0.9",
"expo-application": "~6.1.4",
"expo-constants": "~17.1.6",
"expo-crypto": "~14.1.4",
"expo-device": "~7.1.4",
"expo-file-system": "~18.1.10",
"expo-screen-orientation": "~8.1.6",
"expo-secure-store": "~14.2.3",
"expo-status-bar": "~2.2.3",
"react": "19.0.0",
"react-native": "0.79.2"
},
"devDependencies": {
"@babel/core": "^7.20.0",
Expand Down
2 changes: 1 addition & 1 deletion features/scripts/build-android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

pushd features/fixtures/test-app

eas build \
npx eas-cli@latest build \
--local \
-p android \
--output output.apk
Expand Down
2 changes: 1 addition & 1 deletion features/scripts/build-ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fi

pushd features/fixtures/test-app

eas build \
npx eas-cli@latest build \
--local \
-p ios \
--output output.ipa \
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-react": "^7.18.3",
"eslint-plugin-standard": "^4.0.1",
"expo": "^52.0.0",
"expo": "^53.0.0",
"jest": "^29.3.1",
"jest-expo": "~52.0.2",
"jest-expo": "~53.0.5",
"lerna": "^8.0.2",
"react": "18.3.1",
"react-native": "0.76.7",
"react": "19.0.0",
"react-native": "0.79.2",
"verdaccio": "^5.10.2"
},
"scripts": {
Expand Down
12 changes: 6 additions & 6 deletions packages/delivery-expo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@
"author": "Bugsnag",
"license": "MIT",
"devDependencies": {
"@bugsnag/core": "^7.22.7",
"@bugsnag/core": "^8.2.0",
"@react-native-community/netinfo": "11.4.1",
"expo-crypto": "~14.0.1",
"expo-file-system": "~18.0.4"
"expo-crypto": "~14.1.4",
"expo-file-system": "~18.1.10"
},
"peerDependencies": {
"@bugsnag/core": "^7.22.7",
"@bugsnag/core": "^8.2.0",
"@react-native-community/netinfo": "11.4.1",
"expo-crypto": "~14.0.1",
"expo-file-system": "~18.0.4"
"expo-crypto": "~14.1.4",
"expo-file-system": "~18.1.10"
}
}
2 changes: 1 addition & 1 deletion packages/expo-cli/lib/version-information.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const semver = require('semver')

// the major version number of the latest Expo SDK we support
const LATEST_SUPPORTED_EXPO_SDK = 52
const LATEST_SUPPORTED_EXPO_SDK = 53

class Version {
constructor (expoSdkVersion, bugsnagVersion, isLegacy = false) {
Expand Down
22 changes: 11 additions & 11 deletions packages/expo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,28 +32,28 @@
"author": "Bugsnag",
"license": "MIT",
"dependencies": {
"@bugsnag/core": "^7.22.7",
"@bugsnag/core": "^8.2.0",
"@bugsnag/delivery-expo": "^52.0.0",
"@bugsnag/plugin-browser-session": "^7.22.7",
"@bugsnag/plugin-console-breadcrumbs": "^7.22.7",
"@bugsnag/plugin-browser-session": "^8.2.0",
"@bugsnag/plugin-console-breadcrumbs": "^8.2.0",
"@bugsnag/plugin-expo-app": "^52.0.0",
"@bugsnag/plugin-expo-app-state-breadcrumbs": "^52.0.0",
"@bugsnag/plugin-expo-connectivity-breadcrumbs": "^52.0.0",
"@bugsnag/plugin-expo-device": "^52.0.0",
"@bugsnag/plugin-network-breadcrumbs": "^7.22.7",
"@bugsnag/plugin-react": "^7.22.7",
"@bugsnag/plugin-react-native-global-error-handler": "^7.22.7",
"@bugsnag/plugin-react-native-orientation-breadcrumbs": "^7.22.7",
"@bugsnag/plugin-react-native-unhandled-rejection": "^7.22.7",
"@bugsnag/plugin-network-breadcrumbs": "^8.2.0",
"@bugsnag/plugin-react": "^8.2.0",
"@bugsnag/plugin-react-native-global-error-handler": "^8.2.0",
"@bugsnag/plugin-react-native-orientation-breadcrumbs": "^8.2.0",
"@bugsnag/plugin-react-native-unhandled-rejection": "^8.2.0",
"@bugsnag/source-maps": "^2.3.3",
"bugsnag-build-reporter": "^2.0.0"
},
"devDependencies": {
"expo-constants": "~17.0.3"
"expo-constants": "~17.1.6"
},
"peerDependencies": {
"expo": "^52.0.0",
"expo-constants": "~17.0.3",
"expo": "^53.0.0",
"expo-constants": "~17.1.6",
"promise": "^8.3.0",
"react": "*"
}
Expand Down
4 changes: 2 additions & 2 deletions packages/plugin-expo-app-state-breadcrumbs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
"author": "Bugsnag",
"license": "MIT",
"devDependencies": {
"@bugsnag/core": "^7.16.1"
"@bugsnag/core": "^8.2.0"
},
"peerDependencies": {
"@bugsnag/core": "^7.0.0"
"@bugsnag/core": "^8.0.0"
}
}
12 changes: 6 additions & 6 deletions packages/plugin-expo-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@
"author": "Bugsnag",
"license": "MIT",
"devDependencies": {
"@bugsnag/core": "^7.19.0",
"expo-application": "~6.0.1",
"expo-constants": "~17.0.3"
"@bugsnag/core": "^8.2.0",
"expo-application": "~6.1.4",
"expo-constants": "~17.1.6"
},
"peerDependencies": {
"@bugsnag/core": "^7.0.0",
"expo-application": "~6.0.1",
"expo-constants": "~17.0.3"
"@bugsnag/core": "^8.0.0",
"expo-application": "~6.1.4",
"expo-constants": "~17.1.6"
}
}
4 changes: 2 additions & 2 deletions packages/plugin-expo-connectivity-breadcrumbs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
"author": "Bugsnag",
"license": "MIT",
"devDependencies": {
"@bugsnag/core": "^7.16.0",
"@bugsnag/core": "^8.2.0",
"@react-native-community/netinfo": "11.4.1"
},
"peerDependencies": {
"@bugsnag/core": "^7.0.0",
"@bugsnag/core": "^8.0.0",
"@react-native-community/netinfo": "11.4.1"
}
}
16 changes: 8 additions & 8 deletions packages/plugin-expo-device/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@
"@bugsnag/cuid": "^3.1.1"
},
"devDependencies": {
"@bugsnag/core": "^7.16.0",
"expo-constants": "~17.0.3",
"expo-device": "~7.0.1",
"expo-secure-store": "~14.0.0"
"@bugsnag/core": "^8.2.0",
"expo-constants": "~17.1.6",
"expo-device": "~7.1.4",
"expo-secure-store": "~14.2.3"
},
"peerDependencies": {
"@bugsnag/core": "^7.0.0",
"expo-constants": "~17.0.3",
"expo-device": "~7.0.1",
"expo-secure-store": "~14.0.0"
"@bugsnag/core": "^8.0.0",
"expo-constants": "~17.1.6",
"expo-device": "~7.1.4",
"expo-secure-store": "~14.2.3"
}
}
2 changes: 1 addition & 1 deletion packages/plugin-expo-eas-sourcemaps/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
},
"peerDependencies": {
"@bugsnag/source-maps": "^2.3.3",
"@expo/config": "~10.0.2"
"@expo/config": "~11.0.10"
},
"author": "Bugsnag",
"license": "MIT"
Expand Down