Skip to main content
Version: 8.2607.x.x LTS

Appendix A - Migrating from LTS-24 to LTS-26

This guide describes the steps required to migrate a nevisLogrend installation from LTS-24 (major version 7.x) to LTS-26 (8.2607.x).

Read through this guide carefully before starting the migration. Several changes require explicit action from your side.

What's new

  • Added $utils.escapeJson() function for proper JSON escaping of GuiElem label and value attributes in Velocity templates. This function is now used in the built-in json.vm template. (NEVISLOG-573) See Writing Login Applications using Velocity Rendering for details on escaping utilities.
  • Added ico, json, woff, and woff2 MIME types to the built-in default list. You no longer need to define these in mimetypes.properties. (NEVISLOG-566) See Application Configuration for information on MIME type configuration.
  • Nevis OpenTelemetry Java agent upgraded to version 3.1.0.0. (NEVISLOG-561)

What has changed

Java runtime upgrade to Java 25

Action required

nevisLogrend LTS-26 is compiled and runs with Java 25. Java 17 (used in LTS-24) is no longer supported. You must upgrade your Java runtime before deploying LTS-26.

The upgrade path is:

  1. LTS-24 uses Java 17.
  2. RR 8.2505.3.x introduced Java 21 as the minimum required version. (NEVISLOG-551)
  3. LTS-26 (8.2607.x) requires Java 25. (NEVISLOG-588)

If you are upgrading directly from LTS-24 to LTS-26, install a Java 25 JDK/JRE before deploying the new package.

Template change: json.vm requires manual update if customized

Action required

The built-in json.vm template was updated to use the new $utils.escapeJson() function to correctly escape GuiElem label and value attributes in JSON responses. Previously, $utils.escapeXml() was accidentally behaving the same as escapeJs, which meant JSON output was not properly escaped.

If you have customized or copied json.vm into your instance, you must apply the following changes manually:

  1. Replace "$guiElem.label" with "$utils.escapeJson($guiElem.label)".
  2. Replace "$guiElem.value" with "$utils.escapeJson($guiElem.value)".

Alternatively, copy the updated json.vm from the default templates shipped with LTS-26.

The updated template can be found in data/applications/def/webdata/template/json.vm in your nevisLogrend installation. See Writing Login Applications using Velocity Rendering for more information on escaping utilities in Velocity templates.

Instances that use the unmodified built-in template are updated automatically. (NEVISLOG-573)

escapeXml() behavior corrected

The $utils.escapeXml() Velocity utility function previously produced output identical to $utils.escapeJs() due to a bug. This is now fixed: $utils.escapeXml() correctly escapes XML special characters. If any of your templates relied on the incorrect (JavaScript-escaping) behavior of $utils.escapeXml(), review and update those templates. (NEVISLOG-573) See Writing Login Applications using Velocity Rendering for details on available escaping utilities.

New built-in MIME types

The MIME types ico, json, woff, and woff2 are now included in the default built-in list. If you have defined any of these in your mimetypes.properties file, the explicit definitions are redundant but harmless. No action is required unless you want to keep your configuration clean. (NEVISLOG-566) See Application Configuration for more details on MIME type configuration.

Servlet API upgraded to version 6.1

The Jakarta Servlet API dependency was upgraded from version 6.0 (LTS-24) to version 6.1 (LTS-26). This is a minor API version increment and is not expected to affect standard deployments. Custom extensions or components that directly depend on the Servlet API should be reviewed and rebuilt against version 6.1. (NEVISLOG-595)

Nevis OpenTelemetry Java agent upgraded to 3.1.0.0

The bundled Nevis OpenTelemetry Java agent was upgraded from version 2.0.x (LTS-24) to version 3.1.0.0 (NEVISLOG-561). If you have custom OpenTelemetry configurations or instrumentation based on the agent, verify compatibility with the new major version.

What has been removed

RHEL8 support removed

Action required

RHEL 8 (Red Hat Enterprise Linux 8) is no longer supported as of RR 8.2405.x. LTS-26 supports RHEL 9 only. If your nevisLogrend instances run on RHEL 8, you must upgrade the operating system to RHEL 9 before migrating to LTS-26. (NEVISAUTH-4667)

RHEL 8 remains supported on the LTS-24 branch (7.2405.x).

Third-party dependency changes

The following third-party dependencies were upgraded between LTS-24 and LTS-26. These changes may affect custom Velocity template extensions, Groovy scripts, or any code that directly references these libraries.

DependencyLTS-24 versionLTS-26 version
Jetty12.0.812.1.8
Jakarta Servlet API6.06.1
Velocity2.3.x2.4.1
Commons-beanutils1.9.x1.11.0
Commons-cli1.9.01.11.0
Commons-lang33.17.03.20.0
Commons-text1.12.01.15.0
Commons-validator1.9.01.10.1
Jackson2.17.x2.21.2 and 3.1.1
Guava33.3.0-jre33.5.0-jre
Log4j2.24.02.25.4
SLF4J2.0.162.0.17
OpenTelemetry API1.42.01.60.1
Nevis OpenTelemetry agent2.0.x3.1.0.0
Jackson dual-version dependency

In LTS-26 nevisLogrend ships two Jackson versions (2.21.2 and 3.1.1) as part of the dependency upgrade. This is an internal implementation detail. Custom code relying on Jackson APIs should be tested against both versions if applicable. (NEVISLOG-595)

Deprecations

info

No deprecations have been identified in the LTS-24 to LTS-26 release notes at the time of writing. Confirm with the nevisLogrend development team whether any API or configuration property deprecations were introduced during the RR 8.x cycle that are scheduled for removal in a future release.