The Joiner utility was added, and some new methods to IndexCursor make it easier to join tables using pre-defined (index backed) relationships. Unsupported data types are now handled as binary content. There were some enhancements to give more visibility into the space utilized by the tables in the database. A few other minor bugfixes are included, such as trying multiple classloaders when loading resources as streams and fixing an issue with reading an Access 97 database with a large number of fields.
Table loading was refactored to use indexes, which should make startup faster. Support was added for reading properties blobs, including methods for accessing database, summary, and user-defined properties from the Database. Jackcess now fully supports Access 2010, including the new "General" sort order. Additionally, a variety of other minor fixes and enhancements were made.
This release fixes some issues with handling indexes. It adds support for creating indexes when creating a new table (normal indexes and primary key indexes are currently supported), and jackcess now handles multiple logical indexes backed by the same index data and interprets foreign key constraint information. Also, it adds support for writing all fixed length column types into variable length fields, and now allows MSISAM files to be written (experimental).
The biggest change in this release was adding support for some forms of access file encryption. The initial implementation of this support is in a separate project called Jackcess Encrypt. Also, database passwords can now be read. The quote character can be chosen on flat file import. Jackcess can now be utilized on the Android platform by following a few compatibility steps. The output column format can be chosen for each table. Column matching can be customized on a per Cursor basis. Lastly, certain types of usage map inconsistencies are now ignored (when safe to do so).
Support was added for reading Access 97 (jet format 3) databases. ExportUtil and associated utilities were added for exporting tables to flat files. Some minor fixes were included. Some places where table/columns names were not being handled case-insensitively were fixed. Database.escapeIdentifier was made public. Methods were added to TableBuilder and ColumnBuilder to optionally escape names. Support was added for overriding the charset and timezone used when reading or writing a database.