New in this Release

This is a maintenance and bugfix release which is backwards compatible to 3.1.0.

If you are using the commercial FSA, Concurrency, OpenText or Deduplicator plugins, please upgrade them to the latest version and obtain a valid license.

Changes

  • Removed license checks and replaced license dialog by EULA acceptance dialog.

New Features

  • Configurable logging using log4j2 configuration files
  • Flexible ids in UDM
  • XURL.post() now supports using fileds with the same name in multipart requests (by sending an object with a name field)
  • New construct:
    • Mongo.reIndex()

And many more small improvements and bugfixes that make your life easier. See the complete list in the change logs below.

Unused Fields and Object Ids in UDM

Because they were still unused, the following fields have been removed from UDM:

  • action
  • order

This does not break backwards compatibiltiy, if you already have these fields in some documents in your UDM, you can safely ignore them.

Because we added the ability to choose custom ids when using UDM the way we generate random ids for new documents has changed. Generated ids for inserted documents that have no id will be Mongo ObjectIds in the new implementation, not UUIDs. This means that any newly inserted documents will have slightly different ids. Normally you should not notice this at all. If you want to query for a MongoDB ObjectId, use Mongo.objectId().

Upgrading from Xill IDE 3.0

If you are upgrading from the previous major release (3.0.x) then be advised that you have to change your robots to work with Xill IDE 3.1 (it is a major update after all).

  • To enable support for (large) binaries and streaming of files, we created the Stream package and changed the way that loading and writing of files works.
    This makes working with files faster, but you may have to change your bots that use the old File package or the preview version of the Stream package that was included in 3.0.1.
  • To enable support for the separate MySQL plugin we needed to change the way that database drivers are loaded. This leads to new plugin names (one per database), which replace Database and a different way of connecting (using JDBC connection strings).
    The advantage is that this simplifies adding new database drivers at a later time. Also, using the new connection strings, you have more options available for databases like Oracle.
  • To enable better authentication and multipart posts (including binaries) with web services, we built the all new XURL package, which replaces REST.

See the Xill IDE 3.0 to 3.1 Upgrade Guide for concrete steps you have to take to upgrade your bots.

Known Issues

  • You cannot currently use the comparison operators <, >, <= and >= on strings. 
  • Breakpoints may move when pressing ENTER or DELETE on the same line.
  • Some help examples may not work without modification.
  • When previewing huge XML files (>120MB) you may run out of memory.
  • On a Mac, some keyboard-shortcuts may not work, because they are used to type special characters.
  • When using MariaDB, multiple queries may lead to a crash in the special case that one query (except the first) raises a constraint violation.
  • When using MariaDB, a query-result with zero results will cause an error when iterating over it.
  • When using MariaDB in an external bot using callbot() an exception may be thrown.
  • A robot tab may freeze when trying to overwrite a file that is locked by the system (using File.copy()).

Change Logs

Xill IDE - Change Log

[3.1.1] - 24-06-2016

Add


    • Handle ctrl+A in the help search bar [CTC-1496]
    • Make logging configurable by using log4j2 config files [CTC-1535]
    • Ctrl+F highlights the search text in the search bar [CTC-1605]

Change


    • Remove license dialog and checks, replace by EULA acceptance dialog [CTC-1518]
    • Update Xill API to 3.3.25
    • Update XML plugin to 1.1.3
    • Update JDBC plugin to 1.0.3
    • Update document plugin to 1.3.3
    • Update Excel plugin to 1.1.6
    • Update Web plugin to 1.1.5

Fix


    • Incorrect behaviour in upper- and lowercase in project names [CTC-1556]
    • Illegal characters in folder name throw ElasticSearch error [CTC-1558]
    • Do not show quotes in preview pane when selecting values [CTC-1589]
    • Make redo button inactive when undo-history is empty [CTC-1597]
    • Fix Ctrl-C doubling new lines when cut/pasting into external program [CTC-1482]
    • Opening a robot outside workspace has wrong workspace path [CTC-1610]

[3.1.0] - 19-04-2016

Add


    • Creation of robots from templates [CTC-380]
    • Validate robots when opening [CTC-1349]
    • F1 provides context sensitive help [CTC-1393]
    • Ability to copy/paste text from preview panel OBJECT/LIST fields by double clicking [CTC-1150]
    • Automatic backup for settings file [CTC-1464]
    • Code highlighting for pipeline keywords [CTC-1490]

