CHANGELOG

All notable changes to this project will be documented in this file.

[4.1.10] - 15-MAY-2026

Changed

  • Updated appium_lib gem to version 16.3.0.
  • Updated appium_lib_core gem to version 13.0.0.

[4.1.9] - 20-MAR-2026

Changed

  • Update json and nokogii gems to address security vulnerabilities.

[4.1.8] - 13-JAN-2026

Added

  • Added activesupport gem as a runtime dependency to prevent test failures if gem is not already installed.
  • Added DataSource.read_file method capable of reading from .yml, .json, .csv, or .xml data files, and accepting options hash for specifying hash key and value conversions to data being read prior to passing to DataPresenter objects.

Changed

  • Refactored EnvironData.read method to allow passing options hash for specifying hash key and value conversions to data being read prior to passing to DataPresenter objects.
  • Refactored ScreenObject.populate_data_fields and ScreenSection.populate_data_fields methods to support passing a Symbol for a UI element's name to support using DataPresenter object attributes to source data.
  • Updated appium_lib gem to version 16.1.1.
  • Updated appium_lib_core gem to version 11.2.0.

Removed

  • Unused DataObject class has been removed.
  • Removed unused DataSource.read_yaml_node_data and DataSource.read_json_node_data methods.

[4.1.7] - 25-NOV-2025

Changed

  • Appium version 1.x is no longer supported.

[4.1.6] - 04-OCT-2025

Changed

  • Update Nokogiri gem to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796.
  • Update REXML gem to address DoS vulnerability when parsing XML containing multiple XML declarations.
  • Set default Appium version to 2.10.3 for TestingBot.

[4.1.5] - 29-JUL-2025

Changed

  • No longer bundling selenium-webdriver as a runtime dependency.

[4.1.4] - 22-MAY-2025

Changed

  • Updated selenium-webdriver gem to version 4.32.0.

[4.1.3] - 28-APR-2025

Changed

  • Updated selenium-webdriver gem to version 4.31.0.

[4.1.2] - 27-MAR-2025

Changed

  • Updated appium_lib gem to version 16.1.0.
  • Updated appium_lib_core gem to version 11.0.1.
  • Updated selenium-webdriver gem to version 4.30.1.

[4.1.1] - 18-MAR-2025

Changed

  • Updated appium_lib gem to version 16.0.1.
  • Updated appium_lib_core gem to version 10.0.0.
  • Updated selenium-webdriver gem to version 4.29.1.

[4.1.0] - 25-JAN-2025

Changed

  • Updated selenium-webdriver gem to version 4.28.0.
  • Updated appium_lib gem to version 15.3.0.
  • Updated appium_lib_core gem to version 9.5.0.
  • Ruby version 3.1.0 or greater is now required.

[4.0.14] - 04-NOV-2024

Changed

  • Updated selenium-webdriver gem to version 4.26.0.
  • Updated rexml gem to latest version to address ReDoS vulnerability.

[4.0.13] - 24-SEP-2024

Changed

  • Updated selenium-webdriver gem to version 4.25.0.

[4.0.12] - 30-AUG-2024

Changed

  • Updated selenium-webdriver gem to version 4.24.0.

[4.0.11] - 08-AUG-2024

Changed

  • Updated appium_lib gem to version 15.2.2.
  • Updated appium_lib_core gem to version 9.2.1.

[4.0.10] - 25-JULY-2024

Changed

  • Updated selenium-webdriver gem to version 4.23.0.
  • Updated appium_lib gem to version 15.2.0.
  • Updated appium_lib_core gem to version 9.2.0.

[4.0.9] - 23-JUNE-2024

Changed

  • Updated selenium-webdriver gem to version 4.22.0.

[4.0.8] - 03-JUNE-2024

Fixed

  • When testing using locally hosted iOS simulators or physical devices, and when not passing an options hash to specify desired capabilities, the AppiumConnect.initialize_appium method now correctly sets the following XCUItest capabilities:
    • appium:webviewConnectTimeout capability is now correctly specified as an Integer
    • appium:maxTypingFrequency set to 15 keystrokes per minute to resolve an issue where characters are intermittently dropped during text entry by AppUIElement.set, AppUIElement.send_keys, or BaseScreenSectionObject.populate_data_fields methods.
  • AppList.list_item attribute now defaults to XCUIElementTypeOtherclass for iOS/iPadOS platform and android.view.ViewGroup class for Android platform.

Changed

  • Updated appium_lib gem to version 15.1.0.
  • Updated appium_lib_core gem to version 9.1.1.
  • Updated selenium-webdriver gem to version 4.21.1.

[4.0.7] - 05-MAY-2024

Added

  • Added support for radio buttons via the AppRadio UI element class and the following methods:
    • ScreenObject.radio
    • ScreenObject.radios
    • ScreenSection.radio
    • ScreenSection.radios
  • ScreenObject.populate_data_fields and ScreenSection.populate_data_fields methods now support radio buttons.

