Skip to content

7.0.0-dev.132

Choose a tag to compare

@ReleaseManagement-BP ReleaseManagement-BP released this 14 Jul 14:59
· 86 commits to master since this release
3134965

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 MapPartyTradeIdentifierToTradeIdentifierList to map LinkId for trade identifiers.
  • Modification to MapEventIdentifier to map LinkId for 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.quantity has been reduced from (0..*) to (0..1).

  • A new optional derivedQuantity attribute has been added to PriceSchedule. This represents a quantity derived from applying the price to the associated trade quantity.

  • QuantitySchedule now extends MeasureBase and includes:

    • an optional frequency;
    • an optional total, representing the aggregate quantity across the schedule.
  • A TotalQuantity condition requires frequency to be populated when total is specified.

  • NonNegativeQuantitySchedule overrides total as a NonNegativeSchedule.

  • Price and quantity unit handling has been updated to maintain consistency between the priced unit and the associated quantity.

  • The PriceQuantityTriangulation logic 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:

  • DSL 10.1.0 - Preserve alias identity in as and switch operations. See DSL release notes: 10.1.0
  • DSL 10.2.0 - Fail the read-only workflow on a missing config and point [externalConfig] errors at the annotation. See DSL release notes: 10.2.0
  • DSL 10.2.1 - Bump jackson, undici and linkify-it to patch high-severity CVEs. See DSL release notes: 10.2.1
  • DSL 10.2.2 - Fix NPE when reading an attribute overridden to zero cardinality. See DSL release notes: 10.2.2

Review Directions

Changes can be reviewed in PR: #4926 & #4948