expo-notifications 55.0.21 → 55.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/ExpoNotifications/Notifications/Background/BackgroundEventTransformer.swift +13 -5
  5. package/ios/ExpoNotifications/Notifications/Handler/SingleNotificationHandlerTask.swift +3 -1
  6. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.module → 55.0.23/expo.modules.notifications-55.0.23.module} +7 -7
  7. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.module.md5 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.module.sha1 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.module.sha256 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.module.sha512 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.pom → 55.0.23/expo.modules.notifications-55.0.23.pom} +1 -1
  12. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.pom.md5 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.pom.sha1 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.pom.sha256 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.23/expo.modules.notifications-55.0.23.pom.sha512 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml +4 -4
  17. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.md5 +1 -1
  18. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha1 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha256 +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha512 +1 -1
  21. package/package.json +5 -5
  22. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.module.md5 +0 -1
  23. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.module.sha1 +0 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.module.sha256 +0 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.module.sha512 +0 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.pom.md5 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.pom.sha1 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.pom.sha256 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/55.0.21/expo.modules.notifications-55.0.21.pom.sha512 +0 -1
  30. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21-sources.jar → 55.0.23/expo.modules.notifications-55.0.23-sources.jar} +0 -0
  31. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21-sources.jar.md5 → 55.0.23/expo.modules.notifications-55.0.23-sources.jar.md5} +0 -0
  32. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21-sources.jar.sha1 → 55.0.23/expo.modules.notifications-55.0.23-sources.jar.sha1} +0 -0
  33. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21-sources.jar.sha256 → 55.0.23/expo.modules.notifications-55.0.23-sources.jar.sha256} +0 -0
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21-sources.jar.sha512 → 55.0.23/expo.modules.notifications-55.0.23-sources.jar.sha512} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.aar → 55.0.23/expo.modules.notifications-55.0.23.aar} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.aar.md5 → 55.0.23/expo.modules.notifications-55.0.23.aar.md5} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.aar.sha1 → 55.0.23/expo.modules.notifications-55.0.23.aar.sha1} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.aar.sha256 → 55.0.23/expo.modules.notifications-55.0.23.aar.sha256} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{55.0.21/expo.modules.notifications-55.0.21.aar.sha512 → 55.0.23/expo.modules.notifications-55.0.23.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.23 — 2026-05-13
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [ios] Dispatch foreground notification completion handler on the main thread to prevent SIGTRAP / `BSPreconditionFailure` on iOS 16. ([#45096](https://github.com/expo/expo/pull/45096) by [@qutrek](https://github.com/qutrek))
18
+
19
+ ## 55.0.22 — 2026-05-01
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 55.0.21 — 2026-04-28
14
24
 
15
25
  ### 💡 Others
@@ -48,6 +58,7 @@ _This version does not introduce any user-facing changes._
48
58
 
49
59
  ### 🐛 Bug fixes
50
60
 
61
+ - [ios] Guard against crash in `BackgroundEventTransformer` when notification body is a primitive type. ([#45198](https://github.com/expo/expo/pull/45198) by [@DORI2001](https://github.com/DORI2001))
51
62
  - [web] fix `getDevicePushTokenAsync` export ([#44413](https://github.com/expo/expo/pull/44413) by [@vonovak](https://github.com/vonovak))
52
63
  - [ios] fix unhandled promise rejection in `getRegistrationInfoAsync`, relax keychain accessibility to allow access after device unlocked. ([#43829](https://github.com/expo/expo/pull/43829) by [@jmalmo](https://github.com/jmalmo))
53
64
 
@@ -5,13 +5,13 @@ plugins {
5
5
  }
6
6
 
7
7
  group = 'host.exp.exponent'
8
- version = '55.0.21'
8
+ version = '55.0.23'
9
9
 
10
10
  android {
11
11
  namespace "expo.modules.notifications"
12
12
  defaultConfig {
13
13
  versionCode 21
14
- versionName '55.0.21'
14
+ versionName '55.0.23'
15
15
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
16
16
  }
17
17
 
@@ -35,7 +35,7 @@
35
35
  "publication": {
36
36
  "groupId": "host.exp.exponent",
37
37
  "artifactId": "expo.modules.notifications",
38
- "version": "55.0.21",
38
+ "version": "55.0.23",
39
39
  "repository": "local-maven-repo"
40
40
  }
41
41
  }
@@ -17,12 +17,20 @@ public class BackgroundEventTransformer {
17
17
 
18
18
  // the payload is emitted as a JSON string for alignment with Android
19
19
  let jsonData: String? = {
20
- do {
21
- if let bodyDict = payload["body"] {
22
- let data = try JSONSerialization.data(withJSONObject: bodyDict, options: [])
23
- return String(data: data, encoding: .utf8)
24
- }
20
+ guard let body = payload["body"] else {
21
+ return nil
22
+ }
23
+ // Primitive string bodies are used directly; JSONSerialization only accepts
24
+ // NSDictionary / NSArray at the top level and throws NSException otherwise.
25
+ if let bodyString = body as? String {
26
+ return bodyString
27
+ }
28
+ guard JSONSerialization.isValidJSONObject(body) else {
25
29
  return nil
30
+ }
31
+ do {
32
+ let data = try JSONSerialization.data(withJSONObject: body, options: [])
33
+ return String(data: data, encoding: .utf8)
26
34
  } catch {
27
35
  return nil
28
36
  }
@@ -42,7 +42,9 @@ public class SingleNotificationHandlerTask {
42
42
 
43
43
  public func processNotificationWithOptions(_ options: UNNotificationPresentationOptions) -> Bool {
44
44
  if let completionHandler = completionHandler {
45
- completionHandler(options)
45
+ DispatchQueue.main.async {
46
+ completionHandler(options)
47
+ }
46
48
  finish()
47
49
  return true
48
50
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.notifications",
6
- "version": "55.0.21",
6
+ "version": "55.0.23",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.notifications-55.0.21.aar",
28
- "url": "expo.modules.notifications-55.0.21.aar",
27
+ "name": "expo.modules.notifications-55.0.23.aar",
28
+ "url": "expo.modules.notifications-55.0.23.aar",
29
29
  "size": 402983,
30
30
  "sha512": "e4c3409cfecc6c9a8049529caf9fd17f34f2a8be55e5b1a345b52544079b8a62ad48e55e47179519e150b8296c814dda0cf951fbd53ced1f80da17365fcc457b",
31
31
  "sha256": "a96065f543fc9f57cf6eb4871137f339854dec0541e8277eb237e0d48abefeda",
@@ -122,8 +122,8 @@
122
122
  ],
123
123
  "files": [
124
124
  {
125
- "name": "expo.modules.notifications-55.0.21.aar",
126
- "url": "expo.modules.notifications-55.0.21.aar",
125
+ "name": "expo.modules.notifications-55.0.23.aar",
126
+ "url": "expo.modules.notifications-55.0.23.aar",
127
127
  "size": 402983,
128
128
  "sha512": "e4c3409cfecc6c9a8049529caf9fd17f34f2a8be55e5b1a345b52544079b8a62ad48e55e47179519e150b8296c814dda0cf951fbd53ced1f80da17365fcc457b",
129
129
  "sha256": "a96065f543fc9f57cf6eb4871137f339854dec0541e8277eb237e0d48abefeda",
@@ -142,8 +142,8 @@
142
142
  },
143
143
  "files": [
144
144
  {
145
- "name": "expo.modules.notifications-55.0.21-sources.jar",
146
- "url": "expo.modules.notifications-55.0.21-sources.jar",
145
+ "name": "expo.modules.notifications-55.0.23-sources.jar",
146
+ "url": "expo.modules.notifications-55.0.23-sources.jar",
147
147
  "size": 100001,
148
148
  "sha512": "6bc8c1210d364179f454b9fe28fd71a79f1e28fc34dc615e61cdbb89c6afea3991b04b76b77ae42cb9ce6abc6e36a861caddba68d900fa6a09880b960300444d",
149
149
  "sha256": "c6920c792c28a4f9785956f71822697398385da86af1c6da362785e41f329140",
@@ -0,0 +1 @@
1
+ f917b25a3cdf241c37f697dba0bb35fe29fa09bc561a17d6fe252cffa7ded47a
@@ -0,0 +1 @@
1
+ ac56c8b9c932495275f9a12bbfd4b6f6969bee7ddd257f3feaa3bb8c1b57bfa94c3be071bb290cd694d1bd80ca4b7b3b2f9a608cf2c316d3725e84fc0fdaba5c
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.notifications</artifactId>
12
- <version>55.0.21</version>
12
+ <version>55.0.23</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.notifications</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 22c2d0f55396266a5c8a8651c1a608c6ec1af98a3a0a97322afb5f798d04947e
@@ -0,0 +1 @@
1
+ f2ec638af294e7d1cf2891be770562d170510d3cf01a0124e39637080a6597c738398920b215b58fabc9c307ee225733bac5b215e1f74fc65a8740db0b38816e
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.notifications</artifactId>
5
5
  <versioning>
6
- <latest>55.0.21</latest>
7
- <release>55.0.21</release>
6
+ <latest>55.0.23</latest>
7
+ <release>55.0.23</release>
8
8
  <versions>
9
- <version>55.0.21</version>
9
+ <version>55.0.23</version>
10
10
  </versions>
11
- <lastUpdated>20260428153947</lastUpdated>
11
+ <lastUpdated>20260513100108</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 3b54b27032ae9516bcefd0397a796fff
1
+ 92fb9f0a1afdaf5013c52bd4ed7e388a
@@ -1 +1 @@
1
- b045b5a99f3e0926a580b3f61ccbe7598fccd03d
1
+ a1c37f62ded0646715a18dc3efad842fe11d392c
@@ -1 +1 @@
1
- b2f4eab032f9ead6be917f8a39e89436cac601b88acbcc91784574388caef6bb
1
+ 10b0d6b8cdffee1a5c3cfec89e9c15030e2fe5881d21aff7b1a7ffb197398a14
@@ -1 +1 @@
1
- d9dc7a64278b76cb02a5e879c1e00be26de4216b50e068837c7595ac8b7f3b4b258b8364724d6c1cacc4b1c0ff04107168927c03e5320052d6d0e4d885554b09
1
+ cc99f7d78b78524b8da1f63cb2f0ae46e80401df8e48adb4e1fc42c280710ae9dd94c7953553d80f71fc840af8449ed78e27bc09e1ee9113bfccbc1ec5c5136e
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-notifications",
3
- "version": "55.0.21",
3
+ "version": "55.0.23",
4
4
  "description": "Provides an API to fetch push notification tokens and to present, schedule, receive, and respond to notifications.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -43,11 +43,11 @@
43
43
  ]
44
44
  },
45
45
  "dependencies": {
46
- "@expo/image-utils": "^0.8.13",
46
+ "@expo/image-utils": "^0.8.14",
47
47
  "abort-controller": "^3.0.0",
48
48
  "badgin": "^1.1.5",
49
- "expo-application": "~55.0.14",
50
- "expo-constants": "~55.0.15"
49
+ "expo-application": "~55.0.15",
50
+ "expo-constants": "~55.0.16"
51
51
  },
52
52
  "devDependencies": {
53
53
  "expo-module-scripts": "^55.0.2",
@@ -58,5 +58,5 @@
58
58
  "react": "*",
59
59
  "react-native": "*"
60
60
  },
61
- "gitHead": "be06cb45cb9eb8076b6910daa98813a6a3b03287"
61
+ "gitHead": "0675db12d13a5309e3109e8ecf7f6011522194c6"
62
62
  }
@@ -1 +0,0 @@
1
- 67af83ef1a812724c70cac553b2b40a475cb1434f87126126df497bbead95e51
@@ -1 +0,0 @@
1
- 76677ca056e91e0c56708334fbf0aaf67c94f9119a51be3ff88f1d2c257e434ef88332b678f2142612b1b92f90352ac04ee3566790ac1efba3ac352eb5bda15a
@@ -1 +0,0 @@
1
- 7ccaaf2e3cab1295e3aec37efb4b551d81cddbca119878740ce630260a1bffb2
@@ -1 +0,0 @@
1
- 4f70873dc594e81efd2b183e83068f3e47c4e75da4322abf85e2071bf9abd9b4219c6983290e50ea944bbdc8ab2cc51481891a8bacb3fdcdaa6104153e6269cf