News and announcements

SikuliX 1.1.0 available

Written for Sikuli by RaiMan on 2015-10-06

... be sure to have visited and know what you are doing, when running the setup.

Read more

Sikuli X 1.0 RC3 "Maltipoo" Released!

Written for Sikuli by Tsung-Hsiang Chang on 2011-09-15

This release fixes many major bugs in RC2 and improves the usability of Sikuli IDE and the consistency of Sikuli's Java and Jython API. A new feature in Sikuli Script allows users to register global hot keys that trigger user-defined functions.

All Sikuli and Sikuli X users are recommended to upgrade to this version. Please download the release package for you operating system at


Sikuli IDE
- Auto indentation
- New settings in preferences: expand tab, tab width, font style, font size
- The locale of the IDE can be changed
- ESC cancels screen capture mode
- Sikuli code (including images) can be copied across tabs
- Sikuli code can be copied as plain text to other programs/text editors
- Window size and opened files are remembered and restored automatically

Sikuli Script
- App class supports Linux now (wmctrl and xdotool required.)
- Java APIs are more consistent with Jython's
- New hotkey API allows the user to register hotkeys that trigger a Sikuli function
- A parameter of Sikuli's vision engine MinTargetSize can be changed to adjust the robustness/speed of the engine
- Pure color templates can be matched now
- popup() accepts an optional parameter for setting the title of the dialog
- Some error messages are improved
- The bundled Jython upgrades to 2.5.2


- Many bugs in the matching preview window are fixed - not hanging anymore, preview is consistent with the result of findAll.

See for the complete list of fixed bugs.


- Our code repository will be moving to github soon. Welcome to watch or fork Sikuli on github if you are interested in our development. We are open to any kind of contributions.

- Except for the source code repository, we will continue to use launchpad for bug tracking, Q&A, release management, and UI translations.

- We have set up a continuous integration server at, which builds Sikuli continuously. If you don't want to wait for our stable release, try our latest builds at

Sikuli X 1.0 RC3 coming soon: Call for translation volunteers

Written for Sikuli by Tsung-Hsiang Chang on 2011-09-05

Sikuli X 1.0 RC3 is coming.

RC3 will include many bug fixes and new features for Sikuli Script and Sikuli IDE. Before the official release, we need your help to translate Sikuli's user interface to your languages.

Sikuli IDE has been translated into 19 languages. Please help us to complete and review the translations at Everyone is welcomed to join the translation project. Your effort will be a great
contribution to let more people learn and use Sikuli. Thank you!

Sikuli Development Team

Sikuli X 1.0 RC2 Released!

Written for Sikuli by Tsung-Hsiang Chang on 2011-02-10

Sikuli X 1.0 RC2 "Maltese" comes with a completely new user interface of Sikuli IDE and the ability to extend Sikuli Script with extensions. Sikuli Guide, an extension for creating interactive tutorials on actual interfaces, is also released with RC2.


- The UI of Sikuli IDE has been redesigned and polished. Find, undo, and redo are supported. Console messages are colored.
- Extensions for Sikuli Script. With extensions, adding new features to Sikuli would be much easier. Developers are welcome to create and distribute their own Sikuli extensions.
- Sikuli Guide: a Sikuli extension that provides a revolutionary way to create guided tours or interactive tutorials for GUI applications on the actual interfaces, rather than in a video or a series of screenshots on a web page. Details can be found at
- Add an interactive mode (-i) to sikuli-script.jar. (for command line only)

- Region: getTopLeft, getTopRight, getBottomLeft, getBottomRight, offset(location), moveTo, morphTo.
- Region.setFindFailedResponse() handles FindFailed exceptions with more options (RETRY, SKIP, ABORT, PROMPT).
- Env.isLockOn(Key.CAPS_LOCK|Key.NUM_LOCK|Key.SCROLL_LOCK) returns the state of the given lock key.
- Env.getSikuliVersion() returns the current version of Sikuli.
- load(jar) loads a JAR file so that Sikuli can use the Java/Jython classes and functions in that JAR.
- The info/debug/log messages of Sikuli can be hidden with the following variables.
  - Settings.ActionLogs # turn on/off the messages with "[log]"
  - Settings.InfoLogs # turn on/off the messages with "[info]"
  - Settings.DebugLogs # turn on/off the messages with "[debug]"


- The observer is rewritten and fixed. A new SikuliEvent class is introduced, see for details.
- sikuli-script.jar is easier to be used alone with other IDEs (e.g. Eclipse or Netbeans). The sikuli-script.jar searches /Applications/ on Mac, or %SIKULI_HOME% on Windows for the necessary dynamic libraries automatically.
- French error messages are fixed.
- The Windows installer searches the path to JRE\bin and add it to %PATH% automatically.
- Better compatibility for 64bit Windows. (The IDE shortcut points to .bat instead of .exe by default.)
- See for the full list of fixed bugs.

Read more

Sikuli X 1.0 RC1 Released!

Written for Sikuli by Tsung-Hsiang Chang on 2010-12-23

Sikuli X is a new experimental branch of Sikuli. (X stands for eXperimental.)
Many new features and bug fixes are included in this release. All old users of Sikuli 0.9 or 0.10 are recommended to upgrade to X. However, please keep in mind some features are still in experimental, e.g. text recognition and the new API to get the bound of any windows, which means they may not work well or not support all platforms yet.

Download Sikuli X at To learn how to use the new features of Sikuli X, please read the new "The Complete Guide to Sikuli X"


 - New computer vision engine - faster and more reliable.
 - Text recognition and matching (EXPERIMENTAL)
      - find("OK") returns all regions with a "OK" label.
      - region.text() returns the text in the region.
 - Screenshot naming - screenshots can be automatically named with timestamps, the text in them, or manually input.
 - Supports remote images
        e.g. click("")
 - Image search path (SIKULI_IMAGE_PATH) - images can be stored anywhere you like.
 - .sikuli source can be imported as a module.
 - New App class replaces the old openApp, switchApp, closeApp functions
      -, App.close(), App.focus()
      - App.window() returns the bound of the app window as a Region, so you can restrict following actions within that region. (EXPERIMENTAL: Windows and Mac only)
 - Beautified "Run in slow motion" mode.
 - Smooth mouse movement.
 - Better capture mode on Mac (supports multi-screens, no flicker anymore)
 - More special keys are supported (PrintScreen, Num Pad, CapsLock...)
 - New region highlighting API: region.highlight(). (EXPERIMENTAL: Windows and Mac only)
 - New Mouse API: wheel(target, WHEEL_UP/WHEEL_DOWN, steps) for scrolling the mouse wheel.
 - New multi-lingual interface translation: Bulgarian, French, Dutch, Polish, Japanese, Simplified Chinese.


 - command line arguments works with the --test mode.
 - multi-screen actions when the primary screen is not at (0,0)
 - (Linux) open an application in background by default
 - (Windows) fixed a bug in setting the screen shot hot key
 - and much more..


 - Text recognition and matching is implemented with the Tesseract OCR engine, which was
   originally designed for recognizing scanned documents. Please note the OCR technology
   is not perfect, especially for screen text. We believe there is still much space for tuning its
   performance and we are working hard to improve it. Please look forward to it.

 - The observer is unstable in this version. We will fix it in the next release.

Updated on 2010-12-23. Read more

15 of 12 results