Releases: aisingapore/TagUI
v6.110.0
MS Office Plugins
Placeholder release to host installers for TagUI Microsoft Office Plug-ins
For preview, see - https://github.com/kelaberetiv/TagUI/blob/master/src/office/README.md
For setup instructions, see usage guide - https://tagui.readthedocs.io/en/latest/setup.html
MS Office RPA Release
Download Word Plug-in | Download TagUI v6.46 | Read more about TagUI
Microsoft Word Plug-in v3
You can now create RPA robots in MS Word! Full-featured RPA IDE with toolbar of TagUI steps and tooltips, snapshot tool to automate using computer vision, update tool to get latest TagUI version and features, task pane for various robot settings and run output.
Microsoft Excel Plug-in v1
Define parameters for your RPA robots such as datatable for batch automation, object repository for reusable parameters. In upcoming v3 of the plug-in, there will be a report dashboard feature for analysis of your robots (when run with report option).
Community Projects
Weekly Zoom meetings for Q&A
Since January, we have a weekly Zoom call (every Thursday 4-5pm, UTC+8) for existing and potential users to ask any questions. This is especially useful for solving complex roadblocks or figuring out if TagUI is the suitable solution for the users.
Telegram community group chat
Since April, we have a Telegram group chat for users to ask any questions or share anything related to TagUI. This is useful for getting answers quickly. Besides TagUI team, seasoned users from the community will also share their experiences.
Community-created Projects
- TagUI for C# .NET by Allan Zimmermann
- Node-RED TagUI module by Allan Zimmermann
- VS Code language extension by Subhas Malik
RPA tools supporting TagUI
- OpenRPA & OpenFlow by Allan Zimmermann
- Robocorp TagUI Library by Nived N
- OpenBots by Ashish Nangla
- Power Automate Desktop
Improvements
For TagUI core, probably the changes with the most user impact are the tagui update
command to get the latest TagUI version and features, get_text()
/ remove_chars()
helper functions for data extraction or cleaning, auto-screenshot on UI element not found, new step download to folder
to set location for downloads, a working Google Colab notebook to run TagUI on the cloud, support for spaces in folder and workflow names on Windows, and support for both single and double quotes in XPath identifiers.
#1053 - make processes titles user-friendly on Windows
#1046 - accept URL with www prefix instead of https://
#1045 - keep web browser open during batch automation
5a4f31d - improved summary report for report option
#1036 - added appeared(), ie visible() with timeout
#1035 - download to xxxxx to specify download location
#1030 - updated Hungarian language, added dclick/rclick
#1028 - added enterprise security section to readme
#1001 - select to also choose by by text (if no value)
#996 - add new Chrome location as fallback on Windows
#994 - support using single quote in XPath identifiers
#987 - Windows folders and workflow names with spaces
#986 - add new dictionary for Malayalam language
#977 - add updated dictionary for Malay language
2039874 - overhaul for Tamil language dictionary
#972 - get_text() helper function for text extraction
#972 - remove_chars() helper function for data cleaning
#968 - tagui update command to install latest version
#955 - installer including OpenJDK for TagUI on Windows
#953 - access repo/datatable in if condition and JS code
#939 - auto-screenshot webpage/screen on missing element
#913 - Colab notebook to run on phone browser or cloud
#906 - improve dump, write, load steps for edge cases
#899 - auto-install Jython on visual automation 1st run
Bug Fixes
Fixed a number of bugs around edge cases for TagUI v6 introduction of Python indentation syntax. The change is backward compatible with the old JavaScript {} syntax. Users can use tabs or certain number of spaces, as long as the format you choose is consistent. For macOS users, there is a bug fix for OpenSSL error by using an updated PhantomJS engine. Couple of bug fixes for live mode.
#1030 - fix indentation bug for translated languages
#1026 - fix missing indentation bug pre-v6 workflows
#1011 - remove R integration false-positive, r = 1
#966 - fix nested code block for Python integration
#961 - fix indentation bug tagui step to call subflow
#932 - use latest PhantomJS engine to fix OpenSSL error
#903 - live mode enable using variables with ' inside
#901 - live mode make variables with \n work for echo
Post-v6 Release
Improvements
#756 - detect sikulix requirement in exist() / present() / visible()
#834 - added 'text using ocr' to exist() & present() functions
#812 - 'typing' in non-English when using visual automation
#843 - easier calling of clipboard() function to put text
#888 - no longer needed to escape single quote (\')
#892 - auto-detect chrome.exe location on Windows
Bug Fixes
#750 - exit gracefully on Windows if .tag extension is not used
#763 - fix some edge case errors for Python-style indention
#778 - fix indentation issue when calling subflows with tagui
#890 - fix hangs issue with latest headless Chrome version
#893 - correct docs that user parameters only p1-p8, not p9
General
#731 - tagui command to return errorlevel 1 if flow errors out
#776 - restore R integration due to R supporters' request
#841 - csv_row() now also supports numbers as inputs
#885 - bring back quiet mode with -quiet / -q options
954d3b8 - deprecate distribution thru npm install tagui
This is a post-v6 release collating all improvements and bug fixes since the v6 release in Mar 2020. Enjoy!
The goal is to tie up any loose ends, to take on TagUI roadmap 2021 - Cloud, MS Word, AI Recorder, UI etc
v6 User Experience Release
New Features
- Deploy double-clickable shortcuts easily using
-deploy
/-d
option #692 - Run flow options with one letter,
-h
instead of-headless
- Click on text using OCR, like this:
click your text here using ocr
#702 / #736 - Use indentation instead of {} for code blocks #746
- Access live mode directly from the command line with
tagui live
- Use the exist() function to check until whether a given element exists #651
Breaking Changes
- Makes chrome the new default browser #691
- Makes visible chrome browser mode the default mode
- .tag extension is now mandatory
echo
,dump
,write
,check
steps no longer use quotes for strings, consistent with other steps #693- All run options must be run with a leading dash
-
, like-headless
- Run flows that don't use the browser with
-nobrowser
/-n
option #715
Bug Fixes
General
- No more (often unwanted) default saving of log files, To enable logging, create an empty
tagui_logging
file in thetagui/src
folder. - Documentation overhaul and migration to readthedocs
- New logo
- Hindi keywords updated
Deprecated features
This release introduces many changes to improve the user experience when writing, running and deploying TagUI flows. It also brings a documentation overhaul and migration to readthedocs.
Pre-v6 Release
TagUI is a command-line tool for digital process automation (RPA)
New Features
- #559 - clipboard() helper function to read & write
- #466 / #417 - shell script to kill TagUI processes
- #465 - support escape chars in live mode, eg '
- #462 - improve snap step Chrome snapshots
- #461 - support regions for OCR and snapshot
- #442 - support non-terminal usage of TagUI
Bug Fixes
- #648 - fix Chrome not closing for macOS & Linux
- #597 - fix PHP warning for newer PHP versions
- #592 - fix select step, change to match exactly
- #553 - fix frame not working issue with Chrome
- #549 - fix using variables dynamically in live mode
- #497 - fix timeout hanging if no visual automation
General
- #606 - graceful handling of invalid Python code
- #589 - update readme to use Corretto OpenJDK
- #490 - provide prettified codebase for readability
- #459 - readme add section on TagUI for Python
- #443 - timeout step to update SikuliX timeout
- #423 - enable check step to work in for loop
This release rounds up all enhancements and bug fixes since the last packaged release 8 months ago.
New features worth noting would be the clipboard() helper function to read and write to the clipboard, the end_processes and end_processes.cmd scripts to let users kill all TagUI and integrations processes, and supporting (x1,y1)-(x2,y2) regions as identifiers for read and snap steps.
Siow Yi Sheng has joined AI Singapore and will be taking over future development of TagUI. Coming from a deep business background, he pivoted and made great leaps in tech, both in frontend and backend. The knowledge transfer and handover has begun, and this release is the last release which I'll be driving.
There are going to be very exciting developments next year. Including a TagUI IDE to make developing RPA workflows accessible to everyone, an Orchestrator for scheduling and managing workflows, and a Reporting Dashboard for a one-stop view of the executed workflows.
In the interim, v6 is being worked on, which will introduce changes that improve TagUI user experience. For example, using Chrome visible browser by default instead of PhantomJS invisible browser. The .raw .js .log files will not be generated by default as they are irrelevant to most users most of the time. Also, .tag will become the standard file extension for TagUI flow files. Because these improvements may require changes to how users currently use and setup TagUI, this next release will be bumped up to v6.
Other interesting features that Yi Sheng is working on include having the option to generate a Windows batch file or macOS script automatically so that users can double-click on a desktop icon to run the automation, having an option to launch TagUI in live mode directly, adding SHA hash to report option to prevent malicious tampering of auditing results, and visually looking for specified text on the screen.
A POC on migrating TagUI from using PhantomJS to Node.js as the execution engine is also underway.
Visual Automation Release
TagUI is a command-line tool for digital process automation (RPA)
- #371 - keyboard step for sending complex keystrokes to the screen
- #369 - mouse step for low-level mouse down and up on the screen
- #366 - interacting with UI elements by specifying their (x,y) coordinates
- #362 - mouse_xy() / mouse_x() / mouse_y() helpers to click on offsets etc
- #385 - enhancement to report option for auditing and tracking capability
- #383 - graceful error handling for unexpected and unhandled errors
- #387 - ability to disable generation of .log .raw .js files by default
- #288, #311, #320 - improved Japanese, German, French languages
- #347 - enabling use of dynamic variables in live mode
- #289 - enable use of dynamic variable for wait step
- #348 - enabling using datatable with test option
- #376 - update upload step for new DevTools protocol
- #275 - update upload step for new Chrome version
- #295 - fix warning with computers running PHP 7
This is a major TagUI release where major improvements are made on visual automation capabilities. For example, web identifier, image of UI element, (x,y) coordinates of UI element can be used seamlessly by TagUI to identify and interact with UI elements. Besides web browser, this is useful for automating desktop applications using computer vision.
Using the Typeform example, below is now possible. Together with mouse_xy(), mouse_x(), mouse_y() helper functions, there are new use case possibilities such as identifying an UI element visually and then interacting with another element at some x,y offset away. Also, the keyboard step lets users send complex keystrokes to the screen effortlessly.
// sample TagUI step to enter user credentials on Typeform website
click login
type username as user@gmail.com
// besides web element identifiers, images of the elements can be used
click login_button.png
type username_box.png as user@gmail.com
// in addition, (x,y) coordinates of user-interface elements can be used
click (1200,200)
type (800,400) as user@gmail.com
Visual automation can be used directly from unzipping TagUI packaged installations. Pre-requisite is to have Java JDK (64-bit) v8 or later. TagUI v5.0 comes with SikuliX v1.1.4 - its OpenCV (for computer vision) is bumped from v2.5 to v3.4, its Tesseract (for OCR) is bumped from v2.x to v3.05.
Other notable changes include enhancement to the report option that enables easy auditing and tracking capability, enabling the use of dynamic variables in live mode for easier script development and testing, and the ability to turn off generating .log .raw .js files by default by putting an empty tagui_no_logging file in tagui/src folder, and also graceful exit on unknown error encountered.
Click to see more info on this release.
Add support of `variable`
TagUI is a CLI tool for digital process automation (RPA)
- #241 - improve use of variables - `variable` instead of '+variable+'
- #227 - make ask step consistent on Windows and macOS / Linux
- #228 - make api step work in sub-scripts called using tagui step
- #223, #232, #233, #234, #236, #240 - various doc improvements
Minor updates and various documentation improvements. Introduce `variable` to denote use of variable where text is expected (updated sample flows). Backward compatible with old syntax '+variable+'.
RPA Stable Release
TagUI is a CLI tool for digital process automation (RPA)
Major Changes
- #131 - update from MIT to Apache 2.0 open-source license
- #188 - cool TagUI Writer & ScreenShoter tools by @adegard
- #164 - automate Chrome without restarting user's Chrome
- #150 - deterministic sequential execution for edge cases
- #216 - support for break and continue within for loops
- #167 - support indentation for py and vision code blocks
- #202 - include present() / visible() for Sikuki integration
- #184 - csv_row() helper function for writing to csv files
- #175 - csv datatable is now specified as a tagui option
- #139 - repository is now tagui_local.csv, tagui_global.csv
- #137 - user-defined functions tagui_local.js, tagui_global.js
Step Changes
- #127 - added ask step for user input (reply saved to ask_result)
- #212 - new way to click Chrome (scroll to view, hover, then click)
- #78 - added rclick and dclick steps (right-click and double-click)
- #140 - alternative way to improve double-clicking for Chrome
- #113 - visual automation improvement - type page.png as text
- #120 - enabled dynamic filenames to be used in TagUI steps
- #122 - dynamic timing for wait step (delay base on variable)
- #121 - make consecutive run steps execute synchronously
- #123 - fixed run step when used with multiple parameters
- #80 - fixed tagui step to make it work with indentation
Other Changes
- #111 - curl.exe whitelisted, removing false-positive note
- #119 - fix csv file non-new-line character on Windows
- #146 - disable webservice execution of online flows
- #157 - refresh sikuli offline setup to latest - v1.1.3
- #191 - update snap step logic to work for Windows
- #200 - fix filename issues when creating with absfile
- #206 - fixed \ character handling in py, r, vision steps
With this release, TagUI is likely to enter maintenance mode. Rapid improvements on agility, reliability, and ease-of-use had been made with users' feedback for production development and deployment.
RPA Transition Release
TagUI is a RPA / CLI tool for automating user interactions
- modularize and run other scripts within a script
- integration compatibility with both Python v2 & v3
- begin/finish code blocks for py, r, vision, run, dom, js
- pass variables with helper functions for py, r, vision
- Chrome extension right-click to inspect element
- now supporting .tagui .js .txt or no file extension
- comments, blank lines, no URL ok at start of flow
- add RPA tutorial, Prezi slides, FOSSASIA'18 video
- OS-specific exceptions guide for TagUI installation
- CasperJS v1.1.4-1, SlimerJS v1.0.0, Sikuli v.1.1.2
- improved run step to run OS level commands
- improved handling of enter keystroke for Chrome
- fix a new download issue for Chrome on Windows
This release moves towards supporting a broader form of UI automation besides web automation, commercially known as RPA (robotic process automation). Features are added to make it easy to reuse and compound building blocks of scripts, with focus on rapid development and improved integrations.
With visual automation and integrations such as Python, starting flow file with an URL is no longer mandatory. Documentation is revamped into a collapsible markdown for readability, with various new medium for learning such as hands-on tutorial, overview slides and video of TagUI intro.