Change


    • Remove Database plugin and replace it by extensible JDBC plugin version 1.0.1 (built-in support for MSSQL, Oracle, SQLite, Oracle, MariaDB) [CTC-1390]
    • Deprecate REST plugin and replace it by XURL plugin version 1.0.5
    • Update Xill API to 3.3.14
    • Update exiftool plugin to 1.1.1
    • Update XML plugin to 1.1.3
    • Update web plugin to 1.1.4
    • Update document plugin to 1.2.3
    • Update Excel plugin to 1.1.4
    • Improve keyboard shortcuts for find and replace bar [CTC-1346]
    • Improve deleting of files and folders in project pane [CTC-1342]
    • Improve user experience when closing the application with running robots [CTC-1361]
    • Remove any token that starts with a numeric character from the auto completion [CTC-1339]
    • Filter strings and comments from code completion [CTC-1340]

Fix


    • Issue where the project tree would collapse when changes were made to it [CTC-880]
    • Text in license dialog should wrap [CTC-1435]
    • Cannot create new robot after deleting robot or folder [CTC-1436]
    • Cannot create a new robot in samples project [CTC-1333]
    • Cannot open bots when multiple instances of Xill IDE are running [CTC-1216]
    • Xill IDE does not start maximized [CTC-1335]
    • Copy/Paste behaviour mixed up [CTC-1398]
    • Auto-save while paused [CTC-1437]
    • Debugger issue with error in included bot [CTC-1481]
    • Scrolling with mouse wheel in help pane [CTC-1262]
    • Search in preview pane [CTC-1451]
    • Old packages are not removed from help index [CTC-1498]

[3.0.1] - 12-02-2016

Add


    • More descriptive information in the robot status bar
    • Auto save functionality that saves after 2 seconds of inactivity

Change


    • Improved performance of the LIST and OBJECT preview pane [CTC-1218][CTC-1314]
    • Moved create folder and create file buttons to a drop-down menu in the project view [CTC-1300]
    • Update Document plugin to version 1.0.3
    • Update Web plugin to version 1.0.3
    • Update Database plugin to version 1.0.2

Fix


    • Display of changelog [CTC-1189]
    • Issue where focus would be lost on the project view [CTC-1254]
    • Issue where robot control buttons would get stuck [CTC-1336]
    • Issue where error in included robots would only display for two seconds [CTC-1341]
    • Display a link to EULA [CTC-809]
    • Issue where a dialog keeps popping up for robots that have not been changed [CTC-1354]

[3.0.0]

Initial release


Xill Core, Codec, Collection, Date, File, Math, Stream, String, System plugins - Change Log

All notable changes to this project will be documented in this file

[3.4.0] - unreleased

Fix


    • Assert construct(s) may not escape strings properly [CTC-1627]

[3.3.25] - 20-06-2016

Fix


    • File.isFile() incorrectly implemented (returns the same as File.isReadable()) [CTC-1622]
    • continue does not advance index [CTC-1639]
    • nl.xillio.xill.plugins.string.services.string.RegexServiceImpl prevents clean shutdown of xill engine [CTC-1657]

[3.3.24] - 16-06-2016

Fix


    • Error when parsing java.sql.Date from jdbc plugin [CTC-1644]
    • Licensing of plugins [CTC-1518]

[3.3.23] - 09-06-2016

Fix


    • Sometimes included libraries do not initialize variables [CTC-1631]

[3.3.22] - 09-06-2016

[3.3.21] - 09-06-2016

[3.3.20] - 07-06-2016

Change


    • Split System.exec() output by line again [CTC-1466]

Fix


    • PhantomJS gives error after starting robot with library ten times [CTC-1543]
    • File.getText() keeps stream open [CTC-1609]

[3.3.19] - 26-05-2016

Change


    • Make error messages more descriptive by providing a template [CTC-1420]

Fix


    • System.exec() can make robots unstoppable [CTC-1582]
    • Debugger variable view must show relevant scope in recursive function [CTC-1584]

Add


    • Configurable logging [CTC-1535]

[3.3.18] - 23-05-2016

Change


    • Change File.getMimeType() to make use of internal mime type list [CTC-1477]

[3.3.17] - 13-05-2016

Fix


    • Fix break of backward compatibility of API change in [CTC-1492]

[3.3.16] - 09-05-2016

Change


    • Do not split System.exec() output by line [CTC-1466]

[3.3.15] - 06-05-2016

