API Change Documentation
Overview
This document provides detailed information about API and stack changes introduced in the latest Etendo releases.
It serves as a reference for developers and system administrators to understand which components have been updated, deprecated, or removed, and how these changes may impact custom developments.
If you are planning to upgrade your environment, make sure to also review the official upgrade guide: Upgrade Etendo to Any Version.
March 2025
Etendo Platform Stack Upgrade
Java SE
- New Version Supported:
17.0.14 -
Release Notes:
-
Java SE 12.x
-
Java SE 13.x
-
Java SE 14.x
-
Java SE 15.x
-
Java SE 16.x
-
Java SE 17 (LTS)
-
PostgreSQL
- New Version Supported:
16.8.1 -
Release Notes:
-
PostgreSQL 16.x
-
PostgreSQL 15.x
-
Gradle
Warning
To update the Gradle wrapper in an existing environment , you must run:
For more detailed migration guidelines, refer to Upgrading Gradle Wrapper
- New Version Supported:
8.12.1 -
Release Notes:
Apache Tomcat
- New Version Supported:
9.0.98 - Release Notes: Apache Tomcat 9
Etendo Gradle Plugin
- New Version Supported:
2.0.0or higher -
Release Notes:
- Etendo Gradle Plugin - Release Notes
-
New Gradle Plugin Task:
This new task deletes directories created by theexpandCoretask. -
Compatibility Flag
This new flag forces the use of Java 11 with version 25Q1.
Etendo ISO
Note
The Etendo 25 ISOs are currently based on Ubuntu Live Server 22.04.5 amd64 image.
For more information, visit Etendo ISO Release Notes.
Third-Party Libraries
All libraries previously located in /lib/runtime as JAR files have been updated to Gradle dependencies now defined in the artifacts.list.COMPILATION.gradle file at the root of the project.
Updated Libraries
-
dbsourcemanager.jar->com.etendoerp.dbsmversion1.1.0-
Release Notes:
- Changes to use new version of Apache Commons Lang 3 library.
- Changes to use new version of Apache Commons Collections 4 library.
- Changes in deprecated or removed features used in Java 17.
- Added support for PostgreSQL 16.
-
-
commons-collections.commons-collections3.2.2->4.4-
Release Notes:
-
API Changes - Migration from Apache Commons Collections
3.2.2to4.4:Starting with Etendo 25.1.0, Apache Commons Collections has been upgraded from 3.2.2 to 4.4. This version introduces a new package structure. Classes previously imported from
org.apache.commons.collectionsmust now be updated toorg.apache.commons.collections4. -
Migration Instructions:
Update all import statements and references to reflect the new package structure:
// Before (Apache Commons Collections 3.2.2) import org.apache.commons.collections.CollectionUtils; // After (Apache Commons Collections 4.4) import org.apache.commons.collections4.CollectionUtils;Additionally, review your code for deprecated, removed, or modified methods to ensure full compatibility with the updated library.
Info
For detailed migration guidelines, please refer to the Apache Commons Collections 4.4 documentation.
-
-
org.apache.commons:commons-lang32.6->3.17.0-
Release Notes:
-
API Changes - Migration from Apache Commons Lang
2.6to3.17Starting in Etendo 25.1.0, Apache Commons Lang has been upgraded from version 2.6 to 3.17. As part of this upgrade, the package structure has changed. Classes previously imported from
org.apache.commons.lang.*must now be updated to useorg.apache.commons.lang3.*. -
Migration Instructions
Update your import statements to reflect the new package structure:
// Before (Apache Commons Lang 2.6) import org.apache.commons.lang.StringUtils; // After (Apache Commons Lang 3.17) import org.apache.commons.lang3.StringUtils;Additionally, review your code for deprecated or modified methods and ensure compatibility with the updated library.
-
Additional Notes
The previous version of the library remains available for backward compatibility but will be removed in future releases.
Warning
We strongly recommend migrating all custom developments to Apache Commons Lang 3.17 to ensure long-term support and compatibility.
Info
For detailed migration guidelines, refer to the Apache Commons Lang 3 migration notes.
-
-
org.hibernate.common.hibernate-commons-annotations5.1.0.Final->5.1.2.Final- Release Notes:
-
org.hibernate:hibernate-core5.4.2.Final->5.6.15.Final -
net.sf.jasperreports.jasperreports-fonts6.0.0->6.17.0 -
net.sf.jasperreports.jasperreports6.0.0->6.17.0- Release Notes:
-
org.apache.poi.poi3.10.1->5.4.0-
Release Notes:
- Apache POI 5.4.0 (2025-01-08)
- Apache POI 5.3.0 (2024-07-02)
- Apache POI 5.2.5 (2023-11-25)
- Apache POI 5.2.4 (2023-09-28)
- Apache POI 5.2.3 (2023-05-22)
- Apache POI 5.2.2 (2023-01-19)
- Apache POI 5.2.1 (2022-09-09)
- Apache POI 5.2.0 (2022-01-14)
- Apache POI 5.1.0 (2021-08-07)
- Apache POI 5.0.0 (2021-02-08)
- Apache POI 4.1.2 (2019-12-16)
- Apache POI 4.1.1 (2019-07-20)
- Apache POI 4.1.0 (2019-04-22)
- Apache POI 4.0.1 (2018-11-24)
- Apache POI 4.0.0 (2018-09-07)
For older versions, you can check: - Apache POI Release Archive (source & binaries) - Full changelog overview
-
-
Apache POI 5.x Migration Guide
This guide outlines the necessary changes to migrate projects using Apache POI 3.x/4.x to version 5.x, including how to replace deprecated classes, methods, and constants removed in recent versions.
-
Replacing Deprecated Constants (
CellType)In POI 5.x, the
Cell.CELL_TYPE_*constants are replaced by theCellTypeenum.Example:
// Before cell.getCellType() == Cell.CELL_TYPE_STRING; // After cell.getCellType() == CellType.STRING;Key Mappings:
Old Constant New Constant Cell.CELL_TYPE_STRINGCellType.STRINGCell.CELL_TYPE_NUMERICCellType.NUMERICCell.CELL_TYPE_BOOLEANCellType.BOOLEANCell.CELL_TYPE_FORMULACellType.FORMULACell.CELL_TYPE_BLANKCellType.BLANKRequired Import:
-
Updating Cell Styles
Alignment
Old Constant New Constant CellStyle.ALIGN_LEFTHorizontalAlignment.LEFTCellStyle.ALIGN_CENTERHorizontalAlignment.CENTERCellStyle.ALIGN_RIGHTHorizontalAlignment.RIGHT- CellStyle.ALIGN_CENTER → - →// Before style.setAlignment(CellStyle.ALIGN_CENTER); // After style.setAlignment(HorizontalAlignment.CENTER);Fill Patterns
// Before style.setFillPattern(CellStyle.SOLID_FOREGROUND); // After style.setFillPattern(FillPatternType.SOLID_FOREGROUND);Borders
-
Fonts API Changes
The
Font.setBoldweight()method is deprecated.
Now, you should useFont.setBold(boolean).Example:
-
Formula Evaluation API Changes:
// Before switch (cellValue.getCellType()) { case Cell.CELL_TYPE_NUMERIC: } // After switch (cellValue.getCellType()) { case NUMERIC: }Evaluating formulas:
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); CellValue cellValue = evaluator.evaluate(cell);Complete Example:
-
Additional Best Practices
Avoid creating new
XSSFWorkbook()unnecessarily. Instead, reuse:Use modern Map API:
-
Full Migration Example
-
Test your migrated code carefully. Some subtle behavioral changes may exist in formula evaluation and styling.
Official Resources
-
-
commons-beanutils.commons-beanutils1.8.3->1.9.4 commons-codec.commons-codec1.1.1->1.17.1commons-digester.commons-digester1.8.1->2.1commons-fileupload.commons-fileupload1.4->1.5commons-io.commons-io2.4->2.16.1com.sun.istack.istack-commons-runtime3.0.7->4.2.0
Info
Refer to each library’s release notes for more detailed information on changes and how they might affect your system.
New Libraries
-
org.apache.commons.commons-text1.10.0 -
org.apache.commons.commons-math33.6.1 -
org.codehaus.castor.castor-core1.4.1 -
org.codehaus.castor:castor-xml1.4.1 -
com.lowagie:itext2.1.7
Removed Libraries
itext-pdfa-5.5.0.jaritextpdf-5.5.0.jarjcommon-1.0.15.jarjxl-2.6.10.jar
This work is licensed under CC BY-SA 2.5 ES by Futit Services S.L..