Repository navigation
8.0.0-dev.13
Infrastructure - Dependency and CVE Update
Background
This release brings CDM's build and runtime dependencies up to date, including the Rosetta DSL and bundle, FpML as Rune and several Maven and GitHub Actions dependencies. It also fixes a vulnerability flagged by the scheduled CVE scan on master, and fixes a race condition that made test pack expectations non-deterministic.
What is being released?
DSL and Rosetta bundle update
rosetta.dsl.versionupdated from 10.15.1 to 10.15.3rosetta.bundle.versionupdated from 12.23.0 to 12.25.0
FpML as Rune update
rune-fpml.version updated to 3.13.0, so that the consolidated FpML model covers both FpML 5-13 and 5-14. Version updates include:
- FpML as Rune 3.13.0 - FpML 5-13 schemas added back beside 5-14, for backwards compatibility
- FpML as Rune 3.12.0 - FpML schemas updated to 5-14
- FpML as Rune 3.11.0 - CVE fix, DSL and bundle updates
- FpML as Rune 3.10.0 - FpML model reimported with descriptions instead of documentation references
- FpML as Rune 3.9.0 - DSL update
FpML 5-14 widens CalculationPeriodDates.stubPeriodType from a single value to a list of up to two, so that an initial and a final stub period type can be stated on the same calculation period schedule. CDM's own CalculationPeriodDates.stubPeriodType already allows two, so MapSwapCalculationPeriodDates in the cdm.ingest.fpml.confirmation.product.swap namespace now carries both values through.
The two FpML ingest pipeline configs now reference fpml-5-14-confirmation-xml-config.json, and the [ingest XML] annotation on the two ingest functions now names the schema as [ingest fpml.fpml514ConfirmationXML].
CVE fixes
This release updates third-party software libraries to comply with the "Common Vulnerabilities and Exposures" (CVE) standard:
body-parser-1.20.9(website) —CVE-2026-111181(7.5)- The
braces-3.0.3suppression forCVE-2026-93687has been removed fromallow-list.xml. GitHub withdrew the advisory, and the CVE scan no longer reportsbraces
Dependency updates
net.sf.saxon:Saxon-HE10.6 → 13.1com.opengamma.strata:strata-basics2.12.75 → 2.12.77ch.qos.logback:logback-classic/logback-core1.6.4 → 1.6.5org.codehaus.mojo:versions-maven-plugin2.22.0 → 2.23.0actions/setup-java(GitHub Actions) 4 → 6
Thread-safe code list loading
The CDM's code lists (the sets of valid values for fields such as business centres) were not loaded in a thread-safe way. When several validation checks ran at the same time, they could interfere with each other while loading a list. This made results non-deterministic: for example, a valid code such as GBLO (London) was occasionally reported as invalid when regenerating test pack expectations. Code lists are now loaded in a thread-safe way, and a new automated test guards against the problem returning.
Formatting
- Formatting updates to Rosetta source files and function output samples. No functional changes
Backwards Compatibility
No breaking changes. There are no CDM type, enumeration or function signature changes, and a message that ingests today produces the same CDM output after this change. FpML 5-13 allowed only one stubPeriodType, so nothing written against it can supply a second value.
For users of the FpML model itself, in the fpml.consolidated namespaces, no type, enumeration or attribute is removed across this version range, and 16 types and 8 enumerations are added.
Review Directions
Changes can be reviewed in PRs: #5243, #5251, #5274, #5293, #5296, #5300, #5307, #5310