So what changed?
Unlike the change from 1.x to 2.x, the change from 2.x to 3.x is
relatively non-impactful. The major change was that 3.x requires
Java 8+. Other than that, the Jackcess API should be binary
compatible with existing code. Some additional notes:
- Dependencies have been updated.
- Commons-lang has been replaced with Commons-lang3. This is
used internally so it should not really affect code using the
Jackcess API.
- Log4j is no longer referenced at all. The included logging
file is now configured for the java.util logging framework. Of
course any bridge compatible with Commons-logging may still be
utilized.
- The optional Apache POI dependency has been updated to
4.0 (if utilized for advanced OLE support).
- LocalDateTime is now the preferred date/time type.
- There are now parallel LocalDateTime based methods for all
Date based methods. That said, use of these two collections of
methods is mutally exclusive. By default, the backwards
compatible Date based methods are enabled. The LocalDateTime
based methods can be enabled by setting the appropriate
DateTimeType on the Database.
- Path is now supported.
- There are now parallel Path based methods for all File based
methods.
Working with Jackcess Encrypt
If you are using the Jackcess Encrypt project, then you will need to
use a version compatible with the relevant Jackess API.
Fortunately, the major versions match, so it's pretty simple:
- Jackcess 3.x -> Jackcess Encrypt 3.y
- Jackcess 2.x -> Jackcess Encrypt 2.y
- Jackcess 1.x -> Jackcess Encrypt 1.y
What does this mean for 2.x?
Moving forward, all new feature development will be in Jackcess 3.x.
Some bugfixes may be backported to a 2.x branch on a case by case
basis. However, no new feature development will be done on the 2.x
branch.