Project-X v23.05 - Release Notes
AdroitLogic Project-X
Copyright © 2010-2023
AdroitLogic Private Ltd. All Rights Reserved
** Changes for 23.05-RC ** [2023-05-24]
--------------------------
(summary since 22.01)
core platform:
* Drops support for Java <17
* Full compatibility with Jakarta initiative (javax. -> jakarta.)
* All core libraries upgraded (most significant ones follow):
- Spring 5.3.9 -> 6.0.5
- aspectjrt 1.9.5 -> 1.9.19
- classgraph 4.8.110 -> 4.8.154
- Jackson 2.12.3 -> 2.14.2
- Log4J (via x-logging-log4j2) 2.17.1 -> 2.19.0
- Elasticsearch REST (optional, for metrics) 7.13.1 -> 8.6.2
- Curator/ZooKeeper (optional, for clustering) 5.1.0/3.6.0 -> 5.4.0/3.7.1
- Jetty (optional, management server) 9.4.43.v20210629 -> 11.0.5
* BouncyCastle (optional, not bundled): bcprov-jdk15on 1.69 -> bcprov-jdk18on 1.72
* x-metrics-es-transport, Available with older-version (7.13.1) ES transport client/server; ES no longer offers it for 8.x
* Gracefully close server spring-context on startup failure
* Prevent silent overriding of server/project beans
* Load properties files in alphabetical order (22.01.2)
* Inject property sources to project/flow contexts for implicit/delayed placeholder expression resolution;
earlier resolution was run explicitly at startup (22.01.1)
* Support multiple classpath default.properties (22.01.1)
* XPR build: support classifiers and Maven archiver custom configs (22.01.2)
* XPR build: fix default platform artifact exclusion to only consider groupId and artifactId; ignore version differences etc (22.01.1)
UltraESB-X distribution:
* Update launchers/configs for Java 17+
* Remove deprecated ES transport-client and embedded server from complete distros, ship REST client instead;
now complete and production are identical, except for ZooKeeper and UXTerm management CLI being shipped in former
* Replace Docker Java 8/11 builds with 17 (based on eclipse-temurin:17-jre-alpine)
* Remove unsupported zkServer launch scripts from prod distro
UltraStudio IDE plugin:
* IDEA 2023.1 compatibility
* Stopped bundling toolbox components (HTTP/JMS Client, Jetty Server, TCP Dump); planned to release as a separate plugin(s) in future
logging:
* Public access to logger-context manipulation (LoggerFactory.overlayContext(key, value))
* Skip log validation for abstract classes
* Log4J upgraded; 2.17.1 -> 2.19.0
libraries:
* Library upgrades
features:
* Library upgrades
* Misc. enhancements and fixes to AS2 feature, kudos as2gateway.com
- BouncyCastle: bcprov-jdk15on 1.69 -> bcprov-jdk18on 1.72
- tolerate variants in X.509 cert DNs
- handle insufficient-message-security error-message in inbound MDNs
- improve inbound signature-error message texts
- avoid in-memory processing of MIME parts
- file-backed AS2 parsing when possible; bypass 2GB-max Java mem. allocation limit
- made MDN Message-ID header optional
- support MD2 MICs
- refactor AS2GatewayRepository API to support converting existing app-specific entities into AS2 entities (instead of loading from scratch)
- AS2 version 1.2, EDIINT-Features header
- log enc/sign specs during compose
- remove algorithm protection attributes from signatures
- avoid possible array-index error on filename detection
- improve cert identifier displayed in signature errors
- retain content-type of incoming files
- use binary encoding in signature parser only when part doesn't have a content-transfer-encoding specified
transports:
* Library upgrades
* nio-http:
- Remove SSLSession.getPeerCertificateChain() calls for Java 18 compatibility
- Workaround for Java 11 closed sockets not returning remote-address info, preventing connection-cache cleanup and causing memory leak
- Cleaned up unused dependencies
* aws:
- fix listener-config equality checks to ensure separate transports for different configurations
- S3: explicitly release opened object data-stream after fetch/error
connectors:
* Library upgrades
* Incorporates above fixes for nio-http and AWS
processors:
* Library upgrades