Total Control is released now! Top speed, frame rate up to 60 fps.
Purchase channel: Easily upgrade to what you want from in-App purchase channel, support WeChat Pay, Alipay.

Version 10.0 (Update 10) release notes
Part I - Basic functions
1. Enhanced connectivity for faster and more stable connections.
2. Added Easy Connect feature for easier detection and connection to TCP devices.
3. Reduced the minimum size limit of Windows desktop mode from 254 to 100.
4. Upgraded adb version with added adb3 communication method.
5. TC Connect provides more information on setting up ATS, allowing users to setup password on multiple devices.
6. The default input method for Sigma keyboard to change from "abc" to "ab".
7. Optimize the ATS connection mode. Add a toggle switch between ATA and ATS modes in the connection window.

Part II - ATS Functions (Beta)
1. Support MDCC navigation functions such as Page Up/Down, scroll left/right/up/down, mouse wheel support.
2. Provides an interface for stopping script execution, viewing logs, and passing parameters.
3. Support REST API, REST can control in ATS.
4. Be able to switch from ATA and ATS with a single button in TC app.

Part III - Script Functions
FindNode
1. Added condition to "if" and "assert", provide true or false condition for various type of objects.
2. Provide "if" actions for conditional expression:
if(<cond>, <then>, <else>).
3. Function call now will return one object, return value the function is the return value of the last command in the function. Can overwrite with "return" command.
4. "return" now can stop the function execution in the middle.
5. Added "getFuncRetval()" to return command to observe the return value of individual command in the function.
6. Added "log" to value in logcat, "echo" to return value in "retval".
7. "exists" is now support OQ. Also added support for timeout.
8. "getCount" is now accept unfound node (count == 0).
9. "if", "return", "log", "echo", "assert" can accept function in parameter.
10. Offer "setConfig" to display the function call of "forEach" and "repeat".
11. Added "funcList" to display all user-defined functions.
12. Added arithmetic expression in "echo".

JavaScript API
1. Provide support for "assert" in FindNode.

REST API
1. Provide Restool for more convenient debugging of REST API.
2. Remove the statistical data of REST API, do not keep track of REST API requests.

Version 9.0 (Update 50) release notes
Part I - Basic functions
1. Optimized audio transmission to prevent the risk of TCA been flashed out by Android.
2. Optimized object synchronization among multiple devices, better support for buttons, sliders, text fields, checkbox, radio buttons.
3. Added ability to enable/disable in volume control.
4. Added the TC Connect tool, which makes it easier to obtain the "shell" permission during the initial device setup. Download   Learn More
5. TCHelp added the ability to keep the last 10 searches.
6. Enhanced security verification for TC Viewer on both PC and device, improving the security of remote control with TC Viewer.
7. Added ATS function (Beta), allowing device control without the need of USB connection or USB debugging in developer option. Download   Learn More
8. Add 2 ways to select set of devices in MDCC, Ctrl + mouse click for fast single-select device, Shift + mouse drag for fast multi-select device.
9. Add a Forget button on the connection page to block non-connected devices (such as USB flash drives, mice, etc.).
10. Added FPS setting in Windows Desktop Mode (WDM).
11. Added user settings backup and restore function.
12. Change the label of thumbnail windows from 1-9A-Z to 1 – number of devices.
13. Support for Android 14 devices.

Part II - ATS Functions (Beta)
1. It can "detach" execution from PC.
2. Supports Rhino and RingoJS 4.0.
3. Provides a script execution engine. Include the .js files in /sdcard/TotalControl/scripts.
4. Only support FindNode programming thru "device.sendAai".
5. Allow user to create shortcut to run script with a single click.

Part III - Script Functions
Public
1. SCP provides options for obfuscation or jsc (Java compiler to class files).
2. Rewrite "test" module as "sigma/test" module to facilitate automated testing and real-time results viewing.
3. Provides test cases for SigmaTestApp as example.
4. Task support the execution of the following 4 types of scripts: AAIS (.tst), Jsc converted class (.class), Protected scp (.scp), JavaScript js (.js)
5. In terminal provides a stop button to stop the existing rhino engine and restart it.

