API Change Documentation
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.0
-
Release Notes:
- Etendo Gradle Plugin 2.0.0
-
New Gradle Plugin Task:
This new task deletes directories created by theexpandCore
task. -
Compatibility Flag
This new flag forces the use of Java 11 with version 25Q1.
Etendo ISO
Note
The Etendo 25.x 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.dbsm
version1.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-collections
3.2.2
->4.4
-
Release Notes:
-
API Changes - Migration from Apache Commons Collections
3.2.2
to4.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.collections
must 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-lang3
2.6
->3.17.0
-
Release Notes:
-
API Changes - Migration from Apache Commons Lang
2.6
to3.17
Starting 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-annotations
5.1.0.Final
->5.1.2.Final
- Release Notes:
-
org.hibernate:hibernate-core
5.4.2.Final
->5.6.15.Final
-
net.sf.jasperreports.jasperreports-fonts
6.0.0
->6.17.0
-
net.sf.jasperreports.jasperreports
6.0.0
->6.17.0
- Release Notes:
-
org.apache.poi.poi
3.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 theCellType
enum.Example:
// Before cell.getCellType() == Cell.CELL_TYPE_STRING; // After cell.getCellType() == CellType.STRING;
Key Mappings:
Old Constant New Constant Cell.CELL_TYPE_STRING
CellType.STRING
Cell.CELL_TYPE_NUMERIC
CellType.NUMERIC
Cell.CELL_TYPE_BOOLEAN
CellType.BOOLEAN
Cell.CELL_TYPE_FORMULA
CellType.FORMULA
Cell.CELL_TYPE_BLANK
CellType.BLANK
Required Import:
-
Updating Cell Styles
Alignment
Old Constant New Constant CellStyle.ALIGN_LEFT
HorizontalAlignment.LEFT
CellStyle.ALIGN_CENTER
HorizontalAlignment.CENTER
CellStyle.ALIGN_RIGHT
HorizontalAlignment.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-beanutils
1.8.3
->1.9.4
commons-codec.commons-codec
1.1.1
->1.17.1
commons-digester.commons-digester
1.8.1
->2.1
commons-fileupload.commons-fileupload
1.4
->1.5
commons-io.commons-io
2.4
->2.16.1
com.sun.istack.istack-commons-runtime
3.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-text
1.10.0
-
org.apache.commons.commons-math3
3.6.1
-
org.codehaus.castor.castor-core
1.4.1
-
org.codehaus.castor:castor-xml
1.4.1
-
com.lowagie:itext
2.1.7
Removed Libraries
itext-pdfa-5.5.0.jar
itextpdf-5.5.0.jar
jcommon-1.0.15.jar
jxl-2.6.10.jar