- fix bug on taking control of a device: set a lock for exclusive access by @denis99999 in DeviceFarmer/stf#650
- Update STF Service APK to 2.4.10 by @denis99999 in DeviceFarmer/stf#661
- Explorer directory fix by @tyopoyt in DeviceFarmer/stf#670
- add support of node version 20.3.0 by @denis99999 in DeviceFarmer/stf#672
- update oauth2 to get contact information by @denis99999 in DeviceFarmer/stf#673
- Update the documentation of SAML 2.0 authentication by @denis99999 in DeviceFarmer/stf#675
- update saml2 to get contact information and service provider metadata by @denis99999 in DeviceFarmer/stf#674
- cookies' generic removing by @denis99999 in DeviceFarmer/stf#676
- fix docker url of STF by @denis99999 in DeviceFarmer/stf#682
- Update dependencies by @koral-- in DeviceFarmer/stf#694
- Update STFService app to 2.4.12 by @koral-- in DeviceFarmer/stf#695
- stf: Device name related updates by @sirmordred in DeviceFarmer/stf#516
- Fix adbkit API invocations by @koral-- in DeviceFarmer/stf#524
- use the fork of the please-update-dependencies package by @denis99999 in DeviceFarmer/stf#522
- Revert "Fix adbkit API invocations (#524)" by @koral-- in DeviceFarmer/stf#528
- fix bug on screen grabber management by @denis99999 in DeviceFarmer/stf#554
- add contributors by @denis99999 in DeviceFarmer/stf#555
- add frame rate management by @denis99999 in DeviceFarmer/stf#558
- Update DEPLOYMENT.md by @denis99999 in DeviceFarmer/stf#569
- fix deprecated warnings on Buffer class by @denis99999 in DeviceFarmer/stf#580
- Upload the ipa files for the iOS platform by @mankoffs in DeviceFarmer/stf#583
- fix #592 Fix marketName issue by @jsjs4013 in DeviceFarmer/stf#593
- Bump passport from 0.4.1 to 0.6.0 by @dependabot in DeviceFarmer/stf#581
- Fixing the link to get the package swagger-node-runner from ssh to https by @Energoblock in DeviceFarmer/stf#607
- Update rethinkdb to 2.4.2 in docker compose sample by @koral-- in DeviceFarmer/stf#611
- Enable device market name by @MykytaIvshkn in DeviceFarmer/stf#601
- move off screen password autofill by @Ristakis in DeviceFarmer/stf#610
- Bump moment from 2.29.3 to 2.29.4 by @dependabot in DeviceFarmer/stf#596
- Update device-db to 1.3.0 by @koral-- in DeviceFarmer/stf#619
- Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in DeviceFarmer/stf#622
- Bump debug from 2.6.9 to 3.1.0 by @dependabot in DeviceFarmer/stf#627
- fix bug on port forwarding feature by @denis99999 in DeviceFarmer/stf#629
- fix spelling mistakes in API file by @denis99999 in DeviceFarmer/stf#630
- Bump cookiejar from 2.1.3 to 2.1.4 by @dependabot in DeviceFarmer/stf#632
- Release 3.6.5 by @koral-- in DeviceFarmer/stf#649
- Downgrade adbkit to 2.11.3 by @koral-- in DeviceFarmer/stf#520
- Fix build error on arm platform by @C0reFast in DeviceFarmer/stf#212
- Changed ng-context-menu coordinates by @koral-- in DeviceFarmer/stf#227
- add rest API for update Device note by @jupe in DeviceFarmer/stf#222
- Upgrade to GitHub-native Dependabot by @dependabot-preview in DeviceFarmer/stf#239
- Remove npm install from Debian x64 Dockerfile by @koral-- in DeviceFarmer/stf#260
- Minicap update to support more devices (included Android 12) by @pcrepieux in DeviceFarmer/stf#262
- Update STFService APK to 2.4.7 by @koral-- in DeviceFarmer/stf#265
- Bump dns-packet from 1.3.1 to 1.3.4 by @dependabot in DeviceFarmer/stf#261
- Bump @devicefarmer/adbkit-monkey from 1.0.1 to 1.1.0 by @dependabot in DeviceFarmer/stf#242
- Bump hosted-git-info from 2.4.2 to 2.8.9 by @dependabot in DeviceFarmer/stf#257
- Bump url-parse from 1.4.7 to 1.5.1 by @dependabot in DeviceFarmer/stf#253
- Bump gm from 1.23.0 to 1.23.1 by @dependabot in DeviceFarmer/stf#247
- Bump gulp-angular-gettext from 2.2.0 to 2.3.0 by @dependabot in DeviceFarmer/stf#249
- Bump lodash from 4.17.20 to 4.17.21 by @dependabot in DeviceFarmer/stf#256
- Bump url-loader from 0.5.9 to 0.6.2 by @dependabot in DeviceFarmer/stf#243
- [Security] Bump y18n from 3.2.1 to 3.2.2 by @dependabot-preview in DeviceFarmer/stf#217
- Bump phantomjs-prebuilt from 2.1.14 to 2.1.16 by @dependabot in DeviceFarmer/stf#241
- Bump proxy-addr from 1.1.4 to 2.0.7 by @dependabot in DeviceFarmer/stf#263
- Bump transliteration from 1.6.2 to 2.2.0 by @dependabot in DeviceFarmer/stf#246
- Bump passport-oauth2 from 1.4.0 to 1.5.0 by @dependabot in DeviceFarmer/stf#269
- Bump semver from 5.7.1 to 7.3.5 by @dependabot-preview in DeviceFarmer/stf#235
- Bump json-loader from 0.5.4 to 0.5.7 by @dependabot in DeviceFarmer/stf#270
- Bump gulp-pug from 3.3.0 to 4.0.1 by @dependabot in DeviceFarmer/stf#272
- Bump template-html-loader from 0.0.3 to 0.0.4 by @dependabot in DeviceFarmer/stf#277
- Bump gulp-jsonlint from 1.2.0 to 1.3.2 by @dependabot in DeviceFarmer/stf#275
- --net host is no longer needed for stf-provider by @petemyron in DeviceFarmer/stf#165
- Bump serve-favicon from 2.4.3 to 2.5.0 by @dependabot in DeviceFarmer/stf#285
- Bump style-loader from 0.13.2 to 0.23.1 by @dependabot in DeviceFarmer/stf#274
- Bump karma-chrome-launcher from 2.2.0 to 3.1.0 by @dependabot in DeviceFarmer/stf#276
- Bump karma-junit-reporter from 1.2.0 to 2.0.1 by @dependabot in DeviceFarmer/stf#287
- Bump openid from 2.0.6 to 2.0.9 by @dependabot in DeviceFarmer/stf#288
- Add cmake to main Dockerfile by @koral-- in DeviceFarmer/stf#292
- Bump path-parse from 1.0.5 to 1.0.7 by @dependabot in DeviceFarmer/stf#308
- Bump url-parse from 1.5.1 to 1.5.3 by @dependabot in DeviceFarmer/stf#310
- Bump jszip from 3.2.2 to 3.7.1 by @dependabot in DeviceFarmer/stf#309
- Update STFService.apk to 2.4.8 by @koral-- in DeviceFarmer/stf#328
- upgrade from stretch to buster the Docker image for x86_64 by @denis99999 in DeviceFarmer/stf#385
- upgrade from stretch to buster the Docker image for armhf by @denis99999 in DeviceFarmer/stf#386
- Bump axios from 0.21.1 to 0.21.4 by @dependabot in DeviceFarmer/stf#330
- Bump follow-redirects from 1.14.4 to 1.14.7 by @dependabot in DeviceFarmer/stf#401
- Bump passport-oauth2 from 1.5.0 to 1.6.1 by @dependabot in DeviceFarmer/stf#329
- update minicap-prebuilt version to 2.7.1 by @denis99999 in DeviceFarmer/stf#405
- 🐛 Fix: Increase PID retrieval timeout for edge-cases by @mark-omarov in DeviceFarmer/stf#419
- Bump follow-redirects from 1.14.7 to 1.14.8 by @dependabot in DeviceFarmer/stf#435
- Bump simple-get from 3.1.0 to 3.1.1 by @dependabot in DeviceFarmer/stf#436
- Bump url-parse from 1.5.3 to 1.5.7 by @dependabot in DeviceFarmer/stf#443
- Fix deploy to dockerhub by @koral-- in DeviceFarmer/stf#448
- Update STF Service APK to v2.4.9 by @koral-- in DeviceFarmer/stf#482
- upgrade node to latest version v17.9.0 by @denis99999 in DeviceFarmer/stf#500
- update semaphore files for consistency with upgrading node to latest tag by @denis99999 in DeviceFarmer/stf#505
- Bump aws-sdk from 2.1110.0 to 2.1117.0 by @dependabot in DeviceFarmer/stf#511
- Release 3.6.2 by @koral-- in DeviceFarmer/stf#515
- Downgrade adbkit to 3.2.1 by @koral-- in DeviceFarmer/stf#519
- Revert adbkit upgrade
- Fix AAB installation fails when /tmp is on different mountpoint than storage-temp save directory #139
- Update dependency versions
- Update dependency versions
- Fix minicap disconnection on getting file #97
- Fix icons displaying #59. Thanks @Cookies52!
- Add .aab installation support #103. Thanks @nghiaviminh!
- Change jpeg-turbo dependency to
@julusian/jpeg-turbo
#90 - Add Android 11 support
- Changed dependencies to equivalents using @devicefarmer scope
- Fixed SAML_ID_PROVIDER_CERT_PATH in example SAML auth provider unit #1061. Thanks @mitchtech!
- Fixed Chinese characters handling #1204. Thanks @xu-duqing!
- Updated STFService.apk, minitouch and minicap to support Android 10. Thanks @denis99999 and @pcrepieux!
- Added addAdbPublicKey endpoint #770. Thanks @neofreko!
- Added pt_BR translation #1038. Thanks @esmiralha!
- Added market name to device properties #1002.
- Added group feature #1056. Thanks @denis99999!
- Added validation for filter.pid/ filter.tid/ filter.data input objects #1074. Thanks @lukzeg!
- Added opening device view via reselecting device from device view #1077. Thanks @lukzeg!
- Added device logs separation #1095. Thanks @lukzeg!
- Updated NodeJS to 8.9.3 #1169.
- Added alternative dockerfiles for armhf and x86_64 architectures #1174, #1191. Thanks @denis99999 and @petemyron!
- Added touchMove error handling #1189. Thanks @att55!
- Updated adbkit-apkreader to fix an APK manifest parsing issue on applications processed by 360 encryption services, which changes the
application
key tocom.stub.StubApp
. Thanks @JChord! - Updated adbkit to public key parsing on recent versions of ADB. Thanks @codeskyblue!
- Exposed the
ZMQ_IPV6
environment variable, making it possible to enable IPv6 for ZeroMQ. Thanks @aokhotin!
- Android 9.0 is now supported. This feature was sponsored by HeadSpin.
- The OAuth2 unit now supports state tokens. Thanks @quangola!
- STFService.apk can now display the identity activity (red screen) automatically if a device gets disconnected from USB (or ADB), which can make maintenance easier. This feature is in beta, please enable it by running
adb shell pm grant jp.co.cyberagent.stf android.permission.DUMP
on the devices you want to try it on. Thanks @Malinskiy!
- Use
ps -lef
instead ofps
to list pids on Android 8.x. In new versions,ps
doesn't return anything. Thanks @thinkhy!
- Fixed ADB's new device states (
connecting
,authorizing
) not being recognized by STF. Thanks @obrie! - Updated STFService.apk to fix an issue on high aspect ratio devices like the Mi Mix 2 where a portion of the screen may not have been visible.
- Updated adbkit-apkreader to resolve issues with certain APK files that were unparseable and therefore could not be installed. The issue was with long strings in the manifest file.
- Updated minitouch to fix touch detection issues on Meizu Pro7 Plus.
- Added a new column to the device list that displays the OpenGL ES version of each device. Note that you may have to reset the columns once if you can't see it. Thanks @koral--!
- Added a new
--no-screen-reset
option to disable the default behavior of resetting rotation and returning to the home screen after a user stops using a device. Thanks @0rzech! - Added a new
--saml-id-provider-callback-url
option to the auth-saml2 unit. Thanks @0rzech!
- Fixed a setup issue with TPS650.
- Fixed an issue where most uploads would fail due to a breaking configuration change in a dependency.
- Updated minitouch to fix multitouch issues on some devices that require the
BTN_TOUCH
kernel event. Lifting a contact while having and keeping one held down may have prevented any events from being processed until a new touchdown event.
- Android 8.1 is now supported.
- The network column in the device list is now based on a value that gets updated in real time. The format of the column has changed slightly due to this change.
- The
--mute-master
option now accepts the valuesnever
(default),inuse
(only when a device is being used), andalways
(mute pre-emptively during setup phase). For backwards compatibility,--mute-master
with no value maps toinuse
, and--no-mute-master
tonever
. - The battery level and battery temperature columns are now filterable with comparison operators.
- Log output now includes a timestamp.
- Android 8.0 is now supported. Please note that Android O developer previews are no longer officially supported, though they may or may not still work.
- Updated adbkit to fix
RangeError: Index out of range
errors when parsing newer APKs that use UTF-8 encoding for their string pools.
- Added support for Android O Developer Preview 1 (note that any later previews are not supported yet)
- You can now set screen JPEG quality with the
SCREEN_JPEG_QUALITY
environment variable at launch time. Can be useful for slow networks. - Switched to yargs for option parsing to make it easier to modify the CLI.
- Almost all command line options can now be specified with environment variables.
- Internal commands are now hidden from help output but can still be used.
- Running the
stf
binary without a command now errors and shows help output (previously there was no output whatsoever). - Improved help messages for various options.
- Added an app switch key. Thanks @koral--!
- Fixed Lenovo A806 and most likely other cheap Lenovo devices as well by updating adbkit.
- Fixed ZUK Z1, Z2 and others by adding an alternate install location for our binaries, since
/data/local/tmp
is mounted as noexec on those devices. Thanks @dkw72n! - Updated adbkit-apkreader to resolve issues with certain APK files that were unparseable and therefore failed installation. We've only seen a single a single APK with this issue, but there could be more.
- Updated adbkit-apkreader to resolve another unrelated parsing issue with slightly malformed manifest files.
- Updated adbkit to resolve an issue where trailing spaces in an adb public key would cause an error during adb connect.
- Updated adbkit to resolve issues with log parsing on Android 7.0 and later, caused by Android no longer transforming
\n
to\r\n
. - Updated adbkit to resolve an issue with recent versions of ADB that include a null byte in
adbkey.pub
, which was causing validation to fail. - Fixed minitouch on Blackberry PRIV.
- We now use please-update-dependencies to check for outdated dependencies when running from source. It's a super quick local check that compares
package.json
with installed dependencies. Should help avoid unnecessary issues caused by forgetting to runnpm install
aftergit pull
.
- Node v6.9.x or later is now required. Earlier versions will not work. To avoid a sudden flood of issues about this change, please-update-dependencies enforces the minimum version and tells you if you need to update.
- The
-C
shortcut for the--no-cleanup
option has been removed due to the switch to yargs. Please use the full--no-cleanup
option instead. - Although likely not used by anyone, it was possible to give multiple ZeroMQ endpoints to options such as
--connect-push
by separating them with commas. This is still possible but now works in a different way due to the switch to yargs. Comma-separated hosts in a single value are no longer accepted. If you need to specify multiple hosts, simply use the option as many times as you like. This change is unlikely to have any impact whatsoever on most users. - The
--devices
option ofstf doctor
has been removed due to unnecessary complexity.
Minor release addressing the following:
- Fixed minicap on various devices running Android 4.2, incl. Qumo Quest 405, Yoga Tablet 8 etc. There may still be some that do not work, as 4.2 was customized pretty heavily by some makers. Thanks to @dkw72n for tracking down the issue and coming up with a fix! And as always, please let us know if you find any device (running any Android version) that does not work.
Minor release addressing the following:
- Fixed minicap on some/all Samsung devices running Android 5.1.1, which did not work previously. Thanks to @dkw72n for tracking down the issue and coming up with a fix!
- The openstf/stf-armv7l Docker image is being built again. Our previous armv7l build server died and Scaleway did not have more available until recently.
Minor release addressing the following:
- Android 7.1 support!
- STFService.apk now uses abstract sockets instead of TCP sockets. This fixes stability issues with devices connected in RNDIS mode.
- Updated adbkit to fix
logcat
issues on newer Android versions. - General reliability improvements in adbkit.
- Fixed minitouch on Alcatel Idol 3.
No changes, just a retag due to issues with NPM tags.
Major release addressing the following:
- Added a simple REST API. Huge thanks to @vbanthia!
- Also, we have an example showing how to use the API with Appium.
- The API server is a new app unit that must be added to your deployment. Please see the deployment guide for up to date instructions.
Minor release addressing the following:
- Added Android N Developer Preview 5 support (earlier only available by building from master).
- Added an easier to access button to stop using a device from the control screen. Thanks @miss0110!
- Updated the official Docker image to Ubuntu 16.04 and Node v6.3.0.
- Added a
--no-cleanup
option to disable the default behavior of apps getting cleaned up automatically when a user stops using the device. - Added ESLint rules for easily checking pull requests.
- Added a Slack notifier unit.
- Added an
stf doctor
command to check and output external dependencies. Very useful for issues. - Added an OpenID auth unit. Thanks @codeskyblue!
- Added optional HTTP Basic auth to the mock auth unit, for when you can't set up a proper auth adapter but still want at least a tiny bit of added security.
- Considerably smaller and up to date official Docker image for armv7l with automated nightly builds on Scaleway. May occasionally break for a while but we aim to always keep it fully up to date.
- Added instructions for using Google OAuth 2.0 login to the deployment guide, making it possible to sign in using your Google account.
- Added a configurable username field to the LDAP auth unit. Thanks @bananayong!
- Updated and added various translations.
- Fixed screen area not being visible in latest versions of Chrome.
- Fixed Meizu Note 2 and similar devices which did not work due to non-standard output.
- Fixed ports getting leaked causing the provider unit to completely run out of ports if devices die a lot. Thanks @skyline-gleb!
Patch release addressing the following:
- Disabled Nagle Algorithm in adbkit connection to improve remote debugging speed
Minor release addressing the following:
- Android 6.0 support
- Added translation support for Chinese, Korean, Russian and Spanish
- Added File Explorer feature in device controller where you can access device file system
- Added optional storage-s3 unit which can store storage data in Amazon S3 bucket instead of local
- Now, "Notes" column of device list is editable.
- Experimental armv7l support
- Added stf-setup-examples using Vagrant and Virtual Box
- DEPLOYMENT doc fixes