WhisperCoaching — Release Notes
Version 2.3 (May 2026)
Overview
Major modernization release. Upgraded from Java 8 / Jersey 2.x / javax.* to Java 21 / Jersey 3.1 / Jakarta EE 10. No functional changes to whisper coaching behaviour.
Compatibility
|
Component |
Version |
|---|---|
|
Java (minimum) |
21 (JRE/JDK) |
|
Apache Tomcat |
10.1.x ✅ |
|
Apache Tomcat |
10.0.x ⚠️ Untested |
|
Apache Tomcat |
9.x and below ❌ Incompatible ( |
|
Cisco JTAPI |
10.0 |
|
Cisco CUCM |
Compatible with JTAPI 10.0 supported releases |
Note: Tomcat 10.1 is required because it implements Jakarta EE 10 (
jakarta.*namespace). Tomcat 9.x and earlier use the oldjavax.*namespace and are not compatible with this build.
What Changed
Java Runtime
-
Was: Java 1.8 (source/target
1.8) -
Now: Java 21 (source/target
21)
Namespace Migration — Jakarta EE 10
-
All
javax.ws.rs.*imports replaced withjakarta.ws.rs.*across source files -
web.xmlupdated to Servlet 6.0 schema (<https://jakarta.ee/xml/ns/jakartaee)> -
context.xmlcleaned up — removed deprecatedantiJARLockingattribute (removed in Tomcat 9.0) and redundantpathattribute
Dependency Upgrades
|
Dependency |
Old Version |
New Version |
|---|---|---|
|
Jersey (JAX-RS implementation) |
2.19 ( |
3.1.0 ( |
|
JAX-RS API |
|
|
|
Jakarta Servlet API |
— |
6.0.0 (provided by Tomcat 10.1) |
|
Jersey HK2 injection |
— |
3.1.0 (required by Jersey 3.x) |
|
Log4j Core |
2.17.1 |
2.24.3 |
|
maven-compiler-plugin |
— |
3.13.0 |
|
maven-jar-plugin |
— |
3.4.2 |
|
maven-surefire-plugin |
— |
3.2.5 |
Security Fixes
-
sun.misc.BASE64Decoder(removed in Java 9) replaced withjava.util.Base64 -
Internal JDK API (
com.sun.org.apache.bcel) reference removed fromWebService.java -
Log4j upgraded to 2.24.3 (0 CVEs detected in final dependency scan)
Deployment
-
Ensure Tomcat is running on JRE 21 (
JAVA_HOMEmust point to JDK/JRE 21) -
Copy
WhisperCoaching.warto[TOMCAT_HOME]/webapps/ -
Application deploys at:
http(s)://[host]:[port]/WhisperCoaching/
REST endpoint:
GET /WhisperCoaching/rest/whisper/{agentExt}/{supervisorExt}/{Start|End}
What Did NOT Change
-
Cisco JTAPI integration (
javax.telephony.*) — unchanged, this is Cisco-proprietary and not related to Jakarta EE namespace migration -
REST endpoint URL structure and behaviour
-
config.propertiesandjtapi.iniconfiguration format -
Finesse Gadget files (
Gadget/Whisper_Coaching/) — deployed separately on Cisco Finesse, no changes required