- Fix check for available simulators #719 @akoslowski
- Set up CI with Azure Pipelines #718
Updates DeviceAgent to 1.3.3
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.3.3
- Add new Spring 2019 iPad models #312
- Update private headers for Xcode 10.2 #311
- SafariWebController test fails for iPhone XR and XS Max. #308
- Update private headers for Xcode 10.2 #306
https://github.com/calabash/iOSDeviceManager/releases/tag/3.3.1
- Adapt iOSDeviceManager to Xcode 10.2 #241
- Xcode 10.2 update code signing test fixtures #240
Adds support for Xcode 10.2.
DeviceAgent and iOSDeviceManager remain the same.
This version removes version expectations for bundler. This is another step on the path toward allowing the Calabash stack to work with the newest versions of ruby.
Thanks @q231950 @JoeSSS.
This update provides support for testing against iPhone XS and the new UDID format.
- Update gem dependencies #708
- Fixed regex for new device ids. #710
https://github.com/calabash/iOSDeviceManager/releases/tag/3.3.0
This release provides preliminary support for Xcode 10.1 beta 2.
This is a major release because it breaks the dependency on json 1.x and allows json 2.x.
- Fixed simulators availability check for Xcode 10.1 beta 2 #706
- Disable simulator autocorrection and co #704
- Do not bind run_loop to any versions of json #703
- Ensure the keyboard will be shown #702
- DeviceAgent: #keyboard_visible? returns false for hardware keyboard #700
- CoreSimulator: remove call to send_simulator_to_background #699
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.3.2
- Added new Korean alert for location from iOS 12 #303
- Improve performance of element JSON serialization and simplify visibility heuristic #300
https://github.com/calabash/iOSDeviceManager/releases/tag/3.2.2
- FB Frameworks: handle missing simulator arches #234
- Core: default simulator for Xcode 10 is iPhone 10S #696
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.3.1
- Add new iPhone 10S, 10S Max, and 10R model numbers #296
- Server: add speech recognition alert texts #293
- Server: add new localizations for SB alerts #294
https://github.com/calabash/iOSDeviceManager/releases/tag/3.2.1
- Upload xctestconfig command requires file paths #320
- Frameworks: update FBSimControl related frameworks with new ios 12 device models #231
Built with Xcode 10 beta 6
- Simctl: retry app install on 'could not install app at this time' error #694
- App#calabash_server_id: extract fingerprint of embedded server #692
- Remove support for legacy Xcode toolchains #691
- Lib: add Xcode 10 support #690
- Improve simulator "wait for stable" heuristic #689
Provide support for Xcode 10 beta 6.
-
Improve query speed by loading BootstrapInject.dylib into AUT #282
-
remove simulator log redirect #285
-
SpringBoard: update Italian localizations #287
-
Support for Xcode 10 beta 6 #291
-
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.2.6
This release provides support for Xcode 10 beta 6.
-
Shell: all NSTask executed with timeout #219
-
Fix simulator-by-alias/name algorithm #225
-
Codesign is timing out on low resource machines #226
-
Stablize Simulator app life cycle events for Xcode 10 beta 6 #228
-
https://github.com/calabash/iOSDeviceManager/releases/tag/3.2.0
Built with Xcode 9.4 beta 2
- Server: add Apple Music en and ru alerts #277
Built from the /develop branch:
- Frameworks: update frameworks #210
- Commands: add erase simulator command #209
Built from the /develop branch:
This release contains DeviceAgent 1.2.4 and iOSDeviceManager 3.1.0.
- Dir#digest: change how cumulative digest is computed #683
- Shell#run_shell_command responds to :environment option #682
- iOSDeviceManager partially implements PhysicalDevice::LifeCycle interface #681
- Add support for Xcode 9.4 #680
- Fixed is-installed command simulator bug #206
- Add clear-app-data and download-xcappdata commands #203
https://github.com/calabash/iOSDeviceManager/releases/tag/3.1.0
This release contains DeviceAgent 1.2.4 and iOSDeviceManager 3.0.0.
- added Russian SpringBoard alerts localizations (DeviceAgent) #271
- OSS: changes for MSFT open source review #275
Also includes support dismissing "is not Activated" alerts for iOS >= 10 in US English and Dutch locales.
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.2.4
- Ask if app is installed only once during app installation #193
- Xcode 9.3 and iOS 11.3 support #199
- Replace install --update-app with --force flag and fix behavior #200
https://github.com/calabash/iOSDeviceManager/releases/tag/3.0.0
This release contains support a new DeviceAgent and iOSDeviceManager for Xcode 9.3 support - built with Xcode 9.3 beta 4.
- Gem: add Xcode 9.3 support #667
- add Russian translations for SpringBoard alerts (UIAutomation) #669
- Improve CoreSimulator Services process management #670
- Add element_types method to DeviceAgent client #671
- added Russian SpringBoard alerts localizations (DeviceAgent) #271
- OSS: changes for MSFT open source review #275
Also includes support dismissing "is not Activated" alerts for iOS >= 10 in US English and Dutch locales.
Built from the /develop branch:
- Ask if app is installed only once during app installation #193
- Xcode 9.3 and iOS 11.3 support #199
- Replace install --update-app with --force flag and fix behavior #200
Built from the /develop branch:
This release contains an update to DeviceAgent to help support drag-and-drop on iOS 11.
- Xcode: target + script for running XCUITests against arbitrary.app #260
- Server: drag-n-drop can start with a touch-and-hold #259
- TestApp: update URLs to calabash-ci.xyz domain #258
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.2.3
- DeviceAgent: improve support for inspecting app state and terminating apps #663
- Use XCUIApplication#terminate to terminate applications #256
- Server: XCUIElement with type Any may or may not respond to WebDriver methods #255
- Add iOS 11 'would like to add to your photos' SpringBoard alert #254
- SB: add camera alert for iOS 11 de #252
- Server: update CBXDevice with iPhone 8 and 10 models #251
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.2.2
- Support Xcode 9.2 and iOSDeviceManager 2.1.2 #660
- DylibInjector: user can add delay before injecting #659
- Xcode: add support for 9.1 #658
- Updated XCUIElementType documentation #656
- HTTP: client retries on unreachable host #655
- Update FBSimulatorControl frameworks to fix various Xcode > 9.0 problems #191
- CLI: remove start-test command and sources #190
- CLI: commands for decoding xctestconfiguration files #189
https://github.com/calabash/iOSDeviceManager/releases/tag/2.1.2
- CoreSim: disable hardward keyboard at launch 243ee0a
- Server: handle 3 button SpringBoard location alert #249
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.2.1
No changes applicable to run-loop.
https://github.com/calabash/iOSDeviceManager/releases/tag/2.1.1
Support for testing with Xcode 9 and iOS 11.
- Xcode 9: redirect simulator logs to ~/Library/CoreSimulator//system.log #247 @JoeSSS
- Server: XCUIApplication cannot be first responder #246
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.2.0
No changes applicable to run-loop.
https://github.com/calabash/iOSDeviceManager/releases/tag/2.1.0
This patch improves support for testing against iOS Simulators in Xcode 9 beta 6. Please note that until Xcode 9 GM, support is preliminary and the next Xcode 9 beta may break existing tests.
- Device: use PlistBuddy#unshift_array to set Simulator language #651
- PlistBuddy can run arbitrary commands and push new values onto arrays #650
- Device: ensure simulator plist paths exist #649
This patch provides preliminary support for testing against iOS Simulators in Xcode 9 beta 6.
- Xcode 9: ensure software keyboard will show #647
- Xcode 9: update CoreSim.app_installed? #646
- Xcode 9/iOS 11: add new languages and locales #645
- Simctl: can switch back to Xcode 8 after Xcode 9 is active #644
- CoreSim: update list of managed simulator processes #643
- Xcode 9: adjust the required processes for "wait for simulator stable" heuristic #642
This a patch release for Xcode 9 beta 6. It includes iOSDeviceManger 2.0.2, which contains a fix for loading Swift dylibs in Xcode 9.
This is patch release for Xcode 9 beta 6.
- DeviceAgent: update to iOSDeviceManager 2.0.1 #639
- Terminate apps before uninstalling to prevent black screen/unresponsive apps on physical devices #177
- FBSimulatorControl: sync to 0.4.0 f7c5822 on Aug 18 2017 #176
- CLI for uploading in entire xcappdata bundles #175
- Fixes getting resources from args for install-app #172
This release provide preliminary support testing with Xcode 9 against iOS 11 physical devices. Testing against simulators is not yet supported.
run-loop now responds to PROVISIONING_PROFILE
environment variable.
- DeviceAgent: update to DeviceAgent 1.1.3 #637
- L10N: update path to UIKit.axbundle for Xcode 9 #636
- Update equality rules for Version class #635
- Respond to DeviceAgent iOS 11 changes to POST /rotate_home_button_to #634
- Better xcodebuild process management #633
- Update to iOSDeviceManager 2.0 #632
- CLI: add simctl erase and launch commands #631
- Gem: fix reference to version.rb for bundler 1.15 #630
- CoreSim: simulator does not steal focus when launching #629
- CoreSimulator can handle Xcode 9 DeviceAgent name change #628
- Device: wait for .GlobalPreferences.plist to exist #627
- Xcodebuild: manage existing test-without-building processes #625
- Initial Xcode 9/iOS 11 support #622
- Option for DeviceAgent to terminate AUT if it is running when new test session starts #620
This DeviceAgent was built with Xcode 8.3.3 on macOS Sierra.
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.1.3
- Server: decrease default touch time to 0.1 #244
- Update device rotation gesture and orientation reporting for iOS 11 #243
- Server: Remove pre-launch is-installed check; does not work on iOS 11 #242
- Xcode 9: text queries not forwarding to WebDriver attributes #241
- Server: handle infinite and CGFloat max/min floating point values #240
- Server: OR predicates not evaling correctly on web views - updated tests; issue is not resolved #239
- SpringBoard: add Hebrew and Italian SpringBoard alerts #238
- Update CBXDevice for iPad Pro 10.5 and arm64 devices #236
- Update build scripts to publish TestApp to test-cloud-test-apps #235
iOSDeviceManager 2.0 has improved code signing and preliminary support for Xcode 9.
This iOSDeviceManager was built with Xcode 8.3.3 on macOS Sierra.
https://github.com/calabash/iOSDeviceManager/releases/tag/2.0.0
- Stabilize and improve the resigning integration tests #168
- FBSimulatorControl includes ReturnAttributes key when inspecting installed applications #163
- Fetching applications before downloading app data prevents failures #162
- Xcode 9: can install provisioning profiles #161
- Add app-info command #160
- Fix file uploading when targeting physical devices #157
- upload command writes upload path to stdout #155
- CLI 2.0 #137
This release does not contain a new DeviceAgent stack.
- Migrate ~/.run-loop/xcuittest to ~/.run-loop/DeviceAgent to ensure xctestrun run exists #616
This release supports Xcode 8.3 and iOS 10.3.
This release contains a new DeviceAgent stack.
If you build run_loop from sources with bundler, you must run:
$ rake device_agent:expand
to get the new DeviceAgent stack.
The iOSDeviceManager resigning algorithm has been improved and we expect this iOSDeviceManager to execute application lifecycle events faster.
- DeviceAgent: replace start_test with xcodebuild test-without-building #613
- API for managing SpringBoard alerts manually #611
- Adds handling for Korean SpringBoard alerts. #610
- JS: add VPN definition to on_alert #608
https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.1.1
- DeviceAgent.xctest bundle includes xctestrun files #214
- Dismiss 'Open in' alerts automatically #212
- Fix PT-br APNS SpringBoard alert localizations #211
- Add Korean localizations for SpringBoard alerts #209
- Adds handling for VPN configuration springboard alert. #208
- Update for Xcode 8.3 #206
- Allow users to interact with SpringBoard alerts and control whether or not alerts are automatically dismissed #205
- Server: disable screenshots on server start #204
https://github.com/calabash/iOSDeviceManager/releases/tag/1.1.1
- Simulator#launch: wait for required simulator sevices #131
- Xcode 8.3 support #126
- Add library version of iOSDeviceManager for interop w/ Test Recorder #120
- Integration test using run_loop ruby API #110
- implement ios-cli resigning algorithm and add CLI interface #108
- Improve default device detection #104
- Add support for app lifecycle events on .ipa archives #103
- Allow positional argument for device ID #102
- Stores identities rather than making multiple find-identity calls #101
This release does not contain a new DeviceAgent stack.
- Xcode#version returns 0.0.0 on XTC and on RuntimeErrors #606
- CoreSim: quit simulator before resetting app sandbox #605
- DeviceAgent::Client: skip ensure software keyboard check #604
- Prepare for Xcode 8.3 support #603
- Directory: rescue errors during skip check and File.size #598
- Directory: rescue ENOENT errors during skip check #597
This release contains a significant change - Simulators will not be
automatically be relaunched whenever
Calabash::Cucumber::Launcher#relaunch
is called. Instead, run-loop
will try to keep the simulator running as long as it appears to be
health. This change is only for DeviceAgent test runs. Tests that use
UIAutomation will continue to relaunch the simulator.
If you are on macOS Sierra or using Xcode >= 8.0, you are running against DeviceAgent. UIAutomation is only used on El Cap with Xcode < 8.0 and iOS < 10.
If your tests need the simulator to relaunch every time
Launcher#relaunch
is called, you can pass the new :relaunch_simulator => true
option. This option is provided for backward compatibility.
- Improve Device#simulator_wait_for_stable_state for iOS <= 8 and iOS >= 10.1 #594
- CoreSimulator manages more processes for Xcode 8 and Sierra #593
- Stabilize integration tests for Xcode 8.2 #592
- Allow user to force simulator relaunch when running with DeviceAgent #591
- CoreSimulator relaunches the simulator if app state is not acceptable #590
- Use iOSDeviceManager arguments that are 1.0.4 and 1.0.5 compatible #589
- DA:Client: use a separate timeout for entering text #588
- DeviceAgent#Client: check if running DeviceAgent is stale #587
- Decouple simulator wait for stable state and CoreSim install and uninstall #586
- Add nl_BE and Swedish localizations for privacy alerts #585
- Update iOSDeviceManager arguments for 1.0.5 #584
- Device: improve the wait-for-simulator-stable algorithm #582
- ProcessWaiter: improve process detection #581
- CoreSim: quit simulator only when necessary #580
- DeviceAgent::Client: check simulator/application architecture compatibility #579
- Stabilize integration tests for Xcode 8 #578
- OSS: update vendor licenses #576
DeviceAgent 1.0.5 was skipped.
Built from tag 1.0.6
- Add mach clock and a simple waiter #202
- SpringBoard#queryForAlert: skip_waitForQuiescence check #201
- Increase touch duration to 0.2 to match XCUITest #198
- Use CocoaLumberjack for logging #197
- Update CocoaLumberjack to 3.0.0 #196
- TestApp: update to calabash.framework 0.20.4 #194
- Improve hitpoint and visibility calculation #193
- Fix text entry for i386/armv7 devices #192
- Dismiss SpringBoard alerts by touching alert buttons with coordinates #191
- SpringBoard: ask UIApplication for SpringBoard alert before making an expensive XCUITest query #190
- POST /session raises when app is not installed and when app fails to launch #189
iOSDeviceManager is unchanged for this version. See the 2.2.4 release notes below for details about the iOSDeviceManager 1.0.4 release.
DeviceAgent 1.0.4 can dismiss SpringBoard alerts in any orientation.
- DeviceAgent: no longer requires CLI.json #574
Built from tag 1.0.4
DeviceAgent can dismiss SpringBoard alerts in any orientation.
- Replace NSRunLoop runUntilDate: with CFRunLoopRunInMode to avoid unreliable NSDate behaviors #187
- SpringBoard: use XCUIElement#tap to dismiss alerts #186
- DeviceAgent: generate and distribute a dSYM #185
FBSimulatorControl was not updated. See the 1.0.3 notes for details.
- Remove DeviceAgent.iOS.Deployment #99
- CLI.json is no longer necessary for the iOSDeviceManager binary #96
Built from tag 1.0.4
- Update to DeviceAgent stack to 1.0.3 #572
- CODE_SIGN_IDENTITY is not longer required #570
- Increase DeviceAgent timeouts #569
- DA:Client: launch AUT with args and environment #567
- run-loop simctl tail shows all simulator logs #566
- App: fix TrueType font extension to avoid otool failures #565
- Added pt-BR translations for permissions alerts #563 @oscartanner
- Support Xcode 8.2 #561
- Turns enter text input parameter to string for numeric keyboards #560
- Gem: patch awesome_print for BasicObject #559
Built from tag 1.0.3
- Add iTunes and Apple Music SpringBoard alerts #183
- Add UITextView to TestApp #181
- Use Testmanagerd
XCT_sendString
to enter text except on i386/armv7 devices #178 - Fixes if statement in querying delete key for clear text #177
- Add GET environment and arguments #176
- Update SpringBoard alert definitions for iOS 10 #175
- clear_text should tap keyboard delete key #170
DeviceAgent now dismisses the following US English SpringBoard alerts:
- Sign In to iTunes
- Access Apple Music And Your Media
- Health Access
- Enable Dictation
- pt_BR localizations - thanks @oscartanner
Built from tag 1.0.3
Includes facebook/FBSimulatorControl 0.2.2 @ f0cc887.
The corresponding calabash/FBSimulatorControl tag is fb-0.2.2-at-f0cc887
- Match array-based entitlements with * and . #95
- FB Frameworks 0.2.2 with Sierra + Xcode >= 8.1 support #94
- Fix timeout by using mach_absolute_time() #93
- Fix ShasumProvider generating strings with missing characters. #92
- Upload files to application's data container #91
- Update to Facebook frameworks to 0.2.2 #89
- Use CocoaLumberjack provided by FBSimulatorControl #85
- Fix cannot find XCTBootstrap.framework compile time errors #83
- Simplify how we get the common name for a certificate #82
- Use CommonCrypto to get SHA1 instead of shelling out #80
The DeviceAgent stack contains fixes for:
- Fixes for pan gesture
- Code signing improvements
- DA:Client: increase timeouts for enter text calls #557
- Forward launch options to CoreSimulator #556 @MortenGregersen
- Gem: update the DeviceAgent stack to 1.0.2 #554
- Adds clear text for device agent #551 (not public yet)
- DeviceAgent::Client: add support for query("*") and query("all *") #550
- DeviceAgent::Client: enter text without keyboard check #548
20fbc23ece073e5beea611a4aafae436ad78e54b
- Drag avoid inertia #167
- Fix drag repetitions and correct duration from first point #164
- Touch: increase touch duration by 0.01 #161
cd24f2078ddac8a6435c819b8b980023636d6108
- Sign sim app bundles with the ad hoc signature '-' #63
- Make entitlement match robust to different entitlement formats #58
- Find usable codesign identity when not specified #53
The DeviceAgent stack contains fixes for:
- iOSDeviceManager crashes during DeviceAgent install (resigning)
- entering text causes app crashes
- DeviceAgent: update stack to 1.0.1 #545
- Support for Xcode 8.1 #543 @ark-konopacki
- flatten tree results - first step toward a replacement for query("*") #542 @ark-konopacki
- CoreSim: waiting is necessary after simctl install #538
- Core: default sim for Xcode 8 is iPhone 7 iOS 10 #537
- Gem: force HTTPClient 2.7.1 or higher #536
3ad75a33442a38cf1688ba705802c7de92a9fe9a
- Server: branch on element and snapshot when computing visibility #163
- Remove exception handling when computing visibility attributes in JSONUtils #162
- Server: resolve application before entering text #160
de929cdbbb1f8b46f8c300fd6a8ea3f03aa4182c
- MobileProfile: synchronize NSMutableArray inserts #48
- FBSimulatorControl SHA: 49f35f46eee79ec6ba8c1a744c256073e819cece
-
Fix retry with dylib injection and DeviceAgent #534 @MortenGregersen
-
DeviceAgent 1.0.0 a87ab2fe62a7c80aca6dd69e75b1bf923a87b2ef
-
iOSDeviceManager fe4942dc2ba245021f10ce7658235be31f25566b
-
FBSimulatorControl e3971e6d8b79b551ba8f5e05b72d355e18d7bc96
- 0.1.2
- SHA: 1ec8d02c54868559b301c218bbcd870cb16c23d9
- Handle SpringBoard alerts: take 2 - update based on Chris F changes + POST /dismiss-springboard-alerts #157
- SHA: fe4942dc2ba245021f10ce7658235be31f25566b
- SHA: e3971e6d8b79b551ba8f5e05b72d355e18d7bc96
- Respond to DeviceAgent SpringBoard alert route changes #532
- Support LPServer dylib injection on Simulators when running with DeviceAgent #531
- 0.1.2
- SHA: 3f985f3b4fb8f986c7450bd4db60eb6bd10f9f80
- Add marked query specifier and add tests for /query API #152
- Server: disable automatic SpringBoard alert dismiss #155
- SHA: fe4942dc2ba245021f10ce7658235be31f25566b
- Resiging: be defensive when calling NSTask #47
- Use ditto instead of zip when generating nuget package #46
- Resigning: fix mobileprovision decode and import #45
- Make: copy FB Frameworks with ditto #44
- SHA: e3971e6d8b79b551ba8f5e05b72d355e18d7bc96
- Make: build the Frameworks like Facebook does #7
- Expose one-off check to see if test complete #6
- Bootstrap: log when a testCaseDidFailForTest #5
- Allow the user to increase the default DeviceAgent install time #529
- DA:Client: prototype API for SpringBoard alerts #528
- CoreSim: don't wait after simctl install #527
- Improve DeviceAgent::Client HTTP interactions #526
- DeviceAgent: Cleanup life cycle methods #525
- DA:Client: increase default timeouts for Xamarin Test Cloud #524
- DA:IDM: Disable is installed? check for physical devices
- DA:IDM: only restart the simulator if necessary
- CLI: simctl tail displays last 5000 lines
- Expand DeviceAgent#query and gestures #522
- DeviceAgent: replace :gesture_performer with :automator #520
Many thanks to the crew on Gitter. Special thanks to:
- @JoeSSS, @TeresaP, @ark-konopacki, and @MortenGregersen
for beta testing.
- DeviceAgent 0.1.0 + code sign fix for physical devices #517
- Update to DeviceAgent 0.1.0 #516
- Update DeviceAgent stack in response to DeviceAgent.iOS name changes #515
- XCUITest #query filters by visibility #513
- XCUITest: add #pan_between_coordinates #511
- Respond to Xcode 8 otool changes #509
- Only launch CBX-Runner when necessary #508
- All simctl commands are performed through Simctl instance #507
- Device: assume PlistBuddy is not in PATH when setting the simulator language #506
- LifeCycle: IOSDeviceManager expands the Frameworks.zip if necessary #504
- Shell: raise the correct error when command fails #503
- Regex: expand VERSION_REGEX to support iOS 10.0 #502
- Rake: add task for expanding device agent .zips #501
- Start PhysicalDevice::LifeCycle::IOSDeviceManager implementation #500
- Remove dnssd dependency #496
- Core.default_tracetemplate raises on Xcode 8 #498
- Gem: require dnssd only on macOS #493
- iOSDeviceManager: wait for sim 'shutdown' state before launching #492
- RunLoop.run detects and respects gesture performer key #490
- run-loop cache needs to provide DeviceAgent details #489
- Don't call ps in the context of xcrun #488
- DeviceAgent: update to iOS 10 and Xcode 8 compatible binaries #486
- Travis uses macOS 10.11 and Xcode 7.3 #485
- XCUITest can use iOSDeviceManager binary to launch CBX-Runner and AUT #483
- Detecting and handling Xcode 8 and iOS 10 #482
- DetectAUT: increase search depth for AUT for Xamarin projects #481
- Rename exec methods in various classes #479
- XCUITest respects to DEVICE_AGENT_URL #477
- XCUITest: simplify the common gestures API #476
- XCUITest: support text entry #474
- Replace ~/ with Environment.user_home_directory #472
- Add CBXRunner and xctestctl #471
- Add more localizations for privacy alerts #469
- Catch invalid APP and device target settings #467
- XCUITest: progress on gesture API #466
- Physical device app LifeCycle API #458
- Fix :script and :uia_strategy detection #460
- Shell: a mixin for executing shell commands safely #457
- Encoding: extract uft8 coercion method from Xcrun #456
- SpringBoard cannot detect app installed by simctl on iPad #455
- DetectAUT ignores UrbanAirship and Google iOS SDK .xcodeproj #453
- Gem: pin listen to 3.0.9 #451
- XCUITest can perform queries by id #446
- Env: improved windows env detection #445
- Expose color methods as public API #443
- Replace SimControl with Simctl #441
- Fixing syntax error in host script #438 @garyjohnson
- Improve retry strategy for app launch on simulators #436
- Fix instruments CLI rspec tests. #416
- CoreSim#launch: improve retrying #434
- Filter new Xcode 7.3 simctl stderr output from
simctl list devices
#433 - Simctl is responsible for collecting devices on Xcode > 6
- CoreSim: patch retry on failed app launch 5300542
- Restore UIALogger flushing and ensure variables are substituted properly. #430
- DotDir: symlink to current result #429
- Relax deprecation warnings @TeresaP, @jane-openreply, and others
- RESET_BETWEEN_SCENARIOS has stopped working #426 @ankurgamit
This release fixes a bug that might put the iOS Simulator into a bad state. An iOS Simulator could potentially have a .app installed in its directory structure, but the app would not appear in Springboard or be detected by simctl. We have fixed the bug for Xcode 7. There is no possible fix for Xcode 6. In order to ensure that your iOS Simulators are in a good shape we recommend that all users run:
# Will take ~10 minutes depending on the number of installed simulators.
#
# Don't forget to run this on your CI machines.
#
# You only have to run this command once!
$ DEBUG=1 run-loop simctl doctor
I apologize for the inconvenience, this mistake is on me. -jjm
- Experimental interface for launching CBX-Runner and sending commands #423
- App and Ipa can return version info #422
- CLI: simctl doctor erases sims first #421
- Improve installed app check for Xcode 7 simulators #420
- Instruments#kill_instruments no longer branches on Xcode version #420
- CoreSim#launch - retry on errors #418
- Interface for launching CBX-Runner #417
- Core.run_with_options improve the way AUT and DUT are inferred #414
- Core.detecti_uia_strategy given options and RunLoop::Device #413
- DetectAUT.detect_app_under_test #412
- Device is responsible for inferring which device to target #411
- Drop Xcode 5 checks #410
- Environment: handle empty strings for DEVICE_TARGET, DEVICE_ENDPOINT, and TRACE_TEMPLATE #408
- Rescue pipe_io if Errno::EPIPE error is encountered #407 @TeresaP
- Improve automatic .app detection #405
- App: improve executable detection in app bundles #401
- Automatic .app detection #396
- App: valid apps have an executable file (CFBundleExecutable) #393
- App and Ipa can return arches #392
- Obtaining codesigning information about App and Ipa #388
- Raise error if Xcode#developer_dir path does not exist #387
- Xcrun: handle command output that contains non-UTF8 characters #382 @ark-konopacki
- Improve how App and Ipa instances detect the Calabash server version #379
- Refactor auto dismiss JavaScript methods #378
- JS: French localizations for privacy alerts #377
- Xcode 7.3 support #370
- Launch simulator with locale and language #367
- App and Ipa classes can report calabash_server_version #366 @ark-konopacki
- Fix: Unable to find file: run_loop_fast_uia.js #361
- @NickLaMuro, @kyleect and everyone else who reported
- OnAlert: divide regexes by language #358
- HostCache can be used by
console_attach
for all strategies #357 - Xcode 7.2 support #355
- Add Gitlab as a supported CI #353
- *_ci? methods should return true/false #355
- Extract Logger and onAlert to a single JavaScript file using erb templates #261 @svevang
- Add Danish missing localization for Location alert #346
- Dutch APNS dialog is not automatically dismissed #337
- Core: prevent double launching of simulator #341 @fmuzf
- CoreSim: expose :wait_for_state_timeout option #340
- CoreSimulator can erase a simulator #339
- Core: prepare simulator responds to :reset launch arg #338
- Fix 'simctl manage processes' #336
- Increase simctl and sim stable timeouts in CI environments and expose options to users #334
- Find window with hitpoint #333 @krukow
- Improve Directory.directory_digest response to File.read errors #331
- Increase simctl install/launch app and simulator stable timeouts in CI environments #329
- Auto dismiss "nearby bluetooth devices" alert #326
- Simplify the detection of iOS Simulator #323
- Remove Retriable dependency #322
- Remove CAL_SIM_POST_LAUNCH_WAIT env var #321
- Remove XCTools #319
- Expose important timeouts as constant mutable hashes #315
- CoreSimulator#launch launches simulator even if app is installed #313
- Send KILL to lldb directly and don't wait as long for lldb to die #312
- Improve dylib injection for simulators #311 @MortenGregersen
- Standup Jenkins jobs #309
- Set minimum ruby version to 2.0 #308
The following have been removed from RunLoop in 2.0:
- RunLoop::XCTools; replaced with Xcode and Instruments
- RunLoop::Environment.sim_post_launch_wait; no replacement. Additionally, run-loop no longer responds to CAL_SIM_POST_LAUNCH_WAIT
Many thanks to everyone who filed issues for this release.
- Rotate /Library/Cache/com.app.dt.instruments directories #304
- By default, run-loop writes results to ~/.run-loop/results and manages these directories #299
- Fix CLI simctl install/uninstall: CoreSim manages stdio.pipe and 'remembers' that it already launched the simulator #297
- Improve Directory.directory_digest and Device#simulator_wait_for_stable_state interaction #296
- Xcode 7: command line tools that use Simctl::Bridge are broken (blocking) #289
- Device#simulator_data_dir_size is timing out #287 @carmbruster
- Xcode 7.1 beta 2: instruments and simctl need to filter out Apple TV from known simulators #283
- Running out of disk space because of cached instruments files #276
- @nfrydenholm, @TeresaP, @mholtman
- Expand APP (and APP_BUNDLE_PATH) path before launching instruments #255 @ark-konopacki
Many thanks to everyone who filed issues. We really appreciate it. If I missed an attribution, let me know. -jjm
- Simulator: should manage the 'iproxy' process #279 @cryophobia
- Gem: ruby_files glob should catch only ruby files #274 @svevang
- Fix blocking reads in Xcrun when consuming large output of commands #270
- @kennethjiang, @kamstrup
- Instruments#version extracts version from Instruments.app Info.plist #269 @gdknutel
- Increase the default timeout for Xcrun.exec #268 @gdknutel
- Manage assetsd process #267
- Improve integration examples: part 1 #266
- Core.simulator_target? should match simulators created by users #262
- Xcode 7: launch instruments with simulator UDID to avoid ambiguous matches #253 @sapieneptus
- Remove CoreSimulator LaunchServices csstore before during simulator preparation #252 @sapieneptus
- iOS9: dismiss Motion/Activity and Twitter permissions alerts #251 @sapieneptus
- HOTFIX: backward compatibility for Calabash < 0.16.1 #248 @ark-konopacki
- HOTFIX: backward compatibility for Calabash < 0.16.1 @ark-konopacki
- Use CoreSimulator to ensure target app is the same as installed app #244
- Core.prepare_simulator raises an error if app does not exist #236
- Fixup Core#simulator_target? for Xcode 7 #232
- Force UTF-8 encoding when reading the output of
instruments
Thanks to Magnús Magnússon - Xcode 7.1 beta support
- CLI: simctl doctor [--device=DEVICE] - tool to prepare CoreSimulator environment EXPERIMENTAL
- CoreSimulator#launch_simulator waits for the simulator to install
- CoreSimulator App Life Cycle with direct file IO vs simctl
- Simulator devices can update their state
- Xcrun class for safely executing 'xcrun' commands
- Core.simulator_target? - fixup for Xcode 7 #216
- JS: can dismiss iOS 9 APNS privacy alerts #214
- Deprecate optional argument in Device#instruments_identifier
- Changes to prepare Calabash for Xcode 7/iOS 9 testing.
- Default sim for Xcode 7 is 'iPhone 5s (9.0)' #205
- Xcode 7 instruments support #204
- Expand the Instruments class behaviors
- Add L10N class
- Add Xcode class
- Deprecate XCTools class
- Add more privacy alert auto-dismiss regular expressions #199
- UIKit localization lookups in runloop #197 @svevang
- Fixed typo in Xcode 7 check #195 @krukow
- Add support for inspecting ipa app bundles #192
- Managing the CoreSimulator daemon #191
- Expect {} raise_error should specify the error #190
- Xcode 7 beta support #189
- Prevent simulator from stealing focus between scenarios #188 @michaelkirk
- Search for and validate gem version #187
- Add a generic file cache for hashes #185
- Move host cache from /tmp to ~/.run-loop #184
- Add Device.device_with_identifer method #181
- Simctl::Bridge should manage Xamarin's csproxy #180
- Remove LOAD_PATH shifting; it is unnecessary #179
- 'run-loop simctl install' command line interface #175
- Retriable patch needs to retriable/version #173
- Xcode 6.4b support #172
This is a patch release for Xcode 6.3 + iOS 8.3 simulators.
Xcode 6.3 instruments cannot launch installed app on iOS 8.3 Simulator calabash/#744
- Refine accessibility and software keyboard enabling #168
- Implement fix for Xcode 6.3 + iOS 8.3 simulators #165
- Make simctl bridge production ready #164
- simctl bridge can UIAninstall an app #163
- Add command-line tool #157
- Avoid permission collision of parent temp folder when running multiple instances from different user accounts on the same machine #156 @benshan
- Support 1.3.3.1 <= Retriable < 2.1 #154
- Detect Xcode-beta.app (new in Xcode 6.3 beta 3) #153
- Can use simulator UDID for DEVICE_TARGET #150
- SimControl should filter unavailable devices #148
- Support for providing a logger in the options parameter to most methods
- Non-blocking writes prevent occasional hang in run app
- Support raw JavaScript calls to UIPickerView classes #134
- Install and launch an app with simctl #132
- Xcode 6.3 beta support #127
- Better instruments process spawn/termination #123, #128, #129
- In multi-user environments,
/tmp/run_loop_host_cache
causes permissions issues #121 @onfoot
- #118 rollback awesome print dependency to match android
- Fix performance regression on :host strategy calabash #670
- #111 stable and pre-release comparison @spedepekka
- #109 Change Xcode 6 default simulator to iPhone 5s
- #107 enable host strategy caching for console attach
- #105 update awesome print to 1.6
- #101 Escape binary path in argument to lipo. @gredman
- Improved :host strategy.
- Improved :preferences strategy.
- Improved escaping across all strategies.
- Experimental support for Xcode 6.2 beta.
- #94 Round coordinates in uia
- #93 Allow dismissal of Location accuracy when bluetooth is disabled
- #91 Add updated CalabashScript to retry key entry if there is a failure
- #90 Updated Calabash Script to support swipe via drag
- #87 instruments process are becoming orphaned because the parent is killed before the child
- #84 Fix bad ref to logger
- #81 UITest: Fix querying Symbols and bump run loop prerelease version
- #80 Ensure compatible arch before launching on device
- #79 UIA strategy shared element
- #78 Default simulator for xcode 6.2 beta
- #76 Device class can provide instruments ready simulator names
- #69 Stability uia timeout/lost write/read
- #68 Raise an error with a helpful message when Instruments.app is open
- #61 After killing instruments, try Process.wait
- #57 Enable Xcode 6 simulator keyboards by default thanks @gwynantj
- #56 Default simulator for Xcode 6.1 GM seed 2 should be iPhone 5 iOS 8.1
- #55 Enabling accessibility on simulators can skip CoreSimulator directories
- #54 Fix default_tracetemplate for Xcode 6.1 GM seed 2
- #48 Fixes 'No such process (Errno::ESRCH)' error when terminating instruments
- #47 Yosemite support for Xcode 6.1 beta automation template
- #46 Handling "notifications" related dialogs which appear particularly on iOS 8 devices
- #41 Send 'QUIT' instead of
kill -9
or 'TERM' to halt instruments processes
- #42 Prelim. support for different privacy dialogs on iOS 8
- #38 Adds two missing DEBUG == '1' guards
- #39 SimControl can erase individual Xcode 6 simulators