Release notes

Release History

VersionDateDescription
2.0.42014-04-05 
2.0.32014-01-30 
2.0.22013-11-30 
2.0.12013-10-13 
2.0.02013-08-26 
1.2.14.32013-10-13 
1.2.14.22013-08-25 
1.2.14.12013-08-11 
1.2.142013-07-23 
1.2.132013-06-18 
1.2.122013-05-09 
1.2.102013-02-18 
1.2.92012-10-15 
1.2.82012-07-10 
1.2.72012-04-02 
1.2.62011-12-16 
1.2.52011-10-19 
1.2.42011-05-14 
1.2.32011-03-05 
1.2.22010-11-29 
1.2.12010-08-01 
1.2.02010-04-18 
1.1.212010-01-19 
1.1.202009-11-18 
1.1.192009-06-13 
1.1.182008-11-08 
1.1.172008-09-23 
1.1.162008-07-24 
1.1.152008-06-27 
1.1.142008-04-29 
1.1.132008-03-21 
1.1.122008-02-27 
1.1.112008-01-20 
1.1.102007-12-26 
1.1.92007-07-12 
1.1.82007-02-13 
1.1.72006-10-02 
1.1.62006-08-07 
1.1.52006-07-25 
1.1.42006-6-15 
1.1.32006-2-16 
1.1.22005-8-26 
1.1.12005-8-20 
1.12005-8-12 
1.02005-4-7 

Release 2.0.4 - 2014-04-05

TypeChangesBy

add

Add ColumnValidator interface which allows column values to be easily manipulated/validated as they are written into the database.jahlborn

Release 2.0.3 - 2014-01-30

TypeChangesBy

fix

Fix NullPointerException in RowImpl.toString() when value is null. Fixes 100.jahlborn

Release 2.0.2 - 2013-11-30

TypeChangesBy

fix

Rework row add/update so that constraint violations do not leave behind partially written rows. Fixes 99.jahlborn

update

Add ConstraintViolationException to distinguish exceptions due to violating database constraints from other random errors.jahlborn

Release 2.0.1 - 2013-10-13

TypeChangesBy

add

Add initial support for creating/parsing ole content.jahlborn

fix

Ignore invalid column usage map definitions. Fixes 97.jahlborn

fix

Make reading long value columns more lenient (MEMO/OLE).jahlborn

add

Add support for modifying PropertyMaps. Fixes 16.jahlborn

Release 2.0.0 - 2013-08-26

TypeChangesBy

update

Brand new API! This release is not backwards compatible with 1.x releases. See Migration Guide at http://jackcess.sourceforge.net/jackcess-2.html for more details.jahlborn

Release 1.2.14.3 - 2013-10-13

TypeChangesBy

fix

Ignore invalid column usage map definitions. Fixes 97.jahlborn

fix

Make reading long value columns more lenient (MEMO/OLE).jahlborn

Release 1.2.14.2 - 2013-08-25

TypeChangesBy

fix

Fix reading of Properties with multiple value blocks. Fixes 96.jahlborn

Release 1.2.14.1 - 2013-08-11

TypeChangesBy

fix

Remove extra object flags before checking query type. Fixes 25.jahlborn

Release 1.2.14 - 2013-07-23

TypeChangesBy

fix

Implement handling of usagemaps for long value (MEMO/OLE) columns. Fixes 95.jahlborn

Release 1.2.13 - 2013-06-18

TypeChangesBy

fix

Fix partial page updates when using CodecHandlers which can only do full page encoding.jahlborn

update

Add more methods to Database for retrieving Relationships.jahlborn

update

Implement attachment decoding, thanks to Lorenzo Carrara.jahlborn

Release 1.2.12 - 2013-05-09

TypeChangesBy

fix

Do not unicode compress strings which are longer than 1024 chars. Fixes 94.jahlborn

Release 1.2.10 - 2013-02-18

TypeChangesBy

update

Add info to the Column to support MEMO columns which are HYPERLINKS.jahlborn

