Repository navigation
7.9.0
Infrastructure - Dependency Update
Background
This release brings CDM 7.x.x's build dependencies up to date, including the Rosetta DSL and bundle and FpML as Rune. It also fixes a race condition that made test pack expectations non-deterministic. These changes have already been released on master and are now brought onto 7.x.x.
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 from 3.8.0 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.
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 the source files. 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