expo-camera 55.0.16 → 55.0.17

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 (43) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/Common/ExpoCameraUtils.swift +15 -3
  5. package/ios/Current/CameraPhotoCapture.swift +2 -0
  6. package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.module → 55.0.17/expo.modules.camera-55.0.17.module} +7 -7
  7. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.module.md5 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.module.sha1 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.module.sha256 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.module.sha512 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.pom → 55.0.17/expo.modules.camera-55.0.17.pom} +1 -1
  12. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.pom.md5 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.pom.sha1 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.pom.sha256 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.17/expo.modules.camera-55.0.17.pom.sha512 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml +4 -4
  17. package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.md5 +1 -1
  18. package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.sha1 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.sha256 +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.camera/maven-metadata.xml.sha512 +1 -1
  21. package/package.json +2 -2
  22. package/prebuilds/output/debug/xcframeworks/ExpoCamera.tar.gz +0 -0
  23. package/prebuilds/output/debug/xcframeworks/ExpoCameraBarcodeScanning.tar.gz +0 -0
  24. package/prebuilds/output/release/xcframeworks/ExpoCamera.tar.gz +0 -0
  25. package/prebuilds/output/release/xcframeworks/ExpoCameraBarcodeScanning.tar.gz +0 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.module.md5 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.module.sha1 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.module.sha256 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.module.sha512 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.pom.md5 +0 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.pom.sha1 +0 -1
  32. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.pom.sha256 +0 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.camera/55.0.16/expo.modules.camera-55.0.16.pom.sha512 +0 -1
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16-sources.jar → 55.0.17/expo.modules.camera-55.0.17-sources.jar} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16-sources.jar.md5 → 55.0.17/expo.modules.camera-55.0.17-sources.jar.md5} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16-sources.jar.sha1 → 55.0.17/expo.modules.camera-55.0.17-sources.jar.sha1} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16-sources.jar.sha256 → 55.0.17/expo.modules.camera-55.0.17-sources.jar.sha256} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16-sources.jar.sha512 → 55.0.17/expo.modules.camera-55.0.17-sources.jar.sha512} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.aar → 55.0.17/expo.modules.camera-55.0.17.aar} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.aar.md5 → 55.0.17/expo.modules.camera-55.0.17.aar.md5} +0 -0
  41. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.aar.sha1 → 55.0.17/expo.modules.camera-55.0.17.aar.sha1} +0 -0
  42. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.aar.sha256 → 55.0.17/expo.modules.camera-55.0.17.aar.sha256} +0 -0
  43. /package/local-maven-repo/host/exp/exponent/expo.modules.camera/{55.0.16/expo.modules.camera-55.0.16.aar.sha512 → 55.0.17/expo.modules.camera-55.0.17.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.17 — 2026-05-04
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [iOS] Fix orientation issue caused by upstream changes. ([#44171](https://github.com/expo/expo/pull/44171) by [@alanjhughes](https://github.com/alanjhughes))
18
+
13
19
  ## 55.0.16 — 2026-04-21
14
20
 
15
21
  ### 🐛 Bug fixes
@@ -4,7 +4,7 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '55.0.16'
7
+ version = '55.0.17'
8
8
 
9
9
  def barcodeScannerEnabled = findProperty('expo.camera.barcode-scanner-enabled')
10
10
  def isBarcodeScannerEnabled = (barcodeScannerEnabled ?: "true").toString() != "false"
@@ -13,7 +13,7 @@ android {
13
13
  namespace "expo.modules.camera"
14
14
  defaultConfig {
15
15
  versionCode 32
16
- versionName "55.0.16"
16
+ versionName "55.0.17"
17
17
  }
18
18
  }
19
19
 
@@ -9,7 +9,7 @@
9
9
  "publication": {
10
10
  "groupId": "host.exp.exponent",
11
11
  "artifactId": "expo.modules.camera",
12
- "version": "55.0.16",
12
+ "version": "55.0.17",
13
13
  "repository": "local-maven-repo"
14
14
  }
15
15
  }
@@ -167,6 +167,16 @@ struct ExpoCameraUtils {
167
167
  return UIImage(cgImage: croppedCgImage, scale: image.scale, orientation: image.imageOrientation)
168
168
  }
169
169
 
170
+ static func normalizeOrientation(of image: UIImage) -> UIImage {
171
+ guard image.imageOrientation != .up else {
172
+ return image
173
+ }
174
+ let renderer = UIGraphicsImageRenderer(size: image.size)
175
+ return renderer.image { _ in
176
+ image.draw(in: CGRect(origin: .zero, size: image.size))
177
+ }
178
+ }
179
+
170
180
  static func write(data: Data, to path: String) -> String? {
171
181
  let url = URL(fileURLWithPath: path)
172
182
  do {
@@ -237,6 +247,8 @@ struct ExpoCameraUtils {
237
247
  throw CameraSavingImageException("Failed to locate `cacheDirectory`")
238
248
  }
239
249
 
250
+ let normalizedImage = normalizeOrientation(of: image)
251
+
240
252
  var result = [String: Any]()
241
253
  let directory = URL(fileURLWithPath: cachesDirectory.path).appendingPathComponent("Camera")
242
254
  let filename = UUID().uuidString.appending(".jpg")
@@ -244,13 +256,13 @@ struct ExpoCameraUtils {
244
256
 
245
257
  FileSystemUtilities.ensureDirExists(at: directory)
246
258
 
247
- guard let data = data(from: image, with: options.metadata ?? [:], quality: Float(options.quality)) else {
259
+ guard let data = data(from: normalizedImage, with: options.metadata ?? [:], quality: Float(options.quality)) else {
248
260
  throw CameraSavingImageException("Image data could not be processed")
249
261
  }
250
262
 
251
263
  result["url"] = fileUrl.absoluteString
252
- result["width"] = image.size.width
253
- result["height"] = image.size.height
264
+ result["width"] = normalizedImage.size.width
265
+ result["height"] = normalizedImage.size.height
254
266
  result["base64"] = options.base64 ? data.base64EncodedString() : nil
255
267
 
256
268
  do {
@@ -163,6 +163,7 @@ class CameraPhotoCapture: NSObject, AVCapturePhotoCaptureDelegate {
163
163
  let croppedSize = AVMakeRect(aspectRatio: previewSize, insideRect: cropRect)
164
164
 
165
165
  takenImage = ExpoCameraUtils.crop(image: takenImage, to: croppedSize)
166
+ takenImage = ExpoCameraUtils.normalizeOrientation(of: takenImage)
166
167
 
167
168
  let width = takenImage.size.width
168
169
  let height = takenImage.size.height
@@ -185,6 +186,7 @@ class CameraPhotoCapture: NSObject, AVCapturePhotoCaptureDelegate {
185
186
  response["exif"] = updatedExif
186
187
 
187
188
  var updatedMetadata = metadata
189
+ updatedMetadata[kCGImagePropertyOrientation as String] = 1
188
190
 
189
191
  if let additionalExif = options.additionalExif {
190
192
  for (key, value) in additionalExif {
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.camera",
6
- "version": "55.0.16",
6
+ "version": "55.0.17",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -40,8 +40,8 @@
40
40
  ],
41
41
  "files": [
42
42
  {
43
- "name": "expo.modules.camera-55.0.16.aar",
44
- "url": "expo.modules.camera-55.0.16.aar",
43
+ "name": "expo.modules.camera-55.0.17.aar",
44
+ "url": "expo.modules.camera-55.0.17.aar",
45
45
  "size": 247692,
46
46
  "sha512": "ec176be898748075419c264cfd6587d184ae6223dc64d5bec48ec4baeb959eed532faa061ccd62a7efcac779971d5ae5c93c172b6ec042c64c070b3f718953a8",
47
47
  "sha256": "d192b7cd2385ccd27c32b317970562c10c7288b4455532b2676fd9c05860c151",
@@ -146,8 +146,8 @@
146
146
  ],
147
147
  "files": [
148
148
  {
149
- "name": "expo.modules.camera-55.0.16.aar",
150
- "url": "expo.modules.camera-55.0.16.aar",
149
+ "name": "expo.modules.camera-55.0.17.aar",
150
+ "url": "expo.modules.camera-55.0.17.aar",
151
151
  "size": 247692,
152
152
  "sha512": "ec176be898748075419c264cfd6587d184ae6223dc64d5bec48ec4baeb959eed532faa061ccd62a7efcac779971d5ae5c93c172b6ec042c64c070b3f718953a8",
153
153
  "sha256": "d192b7cd2385ccd27c32b317970562c10c7288b4455532b2676fd9c05860c151",
@@ -166,8 +166,8 @@
166
166
  },
167
167
  "files": [
168
168
  {
169
- "name": "expo.modules.camera-55.0.16-sources.jar",
170
- "url": "expo.modules.camera-55.0.16-sources.jar",
169
+ "name": "expo.modules.camera-55.0.17-sources.jar",
170
+ "url": "expo.modules.camera-55.0.17-sources.jar",
171
171
  "size": 29083,
172
172
  "sha512": "026c8ca43c56694a89b33c7a57a7b0ad7b8c4a8552911f5198cf167a1835f1006a32501d17502cc4ffa545b83b2ff73a442090d5de819dbf7ccfa7279ce8f36b",
173
173
  "sha256": "fb6fc10073864be50cdcf3f26efa6904cadbb709bb471a3db65d819110a649c7",
@@ -0,0 +1 @@
1
+ 3ba000088bf2e662d8c80fb36011d632d200cccc662f426a9974d6d3340873ab
@@ -0,0 +1 @@
1
+ 5d779bed2377d54f6b03ac6a6678159b7ee1820f496f79f678f659f99be6694e144b76ae2fd67bbc8064d79f6b5336266b06a65a28a57b16f6b993359693f833
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.camera</artifactId>
12
- <version>55.0.16</version>
12
+ <version>55.0.17</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.camera</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 92b0c61a472a096ddf24dbf4adb72d2a8c0e09fd7dc9d4ee5eae73395395adc6
@@ -0,0 +1 @@
1
+ 09bb25257c37e8e12687ae31edec4b399ad171b7f6487d9bb4ec2efbc3a2f804dd0730809152cef37d421e684f064684ac231790a36fea0c5bbfcf0142afca59
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.camera</artifactId>
5
5
  <versioning>
6
- <latest>55.0.16</latest>
7
- <release>55.0.16</release>
6
+ <latest>55.0.17</latest>
7
+ <release>55.0.17</release>
8
8
  <versions>
9
- <version>55.0.16</version>
9
+ <version>55.0.17</version>
10
10
  </versions>
11
- <lastUpdated>20260421111034</lastUpdated>
11
+ <lastUpdated>20260504210932</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- c163d612429f20f84ec5627e270e39a8
1
+ 6d14964bb67e6c84a210c2945e5334e0
@@ -1 +1 @@
1
- d5837e0908e474121d593de88c389b20abba0c6a
1
+ 8fdd72afb4727b7b9c883bc43aa1c3b87db4282d
@@ -1 +1 @@
1
- 7608c990e2d4c868a3fc172e53886ca2b4a1b038b96297d03922871db7b4c367
1
+ d01185a7f761f309435f24732b5c7f36b40f157ad6066eed6879813304450a5d
@@ -1 +1 @@
1
- 55cee9f2a5cab2f36d5684a646622161a6283f062d0a9a7c3a6fe856e14193cda88220f40fbc5c8b86e6c01207d16b881c034e323858e3a0ebdb76e7ff8394e7
1
+ 5b6276821e441d21a10ad8d3b0fc8b2b9650ec4913b153d7eb6b8913211a35587ed83b94b322ae70bc6cbb62b0a4618e13607ec7ab0073883f79760c2f02e8ec
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-camera",
3
- "version": "55.0.16",
3
+ "version": "55.0.17",
4
4
  "description": "A React component that renders a preview for the device's either front or back camera. Camera's parameters like zoom, auto focus, white balance and flash mode are adjustable. With expo-camera, one can also take photos and record videos that are saved to the app's cache. Morever, the component is also capable of detecting faces and bar codes appearing on the preview.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -50,5 +50,5 @@
50
50
  "optional": true
51
51
  }
52
52
  },
53
- "gitHead": "e37e614d97c3ca53f16b91609a787675d044c284"
53
+ "gitHead": "6ab08fe32823d60ad90b3ca2821b4d99a3ae06e9"
54
54
  }
@@ -1 +0,0 @@
1
- 788cf2746885da58fbcefab4af7d72e2a36e6b4b675a1433cea4190732f087ce
@@ -1 +0,0 @@
1
- ffaa76537d69f945b44bb521138d723a85aefe17879b37e66d3baf86522db0a478def6121deaa82695108ad41ebd8340a03562273ec46e1ada0ef2432560186e
@@ -1 +0,0 @@
1
- f6508f67ecb5e43dc537375ad18928e0cec00d7ecadb8554221e81b8c526532f
@@ -1 +0,0 @@
1
- a551238243b99d8c1718828cc449434970eec421e77099ec3c4528efc043f0db6b704535ff2e19b4085a59aa8bef508c126ac8feb219cbbf7f66e7da673acc02