fix

Add optional support for enforcing foreign-key constraints/cascading. This is disabled by default (for backwards compatibility), but can be controlled globally via a system property and/or on a per-Database basis using setEnforceForeignKeys() method. Fixes 22.jahlborn

Release 1.2.9 - 2012-10-15

TypeChangesBy

update

Add some more functionality to Joiner to facilitate integrity enforcement (hasRows and deleteRows).jahlborn

add

Added DatabaseBuilder for more convenient and flexible Database open/create.jahlborn

add

Added the MemFileChannel (and associated support in DatabaseBuilder) to enable working with Database files completely in memory.jahlborn

fix

Fix some more edge cases in date/time conversions. Fixes 92.jahlborn

Release 1.2.8 - 2012-07-10

TypeChangesBy

update

Add osgi header information to the manifest. Fixes 3523179.jahlborn

update

Add ImportUtil.toColumns to enable more advanced Table creation implementations. Fixes 3523181.jahlborn

fix

Fix NPE when running unit tests with db format MSISAM. Fixes 3529534.jahlborn

fix

Fix writing partial pages when CodecHandler is in use. Note, this fix involves a backwards incompatible change to the CodecHandler interface (Jackcess Encrypt 1.0.3 or later is compatible with this version of Jackcess). Fixes 3532250.jahlborn

Release 1.2.7 - 2012-04-02

TypeChangesBy

update

Add initial support for linked tables. Linked tables will now be loaded by the normal Database.getTable method. Linked tables can be created using the new Database.createLinkedTable method. Linked table resolution can be customized per Database by supplying a custom LinkResolver. Fixes 3479560.jahlborn

update

Rename and refactor the Cursor find methods to improve usability.jahlborn

Release 1.2.6 - 2011-12-16

TypeChangesBy

update

Add support for reading/writing complex column data (version history, attachments, multi-value columns). Fixes 3358272.jahlborn

fix

Fix problem with creating tables with indexes where ms access could not open the created table.jahlborn

fix

Fix problem with reading row from table with deleted/added columns. Fixes 3435774.jahlborn

update

Reuse previously written memo/ole values when updating other values in a row in order to reduce unnecessary data duplication.jahlborn

update

Allow ImportFilter and ExportFilter to return null from filterRow() to indicate that a row should be skipped.jahlborn

update

Add option to import file without headers to existing table.jahlborn

add

Add ImportUtil.Builder and ExportUtil.Builder to simplify import/export operations.jahlborn

Release 1.2.5 - 2011-10-19

TypeChangesBy

update

Try multiple classloaders when loading resources as streams.jahlborn

add

Add the Joiner utility and some new methods to IndexCursor to make it easier to join tables using pre-defined (index backed) relationships.jahlborn

update

Enable basic handling of unsupported data types as binary content.jahlborn

update

Add methods to approximate table size.jahlborn

update

Add Database.getSystemTableNames to enable retrieving the list of system/hidden tables.jahlborn

fix

Fix issue with reading Access 97 database with large number of fields.jahlborn

Release 1.2.4 - 2011-05-14

TypeChangesBy

update

Refactor table loading to use indexes. Do not load all table names at database startup (should make startup faster).jahlborn

add

Add support for reading properties blobs. Add methods for accessing database, summary, and user-defined properties from the Database. Add methods to Table and Column for accessing their respective properties.jahlborn

add

Add support for Access 2010, including new "General" sort order (support for super-long text index entries still needs work).jahlborn

fix

Access expects a row to be at least big enough to hold all fixed values, even if they are null. Fixes 3287626.jahlborn

update

Add Index.getReferencedIndex for retrieving the referenced Index for a foreign key index.jahlborn

Release 1.2.3 - 2011-03-05

TypeChangesBy

fix

Add support for writing all fixed length column types into variable length fields. Fixes 3181334.jahlborn

fix

More fixes related to reading and interpreting index information. Handle multiple logical indexes backed by the same index data. Interpret foreign key constraint information. Fixes 3192058.jahlborn

