appium/java-client
### [`v8.0.0`](https://togithub.com/appium/java-client/releases/v8.0.0)
[Compare Source](https://togithub.com/appium/java-client/compare/7.6.0...v8.0.0)
*8.0.0*
- **\[DOCUMENTATION]**
- Set minimum Java version to 1.8.0. [#1631](https://togithub.com/appium/java-client/pull/1631)
- **\[BUG FIX]**
- Make interfaces public to fix decorator creation. [#1644](https://togithub.com/appium/java-client/pull/1644)
- Do not convert argument names to lowercase. [#1627](https://togithub.com/appium/java-client/pull/1627)
- Avoid fallback to css for id and name locator annotations. [#1622](https://togithub.com/appium/java-client/pull/1622)
- Fix handling of chinese characters in `AppiumDriverLocalService`. [#1618](https://togithub.com/appium/java-client/pull/1618)
- **\[DEPENDENCY UPDATES]**
- `org.owasp.dependencycheck` was updated to 7.0.0.
- `org.springframework:spring-context` was updated to 5.3.16.
- `actions/setup-java` was updated to 3.
- `actions/checkout` was updated to 3.
- `io.github.bonigarcia:webdrivermanager` was updated to 5.1.0.
- `org.aspectj:aspectjweaver` was updated to 1.9.8.
- `org.slf4j:slf4j-api` was updated to 1.7.36.
- `com.github.johnrengelman.shadow` was updated to 7.1.2.
### [`v7.6.0`](https://togithub.com/appium/java-client/releases/7.6.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.5.1...7.6.0)
*7.6.0*
- **\[ENHANCEMENTS]**
- Add custom commands dynamically \[Appium 2.0]. [#1506](https://togithub.com/appium/java-client/pull/1506)
- New General Server flags are added \[Appium 2.0]. [#1511](https://togithub.com/appium/java-client/pull/1511)
- Add support of extended Android geolocation. [#1492](https://togithub.com/appium/java-client/pull/1492)
- **\[BUG FIX]**
- AndroidGeoLocation: update the constructor signature to mimic order of parameters in `org.openqa.selenium.html5.Location`. [#1526](https://togithub.com/appium/java-client/pull/1526)
- Prevent duplicate builds for PRs from base repo branches. [#1496](https://togithub.com/appium/java-client/pull/1496)
- Enable Dependabot for GitHub actions. [#1500](https://togithub.com/appium/java-client/pull/1500)
- bind mac2element in element map for mac platform. [#1474](https://togithub.com/appium/java-client/pull/1474)
- **\[DEPENDENCY UPDATES]**
- `org.owasp.dependencycheck` was updated to 6.3.2.
- `org.projectlombok:lombok` was updated to 1.18.22.
- `com.github.johnrengelman.shadow` was updated to 7.1.0.
- `actions/setup-java` was updated to 2.3.1.
- `io.github.bonigarcia:webdrivermanager` was updated to 5.0.3.
- `org.springframework:spring-context` was updated to 5.3.10.
- `org.slf4j:slf4j-api` was updated to 1.7.32.
- `com.google.code.gson:gson` was updated to 2.8.8.
- `gradle` was updated to 7.1.1.
- `commons-io:commons-io` was updated to 2.11.0.
- `org.aspectj:aspectjweaver` was updated to 1.9.7.
- `org.eclipse.jdt:ecj` was updated to 3.26.0.
- `'junit:junit` was updated to 4.13.2.
### [`v7.5.1`](https://togithub.com/appium/java-client/releases/v7.5.1)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.5.0...v7.5.1)
- **\[ENHANCEMENTS]**
- Add iOS related annotations to tvOS. [#1456](https://togithub.com/appium/java-client/pull/1456)
- **\[BUG FIX]**
- Bring back automatic quote escaping for desired capabilities command-line arguments on windows. [#1454](https://togithub.com/appium/java-client/pull/1454)
- **\[DEPENDENCY UPDATES]**
- `org.owasp.dependencycheck` was updated to 6.1.2.
- `org.eclipse.jdt:ecj` was updated to 3.25.0.
### [`v7.5.0`](https://togithub.com/appium/java-client/releases/v7.5.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.4.1...v7.5.0)
- **\[ENHANCEMENTS]**
- Add support for Appium Mac2Driver. [#1439](https://togithub.com/appium/java-client/pull/1439)
- Add support for multiple image occurrences. [#1445](https://togithub.com/appium/java-client/pull/1445)
- `BOUND_ELEMENTS_BY_INDEX` Setting was added. [#1418](https://togithub.com/appium/java-client/pull/1418)
- **\[BUG FIX]**
- Use lower case for Windows platform key in ElementMap. [#1421](https://togithub.com/appium/java-client/pull/1421)
- **\[DEPENDENCY UPDATES]**
- `org.apache.commons:commons-lang3` was updated to 3.12.0.
- `org.springframework:spring-context` was updated to 5.3.4.
- `org.owasp.dependencycheck` was updated to 6.1.0.
- `io.github.bonigarcia:webdrivermanager` was updated to 4.3.1.
- `org.eclipse.jdt:ecj` was updated to 3.24.0.
- `org.projectlombok:lombok` was updated to 1.18.16.
- `jcenter` repository was removed.
### [`v7.4.1`](https://togithub.com/appium/java-client/releases/v7.4.1)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.4.0...v7.4.1)
*7.4.1*
- **\[BUG FIX]**
- Fix the configuration of `selenium-java` dependency. [#1417](https://togithub.com/appium/java-client/pull/1417)
- **\[DEPENDENCY UPDATES]**
- `gradle` was updated to 6.7.1.
### [`v7.4.0`](https://togithub.com/appium/java-client/releases/v7.4.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.3.0...v7.4.0)
- **\[ENHANCEMENTS]**
- Add ability to set multiple settings. [#1409](https://togithub.com/appium/java-client/pull/1409)
- Support to execute Chrome DevTools Protocol commands against Android Chrome browser session. [#1375](https://togithub.com/appium/java-client/pull/1375)
- Add new upload options i.e withHeaders, withFormFields and withFileFieldName. [#1342](https://togithub.com/appium/java-client/pull/1342)
- Add AndroidOptions and iOSOptions. [#1331](https://togithub.com/appium/java-client/pull/1331)
- Add idempotency key to session creation requests. [#1327](https://togithub.com/appium/java-client/pull/1327)
- Add support for Android capability types: `buildToolsVersion`, `enforceAppInstall`, `ensureWebviewsHavePages`, `webviewDevtoolsPort`, and `remoteAppsCacheLimit`. [#1326](https://togithub.com/appium/java-client/pull/1326)
- Added OTHER_APPS and PRINT_PAGE_SOURCE_ON_FIND_FAILURE Mobile Capability Types. [#1323](https://togithub.com/appium/java-client/pull/1323)
- Make settings available for all AppiumDriver instances. [#1318](https://togithub.com/appium/java-client/pull/1318)
- Add wrappers for the Windows screen recorder. [#1313](https://togithub.com/appium/java-client/pull/1313)
- Add GitHub Action validating Gradle wrapper. [#1296](https://togithub.com/appium/java-client/pull/1296)
- Add support for Android viewmatcher. [#1293](https://togithub.com/appium/java-client/pull/1293)
- Update web view detection algorithm for iOS tests. [#1294](https://togithub.com/appium/java-client/pull/1294)
- Add allow-insecure and deny-insecure server flags. [#1282](https://togithub.com/appium/java-client/pull/1282)
- **\[BUG FIX]**
- Fix jitpack build failures. [#1389](https://togithub.com/appium/java-client/pull/1389)
- Fix parse platformName if it is passed as enum item. [#1369](https://togithub.com/appium/java-client/pull/1369)
- Increase the timeout for graceful AppiumDriverLocalService termination. [#1354](https://togithub.com/appium/java-client/pull/1354)
- Avoid casting to RemoteWebElement in ElementOptions. [#1345](https://togithub.com/appium/java-client/pull/1345)
- Properly translate desiredCapabilities into a command line argument. [#1337](https://togithub.com/appium/java-client/pull/1337)
- Change getDeviceTime to call the `mobile` implementation. [#1332](https://togithub.com/appium/java-client/pull/1332)
- Remove appiumVersion from MobileCapabilityType. [#1325](https://togithub.com/appium/java-client/pull/1325)
- Set appropriate fluent wait timeouts. [#1316](https://togithub.com/appium/java-client/pull/1316)
- **\[DOCUMENTATION UPDATES]**
- Update Appium Environment Troubleshooting. [#1358](https://togithub.com/appium/java-client/pull/1358)
- Address warnings printed by docs linter. [#1355](https://togithub.com/appium/java-client/pull/1355)
- Add java docs for various Mobile Options. [#1331](https://togithub.com/appium/java-client/pull/1331)
- Add AndroidFindBy, iOSXCUITFindBy and WindowsFindBy docs. [#1311](https://togithub.com/appium/java-client/pull/1311)
- Renamed maim.js to main.js. [#1277](https://togithub.com/appium/java-client/pull/1277)
- Improve Readability of Issue Template. [#1260](https://togithub.com/appium/java-client/pull/1260)
### [`v7.3.0`](https://togithub.com/appium/java-client/releases/v7.3.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.2.0...v7.3.0)
**\[ENHANCEMENTS]**
\- Add support for logging custom events on the Appium Server. [#1262](https://togithub.com/appium/java-client/pull/1262)
\- Update Appium executable detection implementation. [#1256](https://togithub.com/appium/java-client/pull/1256)
\- Avoid through NPE if any setting value is null. [#1241](https://togithub.com/appium/java-client/pull/1241)
\- Settings API was improved to accept string names. [#1240](https://togithub.com/appium/java-client/pull/1240)
\- Switch `runAppInBackground` iOS implementation in sync with other platforms. [#1229](https://togithub.com/appium/java-client/pull/1229)
\- JavaDocs for AndroidMobileCapabilityType was updated. [#1238](https://togithub.com/appium/java-client/pull/1238)
\- Github Actions were introduced instead of TravisCI. [#1219](https://togithub.com/appium/java-client/pull/1219)
- **\[BUG FIX]**
- Fix return type of `getSystemBars` API. [#1216](https://togithub.com/appium/java-client/pull/1216)
- Avoid using `getSession` call for capabilities values retrieval \[W3C Support]. [#1204](https://togithub.com/appium/java-client/pull/1204)
- Fix pagefactory list element initialisation when parameterised by generic type. [#1237](https://togithub.com/appium/java-client/pull/1237)
- Fix AndroidKey commands. [#1250](https://togithub.com/appium/java-client/pull/1250)
### [`v7.2.0`](https://togithub.com/appium/java-client/releases/v7.2.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.1.0...v7.2.0)
*7.2.0*
- **\[DEPENDENCY UPDATES]**
- `org.seleniumhq.selenium:selenium-java` was reverted to stable version 3.141.59. [#1209](https://togithub.com/appium/java-client/pull/1209)
- `org.projectlombok:lombok:1.18.8` was introduced. [#1193](https://togithub.com/appium/java-client/pull/1193)
- **\[ENHANCEMENTS]**
- `videoFilters` property was added to IOSStartScreenRecordingOptions. [#1180](https://togithub.com/appium/java-client/pull/1180)
- **\[IMPROVEMENTS]**
- `Selendroid` automationName was deprecated. [#1198](https://togithub.com/appium/java-client/pull/1198)
- JavaDocs for AndroidMobileCapabilityType and IOSMobileCapabilityType were updated. [#1204](https://togithub.com/appium/java-client/pull/1204)
- JitPack builds were fixed. [#1203](https://togithub.com/appium/java-client/pull/1203)
### [`v7.1.0`](https://togithub.com/appium/java-client/releases/v7.1.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v7.0.0...v7.1.0)
- **\[ENHANCEMENTS]**
- Added an ability to get all the session details. [#1167 ](https://togithub.com/appium/java-client/pull/1167)
- `TRACK_SCROLL_EVENTS`, `ALLOW_INVISIBLE_ELEMENTS`, `ENABLE_NOTIFICATION_LISTENER`,
`NORMALIZE_TAG_NAMES` and `SHUTDOWN_ON_POWER_DISCONNECT` Android Settings were added.
- `KEYBOARD_AUTOCORRECTION`, `MJPEG_SCALING_FACTOR`,
`MJPEG_SERVER_SCREENSHOT_QUALITY`, `MJPEG_SERVER_FRAMERATE`, `SCREENSHOT_QUALITY`
and `KEYBOARD_PREDICTION` iOS Settings were added.
- `GET_MATCHED_IMAGE_RESULT`, `FIX_IMAGE_TEMPLATE_SCALE`,
`SHOULD_USE_COMPACT_RESPONSES`, `ELEMENT_RESPONSE_ATTRIBUTES` and
`DEFAULT_IMAGE_TEMPLATE_SCALE` settings were added for both Android and iOS [#1166](https://togithub.com/appium/java-client/pull/1166), [#1156 ](https://togithub.com/appium/java-client/pull/1156) and [#1120](https://togithub.com/appium/java-client/pull/1120)
- The new interface ` io.appium.java_client.ExecutesDriverScript ` was added. [#1165](https://togithub.com/appium/java-client/pull/1165)
- Added an ability to get status of appium server. [#1153 ](https://togithub.com/appium/java-client/pull/1153)
- `tvOS` platform support was added. [#1142 ](https://togithub.com/appium/java-client/pull/1142)
- The new interface `io.appium.java_client. FindsByAndroidDataMatcher` was added. [#1106](https://togithub.com/appium/java-client/pull/1106)
- The selector strategy `io.appium.java_client.MobileBy.ByAndroidDataMatcher` was added. [#1106](https://togithub.com/appium/java-client/pull/1106)
- Selendroid for android and UIAutomation for iOS are removed. [#1077 ](https://togithub.com/appium/java-client/pull/1077)
- **\[BUG FIX]** Platform Name enforced on driver creation is avoided now. [#1164 ](https://togithub.com/appium/java-client/pull/1164)
- **\[BUG FIX]** Send both signalStrengh and signalStrength for `GSM_SIGNAL`. [#1115 ](https://togithub.com/appium/java-client/pull/1115)
- **\[BUG FIX]** Null pointer exceptions when calling getCapabilities is handled better. [#1094 ](https://togithub.com/appium/java-client/pull/1094)
- **\[DEPENDENCY UPDATES]**
- `org.seleniumhq.selenium:selenium-java` was updated to 4.0.0-alpha-1.
- `org.aspectj:aspectjweaver` was updated to 1.9.4.
- `org.apache.httpcomponents:httpclient` was updated to 4.5.9.
- `cglib:cglib` was updated to 3.2.12.
- `org.springframework:spring-context` was updated to 5.1.8.RELEASE.
- `io.github.bonigarcia:webdrivermanager` was updated to 3.6.1.
- `org.eclipse.jdt:ecj` was updated to 3.18.0.
- `com.github.jengelman.gradle.plugins:shadow` was updated to 5.1.0.
- `checkstyle` was updated to 8.22.
- `gradle` was updated to 5.4.
- `dependency-check-gradle` was updated to 5.1.0.
- `org.slf4j:slf4j-api` was updated to 1.7.26.
- `org.apache.commons:commons-lang3` was updated to 3.9.
### [`v7.0.0`](https://togithub.com/appium/java-client/releases/v7.0.0)
[Compare Source](https://togithub.com/appium/java-client/compare/v6.1.0...v7.0.0)
- **\[ENHANCEMENTS]**
- The new interface `io.appium.java_client.FindsByAndroidViewTag` was added. [#996](https://togithub.com/appium/java-client/pull/996)
- The selector strategy `io.appium.java_client.MobileBy.ByAndroidViewTag` was added. [#996](https://togithub.com/appium/java-client/pull/996)
- The new interface `io.appium.java_client.FindsByImage` was added. [#990](https://togithub.com/appium/java-client/pull/990)
- The selector strategy `io.appium.java_client.MobileBy.ByImage` was added. [#990](https://togithub.com/appium/java-client/pull/990)
- The new interface `io.appium.java_client.FindsByCustom` was added. [#1041](https://togithub.com/appium/java-client/pull/1041)
- The selector strategy `io.appium.java_client.MobileBy.ByCustom` was added. [#1041](https://togithub.com/appium/java-client/pull/1041)
- DatatypeConverter is replaced with Base64 for JDK 9 compatibility. [#999](https://togithub.com/appium/java-client/pull/999)
- Expand touch options API to accept coordinates as Point. [#997](https://togithub.com/appium/java-client/pull/997)
- W3C capabilities written into firstMatch entity instead of alwaysMatch. [#1010](https://togithub.com/appium/java-client/pull/1010)
- `Selendroid` for android and `UIAutomation` for iOS is deprecated. [#1034](https://togithub.com/appium/java-client/pull/1034) and [#1074](https://togithub.com/appium/java-client/pull/1074)
- `videoScale` and `fps` screen recording options are introduced for iOS. [#1067](https://togithub.com/appium/java-client/pull/1067)
- `NORMALIZE_TAG_NAMES` setting was introduced for android. [#1073](https://togithub.com/appium/java-client/pull/1073)
- `threshold` argument was added to OccurrenceMatchingOptions. [#1060](https://togithub.com/appium/java-client/pull/1060)
- `org.openqa.selenium.internal.WrapsElement` replaced by `org.openqa.selenium.WrapsElement`. [#1053](https://togithub.com/appium/java-client/pull/1053)
- SLF4J logging support added into Appium Driver local service. [#1014](https://togithub.com/appium/java-client/pull/1014)
- `IMAGE_MATCH_THRESHOLD`, `FIX_IMAGE_FIND_SCREENSHOT_DIMENSIONS`, `FIX_IMAGE_TEMPLATE_SIZE`, `CHECK_IMAGE_ELEMENT_STALENESS`, `UPDATE_IMAGE_ELEMENT_POSITION` and `IMAGE_ELEMENT_TAP_STRATEGY` setting was introduced for image elements. [#1011](https://togithub.com/appium/java-client/pull/1011)
- **\[BUG FIX]** Better handling of InvocationTargetException [#968](https://togithub.com/appium/java-client/pull/968)
- **\[BUG FIX]** Map sending keys to active element for W3C compatibility. [#966](https://togithub.com/appium/java-client/pull/966)
- **\[BUG FIX]** Error message on session creation is improved. [#994](https://togithub.com/appium/java-client/pull/994)
- **\[DEPENDENCY UPDATES]**
- `org.seleniumhq.selenium:selenium-java` was updated to 3.141.59.
- `com.google.code.gson:gson` was updated to 2.8.5.
- `org.apache.httpcomponents:httpclient` was updated to 4.5.6.
- `cglib:cglib` was updated to 3.2.8.
- `org.apache.commons:commons-lang3` was updated to 3.8.
- `org.springframework:spring-context` was updated to 5.1.0.RELEASE.
- `io.github.bonigarcia:webdrivermanager` was updated to 3.0.0.
- `org.eclipse.jdt:ecj` was updated to 3.14.0.
- `org.slf4j:slf4j-api` was updated to 1.7.25.
- `jacoco` was updated to 0.8.2.
- `checkstyle` was updated to 8.12.
- `gradle` was updated to 4.10.1.
- `org.openpnp:opencv` was removed.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
6.1.0
->8.0.0
By merging this PR, the below issues will be automatically resolved and closed:
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
appium/java-client
### [`v8.0.0`](https://togithub.com/appium/java-client/releases/v8.0.0) [Compare Source](https://togithub.com/appium/java-client/compare/7.6.0...v8.0.0) *8.0.0* - **\[DOCUMENTATION]** - Set minimum Java version to 1.8.0. [#1631](https://togithub.com/appium/java-client/pull/1631) - **\[BUG FIX]** - Make interfaces public to fix decorator creation. [#1644](https://togithub.com/appium/java-client/pull/1644) - Do not convert argument names to lowercase. [#1627](https://togithub.com/appium/java-client/pull/1627) - Avoid fallback to css for id and name locator annotations. [#1622](https://togithub.com/appium/java-client/pull/1622) - Fix handling of chinese characters in `AppiumDriverLocalService`. [#1618](https://togithub.com/appium/java-client/pull/1618) - **\[DEPENDENCY UPDATES]** - `org.owasp.dependencycheck` was updated to 7.0.0. - `org.springframework:spring-context` was updated to 5.3.16. - `actions/setup-java` was updated to 3. - `actions/checkout` was updated to 3. - `io.github.bonigarcia:webdrivermanager` was updated to 5.1.0. - `org.aspectj:aspectjweaver` was updated to 1.9.8. - `org.slf4j:slf4j-api` was updated to 1.7.36. - `com.github.johnrengelman.shadow` was updated to 7.1.2. ### [`v7.6.0`](https://togithub.com/appium/java-client/releases/7.6.0) [Compare Source](https://togithub.com/appium/java-client/compare/v7.5.1...7.6.0) *7.6.0* - **\[ENHANCEMENTS]** - Add custom commands dynamically \[Appium 2.0]. [#1506](https://togithub.com/appium/java-client/pull/1506) - New General Server flags are added \[Appium 2.0]. [#1511](https://togithub.com/appium/java-client/pull/1511) - Add support of extended Android geolocation. [#1492](https://togithub.com/appium/java-client/pull/1492) - **\[BUG FIX]** - AndroidGeoLocation: update the constructor signature to mimic order of parameters in `org.openqa.selenium.html5.Location`. [#1526](https://togithub.com/appium/java-client/pull/1526) - Prevent duplicate builds for PRs from base repo branches. [#1496](https://togithub.com/appium/java-client/pull/1496) - Enable Dependabot for GitHub actions. [#1500](https://togithub.com/appium/java-client/pull/1500) - bind mac2element in element map for mac platform. [#1474](https://togithub.com/appium/java-client/pull/1474) - **\[DEPENDENCY UPDATES]** - `org.owasp.dependencycheck` was updated to 6.3.2. - `org.projectlombok:lombok` was updated to 1.18.22. - `com.github.johnrengelman.shadow` was updated to 7.1.0. - `actions/setup-java` was updated to 2.3.1. - `io.github.bonigarcia:webdrivermanager` was updated to 5.0.3. - `org.springframework:spring-context` was updated to 5.3.10. - `org.slf4j:slf4j-api` was updated to 1.7.32. - `com.google.code.gson:gson` was updated to 2.8.8. - `gradle` was updated to 7.1.1. - `commons-io:commons-io` was updated to 2.11.0. - `org.aspectj:aspectjweaver` was updated to 1.9.7. - `org.eclipse.jdt:ecj` was updated to 3.26.0. - `'junit:junit` was updated to 4.13.2. ### [`v7.5.1`](https://togithub.com/appium/java-client/releases/v7.5.1) [Compare Source](https://togithub.com/appium/java-client/compare/v7.5.0...v7.5.1) - **\[ENHANCEMENTS]** - Add iOS related annotations to tvOS. [#1456](https://togithub.com/appium/java-client/pull/1456) - **\[BUG FIX]** - Bring back automatic quote escaping for desired capabilities command-line arguments on windows. [#1454](https://togithub.com/appium/java-client/pull/1454) - **\[DEPENDENCY UPDATES]** - `org.owasp.dependencycheck` was updated to 6.1.2. - `org.eclipse.jdt:ecj` was updated to 3.25.0. ### [`v7.5.0`](https://togithub.com/appium/java-client/releases/v7.5.0) [Compare Source](https://togithub.com/appium/java-client/compare/v7.4.1...v7.5.0) - **\[ENHANCEMENTS]** - Add support for Appium Mac2Driver. [#1439](https://togithub.com/appium/java-client/pull/1439) - Add support for multiple image occurrences. [#1445](https://togithub.com/appium/java-client/pull/1445) - `BOUND_ELEMENTS_BY_INDEX` Setting was added. [#1418](https://togithub.com/appium/java-client/pull/1418) - **\[BUG FIX]** - Use lower case for Windows platform key in ElementMap. [#1421](https://togithub.com/appium/java-client/pull/1421) - **\[DEPENDENCY UPDATES]** - `org.apache.commons:commons-lang3` was updated to 3.12.0. - `org.springframework:spring-context` was updated to 5.3.4. - `org.owasp.dependencycheck` was updated to 6.1.0. - `io.github.bonigarcia:webdrivermanager` was updated to 4.3.1. - `org.eclipse.jdt:ecj` was updated to 3.24.0. - `org.projectlombok:lombok` was updated to 1.18.16. - `jcenter` repository was removed. ### [`v7.4.1`](https://togithub.com/appium/java-client/releases/v7.4.1) [Compare Source](https://togithub.com/appium/java-client/compare/v7.4.0...v7.4.1) *7.4.1* - **\[BUG FIX]** - Fix the configuration of `selenium-java` dependency. [#1417](https://togithub.com/appium/java-client/pull/1417) - **\[DEPENDENCY UPDATES]** - `gradle` was updated to 6.7.1. ### [`v7.4.0`](https://togithub.com/appium/java-client/releases/v7.4.0) [Compare Source](https://togithub.com/appium/java-client/compare/v7.3.0...v7.4.0) - **\[ENHANCEMENTS]** - Add ability to set multiple settings. [#1409](https://togithub.com/appium/java-client/pull/1409) - Support to execute Chrome DevTools Protocol commands against Android Chrome browser session. [#1375](https://togithub.com/appium/java-client/pull/1375) - Add new upload options i.e withHeaders, withFormFields and withFileFieldName. [#1342](https://togithub.com/appium/java-client/pull/1342) - Add AndroidOptions and iOSOptions. [#1331](https://togithub.com/appium/java-client/pull/1331) - Add idempotency key to session creation requests. [#1327](https://togithub.com/appium/java-client/pull/1327) - Add support for Android capability types: `buildToolsVersion`, `enforceAppInstall`, `ensureWebviewsHavePages`, `webviewDevtoolsPort`, and `remoteAppsCacheLimit`. [#1326](https://togithub.com/appium/java-client/pull/1326) - Added OTHER_APPS and PRINT_PAGE_SOURCE_ON_FIND_FAILURE Mobile Capability Types. [#1323](https://togithub.com/appium/java-client/pull/1323) - Make settings available for all AppiumDriver instances. [#1318](https://togithub.com/appium/java-client/pull/1318) - Add wrappers for the Windows screen recorder. [#1313](https://togithub.com/appium/java-client/pull/1313) - Add GitHub Action validating Gradle wrapper. [#1296](https://togithub.com/appium/java-client/pull/1296) - Add support for Android viewmatcher. [#1293](https://togithub.com/appium/java-client/pull/1293) - Update web view detection algorithm for iOS tests. [#1294](https://togithub.com/appium/java-client/pull/1294) - Add allow-insecure and deny-insecure server flags. [#1282](https://togithub.com/appium/java-client/pull/1282) - **\[BUG FIX]** - Fix jitpack build failures. [#1389](https://togithub.com/appium/java-client/pull/1389) - Fix parse platformName if it is passed as enum item. [#1369](https://togithub.com/appium/java-client/pull/1369) - Increase the timeout for graceful AppiumDriverLocalService termination. [#1354](https://togithub.com/appium/java-client/pull/1354) - Avoid casting to RemoteWebElement in ElementOptions. [#1345](https://togithub.com/appium/java-client/pull/1345) - Properly translate desiredCapabilities into a command line argument. [#1337](https://togithub.com/appium/java-client/pull/1337) - Change getDeviceTime to call the `mobile` implementation. [#1332](https://togithub.com/appium/java-client/pull/1332) - Remove appiumVersion from MobileCapabilityType. [#1325](https://togithub.com/appium/java-client/pull/1325) - Set appropriate fluent wait timeouts. [#1316](https://togithub.com/appium/java-client/pull/1316) - **\[DOCUMENTATION UPDATES]** - Update Appium Environment Troubleshooting. [#1358](https://togithub.com/appium/java-client/pull/1358) - Address warnings printed by docs linter. [#1355](https://togithub.com/appium/java-client/pull/1355) - Add java docs for various Mobile Options. [#1331](https://togithub.com/appium/java-client/pull/1331) - Add AndroidFindBy, iOSXCUITFindBy and WindowsFindBy docs. [#1311](https://togithub.com/appium/java-client/pull/1311) - Renamed maim.js to main.js. [#1277](https://togithub.com/appium/java-client/pull/1277) - Improve Readability of Issue Template. [#1260](https://togithub.com/appium/java-client/pull/1260) ### [`v7.3.0`](https://togithub.com/appium/java-client/releases/v7.3.0) [Compare Source](https://togithub.com/appium/java-client/compare/v7.2.0...v7.3.0) **\[ENHANCEMENTS]** \- Add support for logging custom events on the Appium Server. [#1262](https://togithub.com/appium/java-client/pull/1262) \- Update Appium executable detection implementation. [#1256](https://togithub.com/appium/java-client/pull/1256) \- Avoid through NPE if any setting value is null. [#1241](https://togithub.com/appium/java-client/pull/1241) \- Settings API was improved to accept string names. [#1240](https://togithub.com/appium/java-client/pull/1240) \- Switch `runAppInBackground` iOS implementation in sync with other platforms. [#1229](https://togithub.com/appium/java-client/pull/1229) \- JavaDocs for AndroidMobileCapabilityType was updated. [#1238](https://togithub.com/appium/java-client/pull/1238) \- Github Actions were introduced instead of TravisCI. [#1219](https://togithub.com/appium/java-client/pull/1219) - **\[BUG FIX]** - Fix return type of `getSystemBars` API. [#1216](https://togithub.com/appium/java-client/pull/1216) - Avoid using `getSession` call for capabilities values retrieval \[W3C Support]. [#1204](https://togithub.com/appium/java-client/pull/1204) - Fix pagefactory list element initialisation when parameterised by generic type. [#1237](https://togithub.com/appium/java-client/pull/1237) - Fix AndroidKey commands. [#1250](https://togithub.com/appium/java-client/pull/1250) ### [`v7.2.0`](https://togithub.com/appium/java-client/releases/v7.2.0) [Compare Source](https://togithub.com/appium/java-client/compare/v7.1.0...v7.2.0) *7.2.0* - **\[DEPENDENCY UPDATES]** - `org.seleniumhq.selenium:selenium-java` was reverted to stable version 3.141.59. [#1209](https://togithub.com/appium/java-client/pull/1209) - `org.projectlombok:lombok:1.18.8` was introduced. [#1193](https://togithub.com/appium/java-client/pull/1193) - **\[ENHANCEMENTS]** - `videoFilters` property was added to IOSStartScreenRecordingOptions. [#1180](https://togithub.com/appium/java-client/pull/1180) - **\[IMPROVEMENTS]** - `Selendroid` automationName was deprecated. [#1198](https://togithub.com/appium/java-client/pull/1198) - JavaDocs for AndroidMobileCapabilityType and IOSMobileCapabilityType were updated. [#1204](https://togithub.com/appium/java-client/pull/1204) - JitPack builds were fixed. [#1203](https://togithub.com/appium/java-client/pull/1203) ### [`v7.1.0`](https://togithub.com/appium/java-client/releases/v7.1.0) [Compare Source](https://togithub.com/appium/java-client/compare/v7.0.0...v7.1.0) - **\[ENHANCEMENTS]** - Added an ability to get all the session details. [#1167 ](https://togithub.com/appium/java-client/pull/1167) - `TRACK_SCROLL_EVENTS`, `ALLOW_INVISIBLE_ELEMENTS`, `ENABLE_NOTIFICATION_LISTENER`, `NORMALIZE_TAG_NAMES` and `SHUTDOWN_ON_POWER_DISCONNECT` Android Settings were added. - `KEYBOARD_AUTOCORRECTION`, `MJPEG_SCALING_FACTOR`, `MJPEG_SERVER_SCREENSHOT_QUALITY`, `MJPEG_SERVER_FRAMERATE`, `SCREENSHOT_QUALITY` and `KEYBOARD_PREDICTION` iOS Settings were added. - `GET_MATCHED_IMAGE_RESULT`, `FIX_IMAGE_TEMPLATE_SCALE`, `SHOULD_USE_COMPACT_RESPONSES`, `ELEMENT_RESPONSE_ATTRIBUTES` and `DEFAULT_IMAGE_TEMPLATE_SCALE` settings were added for both Android and iOS [#1166](https://togithub.com/appium/java-client/pull/1166), [#1156 ](https://togithub.com/appium/java-client/pull/1156) and [#1120](https://togithub.com/appium/java-client/pull/1120) - The new interface ` io.appium.java_client.ExecutesDriverScript ` was added. [#1165](https://togithub.com/appium/java-client/pull/1165) - Added an ability to get status of appium server. [#1153 ](https://togithub.com/appium/java-client/pull/1153) - `tvOS` platform support was added. [#1142 ](https://togithub.com/appium/java-client/pull/1142) - The new interface `io.appium.java_client. FindsByAndroidDataMatcher` was added. [#1106](https://togithub.com/appium/java-client/pull/1106) - The selector strategy `io.appium.java_client.MobileBy.ByAndroidDataMatcher` was added. [#1106](https://togithub.com/appium/java-client/pull/1106) - Selendroid for android and UIAutomation for iOS are removed. [#1077 ](https://togithub.com/appium/java-client/pull/1077) - **\[BUG FIX]** Platform Name enforced on driver creation is avoided now. [#1164 ](https://togithub.com/appium/java-client/pull/1164) - **\[BUG FIX]** Send both signalStrengh and signalStrength for `GSM_SIGNAL`. [#1115 ](https://togithub.com/appium/java-client/pull/1115) - **\[BUG FIX]** Null pointer exceptions when calling getCapabilities is handled better. [#1094 ](https://togithub.com/appium/java-client/pull/1094) - **\[DEPENDENCY UPDATES]** - `org.seleniumhq.selenium:selenium-java` was updated to 4.0.0-alpha-1. - `org.aspectj:aspectjweaver` was updated to 1.9.4. - `org.apache.httpcomponents:httpclient` was updated to 4.5.9. - `cglib:cglib` was updated to 3.2.12. - `org.springframework:spring-context` was updated to 5.1.8.RELEASE. - `io.github.bonigarcia:webdrivermanager` was updated to 3.6.1. - `org.eclipse.jdt:ecj` was updated to 3.18.0. - `com.github.jengelman.gradle.plugins:shadow` was updated to 5.1.0. - `checkstyle` was updated to 8.22. - `gradle` was updated to 5.4. - `dependency-check-gradle` was updated to 5.1.0. - `org.slf4j:slf4j-api` was updated to 1.7.26. - `org.apache.commons:commons-lang3` was updated to 3.9. ### [`v7.0.0`](https://togithub.com/appium/java-client/releases/v7.0.0) [Compare Source](https://togithub.com/appium/java-client/compare/v6.1.0...v7.0.0) - **\[ENHANCEMENTS]** - The new interface `io.appium.java_client.FindsByAndroidViewTag` was added. [#996](https://togithub.com/appium/java-client/pull/996) - The selector strategy `io.appium.java_client.MobileBy.ByAndroidViewTag` was added. [#996](https://togithub.com/appium/java-client/pull/996) - The new interface `io.appium.java_client.FindsByImage` was added. [#990](https://togithub.com/appium/java-client/pull/990) - The selector strategy `io.appium.java_client.MobileBy.ByImage` was added. [#990](https://togithub.com/appium/java-client/pull/990) - The new interface `io.appium.java_client.FindsByCustom` was added. [#1041](https://togithub.com/appium/java-client/pull/1041) - The selector strategy `io.appium.java_client.MobileBy.ByCustom` was added. [#1041](https://togithub.com/appium/java-client/pull/1041) - DatatypeConverter is replaced with Base64 for JDK 9 compatibility. [#999](https://togithub.com/appium/java-client/pull/999) - Expand touch options API to accept coordinates as Point. [#997](https://togithub.com/appium/java-client/pull/997) - W3C capabilities written into firstMatch entity instead of alwaysMatch. [#1010](https://togithub.com/appium/java-client/pull/1010) - `Selendroid` for android and `UIAutomation` for iOS is deprecated. [#1034](https://togithub.com/appium/java-client/pull/1034) and [#1074](https://togithub.com/appium/java-client/pull/1074) - `videoScale` and `fps` screen recording options are introduced for iOS. [#1067](https://togithub.com/appium/java-client/pull/1067) - `NORMALIZE_TAG_NAMES` setting was introduced for android. [#1073](https://togithub.com/appium/java-client/pull/1073) - `threshold` argument was added to OccurrenceMatchingOptions. [#1060](https://togithub.com/appium/java-client/pull/1060) - `org.openqa.selenium.internal.WrapsElement` replaced by `org.openqa.selenium.WrapsElement`. [#1053](https://togithub.com/appium/java-client/pull/1053) - SLF4J logging support added into Appium Driver local service. [#1014](https://togithub.com/appium/java-client/pull/1014) - `IMAGE_MATCH_THRESHOLD`, `FIX_IMAGE_FIND_SCREENSHOT_DIMENSIONS`, `FIX_IMAGE_TEMPLATE_SIZE`, `CHECK_IMAGE_ELEMENT_STALENESS`, `UPDATE_IMAGE_ELEMENT_POSITION` and `IMAGE_ELEMENT_TAP_STRATEGY` setting was introduced for image elements. [#1011](https://togithub.com/appium/java-client/pull/1011) - **\[BUG FIX]** Better handling of InvocationTargetException [#968](https://togithub.com/appium/java-client/pull/968) - **\[BUG FIX]** Map sending keys to active element for W3C compatibility. [#966](https://togithub.com/appium/java-client/pull/966) - **\[BUG FIX]** Error message on session creation is improved. [#994](https://togithub.com/appium/java-client/pull/994) - **\[DEPENDENCY UPDATES]** - `org.seleniumhq.selenium:selenium-java` was updated to 3.141.59. - `com.google.code.gson:gson` was updated to 2.8.5. - `org.apache.httpcomponents:httpclient` was updated to 4.5.6. - `cglib:cglib` was updated to 3.2.8. - `org.apache.commons:commons-lang3` was updated to 3.8. - `org.springframework:spring-context` was updated to 5.1.0.RELEASE. - `io.github.bonigarcia:webdrivermanager` was updated to 3.0.0. - `org.eclipse.jdt:ecj` was updated to 3.14.0. - `org.slf4j:slf4j-api` was updated to 1.7.25. - `jacoco` was updated to 0.8.2. - `checkstyle` was updated to 8.12. - `gradle` was updated to 4.10.1. - `org.openpnp:opencv` was removed.