FindNode
1.Added expanded query "V:" that allowing users to set the value of elements without using "set" action. Only support checkbox, text and progress.
2.The repeat max count is limited to 10, set "action:repeat:maxCount" to higher count to raise the repeat count limit.
3.Added an action "exists", it accepts query and return if the query is found or not.
4.For consistency, "getViewGroup" has been changed to "viewGroup" for backward compatibility "getViewGroup" will work.
5.Better handling or "sendAai" timeout.
6. Enhanced parser to supports 4 special characters in parameters that can be escaped by "\\": The 4 special characters are single quote, double quote, comma and semicolon.

JavaScript API
1. Added function "resetRhino()" to reset and initialize Rhino & RingoJS. Just for development purpose.
2. Added "printc" function to print the message without newline.
3. Provide API (stopOnFail(), users can write a function to determine to continue or stop the script under different criteria.
4. Enhanced "sload", which can load the preset function library according to the app name or package name.
5. Added "Device.getSelected()" and "Device.getAll()" to return selected devices or all connected devices.

REST API
1. Provide a separate REST API tool to ease for people trying to code REST API.

Version 9.0 (Update 40) release notes
Part I - Basic functions
1. Add new user guide: How to use UI Explorer to create query and provide a learning app (SigmaTestApp).
2. Optimize the sorting of MDCC devices to reduce numbering discrepancies.
3. Add TCHelp feature, allowing users to self-search questions by typing "Shift-F1".
4. Add a setting to force the Total Control App to start when connecting to reduce connection problems.
5. For Android 12 and above, remove the native settings option.
* Please note, this is the final iteration that will offer support for the 32-bit version of Total Control. It is recommended that you to download and install the 64-bit version.

Part II - Script functions
Public
1. Upgrade OCR and OpenCV to the latest version, to improve the speed of finding images and colors.
2. Upgrade to Ringo 4.0.
3. Upgrade to OpenJDK 19.
4. Modify AAI to support Android 5.0 or later.
5. Improvement in terminals:
--- Increase the terminal to 3.
--- The reset button can terminate infinite loops and restart.
--- Provide a "prompt" to popup window with text entry.

FindNode
1. Add "function" action:
--- Function with a name and optional arguments, once it is defined, it can be used in any action command (i.e. action/forEach/repeat).
--- The function provides Windows batch substitutions (%1 -- %n).
--- Allow users to define default arguments if the actions does not provide enough.
2. Fixed "TP:anyDescription" being described, but not implemented.
3. Made improvement in openApp and restartApp.
4. "BP" with multiple properties, use of quotation is optional.
5. Add the ability to search "hintText" ("HT") to search hintText in basic query.

JavaScript API
1. App versioning for JS library, allowing users to load the correct version of library/support files.
2. Provide an executable (.bat/.cmd/.exe) to run Rhino/Ringo with TC API.
3. Optimize SCP, and provide URL and expiration time verification.

AAIS
1. Capture and replay: Added the ability to provide "find <text>".

UI Explorer
1. Remove UiElement and replace it with sendAai.
2. Users can add any actions into the code.
3. Be able to execute and use "Back" key to come back.

REST API
1. Provide a separate REST API tool to ease for people trying to code REST API.

Version 9.0 (Update 30) release notes
Part I - Basic functions
1. Add a step-by-step navigation for users to get started.
2. Modify the ease-of-use of the “Turn off Device Brightness”.
3. Fix some bugs of U20.
4. Sync device clipboard to PC is enabled by default.
5. Add SigmaTestApp.apk for demo.

Part II - Script functions
FindNode
1. Optimize setText's handling of "\r\n" and "\n".
2. "showOnScreen": Will accurately find the scrollable node.
3. "getScrollableNodes" will show one node if scrollable node is found on parents/ancestors.
4. "scrollIntoView" will return list of query in ML.
5. If "setConfig(selector:bqAfterEq, true)", users can include BQ (without X) after the EQ command. Default is false.
6. Modified the following apply to BP:
- Added "focusable" and "selected" to BP query.
- Fixed a bug in BP query with multiple Boolean properties, match one will match all.
- Ability to include "!" for negative/false/no in query.
7. "aaix" can be replaced with "${<var>}".
8. Fixed a bug cannot find all nodes in certain low-end devices.
9. "TP:all" will include the root nodes. "TP:more" may include non-layout root nodes.
10. Added "push" and "pop" to replace "save" and "load". "push" and "pop" can store many copies of "ML".
11. Multiple actions can use string with actions separated by ";".
12. Added "forEach", "repeat" and action commands, allow action command to loop thru all nodes.

AAIS
1. Capture and replay: Added the ability to provide "find <text>".

UI Explorer
1. Include "Exclude search" in description.
2. "UI Explorer" will display a prompt after the device screen changes.
3. Added "get*" actions to obtain node information.

REST API
1. Allow REST API to run AAIS scripts.

Version 9.0 (Update 20) release notes
Part I - Basic functions
1. Turn off the display completely and still be able to control (Android 5+ support).
2. Users can choose clipboard or store as a file when device sharing a picture to Total Control.
3. MDCC to configure Fn (one-click app launch) with ease.
4. Connection page provides button to reset USB connection similar to unplug and re-plug USB cable.
5. Optimize diagnostic tools to collect more information when connections fail.

Part II - Script functions
FindNode
1. Overhauled the query, separate the query into 3 main categories: template(TP) → basic query(BQ) → expanded query(EQ).
2. Expanded query precedence is no longer apply, keys can be in any order, same key can apply multiple times. Much easier to locate desired nodes.
3. Added optional query (OQ) to “recycle", "setChecked", "getChecked", "getNodes" and "setText".
4. “scrollIntoView” has been enhanced to ensure the first matching node is fully visible on the screen.
5. Added an “until” to detect when a node is gone or text/description has been changed.
6. Optional query applies to every action has been enhanced to change the ML.
7. “action” and “actions” have no difference, they can accept a string argument as single action or array of actions.
8. “LB” and “LT” have moved to template.
9. Added “TP:scrollable” to return all items (leaf nodes) of scrollable node.
10. Added “TD” in basic query can match either text or description.
11. Enhanced “TP:anyText” and add “TP:anyDescription” to limit the length of the text or description.
12. “setText” with trailing “\n” will send the text and press Enter.
13. Added key “BP” to basic query for Boolean properties such as clickable, checkable, scrollable.

UI Explorer
1. Added “Helper” button in UI Explorer to aid users to create desired query.
2. Allow users to add template, basic query and expanded query with click of the buttons.
3. Provide unlimited undo and redo.

AAIS
1. Allow AAIS to access JavaScript variables or expression within double quotes “…${}…”.
2. Added “log()” in JavaScript to log the information into the execution log file.
3. Added “getArg()” to obtain the arguments (can be set in the Runner).
4. Added multiple lines per command, allow multiple lines in “”, {} and []. Useful for “sendAai”.
5. Similarly as FindNode, “text” command with trailing “\n” will send the text and press Enter.
6. “get”, “find” and “wait” will keep the matching nodes so next action command will use the saved matching nodes.

JavaScript
1. Provide better way of handling errors in Userlib.js.
2. Added “getProgress” and “setProgress” to “UiElement”.

REST API
1. Allow REST API to access devices.sendAai() and device.sendAai().

Version 9.0 (Update 12) release notes
Part I - Basic functions
1. Provide the ability to turn on/off AAI.
2. Optimize device connection, more stable connection and faster connection speed.
3. Multi-device Control Center adds Connection Detection, provide the mapping between hubs and devices.
4. Add more quick keys to device group in Multi-device Control Center.
5. Optimize the Multi-device Control Center, providing buttons to close and minimize windows in the upper right corner.
6. Windows desktop mode supports resolution adaption, consuming less resources.
7. Update Sigma input method emoji package.
8. Optimize device lag.  

Part II - Script functions
AAI:
1. Extending query:
      ST - sort
      RN – reduce nodes
      PQ – post query
      VG – ViewGroup
      TX/TY – intersect
2. Change the AAI recommended splitter from || to &&, compatible with the previous || format.
3. Adding AAI extension commands to provide more powerful functionality.
      3.1 getChecked multi-node support.
      3.2 Adding openAndroidSetting and openAndroidSettngViaAm commands, which can access multiple pages inside the device settings, for example, directly to the battery settings page.
      3.3 Most actions can include the query.

JavaScript:
1. UiElement adds setChecked(true/false) and getChecked() for checkbox support.
2. Optimize the device interface to provide richer and more uniform return values.

AAIS:
1. Add support for AAIS in Windows desktop mode.
2. Store the current query information in the variable output to be used directly in the embedded JavaScript ("get" and "sendAai" support).
3. Show the script name in the Multi-device Control Center device window when AAIS is running.
4. Add the find parameter to support 4 auto-find directions.
5. Support embedding AAIS in JavaScript and being able to use the parameters obtained by AAIS in JavaScript.
6. Add support for check, progress for multi-select box and progress bar.
7. Add exec to execute JavaScript.
8. Add the get command for getting node information.
9. Add sendAai command to send sendAai directly to the device.

Part III - Script Recording & Playback
1. Optimize the AAIS recording function to provide more powerful UI element script recording capability.
2. The ability to add command (instruction).
3. Ability to guess user's click more intelligently.
4. More recording support, check and progress support.

Version 8.0 (Update 41) release notes
Part I - Basic functions
1. [Pro] Enhancements to audio transfer over TCP, support bitrate setting.
2. [Pro] Added a setting to lower the quality of devices in Multi-device Control Center.
3. [Pro] Provide shortcut functions, support custom applets (e.g.: slide to unlock, etc.).
4. [Pro] Device control supports UI elements-based operation for synchronized control of different resolution Android devices via an Android device.
5. Optimize the connection process and reduce the connection time of devices.
6. Support Android 12.

Part II - Script functions
Comprehensive
1. [Pro] Add the new small script language AAIS (a simplified script language, run without checking the device).
     AAIS provides the following interfaces.View examples
     "longClick": long click, its parameter is a query
     "click": click (example: click "OK")
     "open": open an app(example: open "com.sigma_rt.com", also can be an app name, for example: open "skype")
     "wait": wait for a query to appear for the maximum timeout (example: wait "T:OK" 10000)
     "text": enter text in the nth input box (example: text "abc",3)
     "press": keystroke (example: press BACK, i.e. press the return key)
     "delay", the number of milliseconds to delay(example: delay 10000)
     "find": find and click, if not found, report exception (example: find "T:OK")
     "exec" : execute other tst scripts (example: exec "abc.tst")
     "print": print information, include it with "" (example: print "11111")
     "swipe" : swipe (example: swipe "[[11,22,44],[22,33,55]]", the value means [ x coordinate, y coordinate, delay]
     "restart": restart the app (same as "open")
2. [Pro] New Capture/Replay based on UI elements, which can generate AAIS small scripts to achieve synchronized control of devices with different resolutions.
3. [Pro] AAI function enhancement.
     - Extend query to provide more powerful query function
     - Provide lookup based on the number of rows
     - Optimize top-level node lookup algorithm to make node lookup more accurate
4. [Pro] Optimizing the UI explorer and providing optimized node functions, which can effectively reduce the number of nodes
5. [Pro] Optimize the Runner so that it can execute AAIS and Javascript scripts

REST API
1. [Pro] Extend the REST API function and extend the AAI Rest API interface.

JavaScript API
1. Optimize the restartApp/runApp function so that it can restart/start the app based on fuzzy keywords.

Version 8.0 (Update 30) release notes
Part I - Basic functions
1. Support Android 12.
2. Added Projection mode, compatible with more devices, and niche Android devices can also realize synchronous control.
3. Add software audio transmission, the computer can directly play mobile phone media sound, Android version 10 and above support.
4. New component-based control mode. Can control Android devices of different resolutions at the same time, no longer limited by resolution and location. 
5. The hotspot feature allows defining the enter key to solve the problem of not being able to use enter to send automatically in some applications.
6. Optimization of MDCC, function buttons at a glance, easy to find the desired function button.
7. Optimize the connection process and reduce connection time.
* All features have been tested on Windows 11.

Part II - Script functions
Comprehensive
1. Enhanced AAI script function:
- Add inputTextSync input parameter, you can input at the specified tag name
- Add intersect function to provide more powerful Node search function
- Provide 5 ways to find Node nodes
- UI Explorer optimized to obtain top-level nodes more accurately
- UI Explorer is optimized to provide more accurate code generation for the text input box
- Add OX and OY functions, you can search for offsets according to the horizontal and vertical directions
2. Added built-in device and devices objects for direct use. Device gets the master object by default, and devices gets a list of all selected objects by default.
3. Refactored tcConst keyCodes, you can send the Android key code value directly, which is more accurate and convenient to use.
device.send(tcConst.keyCodes.KEYCODE_B)  

REST API:
1. Extend the REST API function, users can call the JS interface at will.

Version 8.0 (Update 20) release notes
1. Optimize the MDCC to reduce CPU usage.
2. Optimize the operations of landscape mode in both MDCC[Pro] and WDM[Lite].
3. MDCC thumbnail screen update, providing 2 rendering methods, suitable for different kinds of PCs.
4. Introduce new input method, can send to device without Enter key.
5. One click to set the width of all device windows.
6. Added REST API for AAI (UI element operations) and added more JS API, increased speed.
7. Added the ability of copy the image of PC and paste it into the device window.
8. Support the phone's own input method for text input.

Version 8.0 (Update 10) release notes
Part I - Basic functions
1. Upgrade JDK and script engine.TC runs faster and more stable,and provides a more powerful script engine;
2. Add the "group" function for TCP connection management, which can achieve more efficient device management through flexible management of "groups";
3. Optimize notification management in WDM:add notification filtering function;
4. [Professional] Add mouse, keyboard, and Fn synchronization shortcut keys in WDM;
5. Change the default storage directory on the device side to /sdcard/TotalControl, remove the space to improve the user experience;
6. Fixed connection issues with Samsung Android 11.
(* Tip: Version 8.0 Lite only supports connecting 2 devices, if you want to connect 4 devices in Lite, please use version 7.0.0 and below)

Part II - Script functions
Comprehensive
1. [Professional] Add AAI experience version: Provide powerful UI component search and operation functions;
2. [Professional] Add a script to run Voice Control on specified device;
3. [Professional] Add a button to stop updating the screen during script execution to reduce CPU usage;
4. Optimize log function to provide hierarchical log printing and filtering;

JS API
1. [Professional] Add related API for AAI component search and operation.
- clickSync(text): Search and click on the specified content component
[Example] Click "Settings" on the device:
device.clickSync("Settings")
- inputTextSync(number, text): Input text in the specified text field
[Example] Input "Total Control" in the first text field on the device screen:
device.inputTextSync(0, "Total Control")
- runAppSync(packageName, [query]): Start the specified app, and return after refreshing the screen or finding the query
- restartAppSync(packageName, [query]):Restart the specified app, and return after refreshing the screen or finding the query
- getSetting(tcConst.aaiAvailable): Get whether AAI is available
- UiElement.findObject(device, ""):Find the component that meets the criteria on the specified device
[Example] Find "Camera" on the device screen, click and take a screenshot of its area
var obj = UiElement.findObject(device,"T:Camera");
obj.clickSync();
obj.screenshot("E:/test/camera.bmp",1);
- UiElement.findObjects(devices, ""):Find components that meet the criteria on multiple devices
[Example] Find "Camera" on multiple devices,then perform a click operation.
var objs = UiElement.findObjects(devices,"T:Camera");
objs.clickSync()
- sendAai({}):Operate UI components that meet the criteria.
[Example] Input "hello" in the second input box:
device.sendAai({template:"textInput", postAction:"inputText", input:"1,nihao"})
- Provide search, click, input text, screenshot and other functions for nodes.

REST API
1. [Professional] Add permission access control for storage directory.

Version 7.0.0 (Update 30) release notes
Part I - Basic functions
1. Support Android 11.
2. Support voice control, support voice control to open the app or run a function.
3. Refactored the seekImage and seekColor function to improve stability and performance.
4. [MDCC] Support setting FPS to 0, stop screen update when FPS is 0.
5. [MDCC] Optimize the file transfer interface to improve user experience.
6. Capture PC supports saving as JPG/BMP/PNG image format.

Part II - Script functions
Comprehensive
1. Optimize the terminal command line to be consistent with Ringo Shell,so as to provide better display, better historical command support and command completion.
2. Color helper modification, distinguish colors and pictures will not be mixed.
3. Optimize BMP helper and color helper, users can load BMP or color information for testing.
4. Add recording script to generate script file.
5. Optimize the script task list to better distinguish task status.
6. Support mobile phone to control mobile phone to start TC script recording function.

JS/REST API
1. [JS/REST] Add device.move() interface, accept to move page according to system swipe/scroll setting. (JS ),(REST )
2. [JS/REST] Add device.getData() interface to support getting binary data from the device. (JS ), (REST )
3. [JS/REST] Modify device.get('text:clipboard') and devices.set('text:clipboard', ) interface. (JS , ), (REST , )
4. [JS/REST] taskCreate() interface adds "option" parameter, which supports more parameters, such as "deviceName", "schedule", "time", "repeat" parameters. (JS ), (REST )
5. [JS/REST] taskCreate() interface adds "deviceName/deviceNames" parameters to specify the script to be executed on some devices. (JS ), (REST )
6. [JS/REST] Support the taskSet() interface to support the modification of task parameters created by taskCreate().(JS ), (REST )
7. [JS/REST] devices.inputText() supports appending "\n" after the character to send the enter key. (JS ), (REST )
8. [JS/REST] Add device.name, device.no, device.height, device.width, device.battery interfaces. (JS ), (REST )
9. [JS/REST] Add Device.inputForm() interface to support sending Tab key.(JS ), (REST )

JS API
1. [JS] Provide quit() command.
2. [JS] Support device.send(KeyCode) interface, realize mobile phone control command by sending key value.
3. [JS] SeekColor() and seekImage() add {seekAll:true} parameter. When the parameter seekAll is true, it returns an array of multiple colors or pictures. ,

REST API
1. [REST] Support screenshotToMemory() interface and other memory-based functions, such as seekColor() and seekImage() interfaces.
2. [REST] Support Device.connectAll() interface, return all newly connected devices.
3. [REST] SeekColor() and seekImage() add {number=one|all} parameters.When the parameter is set to one, it will return when it finds a color or picture. When it is set to all, it will return an array of multiple colors or pictures. ,
4. [REST] Add file extension when taking screenshots to PC.
5. [REST] Support screenshot(), screenshotToDevice(), screenshotToMemory() interfaces. , ,

Version 7.0.0 (Update 26) release notes
Part I - Basic functions
1. Optimize the experience of landscape mode in MDCC, greatly reducing CPU usage and increasing the speed.
2. Optimize the multi-file transmission in MDCC, support simultaneous transmission to multiple devices, adapt to more types of Android devices.
3. Optimize TCP connection, support the connection of different kinds of interface.
4. Improve the performance of seekImage(), greatly improve efficiency and success rate.

Part II - Bugs fixed
1. Fixed the issue that the getActivity() is not available on Android 10.
2. Fixed the issue that the address book cannot be imported and exported on Android 10.
3. Fixed the issue that Sigma input method cannot be switched under non-input status on Android 10.

Version 7.0.0 (Update 25) release notes
Part I - Basic functions
1. MDCC adds Device Control Devices function, which supports the use of a device that can be connected to a PC to control a custom device group or all devices through TC. (Pay Feature)
2. Add adb2 mode, the screen transfer speed is faster, and the operation is smoother.
3. Support TCP connection, connect the phone and PC via WiFi or Ethernet (the phone needs to support the Ethernet, and a USB to Ethernet Hub device is required.)
4. Optimize scrolling function, support positioning scroll center point by mouse coordinates.

Part II - Bugs fixed
1. Fixed the black screen display on the password interface due to APP security restrictions.
2. Fixed the issue of too long delay of some Huawei phones in mirror mode.
3. Fix the issue of color finding failure at multiple points.

Version 7.0.0 (Update 20) release notes
Part I - Basic functions
1. [WDM] Can drag-n-drop multiple files from PC to device window.
2. [MDCC & WDN] Better, more accurate and smoother mouse wheel control.
3. [MDCC] Allow users to control (FPS or Auto) the display frame rate of the thumbnail windows. This will reduce the CPU and USB data size to better handle other tasks. Auto will adjust ideal frame rate dynamically.

Part II - Script functions
Comprehensive
1. Provide "Color Helper" for help in getting color for seekColor() support both single color and multiple colors, users can select one primary and 10 secondary colors, can generate API that is ready to use in scripts. The UI is complete redesigned from previous Color Chooser.
2. We have increased the optimization level for faster script execution speed.
3. Update to newer versions of Rhino and RingoJS.
4. Compiled our TC libraries for faster execution.
5. TCThread can now pass arguments to function in start().
6. Users can now use "jsc" in bin directory to compile ".js" to ".class" file to protect source code, the class files can be run/loaded via scriptRun() and load() functions.
7. Allow multiple scripts in capture tool to be combined into one script.

JS API:
1. New "swipe" API that is accurate for all devices.
--- devices.scroll(x, y, dx, dy)
2. Supports setting and getting device brightness, set supports multiple devices, and get only supports single device;
--- devices.set('display:brightness', )
--- device.get('display:brightness')
3. Change device volume parameter to sound:volume:X:
--- devices.set('sound:volume:X', )
--- device.get('sound:volume:X')
4. Optimize seekColor () interface
--- Support whole screen or specified area to find color. the region (first 4 arguments) are optional, if not specify, use the whole screen.
--- Simpler color parameters, the "0x" is now optional, "0x789abc" is identical to "789abc".
--- Color value can now accept string and array. For example “0x0000ff|0x00ff00|0x0000dd-0x0000ff” and [“0x0000ff”,“0x00ff00”,“0x0000dd-0x0000ff”] are the same.
5. Provide ability to change device different Input Method Editor (IME);
--- devices.set('ime:set', < method ID >)
--- device.get('ime:allList')
--- device.get('ime:enabledList')
6. Provide enhanced ability to "seekColor()" to search element in device screen based on one primary color and multiple secondary colors.
--- seekColor([location], topLeftX, topLeftY, bottomRightX, bottomRightY, primary color, secondary colors, dir, sim)
7. Optimize Excel interface, support xls and xlsx files.
--- Supports saving excel files
--- Support switching excel worksheets
--- Support update excel cell content

REST API:
1. Optimized the [swipe] interface to be more accurate for all devices
--- POST …/devices/:device/screen/inputs?x=&y=&scroll_dx=&scroll_dy=<dy>
2. Provides enhanced "seekColor ()" function to search for elements in the device screen based on one primary color and multiple secondary colors.
--- GET …/devices/:device/screen/colors?q=search& rect=:rect&dir=:dir&color=:color&secondary_colors=:secondary_colors&sim=:sim&q=search

Part III - Bugs fixed
1. MDCC fixed the problem of transmission file stuck.
2. Fix the issue that Xiaomi mobile phone cannot connect using Turbo mode 1 under MIUI11.
3. Fixed the issue that Android10 does not support Input Mode 3 and Input Mode 4.

Version 7.0.0 (Update 11) release notes
Part I - Basic functions
1. Added BMP Creator to quickly and accurately search.
     --- Device information can be added to BMP format files 
     --- Support Color Chooser to get the coordinates and color values of a pixel
2. Allow the rooted phone to be able to run TC without the need to grant permission via USB shell.
3. Multiple TC APPs can be installed on the same mobile phone.
4. Professional Edition supports mobile phone H264 hardware encoding settings for better picture quality (some mobile phone support).
5. MDCC supports shortcut keys to set/cancel mouse (shortcut M), keyboard (shortcut K), FN sync (shortcut F).
6. Mirror mode supports THA voice.
7. MDCC supports user customization to increase groups.
8. Support to exit the TC APP after the disconnection to help the phone save power.
9. Support for Android 10.

Part II - Script functions
Comprehensive
1. Easier to set up scripts to run on multiple devices.
2. Support Ringo to run independently;
3. The script supports the Excel format.
     ---Support recording script storage as Excel 
     ---Support for modifying script instructions in Excel 
     ---Support to execute Excel format script
     ---Support Excel format script export to JS or JSON

JS API
1. Support for creating periodic loop task interface taskCreate(name, scriptFile, opt). 
2. Add device.set() and device.get() interface to set and get the phone settings parameters.  
     --- device.get('wifi:enable') get wifi status
     --- device.set('wifi:enable', true|false) set the wifi switch
     --- device.get('mobile_data:enable') get the status of the mobile data 
     --- device.set('mobile_data:enable', true|false) set the mobile data switch 
     --- device.get('bluetooth:enable') get Bluetooth status 
     --- device.set('bluetooth:enable', true|false) set the Bluetooth switch 
3. Optimize getPixelColor(); 
4. Add parseBMP() for parsing BMP.
5. Modify getSetting(), add getSetting(sigmaConst.Pathname) and getSetting(sigmaConst.Display).
6. Optimize swipe() to devices.swipe([x1, y1], [x2, y2], speed), add the speed parameter.
7. Optimize inputText() to devices.inputText(x, y, <content>). 
8. Optimize seekImage() to seekImage(imageName, [optional x1, y1, x2, y2], options).

REST API
1. The REST API is upgraded to the V2 version to provide a more consistent return value, and V1 maintains the original interface return value; 
2. Support for creating periodic cycle tasks interface taskCreate(<name>,,); 
     --- POST: …/TotalControl/v2/tasks?name=<name>&file=&iteration=&time=<time>&repeat=[
3. Add device.set() and device.get(), set and get phone settings parameters.
     --- POST …/devices/:device/settings?type=wifi&state= 
     --- POST …/devices/:device/settings?type=bluetooth&state= 
     --- POST …/devices/:device/settings?type=mobile_data&state= 
     --- GET …/devices/:device/settings?type=wifi 
     --- GET …/devices/:device/settings?type=bluetooth 
     --- GET …/devices/:device/settings?type=mobile_data 
4. Optimize seekColor(),compareColor(),compareColorEx(). 
     --- GET …/devices/:device/screen/colors/color?rect=:rect&dir=:dir&color=:color&sim=:sim -->
     …/devices/:device/screen/colors?q=search&rect=:rect&dir=:dir&color=:color&sim=:sim 
     --- GET …/devices/:device/screen/colors/color?&x=:x&y=:y&color=:color&sim=:sim -->
     …/devices/:device/screen/colors?q=comparison&x=:x&y=:y&color=:color&sim=:sim 
     --- GET …/devices/:device/screen/colors/color?color=:color&sim=:sim -->
     …/devices/:device/screen/colors?q=comparison&color=:color&sim=:sim 
5. Add the interface for obtaining the version number. 
     --- GET …/TotalControl/v1/settings?q=versions 
     --- GET …/TotalControl/v2/settings?q=versions 
6. Modify taskDelete(name). 
     --- DELETE: …/TotalControl/v2/tasks/<name> 
7. Implement the file operation related API. 
     --- POST …/TotalControl/v2/storage? 
     --- GET …/TotalControl/v2/storage?q=localDirectory 
     --- GET …/TotalControl/v2/storage/<area>/ 
     --- DELETE …/TotalControl/v2/storage/<area>/<file> 
     --- DELETE …/TotalControl/v2/storage/<area>/<dir>/<file>
     --- DELETE …/TotalControl/v2/storage?file=<file>
8. Modify getSetting(), add Pathname and Display attributes. 
     --- GET …/devices/:device/settings?type=display 
9. Optimize swipe() interface to devices.swipe([x1, y1], [x2, y2], speed), add speed parameter. 
     --- POST …/TotalControl/v2/devices/:device/screen/inputs?token=:token&coord=:coord&speed=:speed 
10. Optimize inputText() interface to devices.inputText(x, y, <content>); 
     --- POST …/TotalControl/v2/devices/:device/screen/texts?token=:token&text=:text&x=:x&y=:y
11. Optimize seekImage() interface to seekImage(imageName, [optional x1, y1, x2, y2], options)。
     --- GET …/TotalControl/v2/devices/:device/screen/images?token=:token  

Version 7.0.0 (Update 10) release notes
Part I - Basic functions
1. Add device.screenshotToMemory() API, screenshot to the memory, improve the efficiency of looking for color.
2. Provide status showing whether the current device is executing a script in WDM and MDCC mode.
3. Supports one-click setting of image quality and mode for all connected devices in MDCC.
4. Optimize the file transfer function of the MDCC to improve the reliability of file transfer.
5. Support Paypal payment (international network).
6. Support the automatic refresh of the directory after file transfer to ensure real-time display after transmission.
7. Optimize the MDCC sorting function to support more sorting methods.

Part II - Script functions
Comprehensive
1. Optimize multi-device execution, allowing single scripts to be executed simultaneously on multiple devices, set up when creating tasks.
2. All APIs provide uniform error information, and URLs support relative paths.
3. Restart script execution when dropped connection resume.

JS API
1. Add device.contactSave() API,users can save contacts in different formats.
2. Add restartApp() API,can restart APP.
3. Add device.set('TC:clipboard:text', message) API,support to set clipboard data on the device.
4. Optimized scriptRun() API,support parameter transfer function.
5. Optimized addDeviceFunction() API,add optional parameters.
- a. support multiple devices
- b. support synchronous / asynchronous operation
- c. Add delDeviceFunctio() API, support to delete custom methods
5. Optimized send() API, optimize direction and page key function.
7. Optimized device.click2() API, supports the ability to randomly click on a location within a specified area.
8. Optimized Excel file operation function.
- a. Support for reading data from specified coordinates in an Excel file.
- b. Support for reading data from a specified coordinate area in an Excel file.
- c. Support for calls to Apache POI functions.
- d. Support for automatic filling of empty cells after reading Excel blank cells.

REST API
1. Add restartApp() API, the interface can restart APP.
2. Added address book backup and restore function.
3. Optimize REST API usage to ensure REST requests are successful.
4. Optimize the send() API to optimize the direction and page-turning functions.

If you have problems in use, please timely feedback to us.
Website: http://www.sigma-rt.com.cn/en/tc
Email: support@sigma-rt.com
Business Cooperation: sales@sigma-rt.com