update

Allow MSISAM files to be written (experimental).jahlborn

add

Add support for creating indexes when creating a new table. Normal indexes and primary key indexes are currently supported. Foreign key indexes are not yet supported.jahlborn

Release 1.2.2 - 2010-11-29

TypeChangesBy

update

Add support for specifying a quote character on import from flat files.jahlborn

update

Add support for reading database password.jahlborn

update

Add support for plugging in implementations of various page encoding/decoding algorithms. See the <a href="http://jackcessencrypt.sourceforge.net/">Jackcess Encrypt</a> project for a CodecProvider implementation which supports a few of the Access encodings. (thanks to Vladimir Berezniker). Fixes 3065010.jahlborn

update

Implement some tweaks which allow jackcess to be used on the Android platform. See the <a href="faq.html#android">FAQ</a> for more details. (thanks to Miha Pirnat). Fixes 3101578.jahlborn

update

Allow output column order in tables to be configured. Fixes 3097387.jahlborn

update

Add support for custom column value matching when finding rows using a Cursor. Fixes 3105829.jahlborn

fix

Ignore usagemap inconsistencies in certain (safe) situations.jahlborn

Release 1.2.1 - 2010-08-01

TypeChangesBy

add

Add ExportUtil and associated utilities for exporting tables to flat files (thanks to F. Gerbig). Fixes 3005272.jahlborn

fix

Fix some places where table/columns names were not being handled case-insensitively. Fixes 3011084.jahlborn

fix

Make Database.escapeIdentifier public; add methods to TableBuilder and ColumnBuilder to optionally escape names. Fixes 3029500.jahlborn

update

Add support for overriding charset and timezone used when reading/writing database. Fixes 2997751.jahlborn

add

Add support for reading Access 97 (jet format 3) databases (thanks to F. Gerbig). Fixes 3003375.jahlborn

Release 1.2.0 - 2010-04-18

TypeChangesBy

update

Add support for access 2002/2003/2007 databases. Fixes 1451628.bhamail

update

Enable "large" index support by default. It can still be disabled via a variety of means, see the Database javadoc for more details.jahlborn

fix

Fix BigIndexTest to work in IDE's w/out sys.prop. Fixes 2968957.bhamail

Release 1.1.21 - 2010-01-19

TypeChangesBy

fix

Further improvements to date handling. Fixes 2899605.jahlborn

update

Handle more binary/character input types (Blob, Clob, InputStream, Reader), based on user submitted patch.jahlborn

update

Refactor import/copy methods from Database into ImportUtil. Allow reuse of existing tables. make behavior/naming of copy and import methods consistent. (ideas from submitted patch).jahlborn

fix

Set overflow info in header row, not in last data row. Fixes 2919216.jahlborn

fix

Add support for indexing strings containing any characters from BMP 0. Fixes 2920092.jahlborn

Release 1.1.20 - 2009-11-18

TypeChangesBy

fix

Add support for updating GUID indexes and for auto-number GUID fields. Fixes 2884599.jahlborn

update

Add support for updating rows in a table. Fixes 2802845.jahlborn

fix

Support reading/writing fixed length text fields. Fixes 2886370.jahlborn

Release 1.1.19 - 2009-06-13

TypeChangesBy

add

Add Query reading support.jahlborn

fix

Be more forgiving for input column length. Fixes 2788029.jahlborn

Release 1.1.18 - 2008-11-08

TypeChangesBy

add

Add ErrorHandler utility for customizing error handling during row parsing.jahlborn

add

Add RowFilter contributed by Patricia Donaldson.jahlborn

update

Add Database.getSystemTable method for accessing system tables.jahlborn

Release 1.1.17 - 2008-09-23

TypeChangesBy

fix

Fix simple index handling of tail index pages. Fixes 2043499.jahlborn

Release 1.1.16 - 2008-07-24

TypeChangesBy

fix