Fix


    • Find all referenced libraries before initializing or closing them [CTC-1493]
    • Fix stream closed too early [CTC-1502]
    • Fix timeout on regex and make it threadsafe [CTC-1545]
    • Do-fail block does not work on errors that are thrown inside an object declaration [CTC-1566]
    • MySQL.connect fails from inside runBulk with "Unknown Internal Error" [CTC-1568] [CTC-1492]

Add


    • Add floor and ceiling construct [CTC-1530]

[3.3.14] - 19-04-2016

Fix


    • Date package help files [CTC-1474]

[3.3.13] - 14-04-2016

Add


    • String.regexEscape() construct to escape strings that will be part of a regular expression [CTC-1406]

Change


    • Move Concurrency plugin package to separate repository [CTC-1519]

[3.3.12] - 12-04-2016

Change


    • Errors from external programs run using System.exec() are not logged as Xill errors anymore [CTC-1465]

Other


    • Various maintenance tasks [CTC-1496][CTC-1414][CTC-1470]

[3.3.11] - 30-03-2016

Fix


    • Variables are not disposed leading to write lock on files [CTC-1503]

[3.3.10] - 30-03-2016

Fix


    • Foreach loop fails with inline Stream.iterate() [CTC-1438]
    • Memory leak when using MySQL JDBC plugin [CTC-1500]

[3.3.9] - 24-03-2016

Add


    • Concurrency package and pipeline processing [CTC-1454][CTC-1455][CTC-1456][CTC-1458][CTC-1459][CTC-1460]

[3.3.8] - 23-03-2016

Fix


    • Line with a breakpoint is executed on stop [CTC-1409]

[3.3.7] - 23-03-2016

Change


    • Check naming conventions [CTC-1396]
    • Update xill language definition to version 3.1.3

[3.3.6] - 22-3-2016

Fix


    • Remove BOM characters [CTC-1365]

[3.3.5] - 22-3-2016

Add


    • String.byteLength() construct to determine length of a string in bytes [CTC-1279]

[3.3.4] - 3-3-2016

Add


    • possibility to deprecate constructs [CTC-1297]

[3.3.3] - 25-02-2016

Fix


    • List append operator not working [CTC-1417]
    • Collection size wrong in debugger pane [CTC-1418]
    • Unclear error message when variable used in function is declared after function call [CTC-1388]

[3.3.2] - 24-02-2016

Change


    • For ATOMIC variables for all the basic operators (+, -, *, /, ^, %, ++, --, +=, -=, *=, /=):
      if one of them (or both) is NOT a number return NaN. [CTC-1368]
    • LIST and OBJECT variables also return NaN [CTC-1411]

[3.1.2] - 24-02-2016

Fix


    • Issue where File.getLastModifiedDate returns the creation date

[3.1.1] 11-02-2016

[3.3.1] - 19-02-2016

Add


    • Hash.toSHA1 and Hash.toSHA256 constructs [CTC-1332]
    • Collection.containsKey construct [CTC-1230]
    • Extensions for xill bots and xill templates [CTC-380]

Change


    • Add a new stream api for data streaming [CTC-1373]
    • Refactor Encode.toBase64, Decode.fromBase6, Hash.toMD5 to work with streams [CTC-1332]
    • Refactor logging [CTC-1196]

[3.1.1] - 11-02-2016

Fix


    • Disappearing variables in variable pane when debugging [CTC-1292]
    • Implement the new file api with stream support [CTC-1327]

[3.1.0] - 08-02-2016

Add


    • Error handling construction
    • The runBulk expression to run parallel robots

Fix


    • Issue where lists would always evaluate to false [CTC-1315]
    • Issue where circular references would cause a robot to crash [CTC-1166]

Change


    • Update xill_language to 3.1.1

[3.0.0] - 28-01-2016


    • Initial release

Xill Language - Change Log

All notable changes to this project will be documented in this file

[3.1.4] - 24-03-2016

Add


    • Keywords for pipeline processing (map, filter, peek, collect, consume, reduce, foreach) [CTC-1454][CTC-1455][CTC-1456][CTC-1458][CTC-1459]

[3.1.3] - 23-03-2016

Change


    • Terminal id for tokens, to fix exponential operator (^) [CTC-1316]

[3.1.2] - 10-02-2016

Change


    • The syntax of the argument keyword

[3.1.1] - 08-02-2016

Fix


    • No error on declaring variable that already existed as parameter [CTC-1238]

[3.1.0] - 28-01-2016

Add


    • do/fail/success/finally blocks for error handling [CTC-1209]
    • runBulk command for parallel robot calls [CTC-1273]

[3.0.43] - 07-01-2016

