expo-image 56.0.4 → 56.0.5

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 (41) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/ImageView.swift +25 -11
  5. package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.module → 56.0.5/expo.modules.image-56.0.5.module} +7 -7
  6. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.module.md5 +1 -0
  7. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.module.sha1 +1 -0
  8. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.module.sha256 +1 -0
  9. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.module.sha512 +1 -0
  10. package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.pom → 56.0.5/expo.modules.image-56.0.5.pom} +1 -1
  11. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.pom.md5 +1 -0
  12. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.pom.sha1 +1 -0
  13. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.pom.sha256 +1 -0
  14. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.5/expo.modules.image-56.0.5.pom.sha512 +1 -0
  15. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml +4 -4
  16. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.md5 +1 -1
  17. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha1 +1 -1
  18. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha256 +1 -1
  19. package/local-maven-repo/expo/modules/image/expo.modules.image/maven-metadata.xml.sha512 +1 -1
  20. package/package.json +3 -3
  21. package/plugin/tsconfig.tsbuildinfo +1 -1
  22. package/prebuilds/output/debug/xcframeworks/ExpoImage.tar.gz +0 -0
  23. package/prebuilds/output/release/xcframeworks/ExpoImage.tar.gz +0 -0
  24. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.module.md5 +0 -1
  25. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.module.sha1 +0 -1
  26. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.module.sha256 +0 -1
  27. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.module.sha512 +0 -1
  28. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.pom.md5 +0 -1
  29. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.pom.sha1 +0 -1
  30. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.pom.sha256 +0 -1
  31. package/local-maven-repo/expo/modules/image/expo.modules.image/56.0.4/expo.modules.image-56.0.4.pom.sha512 +0 -1
  32. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4-sources.jar → 56.0.5/expo.modules.image-56.0.5-sources.jar} +0 -0
  33. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4-sources.jar.md5 → 56.0.5/expo.modules.image-56.0.5-sources.jar.md5} +0 -0
  34. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4-sources.jar.sha1 → 56.0.5/expo.modules.image-56.0.5-sources.jar.sha1} +0 -0
  35. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4-sources.jar.sha256 → 56.0.5/expo.modules.image-56.0.5-sources.jar.sha256} +0 -0
  36. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4-sources.jar.sha512 → 56.0.5/expo.modules.image-56.0.5-sources.jar.sha512} +0 -0
  37. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.aar → 56.0.5/expo.modules.image-56.0.5.aar} +0 -0
  38. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.aar.md5 → 56.0.5/expo.modules.image-56.0.5.aar.md5} +0 -0
  39. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.aar.sha1 → 56.0.5/expo.modules.image-56.0.5.aar.sha1} +0 -0
  40. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.aar.sha256 → 56.0.5/expo.modules.image-56.0.5.aar.sha256} +0 -0
  41. /package/local-maven-repo/expo/modules/image/expo.modules.image/{56.0.4/expo.modules.image-56.0.4.aar.sha512 → 56.0.5/expo.modules.image-56.0.5.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,13 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 56.0.5 — 2026-05-19
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [iOS] Fixed `recyclingKey` not clearing cached `placeholderImage`, causing stale blurhash placeholders in recycled list cells. ([#44762](https://github.com/expo/expo/pull/44762) by [@simonronec](https://github.com/simonronec))
18
+ - [iOS] Fixed loading Xcode asset catalog images by resource name. ([#45686](https://github.com/expo/expo/pull/45686) by [@mvincentong](https://github.com/mvincentong))
19
+
13
20
  ## 56.0.4 — 2026-05-06
14
21
 
15
22
  _This version does not introduce any user-facing changes._
@@ -13,13 +13,13 @@ plugins {
13
13
  apply plugin: 'com.google.devtools.ksp'
14
14
 
15
15
  group = 'expo.modules.image'
16
- version = '56.0.4'
16
+ version = '56.0.5'
17
17
 
18
18
  android {
19
19
  namespace "expo.modules.image"
20
20
  defaultConfig {
21
21
  versionCode 1
22
- versionName "56.0.4"
22
+ versionName "56.0.5"
23
23
  consumerProguardFiles("proguard-rules.pro")
24
24
 
25
25
  buildConfigField("boolean", "ALLOW_GLIDE_LOGS", project.properties.get("EXPO_ALLOW_GLIDE_LOGS", "false"))
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "expo.modules.image",
10
10
  "artifactId": "expo.modules.image",
11
- "version": "56.0.4",
11
+ "version": "56.0.5",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -67,6 +67,7 @@ public final class ImageView: ExpoView {
67
67
  didSet {
68
68
  if oldValue != nil && recyclingKey != oldValue {
69
69
  sdImageView.image = nil
70
+ placeholderImage = nil
70
71
  }
71
72
  }
72
73
  }
@@ -150,7 +151,11 @@ public final class ImageView: ExpoView {
150
151
  return
151
152
  }
152
153
  if isViewEmpty {
153
- displayPlaceholderIfNecessary()
154
+ if placeholderImage != nil {
155
+ displayPlaceholderIfNecessary()
156
+ } else {
157
+ loadPlaceholderIfNecessary()
158
+ }
154
159
  }
155
160
  guard let source = bestSource else {
156
161
  displayPlaceholderIfNecessary()
@@ -347,17 +352,9 @@ public final class ImageView: ExpoView {
347
352
  }
348
353
 
349
354
  private func maybeRenderLocalAsset(from source: ImageSource) -> Bool {
350
- let path: String? = {
351
- // .path() on iOS 16 would remove the leading slash, but it doesn't on tvOS 16 🙃
352
- // It also crashes with EXC_BREAKPOINT when parsing data:image uris
353
- // manually drop the leading slash below iOS 16
354
- if let path = source.uri?.path {
355
- return String(path.dropFirst())
356
- }
357
- return nil
358
- }()
355
+ let path = localAssetName(from: source.uri)
359
356
 
360
- if let path, !path.isEmpty, let local = UIImage(named: path) {
357
+ if let path, let local = UIImage(named: path) {
361
358
  renderSourceImage(local)
362
359
  return true
363
360
  }
@@ -841,3 +838,20 @@ public final class ImageView: ExpoView {
841
838
  }
842
839
  #endif
843
840
  }
841
+
842
+ func localAssetName(from url: URL?) -> String? {
843
+ guard let url, url.scheme == nil else {
844
+ return nil
845
+ }
846
+
847
+ var path = url.path
848
+ guard !path.isEmpty else {
849
+ return nil
850
+ }
851
+
852
+ if path.hasPrefix("/") {
853
+ path.removeFirst()
854
+ }
855
+
856
+ return path.isEmpty ? nil : path
857
+ }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.image",
5
5
  "module": "expo.modules.image",
6
- "version": "56.0.4",
6
+ "version": "56.0.5",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -54,8 +54,8 @@
54
54
  ],
55
55
  "files": [
56
56
  {
57
- "name": "expo.modules.image-56.0.4.aar",
58
- "url": "expo.modules.image-56.0.4.aar",
57
+ "name": "expo.modules.image-56.0.5.aar",
58
+ "url": "expo.modules.image-56.0.5.aar",
59
59
  "size": 319822,
60
60
  "sha512": "6fe0d7736e95d7bcd0281c123a21561302b46dc86c2460fe83c94fb146fbdf4c681a59df66847eef0ec7bbfe220596d93fdf834e5e07bacb5dd0f8b302017595",
61
61
  "sha256": "6360fc482c5b71cf4b5a082e49ec204790be89852c951abe5a4d7b547ec8abcb",
@@ -157,8 +157,8 @@
157
157
  ],
158
158
  "files": [
159
159
  {
160
- "name": "expo.modules.image-56.0.4.aar",
161
- "url": "expo.modules.image-56.0.4.aar",
160
+ "name": "expo.modules.image-56.0.5.aar",
161
+ "url": "expo.modules.image-56.0.5.aar",
162
162
  "size": 319822,
163
163
  "sha512": "6fe0d7736e95d7bcd0281c123a21561302b46dc86c2460fe83c94fb146fbdf4c681a59df66847eef0ec7bbfe220596d93fdf834e5e07bacb5dd0f8b302017595",
164
164
  "sha256": "6360fc482c5b71cf4b5a082e49ec204790be89852c951abe5a4d7b547ec8abcb",
@@ -177,8 +177,8 @@
177
177
  },
178
178
  "files": [
179
179
  {
180
- "name": "expo.modules.image-56.0.4-sources.jar",
181
- "url": "expo.modules.image-56.0.4-sources.jar",
180
+ "name": "expo.modules.image-56.0.5-sources.jar",
181
+ "url": "expo.modules.image-56.0.5-sources.jar",
182
182
  "size": 59325,
183
183
  "sha512": "5a717d5d0a895ae3abff303dac9b4aae3003d7e556cb7c4517198496ff65ca8174bc51eedd9f3f2f22f6ce38cd83dae85f4883a8046f4883128375e006b516c6",
184
184
  "sha256": "a4f3677c93ebe34be99197c778b7e278142a3065c1e0af33c76759a820fd9537",
@@ -0,0 +1 @@
1
+ e18b648a9ad9776d26b8a0adca71980ef995c7481b8e1d76526a6ac6eddfb907
@@ -0,0 +1 @@
1
+ 393ff6a061309fcbfc2d9769a10f2ea7034650d50913a6be2a1cb8f2ca3705e599c47bb618be6885f654842056afc615ed506343da55fb7f9f18293c2ae51bfd
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.image</groupId>
11
11
  <artifactId>expo.modules.image</artifactId>
12
- <version>56.0.4</version>
12
+ <version>56.0.5</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.image</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 667954ec9b08106f42b2c23f1f0f0e0bd9d0b2cfefb9e54564d5824448c9117c
@@ -0,0 +1 @@
1
+ b8609c778ef38d1070fc6fb0c2e08dcd4aa90b147fef42f90f9287e70bb012eaebfaddebeb320b86a1f6f73b9898d58ead6331be9ed73213b9a5fbb52d7a8be7
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.image</groupId>
4
4
  <artifactId>expo.modules.image</artifactId>
5
5
  <versioning>
6
- <latest>56.0.4</latest>
7
- <release>56.0.4</release>
6
+ <latest>56.0.5</latest>
7
+ <release>56.0.5</release>
8
8
  <versions>
9
- <version>56.0.4</version>
9
+ <version>56.0.5</version>
10
10
  </versions>
11
- <lastUpdated>20260506211916</lastUpdated>
11
+ <lastUpdated>20260519105316</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 3b79167a6a08bbcefdc6bbffd82b892d
1
+ dc67100c111129dfeb769dc1f107a88f
@@ -1 +1 @@
1
- 1962f8d283c4a39127bb4bb5af567b959dd3a5c7
1
+ 7a83232ed5296460c16720300295c965a755da53
@@ -1 +1 @@
1
- 8ae042821e997a4cd4cd4d1d57b0997a22aa46b12ab32080d16c587e381195f9
1
+ f3fc3fce33389ac18d1feb70c755700639d3a1740f24fa5560a4946d10b39e19
@@ -1 +1 @@
1
- 7f18420889853ba22843e06dfe461224dfaade196684c3afea722c1c91f70b175386cdfba73aa5cf7af17ec1b09c298a0a853f469495e5fa9ae4e8d4b3d14299
1
+ e1718ff2806e6de019ccf237cc5c7ec68aed674254e10b68a9e7c1462f479c55fb8a2a8732fcf31caf400c21679203b23deb597fc84a09dfd2781d433665f596
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "expo-image",
3
3
  "title": "Expo Image",
4
- "version": "56.0.4",
4
+ "version": "56.0.5",
5
5
  "description": "A cross-platform, performant image component for React Native and Expo with Web support",
6
6
  "main": "src/index.ts",
7
7
  "types": "build/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "devDependencies": {
24
24
  "@types/node": "^22.14.0",
25
25
  "@types/react": "~19.2.0",
26
- "expo": "56.0.0-preview.5",
26
+ "expo": "56.0.0-preview.13",
27
27
  "expo-module-scripts": "56.0.2"
28
28
  },
29
29
  "peerDependencies": {
@@ -40,7 +40,7 @@
40
40
  "jest": {
41
41
  "preset": "expo-module-scripts"
42
42
  },
43
- "gitHead": "a8ab3da510a34b7bdb2262aa9887d4f78b102280",
43
+ "gitHead": "290368bc41026449a05a4ebf991b85c3a2fb0e3a",
44
44
  "scripts": {
45
45
  "build": "expo-module build",
46
46
  "build:plugin": "expo-module build plugin",
@@ -1 +1 @@
1
- {"root":["./src/withexpoimage.ts"],"version":"5.9.2"}
1
+ {"root":["./src/index.ts","./src/withexpoimage.ts"],"version":"5.9.3"}
@@ -1 +0,0 @@
1
- 4bc379d297467e2c2db619fc97c0e58ec54e04746fa214615f1766c9f36311c2
@@ -1 +0,0 @@
1
- 6d6f5c52047b6434f9e2a21a169b29e379d837ed5a5fe31899d9221f514d71ecef0954a4c4b43b30ac4495b59fc045106f68d98e9dc5c4ff8baac5d49c882809
@@ -1 +0,0 @@
1
- a3f6f3690ab45ec7167f317e2a83ebe9f379ebec
@@ -1 +0,0 @@
1
- 1823038c975ee4626ae1d3c5a3944453178050adc5307fa2465c8d6d428e9698
@@ -1 +0,0 @@
1
- ec4b7fa9c43b49d644747d0e20bfeb2512fd0cd7746de1a77e42d02678dbcf35ce14a506cff703d6e32b77321a2e44a3dd8f4a6ac64ff597bef7576d6eec44a8