Reserve minimum space for memo/ole fields so that greedy inline row usage does not cause spurious write failures for wide tables. Fixes 2019244.jahlborn

fix

Better column type translation for very large MEMO/OLE types in the Database.copyTable logic. Fixes 2018713.jahlborn

fix

Add some more limit checking into table creation based on what access supports (max rows per table, max identifier lengths). Fixes 2019244.jahlborn

fix

Share out-of-line long value pages in order to generate more compact database files. Fixes 2019244.jahlborn

add

Add primitive support for writing unicode compressed text columns.jahlborn

add

Add compression code for possible future use; add compression unit tests.jahlborn

Release 1.1.15 - 2008-06-27

TypeChangesBy

fix

Fix writing of large memo/ole fields. Apparently Access does not like long value fields longer than 4076 bytes. Fixes 1998225.jahlborn

fix

Reduce maximum row size to what Access considers valid.jahlborn

Release 1.1.14 - 2008-04-29

TypeChangesBy

fix

Need to store auto-number values back into row so that indexes can be updated correctly. Fixes 1924705.jahlborn

fix

Access seems to limit data pages to a max of 255 rows. Fixes 1942330.jahlborn

fix

Added experimental support for "large" indexes. The current support is optional. It can be enabled via a variety of means, see the Database javadoc for more details. Fixes 1564870.jahlborn

Release 1.1.13 - 2008-03-21

TypeChangesBy

fix

More fixes for index parsing. Believe index names are now correctly matched up with indexes. Fixes 1913775.jahlborn

update

Simplify comparison algorithms for RowId and Index.Entry using type attributes.jahlborn

fix

Expand the characters supported in index updates to all of the ISO-8859-1 character set. Fixes 1906160.jahlborn

fix

Fix bug caused by sign extension when reading single-byte row numbers.jahlborn

update

Modify Index update support so that it honors the "unique" and "ignoreNulls" properties for the Index.jahlborn

update

Add support for reading table relationships.jahlborn

fix

Fix creation of tables with auto-number columns.jahlborn

fix

Completely fix problems with sporadic usage map corruption. Fixes 1832723.jahlborn

update

Add some soft buffer caching in various places to avoid excessive buffer reallocation.jahlborn

add

Add some builder-style utilities for table creation (ColumnBuilder, TableBuilder).jahlborn

Release 1.1.12 - 2008-02-27

TypeChangesBy

fix

Resolve more edge cases around date handling.jahlborn

fix

Fix writing of large memo/ole fields. Apparently Access does not like "inline" fields longer than 64 bytes. Fixes 1899076.jahlborn

fix

Fix generation of security access control entries. Use userIds already existing in the database file instead of hard-coded userIds, if possible. Fixes 1898793.jahlborn

Release 1.1.11 - 2008-01-20

TypeChangesBy

fix

Support reading inline usage maps with more than 512 pages.jahlborn

fix

Fix some problems with sporadic usage map corruption. Fixes 1832723.jahlborn

update

Move from cvs to subversion.jahlborn

Release 1.1.10 - 2007-12-26

TypeChangesBy

add

Add index based table traversal support to Cursor with optional sub-range narrowing. Add position save/restore, row find, and a variety of other features.jahlborn

add

Move table iteration out of Table and into Cursor. First stage in offering more complicated table access.jahlborn

fix

Update table row count correctly on row deletion or bulk row addition, bug #1681954. Fixes 1681954.jahlborn

update

Add experimental support for auto-number columns, feature request #1565216. Fixes 1565216.jahlborn

update

Move project to maven2 and change project groupId to com.healthmarketscience.jackcess.jahlborn

Release 1.1.9 - 2007-07-12

TypeChangesBy

fix

Add support for writing large table definitions, bug #1675522. Fixes 1675522.jahlborn

fix

Fix handling of usage maps for large tables, bug #1748827. Fixes 1748827.jahlborn

fix

Fixed some edge cases for reading numeric columns, bug #1672071. Fixes 1672071.jahlborn

