CTL2: lists and maps of records are now possible. XMLExtract now distinguishes between null and empty strings. Aggregate: avg() and sum() aggregate functions now perform integer overflow check. DataIntersection correctly reports unsorted input now. UniversalDataReader and Writer now support the "Quote character" attribute for specifying. There are additional fixes.
The error ports of UniversalDataReader and LDAP Reader can also have byte/cbyte fields instead of just strings. XMLExtract failing on opening input files in multiple phases has been fixed. Recursive parameter definition is now properly detected and warned in the log. CTL2 "for" cycle consuming memory has been fixed in CTL2 interpreted mode. byte and cbyte types in CTL2 are now fully compatible. ByteBufferUtils.encodeLength(ByteBuffer, int) has been fixed for 5-byte lengths.
The CloverETL Community edition was introduced, which is free and full-featured. The new transformation language, CTL2, was added. Dictionary support was added in the Designer. Examples are bundled with easy setup. Metadata can be extracted from DBF files. HTTP authentication is supported in the HTTPConnector component. Edge drawing for complex graphs was improved. Flat file reading/writing is now CSV compliant. The default locale can be specified globally for the environment. FTP wildcards are now supported.