Release History

Version Date Description
2.1 May 31, 2004 Multiple bugfixes and enhancements.
2.0 January 22, 2004 Major release.
1.5.6 October 5, 2003
1.5.5 July 16, 2003
1.5.1 April 4, 2003
1.5 March 1, 2003
1.4 July 17, 2002
1.3 April 4, 2002
1.2.4 March 19, 2002
1.2 March 15, 2002
1.1 March 10, 2002
1.0 Febuary 27, 2002 Initial public release.

Release 2.1 - May 31, 2004

Type Changes By
add 741394 - New database compare Ant tag. See Ant task documentation.
add New Comma Separated Values (CSV) dataset implementation. fspinazzi
add 824328 & 948479 - Ability to add DOCTYPE declaration when writing a flat Xml dataset. See FAQ.
add 884422 - FlatDtdWriter has now the ability to generate DTDs with choice model instead of sequence model.
add Ability to import external file for binary data types like BLOB; the value can be either a qualified URL o r a file path name.
update Do not omit NULL values anymore in INSERT statements. Now only XmlDataSet's < none/ > tag are omitted. With FlatXmlDataSet you must use the ReplacementDataSet to achieve the same behavior.
fix 937732 - XlsDataSet now use UTF-16 encoding to support Asian characters. Patch submitted by Shuhei Kondo.
fix Applied XlsTable empty table detection patch submitted by Deepak Kaimal.
fix Added back FlatXmlDataSet constructors taking URL as argument missing in version 2.0.
fix 918631 & 925585 - Fixed FlatXmlDataSet constructors taking InputStream/Reader for loading DTD.
fix DELETE_ALL operation now deletes tables only *once* in reverse order they are encountered. Before, duplicate tables were resulting in multiple deletes. Patch submitted by John Hurst.
update DELETE_ALL operation now compatible with StreamingDataSet.
fix 947330 - Now closing ResultSet before Statement to fix exceptions thrown by the Firebird JDBC driver and the OpenBase 8.0 JDBC driver.
fix 921869 - Fixed ParameterIndexOutOfBoundsException with InterBase.
update 947809 - Moved createMetaData() static method from AbstractResultSet to DatabaseTableMetaData and made it public. Can now be used to create ITable from a ResultSet.
fix Support for large Oracle BLOB. Must use OracleDataTypeFactory.
add Oracle LONG RAW data type support via OracleDa taTypeFactory. Original patch submitted by Markus Muller.
fix Added back support for Oracle FLOAT missing in DbUnit 2.0. Must use OracleDataTypeFactory.
add Support for Oracle NCHAR2 as proposed by Deepak Kaimal. Must use OracleDataTypeFactory.
update Added DataType.isDateTime() method proposed by Ayman Mahfouz.
add 726366 & 884422 - Added IColumnFilter interface. Can be used to filter out some table columns. See FAQ.
update Renamed ITableFilter.isValidName() method to accept() to be consistent with the new IColumnFilter interface.
add 955354 - Ability to determine the primary keys with IColumnFilter interface instead of DatabaseMetaData.getPrimaryKeys(). Primar y keys sequence is not predictable when using filter. See FAQ.
add Ability to plug custom IDENTITY column detection strategy for InsertIdentityOperation when using user defined types. See FAQ.
add Added DefaultTableFilter class, which combines capability of the Include/ExcludeTableFilter classes.

Release 2.0 - January 22, 2004

Type Changes By
update Mavenized the build and the website!
update Now use SAX2 instead of Electric XML DOM parser. Streamed mode allows importing and exporting very large XML datasets with minimal memory consumption.
add Flat XML dataset validation.
add New ITableIterator interface used to iterate thru dataset tables. Allows lazy tables initialization for some dataset implementations. The IDataSet.getTables method have been deprecated and usage should be avoided.
update Global System properties are not supported anymore. You must now use the new DatabaseConfig object to alter DbUnit behaviours.
add Configurable data type factory to easily integrates new data types with the DbUnit core. Factory implementations available for some database vendors. Submit your own!
add Oracle TIMESTAMP data type support via the OracleDataTypeFactory.
fix Fix truncated Oracle DATE. Must use the OracleDataTypeFactory.
fix Fix for Oracle CLOB greater than 4000 bytes. Must use the OracleDataTypeFactory.
add MySQL 'longtext' data type support via the MySqlDataTypeFactory.
add DB2 XML data types support via the Db2DataTypeFactory.
add Database views support.
add New pluggable filter strategies for DataSetFilter. You can now exclude/include tables using wildcard patterns.
add Ability to sort tables by their dependencies with the new DatabaseSequenceFilter strategy.
add New ReplacementDataSet decorator, which can replace decorated dataset values on the fly. Can be used with flat XML dataset as a new way to specify null values.
add New XlsDataSet. An MS Excel dataset implementation. Uses the Jakarta POI package.
update Assertion.assertEquals is now performing typed comparison instead of string representation comparison.
update INSERT, CLEAN_INSERT and REFRESH operations do not override database default values anymore with null values. Null values are now omitted from insert statements. Operations use multiple prepared statements for the same table, when null values vary from row to row.
update Moved InsertIdentityOperation to "org.dbunit.ext.mssql" package to be consistent with other vendor extensions. Temporary keep a deprecated copy in "org.dbunit.operation.mssqlserver" to ease transition to DbUnit 2.