Fix


    • Issue where having two compilers at the same time would cause unexpected behavior regarding project folders

[3.0.42] - 23-12-2015

Add


    • Option to use multiple packages on a single declaration: use System, String;

Xill Document, ContentType, Mongo Plugins - Change Log

All notable changes to this project will be documented in this file

[1.3.3] - 23-06-2016

Add


    • Mongo.removeOne(), Mongo.insertOne(), Mongo.updateOne(), Mongo.replaceOne()
      Add support for single documents to Mongo CRUD operations [CTC-1219]

Fix


    • UDM should leave out empty optional fields [CTC-1668]

[1.3.2] - 20-06-2016

Fix


    • Restore default value of 1 for UDM 'version' field [CTC-1648]

[1.3.1] - 08-06-2016

Add


    • Mongo.reIndex() construct to re-index a collection [CTC-1221]

[1.3.0] - 24-05-2016

Change


    • Reduce complexity of udm implementation and remove dependency on unifieddatamodel [CTC-1535]
    • Remove currently unused fields from data model (order and action)

[1.2.3] - 14-04-2016

Change


    • Update UDM version to 1.2.3

[1.2.2] - 12-04-2016

Add


    • Mongo.listCollections() construct to show the available collections in a database [CTC-1471]

[1.2.1] - 30-03-2016

Fix


    • Xill IDE throws a MongoCursorNotFoundException instead of logging an error [CTC-1391]
    • Handling of BigInteger and BigDecimal values by UDM [CTC-1480]

[1.2.0] - 23-03-2016

Change


    • Update UDM to version 1.2.0
    • Use lowerCamelCase for all collection and field names [CTC-1396]

[1.1.3] - 22-03-2016

Change


    • UDM functions support user specified database [CTC-1423]
    • Standard Mongo connect timeout changed from 30s to 3s to keep robots from freezing on stop [CTC-1432]

Fix


    • Save numeric string into UDM as number [CTC-1306]

[1.1.2] - 14-03-2016

Add


    • Options to Mongo.find() construct [CTC-1363]

[1.1.1] - 25-02-2016

Change


    • Update Xill API to version 3.3.3

[1.1.0] - 23-02-2016

Change


    • Update to xill api 3.3.1

[1.0.3] - 10-02-2016

Add


    • Options parameter to the aggregate construct [CTC-1308]

[1.0.2] - 08-02-2016

Add


    • Include sort functionality in Document.find [CTC-1231]

[1.0.1] - 26-01-2016

Fix


    • Complete Mongo help files [CTC-1250]

[1.0.0] - 19-01-2016


    • Moved from xill core repository to dedicated repository

Xill Document, ContentType, Mongo Plugins - Change Log

All notable changes to this project will be documented in this file

[1.2.3] - 14-04-2016

Fix


    • An error occurred in a robot: java.lang.Integer cannot be cast to java.lang.Double [CTC-1541]

[1.2.2] - 12-04-2016

Fix


    • Handling of failed Mongo connections [CTC-1478]

[1.2.1] - 30-03-2016

Fix


    • Handling of BigInteger and BigDecimal values by UDM [CTC-1480]

[1.2.0] - 23-03-2016

Change


    • Use lowerCamelCase for all collection and field names [CTC-1396]

Fix


    • Saving numeric string in database as number [CTC-1306]

[1.1.0] - 27-01-2016

[1.0.0] - 03-10-2016


    • Initial release

Xill Excel Plugin - Change Log

All notable changes to this project will be documented in this file

[1.1.6] - 07-06-2016

Fix


    • Booleans marked with @ are always true when setting value in Excel [CTC-1481]

[1.1.5] - 29-04-2016

Change


    • Update documentation on thread safety when working in more than one sheet in a workbook.
    • Return rows and columns as iterators in Excel Plugin [CTC-792]

[1.1.4] - 19-04-2016

Fix


    • Update xill API to enable deprecation

[1.1.3] - 11-04-2016

Fix


    • Excel.getCell incorrectly retrieves numbers without decimals [CTC-1522]

[1.1.2] - 22-03-2016

Change


    • Deprecate Excel.setCell() construct and replace it by Excel.setCellValue() and Excel.setCellFormula() [CTC-1298]

[1.1.1] - 25-02-2016

Change


    • Update Xill API to version 3.3.3

[1.1.0] - 23-02-2016

Change


    • Update to xill api version 3.3.1

[1.0.2] - 26-01-2016

Fix


    • Excel.setCell should not treat values as formulas CTC-1274

[1.0.1] - 19-01-2016