Release 1.1.8 - 2007-02-13

TypeChangesBy

update

Additional info in DataType to support better type validation (scale/precision range). Add "unit size" concept.jahlborn

update

Add CLOB support in JDBC handling. Add general support for large types (BLOB/CLOB).jahlborn

update

Enhance Database.copyTable/importReader to allow for better control over column definitions and row values through the ImportFilter. Change default type translation to handle large and variable length types better.jahlborn

Release 1.1.7 - 2006-10-02

TypeChangesBy

update

Refactored DataType class, cleaned up a lot of "custom" data type code springled throughout the codebase.jahlborn

update

Added sanity checking on table creation (check column/table properties for validity).jahlborn

update

Clean up index reading/writing of text columns, add support for more charactersjahlborn

update

Support reading 'compressed' indexes (fix 1563654) Fixes 1563654.jahlborn

update

Implement "overflow" row reading.jahlborn

fix

Allow multi-page long value reading.jahlborn

update

Implement multi-page long value writing.jahlborn

fix

Fix decimal data type writing.jahlborn

update

Add support for opening files read-only (fix 1545857) Fixes 1545857.jahlborn

Release 1.1.6 - 2006-08-07

TypeChangesBy

fix

Handle more tables with more index slots than actual indexes (fix bug 1530312) Fixes 1530312.jahlborn

fix

Clean up reading/writing 3-byte ints; long value length is 3-bytes (fix bug 1449812) Fixes 1449812.jahlborn

fix

Fix handling of skipped rowsjahlborn

fix

When reading multi-page table def, flip buffer before parsing (fix bug 1306970) Fixes 1306970.jahlborn

update

Treat table names as case insensitive; use stored table names when instantiating tablesjahlborn

update

Make Database and Table Iterablejahlborn

fix

Use uppercase names when adding text columns to indexes, which fixes long standing problem with table names starting with lowercase characters (and other situations where tables could not be opened in Access). Remove hack which forced every table name to have uppercase first character.jahlborn

update

Clean up compressed text handling.jahlborn

update

Implement reading multi-page long binary valuesjahlborn

Release 1.1.5 - 2006-07-25

TypeChangesBy

update

Add support for currency columns (thanks to James Schopp).jahlborn

fix

Handle tables with no variable length columns correctly.jahlborn

fix

Handle reading with deleted columns.jahlborn

update

Read information on primary keys and include in Index.jahlborn

fix

Fix some issues around reading indexes.jahlborn

update

Add write support for numeric/GUID columns.jahlborn

update

Added getRowCount(), getName(), updated toString() on Table.javajedi

Release 1.1.4 - 2006-6-15

TypeChangesBy

fix

Missing break in switch condition.jahlborn

fix

Fixes to reading/writing MEMO/OLE columns.jahlborn

update

Made exceptions thrown when opening empty or nonexistent files more specific.jahlborn

fix

Apply patch from Jon Iles for handilng variable length columns.jahlborn

fix

Apply patch from Jon Iles for handling dates.jahlborn

fix

Apply patch from Jon Iles for reading GUIDs.jahlborn

Release 1.1.3 - 2006-2-16

TypeChangesBy

fix

Fix parsing of NUMERIC type.jahlborn

fix

Applied Jon Iles' patch to allow large table definitions to be read.javajedi

Release 1.1.2 - 2005-8-26

TypeChangesBy

fix

Fixed bug where writing null values into fixed-width columns was failing. Fixes 1273712.javajedi

Release 1.1.1 - 2005-8-20

TypeChangesBy

fix

Fixed bug in reading index count from table definition. Skip overflow rows. Fixes 1261536.javajedi

Release 1.1 - 2005-8-12

TypeChangesBy

update

JDK 1.5 upgradesjavajedi

update

Applied Mitchell Friedman's patch for support of additional JDBC data types.javajedi

update

Added support for deleted rows.javajedi

Release 1.0 - 2005-4-7

TypeChangesBy

add

Initial releasejavajedi