Changed

  • Updated selenium-webdriver gem to version 4.20.1.
  • Updated appium_lib_core gem to version 8.0.2.

[4.0.6] - 02-MAY-2024

Fixed

  • ScreenSection.find_section is now able to find ScreenSection objects embedded within other ScreenSections.

[4.0.5] - 29-APR-2024

Fixed

  • ScreenSection.disabled? no longer returns wrong values.

[4.0.4] - 26-APR-2024

Changed

  • Updated selenium-webdriver gem to version 4.20.0.
  • Updated appium_lib gem to version 15.0.0.
  • Updated appium_lib_core gem to version 8.0.1.
  • No longer using deprecated Appium driver.keyboard_shown? method.

[4.0.3] - 05-APR-2024

Fixed

  • AppiumConnect.initialize_appium, AppiumServer.start, and AppiumServer.running? methods now support Appium version 2.x. Backward compatibility with Appium version 1.x is provided if APPIUM_SERVER_VERSION Environment Variable is set to 1.

[4.0.2] - 27-MAR-2024

Changed

  • Updated selenium-webdriver gem to version 4.19.0.

[4.0.0] - 26-MAR-2024

Fixed

  • DataPresenter.initialize no longer fails if data parameter is nil.
  • ScreenObject.load_screen now supports deeplinks on iOS physical devices.

Added

  • Added support for specifying and connecting to mobile devices and simulators on unsupported cloud hosting services using custom user-defined driver and capabilities.
  • Added the following new gesture methods:
    • AppUIElement.scroll_into_view
    • AppUIElement.drag_by
    • AppUIElement.drag_and_drop
    • AppUIElement.swipe_gesture
    • ScreenObject.swipe_gesture
    • ScreenSection.swipe_gesture
    • ScreenSection.scroll_into_view
  • Added AppUIElement.count method.
  • Added AppAlert.buttons and AppAlert.get_caption methods.
  • Added the following biometrics methods:
    • AppiumConnect.is_biometric_enrolled?
    • AppiumConnect.set_biometric_enrollment
    • AppiumConnect.biometric_match

Changed

  • AppiumConnect.initialize_appium method now accepts an optional options hash for specifying desired capabilities (using W3C protocol), driver, driver name, endpoint URL, global driver setting, and device type information.
  • Updated ScreenObject.verify_ui_states and ScreenSection.verify_ui_states methods to support automatically scrolling to offscreen UI elements.
  • All touch and gesture methods refactored to no longer depend on deprecated TouchAction and MultiTouchAction classes.
  • Ruby version 3.0.0 or greater is now required.
  • Updated appium_lib gem to version 14.0.0.
  • Updated selenium-webdriver gem to version 4.18.1.

Removed

  • Support for test data assets stored in Excel .xls has been removed because .xls files cannot be properly tracked and diffed by source control tools like git.
  • ExcelData and ExcelDataSource classes removed.
  • Removed dependence on spreadsheet gem.
  • Removed the following deprecated methods:
    • AppiumConnect.switch_to_default_context
    • AppiumConnect.reset_app
    • AppiumConnect.launch_app
    • AppiumConnect.close_app

[3.1.1] - 04-AUGUST-2022

Fixed

  • AppiumConnect.available_contexts now correctly returns a list of native app and web contexts when testing hybrid apps with WebViews on iOS simulators.

[3.1.0] - 02-AUGUST-2022

Added

  • The DRIVER Environment Variable is now used to specify the appium, browserstack, saucelabs, testingbot, or lambdatest driver.

[3.0.6] - 21-JUNE-2022

Fixed

  • AppButton.get_caption correctly returns captions of React Native buttons on Android platform where button caption object hierarchy is //android.widget.Button/android.widget.ViewGroup/android.widget.TextView.

[3.0.5] - 12-JUNE-2022

Fixed

  • Fixed gemspec to no longer include specs and Cucumber tests as part of deployment package for the gem.

[3.0.4] - 02-JUNE-2022

Added

  • Added AppUIElement.wait_until_enabled method.

[3.0.3] - 30-MAY-2022

Added

  • Added AppAlert.await_and_respond method.

[3.0.2] - 26-MAY-2022

Fixed

  • Added runtime dependencies curb and json to gemspec.
  • Fixed CHANGELOG url in gemspec.

[3.0.1] - 26-MAY-2022

Added

  • Added support for testing on cloud hosted iOS and Android simulators and real devices on BrowserStack, SauceLabs, and TestingBot services.
  • ScreenObject.load_page method adds support for using deep links to directly load screens/pages of native apps.
  • AppiumConnect.upload_app method adds support for uploading native apps to BrowserStack and TestingBot services prior to running tests.

Changed

  • Ruby version 2.7 or greater is required.