diff --git a/.changeset/bare-app-skip-expo-prebuild.md b/.changeset/bare-app-skip-expo-prebuild.md deleted file mode 100644 index 76f981cf..00000000 --- a/.changeset/bare-app-skip-expo-prebuild.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@callstack/brownfield-cli': patch -'@callstack/react-native-brownfield': patch -'@callstack/create-react-native-brownfield': patch ---- - -Support Expo modules in React Native CLI apps. `brownfield package:*` no longer runs `expo prebuild` on projects with committed `android/` and `ios/` directories, which used to delete the brownfield library module. Prebuild now runs only when the native directory is missing or gitignored. If you commit the generated directories of an Expo app, run `npx expo prebuild` yourself after changing `app.json` or config plugins. `create-react-native-brownfield` now detects Expo and sets up the iOS framework to use the Expo runtime. On a re-run after adding Expo, it also raises an existing framework target to iOS 16.4. - -`--use-prebuilt-expo` now also turns Expo's precompiled modules on or off for `pod install`, and turns on Swift explicit modules so packaging works in projects that still carry the old `SWIFT_ENABLE_EXPLICIT_MODULES = NO` workaround. It defaults to building Expo from source when the app's React Native version doesn't match the one Expo's precompiled modules were built for. - -`package:ios` now copies the expo-image dependency XCFrameworks (SDWebImage and libavif) as real files instead of symlinks into `node_modules`, so the package works when moved to another machine. - -Re-running `create-react-native-brownfield` after `pod install` no longer adds a second Sources build phase to the framework target, which made the next `pod install` fail. - -The `package:ios` script that `create-react-native-brownfield` adds now passes `--add-spm-package`, so the iOS app adds one local Swift package instead of every XCFramework. Existing scripts aren't changed. diff --git a/.changeset/expo-updates-57-launch-asset-before-start.md b/.changeset/expo-updates-57-launch-asset-before-start.md deleted file mode 100644 index a45c029b..00000000 --- a/.changeset/expo-updates-57-launch-asset-before-start.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@callstack/react-native-brownfield': patch ---- - -Fix an iOS crash with expo-updates 57 when updates are enabled. The Expo runtime no longer asks the Updates controller for its launch asset before the controller has started. diff --git a/.changeset/legacy-manifest-namespace-fallback.md b/.changeset/legacy-manifest-namespace-fallback.md deleted file mode 100644 index 326b2a39..00000000 --- a/.changeset/legacy-manifest-namespace-fallback.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@callstack/react-native-brownfield': patch ---- - -fix: resolve the namespace from AndroidManifest.xml `package` for libraries without a `namespace` in build.gradle diff --git a/.changeset/olive-parrots-invite.md b/.changeset/olive-parrots-invite.md deleted file mode 100644 index a95a6bbd..00000000 --- a/.changeset/olive-parrots-invite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@callstack/brownfield-cli': patch ---- - -respect `--destination` in `package:ios` when merging XCFrameworks diff --git a/.changeset/olive-pumas-shave.md b/.changeset/olive-pumas-shave.md deleted file mode 100644 index e376c560..00000000 --- a/.changeset/olive-pumas-shave.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@callstack/react-native-brownfield': patch ---- - -fix(android): stop the scaffolded `ReactNativeHostManager` from loading React Native twice - -The `ReactNativeHostManager.kt` generated by `npm create @callstack/react-native-brownfield` for React Native CLI projects called `loadReactNative(application)` and then `ReactNativeBrownfield.initialize(...)`. Both run `DefaultNewArchitectureEntryPoint.load()`, which overrides the React Native feature flags, so the app crashed on startup with `Feature flags cannot be overridden more than once`. - -The generated host manager now: - -- no longer calls `loadReactNative` (`ReactNativeBrownfield.initialize` already loads the native libraries and feature flags exactly once); -- passes the `ReactHost` as a factory to the non-deprecated `initialize` overload, so it is built after `SoLoader.init` instead of crashing with `SoLoader.init() not yet called`; -- keeps the one behavior `loadReactNative` provided on the side by flagging edge-to-edge when `IS_EDGE_TO_EDGE_ENABLED` is set. - -Fixes #492. diff --git a/CHANGELOG.md b/CHANGELOG.md index 276d90cb..1eddc242 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,33 @@ _History prior to 3.7.0 is available in the per-package CHANGELOG files._ +## 6.0.1 + +### Patch Changes + +- Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155)]: + - @callstack/brownfield-cli@6.0.1 + +- [#487](https://github.com/callstack/react-native-brownfield/pull/487) [`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f) Thanks [@KisaneNeko](https://github.com/KisaneNeko)! - Support Expo modules in React Native CLI apps. `brownfield package:*` no longer runs `expo prebuild` on projects with committed `android/` and `ios/` directories, which used to delete the brownfield library module. Prebuild now runs only when the native directory is missing or gitignored. If you commit the generated directories of an Expo app, run `npx expo prebuild` yourself after changing `app.json` or config plugins. `create-react-native-brownfield` now detects Expo and sets up the iOS framework to use the Expo runtime. On a re-run after adding Expo, it also raises an existing framework target to iOS 16.4. + `--use-prebuilt-expo` now also turns Expo's precompiled modules on or off for `pod install`, and turns on Swift explicit modules so packaging works in projects that still carry the old `SWIFT_ENABLE_EXPLICIT_MODULES = NO` workaround. It defaults to building Expo from source when the app's React Native version doesn't match the one Expo's precompiled modules were built for. + `package:ios` now copies the expo-image dependency XCFrameworks (SDWebImage and libavif) as real files instead of symlinks into `node_modules`, so the package works when moved to another machine. + Re-running `create-react-native-brownfield` after `pod install` no longer adds a second Sources build phase to the framework target, which made the next `pod install` fail. + The `package:ios` script that `create-react-native-brownfield` adds now passes `--add-spm-package`, so the iOS app adds one local Swift package instead of every XCFramework. Existing scripts aren't changed. + +- [#485](https://github.com/callstack/react-native-brownfield/pull/485) [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155) Thanks [@hurali97](https://github.com/hurali97)! - respect `--destination` in `package:ios` when merging XCFrameworks + +- [#508](https://github.com/callstack/react-native-brownfield/pull/508) [`7e63e20`](https://github.com/callstack/react-native-brownfield/commit/7e63e204c449ab36ce5b109ff3eb5db086260089) Thanks [@malopezr7](https://github.com/malopezr7)! - Fix an iOS crash with expo-updates 57 when updates are enabled. The Expo runtime no longer asks the Updates controller for its launch asset before the controller has started. + +- [#495](https://github.com/callstack/react-native-brownfield/pull/495) [`3b38aeb`](https://github.com/callstack/react-native-brownfield/commit/3b38aebb63810a8d1cc686bd70cccdeb279bf119) Thanks [@hurali97](https://github.com/hurali97)! - fix: resolve the namespace from AndroidManifest.xml `package` for libraries without a `namespace` in build.gradle + +- [#500](https://github.com/callstack/react-native-brownfield/pull/500) [`0f62490`](https://github.com/callstack/react-native-brownfield/commit/0f62490e7602d1aad56ee5d9eba2fd667dc0171a) Thanks [@hurali97](https://github.com/hurali97)! - fix(android): stop the scaffolded `ReactNativeHostManager` from loading React Native twice + The `ReactNativeHostManager.kt` generated by `npm create @callstack/react-native-brownfield` for React Native CLI projects called `loadReactNative(application)` and then `ReactNativeBrownfield.initialize(...)`. Both run `DefaultNewArchitectureEntryPoint.load()`, which overrides the React Native feature flags, so the app crashed on startup with `Feature flags cannot be overridden more than once`. + The generated host manager now: + - no longer calls `loadReactNative` (`ReactNativeBrownfield.initialize` already loads the native libraries and feature flags exactly once); + - passes the `ReactHost` as a factory to the non-deprecated `initialize` overload, so it is built after `SoLoader.init` instead of crashing with `SoLoader.init() not yet called`; + - keeps the one behavior `loadReactNative` provided on the side by flagging edge-to-edge when `IS_EDGE_TO_EDGE_ENABLED` is set. + Fixes [#492](https://github.com/callstack/react-native-brownfield/issues/492). + ## 6.0.0 ### Major Changes diff --git a/packages/brownfield-navigation/CHANGELOG.md b/packages/brownfield-navigation/CHANGELOG.md index 35bbb63c..1bb7e352 100644 --- a/packages/brownfield-navigation/CHANGELOG.md +++ b/packages/brownfield-navigation/CHANGELOG.md @@ -1,5 +1,12 @@ # @callstack/brownfield-navigation +## 6.0.1 + +### Patch Changes + +- Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155)]: + - @callstack/brownfield-cli@6.0.1 + ## 6.0.0 ### Patch Changes diff --git a/packages/brownfield-navigation/package.json b/packages/brownfield-navigation/package.json index d4f19732..81cdc4bb 100644 --- a/packages/brownfield-navigation/package.json +++ b/packages/brownfield-navigation/package.json @@ -1,6 +1,6 @@ { "name": "@callstack/brownfield-navigation", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "author": "Hur Ali", "description": "Brownfield navigation helpers for React Native", diff --git a/packages/brownfield/CHANGELOG.md b/packages/brownfield/CHANGELOG.md index 19b54aaf..2ca603bf 100644 --- a/packages/brownfield/CHANGELOG.md +++ b/packages/brownfield/CHANGELOG.md @@ -1,5 +1,12 @@ # brownfield +## 6.0.1 + +### Patch Changes + +- Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155)]: + - @callstack/brownfield-cli@6.0.1 + ## 6.0.0 ### Patch Changes diff --git a/packages/brownfield/package.json b/packages/brownfield/package.json index 3a5377db..bb3b399a 100644 --- a/packages/brownfield/package.json +++ b/packages/brownfield/package.json @@ -1,6 +1,6 @@ { "name": "brownfield", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "author": "Artur Morys-Magiera ", "bin": "dist/index.js", diff --git a/packages/brownie/CHANGELOG.md b/packages/brownie/CHANGELOG.md index 2d4393bf..a95f169f 100644 --- a/packages/brownie/CHANGELOG.md +++ b/packages/brownie/CHANGELOG.md @@ -1,5 +1,12 @@ # @callstack/brownie +## 6.0.1 + +### Patch Changes + +- Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155)]: + - @callstack/brownfield-cli@6.0.1 + ## 6.0.0 ### Patch Changes diff --git a/packages/brownie/package.json b/packages/brownie/package.json index 73d44827..3d0912f3 100644 --- a/packages/brownie/package.json +++ b/packages/brownie/package.json @@ -1,6 +1,6 @@ { "name": "@callstack/brownie", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "author": "Oskar Kwaƛniewski ", "bin": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 364f2982..60530647 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,21 @@ # @callstack/brownfield-cli +## 6.0.1 + +### Patch Changes + +- [#487](https://github.com/callstack/react-native-brownfield/pull/487) [`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f) Thanks [@KisaneNeko](https://github.com/KisaneNeko)! - Support Expo modules in React Native CLI apps. `brownfield package:*` no longer runs `expo prebuild` on projects with committed `android/` and `ios/` directories, which used to delete the brownfield library module. Prebuild now runs only when the native directory is missing or gitignored. If you commit the generated directories of an Expo app, run `npx expo prebuild` yourself after changing `app.json` or config plugins. `create-react-native-brownfield` now detects Expo and sets up the iOS framework to use the Expo runtime. On a re-run after adding Expo, it also raises an existing framework target to iOS 16.4. + + `--use-prebuilt-expo` now also turns Expo's precompiled modules on or off for `pod install`, and turns on Swift explicit modules so packaging works in projects that still carry the old `SWIFT_ENABLE_EXPLICIT_MODULES = NO` workaround. It defaults to building Expo from source when the app's React Native version doesn't match the one Expo's precompiled modules were built for. + + `package:ios` now copies the expo-image dependency XCFrameworks (SDWebImage and libavif) as real files instead of symlinks into `node_modules`, so the package works when moved to another machine. + + Re-running `create-react-native-brownfield` after `pod install` no longer adds a second Sources build phase to the framework target, which made the next `pod install` fail. + + The `package:ios` script that `create-react-native-brownfield` adds now passes `--add-spm-package`, so the iOS app adds one local Swift package instead of every XCFramework. Existing scripts aren't changed. + +- [#485](https://github.com/callstack/react-native-brownfield/pull/485) [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155) Thanks [@hurali97](https://github.com/hurali97)! - respect `--destination` in `package:ios` when merging XCFrameworks + ## 6.0.0 ## 5.3.0 diff --git a/packages/cli/package.json b/packages/cli/package.json index 16108769..4d805e38 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@callstack/brownfield-cli", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "author": "Artur Morys-Magiera ", "bin": { diff --git a/packages/create-react-native-brownfield/CHANGELOG.md b/packages/create-react-native-brownfield/CHANGELOG.md index 186c1543..71141abf 100644 --- a/packages/create-react-native-brownfield/CHANGELOG.md +++ b/packages/create-react-native-brownfield/CHANGELOG.md @@ -1,5 +1,22 @@ # @callstack/create-react-native-brownfield +## 6.0.1 + +### Patch Changes + +- [#487](https://github.com/callstack/react-native-brownfield/pull/487) [`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f) Thanks [@KisaneNeko](https://github.com/KisaneNeko)! - Support Expo modules in React Native CLI apps. `brownfield package:*` no longer runs `expo prebuild` on projects with committed `android/` and `ios/` directories, which used to delete the brownfield library module. Prebuild now runs only when the native directory is missing or gitignored. If you commit the generated directories of an Expo app, run `npx expo prebuild` yourself after changing `app.json` or config plugins. `create-react-native-brownfield` now detects Expo and sets up the iOS framework to use the Expo runtime. On a re-run after adding Expo, it also raises an existing framework target to iOS 16.4. + + `--use-prebuilt-expo` now also turns Expo's precompiled modules on or off for `pod install`, and turns on Swift explicit modules so packaging works in projects that still carry the old `SWIFT_ENABLE_EXPLICIT_MODULES = NO` workaround. It defaults to building Expo from source when the app's React Native version doesn't match the one Expo's precompiled modules were built for. + + `package:ios` now copies the expo-image dependency XCFrameworks (SDWebImage and libavif) as real files instead of symlinks into `node_modules`, so the package works when moved to another machine. + + Re-running `create-react-native-brownfield` after `pod install` no longer adds a second Sources build phase to the framework target, which made the next `pod install` fail. + + The `package:ios` script that `create-react-native-brownfield` adds now passes `--add-spm-package`, so the iOS app adds one local Swift package instead of every XCFramework. Existing scripts aren't changed. + +- Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`7e63e20`](https://github.com/callstack/react-native-brownfield/commit/7e63e204c449ab36ce5b109ff3eb5db086260089), [`3b38aeb`](https://github.com/callstack/react-native-brownfield/commit/3b38aebb63810a8d1cc686bd70cccdeb279bf119), [`0f62490`](https://github.com/callstack/react-native-brownfield/commit/0f62490e7602d1aad56ee5d9eba2fd667dc0171a)]: + - @callstack/react-native-brownfield@6.0.1 + ## 6.0.0 ### Patch Changes diff --git a/packages/create-react-native-brownfield/package.json b/packages/create-react-native-brownfield/package.json index 3310260d..a037829e 100644 --- a/packages/create-react-native-brownfield/package.json +++ b/packages/create-react-native-brownfield/package.json @@ -1,6 +1,6 @@ { "name": "@callstack/create-react-native-brownfield", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "author": "Callstack", "bin": "dist/main.js", diff --git a/packages/react-native-brownfield/CHANGELOG.md b/packages/react-native-brownfield/CHANGELOG.md index c0869644..3e2244b1 100644 --- a/packages/react-native-brownfield/CHANGELOG.md +++ b/packages/react-native-brownfield/CHANGELOG.md @@ -1,5 +1,37 @@ # @callstack/react-native-brownfield +## 6.0.1 + +### Patch Changes + +- [#487](https://github.com/callstack/react-native-brownfield/pull/487) [`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f) Thanks [@KisaneNeko](https://github.com/KisaneNeko)! - Support Expo modules in React Native CLI apps. `brownfield package:*` no longer runs `expo prebuild` on projects with committed `android/` and `ios/` directories, which used to delete the brownfield library module. Prebuild now runs only when the native directory is missing or gitignored. If you commit the generated directories of an Expo app, run `npx expo prebuild` yourself after changing `app.json` or config plugins. `create-react-native-brownfield` now detects Expo and sets up the iOS framework to use the Expo runtime. On a re-run after adding Expo, it also raises an existing framework target to iOS 16.4. + + `--use-prebuilt-expo` now also turns Expo's precompiled modules on or off for `pod install`, and turns on Swift explicit modules so packaging works in projects that still carry the old `SWIFT_ENABLE_EXPLICIT_MODULES = NO` workaround. It defaults to building Expo from source when the app's React Native version doesn't match the one Expo's precompiled modules were built for. + + `package:ios` now copies the expo-image dependency XCFrameworks (SDWebImage and libavif) as real files instead of symlinks into `node_modules`, so the package works when moved to another machine. + + Re-running `create-react-native-brownfield` after `pod install` no longer adds a second Sources build phase to the framework target, which made the next `pod install` fail. + + The `package:ios` script that `create-react-native-brownfield` adds now passes `--add-spm-package`, so the iOS app adds one local Swift package instead of every XCFramework. Existing scripts aren't changed. + +- [#508](https://github.com/callstack/react-native-brownfield/pull/508) [`7e63e20`](https://github.com/callstack/react-native-brownfield/commit/7e63e204c449ab36ce5b109ff3eb5db086260089) Thanks [@malopezr7](https://github.com/malopezr7)! - Fix an iOS crash with expo-updates 57 when updates are enabled. The Expo runtime no longer asks the Updates controller for its launch asset before the controller has started. + +- [#495](https://github.com/callstack/react-native-brownfield/pull/495) [`3b38aeb`](https://github.com/callstack/react-native-brownfield/commit/3b38aebb63810a8d1cc686bd70cccdeb279bf119) Thanks [@hurali97](https://github.com/hurali97)! - fix: resolve the namespace from AndroidManifest.xml `package` for libraries without a `namespace` in build.gradle + +- [#500](https://github.com/callstack/react-native-brownfield/pull/500) [`0f62490`](https://github.com/callstack/react-native-brownfield/commit/0f62490e7602d1aad56ee5d9eba2fd667dc0171a) Thanks [@hurali97](https://github.com/hurali97)! - fix(android): stop the scaffolded `ReactNativeHostManager` from loading React Native twice + + The `ReactNativeHostManager.kt` generated by `npm create @callstack/react-native-brownfield` for React Native CLI projects called `loadReactNative(application)` and then `ReactNativeBrownfield.initialize(...)`. Both run `DefaultNewArchitectureEntryPoint.load()`, which overrides the React Native feature flags, so the app crashed on startup with `Feature flags cannot be overridden more than once`. + + The generated host manager now: + - no longer calls `loadReactNative` (`ReactNativeBrownfield.initialize` already loads the native libraries and feature flags exactly once); + - passes the `ReactHost` as a factory to the non-deprecated `initialize` overload, so it is built after `SoLoader.init` instead of crashing with `SoLoader.init() not yet called`; + - keeps the one behavior `loadReactNative` provided on the side by flagging edge-to-edge when `IS_EDGE_TO_EDGE_ENABLED` is set. + + Fixes [#492](https://github.com/callstack/react-native-brownfield/issues/492). + +- Updated dependencies [[`79817d1`](https://github.com/callstack/react-native-brownfield/commit/79817d1a21b0cb28ae63d41e935c57af8e7db39f), [`69fe3e3`](https://github.com/callstack/react-native-brownfield/commit/69fe3e3f05a49036cae1f3564a47ef3eed186155)]: + - @callstack/brownfield-cli@6.0.1 + ## 6.0.0 ### Major Changes diff --git a/packages/react-native-brownfield/package.json b/packages/react-native-brownfield/package.json index 6269faf1..c6c7f887 100644 --- a/packages/react-native-brownfield/package.json +++ b/packages/react-native-brownfield/package.json @@ -1,6 +1,6 @@ { "name": "@callstack/react-native-brownfield", - "version": "6.0.0", + "version": "6.0.1", "license": "MIT", "author": "Michal Chudziak ", "bin": {