Apache Software Foundation > Apache POI
 

Apache POI™ - Versioning

Versioning

Apache POI™ releases are available under the Apache License, Version 2.0. from the Download page.

The versioning scheme for Apache POI is based on the principles of Semantic Versioning 2.0.0.

We started using this versioning scheme in Apache POI 4.0.0. Versions prior to this did not follow exactly the same principles with the numbers typically being of the form X.Y. X indicated the major version but there may in some cases, have been big changes between minor versions.

Version Support

Work on 6.0.0 has started in the trunk branch. Java 8 support is being removed. Some deprecated APIs are being removed. The exact scope of changes will be determined as development progresses.

5.5.x releases will continue to be made for critical bug fixes and security issues. When 6.0.0 is released, 5.5.x will be supported for a limited time after that. The exact duration of support will be determined at that time.

There is no longer any support for POI releases 4.x and earlier. Users are strongly encouraged to upgrade to the latest version of POI.

Migrating from older versions

Typically, migrating from one major version to the next should be straightforward. Before migrating, you should check if you are using any deprecated APIs and try to update your code by following the deprecation notices.

If you are migrating across multiple major versions, it is recommended to do this step by step, i.e. first migrate to the next major version, test your application and then continue to the next major version. A method might have been deprecated in one major version and then removed in the next major version.

Minor versions may introduce new features and deprecate existing APIs. They might also contain bug fixes that could potentially affect existing functionality.

POI 5.0.0 renamed the ooxml-schemas jar to poi-ooxml-full and poi-ooxml-schemas jar to poi-ooxml-lite. Please check your dependencies when migrating from POI 4.x to POI 5.x.

Please check the Change Log for details about what has changed in each version.

You can also check the Javadocs online for various releases.

The FAQ may also contain useful information.

If you encounter any issues when migrating, please report them to the mailing list.

by PJ Fanning