7.0.0-dev.132
FpML Ingestion - Functional Mappings for LinkId
Background
This change migrates a Java custom mapper LinkIdMappingProcessor to Rune functional mappings
What is being released?
- Modification to the
MapPartyTradeIdentifierToTradeIdentifierListto mapLinkIdfor trade identifiers. - Modification to
MapEventIdentifierto mapLinkIdfor event identifiers
Review Directions
Changes can be reviewed in PR: #4867
Settlement Centre Refactoring and Party-Based Settlement Centre Support
Background
Prior versions of the CDM SettlementBase included an enum, SettlementCentre that only supported two enums using a separate enum, SettlementCentreEnum. SettlementCentre is primarily used by securities and assets like bonds and equities. Once a settlement centre is defined at issuance, it does not change except by corporate action. Settlement centres should be defined using a party reference that includes and LEI, and it's also necessary to separate settlement centres for security and cash.
What is being released?
This PR refactored SettlementBase by adding new attributes, securitySettlementCentre and cashSettlementCentre, both are AssetAncillaryPartyRoleEnum with new enums values. Use of these attributes requires adding the settlement centre party to the asset.
Review Directions
Changes can be reviewed in PR: #4914
PriceQuantity – Restricting Quantity Cardinality and Introducing Derived Quantity
Background
The quantity attribute on PriceQuantity previously had a cardinality of (0..*), allowing multiple quantities to be associated with a single price.
This made it difficult to distinguish the primary trade quantity from a quantity derived through the application of the price. In some cases, that distinction could only be determined by inspecting the surrounding tradeLot structure rather than directly from the associated payout.
This release introduces a clearer separation between the quantity to which a price applies and the resulting quantity derived from that price.
What is being released?
The following model changes are included:
-
The cardinality of
PriceQuantity.quantityhas been reduced from(0..*)to(0..1). -
A new optional
derivedQuantityattribute has been added toPriceSchedule. This represents a quantity derived from applying the price to the associated trade quantity. -
QuantitySchedulenow extendsMeasureBaseand includes:- an optional
frequency; - an optional
total, representing the aggregate quantity across the schedule.
- an optional
-
A
TotalQuantitycondition requiresfrequencyto be populated whentotalis specified. -
NonNegativeQuantityScheduleoverridestotalas aNonNegativeSchedule. -
Price and quantity unit handling has been updated to maintain consistency between the priced unit and the associated quantity.
-
The
PriceQuantityTriangulationlogic and related CDM functions have been updated to support the revised structure. -
FpML-to-CDM ingestion mappings, expected outputs, documentation, and tests have been updated across the affected asset classes.
Important
Reducing the cardinality of PriceQuantity.quantity is a breaking model change. Implementations that currently populate multiple quantities within a single PriceQuantity must be updated to represent the primary quantity through quantity and any calculated result through PriceSchedule.derivedQuantity, or to use separate PriceQuantity instances where appropriate.
Review Directions
Changes can be reviewed in PR: #4915
Documentation - Rune JSON Serialization Guide
Rune JSON serialization was enabled in version 7.0.0-dev.121,. For further details, see GitHub issue: #4746.
What is being released
This update includes:
- A new page for the CDM website "Next" version describing Serialization
- Updates the common-domain-model.md file to link to the new Serialization page
- Updates the sidebars.js to include the new Serialization page
- Updates the home.mdx file to include the new Serialization page
- Updates package.json and package-lock.json to include the docusaurus mermaid theme (version 3.9.2 which is the current website docusaurus version)
- Updates docusaurus.config.js to allow mermaid markdown and include the mermaid theme
Review Directions
Changes can be reviewed in PR: #4935
Infrastructure - Dependency Update
Version updates include:
DSL10.1.0- Preserve alias identity in as and switch operations. See DSL release notes: 10.1.0DSL10.2.0- Fail the read-only workflow on a missing config and point [externalConfig] errors at the annotation. See DSL release notes: 10.2.0DSL10.2.1- Bump jackson, undici and linkify-it to patch high-severity CVEs. See DSL release notes: 10.2.1DSL10.2.2- Fix NPE when reading an attribute overridden to zero cardinality. See DSL release notes: 10.2.2
Review Directions