Release 1.5.6 - October 5, 2003

Type Changes By
fix 786543 - NULL primitive values incorrectly returned as zero (0).
fix Fix Oracle CLOB values incorrectly returned as NULL.

Release 1.5.5 - July 16, 2003

Type Changes By
update DatabaseDataSet improvements: faster access to metadata cache and keep original database table ordering.
update Better handling of the various data types in general. WARNING! New abstract methods have been added to the DataType class. This change may break your environment if you have implemented your own data types.
update More efficient XmlDataSet writing. Now put values in CData block only when necessary.
update Do not enable batched statement by default anymore. Many JDBC drivers have problems with this feature.
fix Fixed table name issue with case sensitive database.
fix 615636 & 735095 - Incorrect XML encoding. Better handling of the XML encoding while writing and reading XML datasets. InputStream and OutputStream methods in XML dataset implementations are no more deprecated.
fix 736439 - Problems with InsertOperation and triggers.
fix 736967 - Wrong scale for numeric value with the jConnect driver for Sybase ASE.

Release 1.5.1 - April 4, 2003

Type Changes By
fix Fixed DELETE operation that was not deleting tables in reverse order as expected.
fix 7123 29 - setObject fails on BEA JDriver for MS-SQL.
update DbUnitTask DTD export optimization.
update REFRESH operation optimization.

Release 1.5 - March 1, 2003

Type Changes By
fix Multiple bugfixes.
add 533321 - DbUnit is now case insensitive.
add 555455 - Supports table names escaping (see escapePattern property).
add 551925 - Allows duplicate table names in datasets. A new method, getTables(), have been added in the IDataSet interface.
add 590245 & 684610 - New Reader and Writers methods to read and write XML datasets. InputStream and OutputStream methods are now deprecated.
add New SortedTable and SortedDataSet decorator classes.
add 645691 - Added the < classpath > nested element in DbUnitTask ant task; used to load the JDBC classes.
add Added < query > nested element in DbUnitTask < export > . Allows exporting the result of a SELECT as a table of a dataset. See ant task documentation.
add New Canoo Webtest integration guide.

Release 1.4 - July 17, 2002

Type Changes By
add DbUnitTask for Ant contributed by Timothy Ruppert and Ben Cox.
update Moved the Base64 class to the org.dbunit.util package because Visual Age for Java is not able to handle classes located in the default package.
update Added system properties documentation.
update 542034 - Detect ambiguous table names.
add 542462 - Added a system property to disable usage of batch statement even if the target database support it..
update 545238 - Sort tables prior to comparing them. DbUnit now generates an ORDER BY clause in the select statement used by DatabaseDataSet.getTable(). Rows are sorted by primary keys.
update 554249 - None column values.
add Added support for BLOB and CLOB data types.

Release 1.3 - April 4, 2002

Type Changes By
add Added support for binary data types: BINARY, VARBINARY and LONGVARBINARY. Binary data is persisted in xml datasets using the base64 encoding scheme.
update Deprecated the DataSetUtils.assertEquals() methods. You should now use Assertion.assertEquals().
fix 533537 - FlatXmlDataSet and null values.
fix 533537 - Problem with single quotes.
fix 534810 - Problem when primary key include all columns

Release 1.2.4 - March 19, 2002

Type Changes By
add Added support for multiple schemas per connection. See FAQ document.
remove Removed element < none/ > from dataset.dtd. This feature was incompatible with future support for the binary data types.
fix 530998 - DataSetUtils.AssertEquals(ITable table, ITable table).
fix 533540 - Problem with DATE, TIME and TIMESTAMP.

Release 1.2 - March 15, 2002

Type Changes By
add Added the flat XML dataset format. See the FlatXmlDataSet in Core Components document.
add Added database data verification feature. See Getting Started document.
update Updated Electric XML parser to version 3.2.

Release 1.1 - March 10, 2002

Type Changes By
update Connections are now closed in each setUp() and tearDown(). You must override the DatabaseTestCase.closeConnection() and provide an empty body to modify this behavior. This is not recommended to bypass connection close if you use connection pooling.
add Added the IDatabaseConnection interface.
add Added the DatabaseDataSourceConnection class. This class provi des support for accessing JDBC connections from a DataSource. JDBC connections are requested on demand from the DataSource.
update Multiple performance improvement.
fix 526235 - Cannot export tables with JDBC-ODBC bridge and MS-SQL.