Change


    • Remove integration test

[1.0.0] - 19-01-2016


    • Moved from xill core repository to dedicated repository

Xill XURL Plugin - Change Log

All notable changes to this project will be documented in this file

[1.0.8] - unreleased

Fix


    • Sending XML as body with XURL.post sometimes fails [CTC-1608]

[1.0.7] - 10-05-2016

Change


    • Use same named parts in XURL.post [CTC-1583]
    • Updated documentation [CTC-1475]

[1.0.6] - 28-04-2016

Fix


    • Fix missing comma in help

[1.0.5] - 14-04-2016

Fix


    • XURL.post throws an error when (a part of) the content is a stream [CTC-1539]

[1.0.4] - 12-04-2016

Fix


    • XURL.post() multipart messages behave unexpectedly [CTC-1524]

[1.0.3] - 30-03-2016

Add


    • Add file import to XURL.post() [CTC-1475]

[1.0.2] - 25-02-2016

Change


    • Update to xill api version 3.3.3

[1.0.1] - 24-02-2016

Change


    • Improve help files

[1.0.0] - 23-02-2016


    • Initial release

Xill Exiftool Plugin - Change Log

All notable changes to this project will be documented in this file

[1.1.1] - 25-02-2016

Change


    • Update to xill api version 3.3.3

[1.1.0] - 23-02-2016

Change


    • Update to xill api version 3.3.1

[1.0.0] - 19-01-2016


    • Move from xill core repository to dedicated repository

Xill JDBC Plugin - Change Log

All notable changes to this project will be documented in this file

[1.0.3] 07-06-2016

Change


    • Added documentation concerning support database version [CTC-1442}

[1.0.2] - 06-05-2016

Fix


    • MySQL.connect fails from inside runBulk with "Unknown Internal Error" [CTC-1568] [CTC-1492]

[1.0.1] - 30-03-2016

Change


    • Fix potential memory leak [CTC-1500]

[1.0.0] - 22-03-2016

Initial release


Xill Web Plugin - Change Log

All notable changes to this project will be documented in this file

[1.1.5] - 09-06-2016

Change


    • Improve error message of Web.download() [CTC-1612]
    • Let Web.download() return HTTP response code [CTC-1612]

[1.1.4] - 23-03-2016

Change


    • Check naming conventions [CTC-1396]

[1.1.3] - 22-03-2016

Add


    • Web.tidy() construct [CTC-1190]

[1.1.2] - 11-03-2016

Fix


    • Download certificate error [CTC-1424]
    • Help files [CTC-1426][CTC-1429]

[1.1.1] - 25-02-2016

Change


    • Update Xill API to version 3.3.3

[1.1.0] - 23-02-2016

Change


    • Update Xill API to version 3.3.1

Fix


    • Issue where resources were not released when Web.loadPage failed [CTC-1347][CTC-1366]

[1.0.3] - 10-02-2016

Fix


    • Web.loadPage returns last loaded page instead of current URL [CTC-1347]
    • PhantomJS.exe not included in Windows build [CTC-1343]

[1.0.2] - 08-02-2016

Fix


    • Provide a more descriptive error message for unsupported xpath constructions [CTC-1302]
    • Provide a more descriptive error message when no more processes are available [CTC-1318]
    • Web.xPath doesn't return result for certain patterns [CTC-1304]

[1.0.1] - 26-01-2016

Fix


    • Add helpful message about PhantomJS installation on Mac and Linux to help files [CTC-714]

[1.0.0] - 19-01-2016


    • Moved from xill core repository to dedicated repository

Xill Rest Plugin - Change Log

All notable changes to this project will be documented in this file

[1.1.2] - 19-04-2016

Change


    • Deprecate all constructs (REST package replaced by XURL)[CTC-1577]

[1.1.1] - 25-02-2016

Change


    • Check naming conventions [CTC-1396]

[1.1.1] - 25-02-2016

Change


    • Update Xill API to version 3.3.3

[1.1.0] - 23-02-2016

Change


    • Update to xill api version 3.3.1

[1.0.1] - 26-01-2016

Add


    • Option for insecure SSL-connections and transfers [CTC-1310]

[1.0.0] - 19-1-2016


    • Moved from xill core repository to dedicated repository

[1.1.1] - 25-02-2016

Change


    • Update Xill API to version 3.3.3

[1.1.0] - 23-02-2016

Change


    • Update to xill api version 3.3.1

[1.0.0] - 11-01-2016


    • Moved from xill core repository to dedicated repository