Skip to content

Commit 9a6e010

Browse files
authored
Release 25.0.0 (#679)
* Fix Android * Bump version + changelog * Fix * WIP * Fix build issues * Update to new safe area * Update changelog to Aug 21 * Fix CI
1 parent e11799d commit 9a6e010

31 files changed

+3136
-4872
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
node-version-file: .nvmrc
2828
cache: 'npm'
2929

30-
- run: npm run bootstrap
30+
- run: npm ci
3131
- run: bash ./scripts/run_ci_tasks.sh -i
3232
- run: bash ./scripts/run_ci_tasks.sh -a
3333

@@ -58,7 +58,7 @@ jobs:
5858

5959
- run: sed -i '' "s/ENV\['RCT_NEW_ARCH_ENABLED'\] = '1'/ENV\['RCT_NEW_ARCH_ENABLED'\] = '0'/g" example/ios/Podfile
6060
- run: sed -i '' 's/newArchEnabled=true/newArchEnabled=false/' example/android/gradle.properties
61-
- run: npm run bootstrap
61+
- run: npm ci
6262
- run: bash ./scripts/run_ci_tasks.sh -a
6363

6464

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
service_account_email: ${{ secrets.GCP_SA_EMAIL }}
5555
service_account_key: ${{ secrets.GCP_SA_KEY }}
5656

57-
- run: npm run bootstrap
57+
- run: npm ci
5858
- run: npm run docs
5959
- run: bash ./scripts/upload_docs.sh ${GITHUB_REF/refs\/tags\//}
6060

CHANGELOG.md

Lines changed: 4 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,10 @@
1-
# React Native Module Changelog
1+
# React Native Module 25.0.0 Changelog
22

33
[Migration Guides](https://github.com/urbanairship/react-native-airship/blob/main/MIGRATION.md)
44
[All Releases](https://github.com/urbanairship/react-native-airship/releases)
55

6-
## Version 24.5.1 - August 19, 2025
7-
Patch release with several bug fixes for Scenes, including an important reporting fix for embedded content.
6+
## Version 25.0.0 - August 21, 2025
7+
Major release to support React Native 0.81.
88

99
### Changes
10-
- Updated Android SDK to [19.10.2](https://github.com/urbanairship/android-library/releases/tag/19.10.2)
11-
- Updated iOS SDK to [19.8.2](https://github.com/urbanairship/ios-library/releases/tag/19.8.2)
12-
13-
14-
## Version 24.5.0 - July 31, 2025
15-
Minor release that updates the Android SDK to 19.10.0 and the iOS SDK to 19.7.0
16-
17-
### Changes
18-
- Updated Android SDK to [19.10.0](https://github.com/urbanairship/android-library/releases/tag/19.10.0)
19-
- Updated iOS SDK to [19.7.0](https://github.com/urbanairship/ios-library/releases/tag/19.7.0)
20-
21-
## Version 24.4.0 - June 25, 2025
22-
Minor release that updates the Android SDK to 19.9.1 and the iOS SDK to 19.6.1
23-
24-
### Changes
25-
- Updated Android SDK to [19.9.1](https://github.com/urbanairship/android-library/releases/tag/19.9.1
26-
- Updated iOS SDK to [19.6.1](https://github.com/urbanairship/ios-library/releases/tag/19.6.1
27-
- Added Android `logPrivacyLevel` configuration support
28-
- Fixed issue with push received pushes when disabling headless JS task before the module initializes
29-
30-
## Version 24.3.0 - May 23, 2025
31-
Minor release focused on performance improvements for Scenes.
32-
33-
### Changes
34-
- Updated Android SDK to [19.8.0](https://github.com/urbanairship/android-library/releases/tag/19.8.0)
35-
- Updated iOS SDK to [19.5.0](https://github.com/urbanairship/ios-library/releases/tag/19.5.0)
36-
37-
## Version 24.2.0 - May 15, 2025
38-
Minor release that adds support for using Feature Flags as an audience condition for other Feature Flags and Vimeo videos in Scenes.
39-
40-
### Changes
41-
- Added support for using Feature Flags as an audience condition for other Feature Flags.
42-
- Added support for Vimeo videos in Scenes.
43-
- Updated Android SDK to [19.7.0](https://github.com/urbanairship/android-library/releases/tag/19.7.0)
44-
- Updated iOS SDK to [19.4.0](https://github.com/urbanairship/ios-library/releases/tag/19.4.0)
45-
46-
## Version 24.1.1 - May 9, 2025
47-
Patch release with several bug fixes for iOS.
48-
49-
### Changes
50-
- Fixed `Airship.preferenceCenter.getConfig(preferenceCenterId)` on iOS
51-
- Updated iOS SDK to [19.3.2](https://github.com/urbanairship/ios-library/releases/tag/19.3.2)
52-
53-
## Version 24.1.0 - May 1, 2025
54-
Minor release that updates the Android SDK to 19.6.2 and the iOS SDK to 19.3.1.
55-
56-
### Changes
57-
- Updated Android SDK to [19.6.2](https://github.com/urbanairship/android-library/releases/tag/19.6.2)
58-
- Updated iOS SDK to [19.3.1](https://github.com/urbanairship/ios-library/releases/tag/19.3.1)
59-
- Added support for JSON attributes
60-
- Added new method `Airship.channel.waitForChannelId()` that waits for the channel ID to be created
61-
62-
## Version 24.0.0 - April 18, 2025
63-
Major release to support React Native 0.79.
64-
65-
### Changes
66-
- Added support for React Native 0.79
10+
- Added support for React Native 0.81

DEV_README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The example is set up to reference the module using a yarn workspace.
77
Execute the following command in the root directory
88

99
```
10-
npm run bootstrap install
10+
npm ci
1111
```
1212

1313
2) Run Android

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ A React Native module for Airship's iOS and Android SDK.
66

77
| RN Version | Airship RN Version | Support level |
88
| --------------- | -------------------------- | ------------- |
9+
| 0.81.x | 25.x | Active |
910
| 0.80.x | 24.x | Active |
10-
| 0.79.x | 24.x | Active |
11-
| 0.78.x | 23.x | End of Cycle |
11+
| 0.79.x | 24.x | End of Cycle |
12+
| 0.78.x | 23.x | Unsupported |
1213
| 0.70.x<=0.77.x | 21.x | Unsupported |
1314

14-
*Last Updated: June 30, 2025*
15+
*Last Updated: August 20, 2025*
1516

1617
Airship adheres to the [React Native Support Policy](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md)
1718
and will support at least two major React Native versions at any given time.

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ buildscript {
1111
}
1212

1313
dependencies {
14-
classpath "com.android.tools.build:gradle:8.7.3"
14+
classpath "com.android.tools.build:gradle:8.11.1"
1515
// noinspection DifferentKotlinGradleVersion
1616
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
1717
}

android/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Airship_kotlinVersion=1.9.24
1+
Airship_kotlinVersion=2.1.20
22
Airship_minSdkVersion=23
3-
Airship_targetSdkVersion=35
4-
Airship_compileSdkVersion=35
3+
Airship_targetSdkVersion=36
4+
Airship_compileSdkVersion=36
55
Airship_ndkversion=26.1.10909125
66
Airship_airshipProxyVersion=14.6.1

android/src/main/java/com/urbanairship/reactnative/AirshipPackage.kt

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package com.urbanairship.reactnative
22

3-
import com.facebook.react.TurboReactPackage
4-
import com.facebook.react.bridge.ReactApplicationContext
3+
import com.facebook.react.BaseReactPackage
54
import com.facebook.react.bridge.NativeModule
6-
import com.facebook.react.module.model.ReactModuleInfoProvider
5+
import com.facebook.react.bridge.ReactApplicationContext
76
import com.facebook.react.module.model.ReactModuleInfo
7+
import com.facebook.react.module.model.ReactModuleInfoProvider
88
import com.facebook.react.uimanager.ViewManager
9-
import java.util.HashMap
109

11-
class AirshipPackage : TurboReactPackage() {
10+
class AirshipPackage : BaseReactPackage() {
1211
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
1312
return if (name == AirshipModule.NAME) {
1413
AirshipModule(reactContext)
@@ -20,21 +19,18 @@ class AirshipPackage : TurboReactPackage() {
2019
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
2120
return ReactModuleInfoProvider {
2221
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
23-
val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
2422
moduleInfos[AirshipModule.NAME] = ReactModuleInfo(
25-
AirshipModule.NAME,
26-
AirshipModule.NAME,
27-
false, // canOverrideExistingModule
28-
false, // needsEagerInit
29-
true, // hasConstants
30-
false, // isCxxModule
31-
isTurboModule // isTurboModule
23+
name =AirshipModule.NAME,
24+
className = AirshipModule.NAME,
25+
canOverrideExistingModule = false,
26+
needsEagerInit = false,
27+
isCxxModule = false, // isCxxModule
28+
isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED // isTurboModule
3229
)
3330
moduleInfos
3431
}
3532
}
3633

37-
3834
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
3935
return listOf<ViewManager<*, *>>(ReactMessageViewManager(), ReactEmbeddedViewManager())
4036
}

android/src/main/java/com/urbanairship/reactnative/ReactEmbeddedViewManager.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
package com.urbanairship.reactnative
44

5+
import com.facebook.react.bridge.ReadableArray
56
import com.facebook.react.uimanager.SimpleViewManager
67
import com.facebook.react.uimanager.ThemedReactContext
78
import com.facebook.react.uimanager.ViewManagerDelegate
@@ -20,8 +21,12 @@ class ReactEmbeddedViewManager : SimpleViewManager<ReactEmbeddedView>(),
2021
}
2122
}
2223

23-
override fun receiveCommand(view: ReactEmbeddedView, commandName: String, args: com.facebook.react.bridge.ReadableArray?) {
24-
// No commands supported — add if you need any
24+
override fun receiveCommand(
25+
view: ReactEmbeddedView,
26+
commandName: String,
27+
args: ReadableArray
28+
) {
29+
// No commands supported
2530
}
2631
}
2732

android/src/main/java/com/urbanairship/reactnative/ReactMessageViewManager.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ class ReactMessageViewManager : SimpleViewManager<ReactMessageView>(),
2222
}
2323
}
2424

25-
override fun receiveCommand(view: ReactMessageView, commandName: String, args: ReadableArray?) {
26-
// No commands implemented, add if Airship adds some in future
25+
override fun receiveCommand(
26+
view: ReactMessageView,
27+
commandName: String,
28+
args: ReadableArray
29+
) {
30+
// No commands supported
2731
}
2832
}
2933

0 commit comments

Comments
 (0)