@appium/coresim 1.11.0 → 1.11.1

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.11.1](https://github.com/appium/appium-ios/compare/@appium/coresim@1.11.0...@appium/coresim@1.11.1) (2026-10-05)
7
+
8
+ ### Performance Improvements
9
+
10
+ * **coresim:** reuse one CIContext across getScreenshot calls ([#44](https://github.com/appium/appium-ios/issues/44)) ([ecf353b](https://github.com/appium/appium-ios/commit/ecf353bad640c43c85cf8fa26cb7759b8a9570a0))
11
+
12
+
6
13
  ## [1.11.0](https://github.com/appium/appium-ios/compare/@appium/coresim@1.10.2...@appium/coresim@1.11.0) (2026-10-03)
7
14
 
8
15
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/coresim",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "description": "Native bindings to CoreSimulator.framework for Apple platform simulator control",
5
5
  "bugs": {
6
6
  "url": "https://github.com/appium/appium-ios/issues"
@@ -62,5 +62,5 @@
62
62
  "npm": ">=10"
63
63
  },
64
64
  "gypfile": true,
65
- "gitHead": "ae92cce2dddf179de80385f2f60de0068ad43a1a"
65
+ "gitHead": "f674d8563c83ddaf61921464dfa6cc4618ef8e5e"
66
66
  }
@@ -238,10 +238,10 @@ NSData* CaptureScreenshot(id device, NSString* displayId, ScreenshotFormat forma
238
238
  return nil;
239
239
  }
240
240
 
241
- // A fresh CIContext per call, matching this operation's one-shot semantics (mirrors
242
- // simctl's own screenshot command) rather than the persistent, reused context a
243
- // continuous video/streaming path would want (JpegStreamSession — see sim_jpeg_stream.mm).
244
- CIContext* context = [CIContext contextWithOptions:nil];
241
+ // One CIContext shared by every call: creating a context costs more than rendering a frame
242
+ // through it, and CIContext is safe to use from multiple threads. The rendered pixels are
243
+ // the same as with a fresh context.
244
+ static CIContext* context = [CIContext contextWithOptions:nil];
245
245
  CGImageRef cgImage = [context createCGImage:ciImage fromRect:ciImage.extent];
246
246
  if (cgImage == nil) {
247
247
  *error = MakeError(6, @"Failed to render the device's display surface");