Releases: finos/common-domain-model
6.0.0-dev.62
Infrastructure - Remove Unused Folders
What is being released?
This release removes unused projects and folders to avoid the maintenance of legacy code.
The following folders have been removed:
- /rosetta-project - legacy Java PoC project related to translating CDM to FpML
- /rosetta-source/src/main/resources/available-samples - folder contains samples that are duplicates of ingestion samples
Review directions
The changes can be reviewed in PR: #3066
6.0.0-dev.61
Infrastructure - Dependency Update
What is being released?
This release updates the DSL
dependency.
Version updates include:
DSL
9.14.0: Support for accessing meta features after a deep feature call. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.14.0
Review directions
The changes can be reviewed in PR: #3064
6.0.0-dev.60
Product Model - Asset Refactoring: Basket, Index, Observable, Foreign Exchange
Background
The Asset Refactoring initiative (see #2805) is seeking to improve the Product Model to address some long-standing issues and to ensure the continued extensibility to additional financial products and markets. A proposal is being developed - through a cross-industry Task Force - to implement this remodelling in the CDM.
This release includes the second tranche of changes (of three planned tranches in CDM 6) to implement the refactored model. It introduces some new data types and makes changes to others; more significant refactoring ofthe Product structure will be introduced in the third release.
What is being released?
The word "update" below is to refer to a change to the modelling between this release and the previous release of Asset Refactoring changes (in CDM 6.0-dev.58).
Updates to AssetBase
data type:
- The
identifier
attribute has been made mandatory. - The attributes
isExchangeListed
,exchange
andrelatedExchange
have been moved fromInstrumentBase
toAssetBase
. - The type of the
exchange
andrelatedExchange
attributes has been updated fromstring
toLegalEntity
.
Updates to Cash
data type:
- New conditions have been added to ensure that
taxonomy
andexchange
are not used for this asset type.
Changes to Commodity
data type:
- Now extends from
AssetBase
notProductBase
. - Accordingly,
productTaxonomy
has been replaced bytaxonomy
and the conditions updated.
Changes to Index
and IndexBase
data types:
- The attributes
exchange
andrelatedExchange
have been removed fromIndexBase
as they will now be picked up fromAssetBase
. Index
has been refactored from aone-of
condition to a choice data type.- The data type
FloatingIndex
has been renamedFloatingRateIndex
. - The documentation in the model on the index-related data types has been improved.
- The qualification logic has been updated to reflect the new modelling of
Index
as an underlier on the relevant functions.
Updates to ListedDerivative
data type:
- Updates have been made to the attribute names and types introduced in the previous release to improve modelling and composition.
- The condition on
VarianceReturnTerms
has been updated to reflect the new position ofListedDerivative
in the product model.
Changes to Security
data type:
- Now extends from
InstrumentBase
notProductBase
. - Temporary changes made to add
economicTerms
andproductTaxonomy
pending further refactoring in the third phase.
Support for FX Observables:
- The data type
ForeignExchangeRate
has been created and added as a choice toIndex
; it also extendsIndexBase
. - This new data type contains the same attributes as the existing
FXRateObservable
which has been deprecated. - The
ForeignExchange
data type has been deprecated and the deprecatedExchangeRate
andCrossRate
datas type have both been deleted.
Refactoring of Observable
:
- The following data types have been added to
Observable
as new attributes:Asset
,Basket
,Index
. - The following data types have been removed from
Observable
:Commodity
(now available as anAsset
);QuotedCurrencyPair
(replaced by the the FX observable data type insideIndex
). - The unused attribute
optionReferenceType
and its corresponding enumeratorOptionReferenceTypeEnum
have been removed from the model. Observable
now has aone-of
condition (and will be updated tochoice
in the third phase).- The two attributes
pricingTime
andpricingTimeType
onObservationTerms
have been renamedobservationTime
andobservationTimeType
respectively.
Changes to BasketConstituent
:
BasketConstituent
now extends fromObservable
, notProduct
.- Moved from the product namespace to the observable namespace.
- The qualification logic has been updated to reflect the new modelling of
BasketConstituent
as an underlier on the relevant functions.
Updates to TransferableProduct
:
- The inheritance on this data type has been updated so that it now extends
Asset
but the attributes are unchanged.
Updates to Payouts:
- The documentation in the model on the payout-related data types has been improved.
- The
SettlementCommitment
data type and attribute has been renamedSettlementPayout
.
Review directions
The changes can be reviewed in PR: #3044
Backward-incompatible changes
This release contains changes that are not backward-compatible:
- Changes to the following data types are particularly impactful and have required updates to the mapping synonyms and samples:
- Commodity
- Index
- QuotedCurrencyPair
- FXRateObservable.
A full description of the backward-incompatible changes, and how persisted objects should be remapped, will be included in the release notes for the last tranche of the asset refactoring.
6.0.0-dev.58
Product Model - Asset Refactoring: Asset, Index, Identifier
Background
The Asset Refactoring initiative (see #2805) is seeking to improve the Product Model to address some long-standing issues and to ensure the continued extensibility to additional financial products and markets. A proposal is being developed - through a cross-industry Task Force - to implement this remodelling in the CDM.
This release includes the first tranche of changes to implement the refactored model (the first of three planned tranches in CDM 6). It introduces some new data types and makes minor changes to others without significant impact to the Product structure itself.
What is being released?
New Asset
data type:
- Introduce the new data type
Asset
which is defined as "something that can be owned and transferred in the financial markets". The data type is implemented using the new Rune DSL featurechoice
that is available in Release 9.10. - Introduce the additional Asset data sub-type called
Instrument
, also usingchoice
, defined as "a type of Asset that is issued by one party to one or more others". - Create the new base class
InstrumentBase
to model common attributes across allInstrument
data types. - Introduce the new enumerator
AssetIdTypeEnum
, to define certain identifier sources unique to Assets, as an extension ofProductIdTypeEnum
. - Change the inheritance from
ProductBase
toInstrumentBase
forLoan
,ListedDerivative
. - Add a reference on
Observable
to anAsset
using anAssetIdentifier
.
Changes to Transfer
:
- As
Asset
is defined as something that can be transferred, the modelling ofTransfer
has been refactored to act uponAsset
rather thanObservable
with a change toTransferBase
. - This also results in changes to the
Qualify_SecurityTransfer
function.
Product Model:
- Introduce a new data type on
Payout
:SettlementCommitment
which models the settlement of anAsset
for cash. - Introduce
TransferableProduct
as a type of Product which can be used in aSettlementCommitment
for a basic cash settled trade of either anAsset
with or without the addition of specificEconomicTerms
. - Define the new
SettlementCommitment
data type to model this new kind ofPayout
.
Review directions
The changes can be reviewed in PR: #3022
Backward-incompatible changes
This release contains changes that are not backward-compatible:
- The change in the inheritance for
Loan
andListedDerivative
impacts the use of identifiers in these data types. - The refactoring of
Transfer
to act upon anAsset
rather thanObservable
impacts the use of the related functions.
Samples and mappings for both have been updated accordingly.
A full description of the backward-incompatible changes, and how persisted objects should be remapped, will be included in the release notes for the last tranche of the asset refactoring.
6.0.0-dev.57
CDM Model - Modification to product condition
What is being released?
Modified condition for FpML_cd_30
- Addition of clause to allow
adjustedDate
check
Modified condition for Floating Rate
Option.
- Addition of clause to allow posting of supplementary attribute
IndexReferenceInformation
Review directions
The changes can be reviewed in PR: #3035
5.14.1
CDM Model - Modification to product condition
What is being released?
Modified condition for FpML_cd_30
- Addition of clause to allow
adjustedDate
check
Review directions
The changes can be reviewed in PR: #3032
CDM Model - Modification to product condition
What is being released?
Modified condition for Floating Rate
Option.
- Addition of clause to allow posting of supplementary attribute
IndexReferenceInformation
Review directions
The changes can be reviewed in PR: #3031
6.0.0-dev.56
Infrastructure - Dependency Update
What is being released?
This release updates the following dependencies.
Version updates include:
DSL
9.12.0: this release fixes an issue where theonly exists
operator behaved unexpectedly when subtyping was involved. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.0.DSL
9.12.1: this patch fixes null pointers in the Java runtime of theonly exists
operator. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.1.DSL
9.12.2: this patch fixes a code generation bug in the Java generator. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.2.DSL
9.12.3: this patch fixes an issue where the code generator could freeze Rosetta. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.3.DSL
9.12.4: this patch fixed an issue withonly exists
on multi-cardinality inputs. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.4.Jackson
2.17.1: this release updates the library used to serialise/deserialise JSON.
Review Directions
The changes can be reviewed in PR: #3005
5.14.0
Reference Data - Update ISOCurrencyCodeEnum
What is being released?
Updated ISOCurrencyCodeEnum
based on updated scheme ISO Standard 4217.
Version updates include:
- added value:
ZWG
Review directions
The changes can be reviewed in PR: #3018
Infrastructure - Dependency Update
What is being released?
This release updates the following dependencies.
Version updates include:
DSL
9.12.0: this release fixes an issue where theonly exists
operator behaved unexpectedly when subtyping was involved. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.0.DSL
9.12.1: this patch fixes null pointers in the Java runtime of theonly exists
operator. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.1.DSL
9.12.2: this patch fixes a code generation bug in the Java generator. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.2.DSL
9.12.3: this patch fixes an issue where the code generator could freeze Rosetta. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.3.DSL
9.12.4: this patch fixed an issue withonly exists
on multi-cardinality inputs. For further details see DSL release notes: https://github.com/finos/rune-dsl/releases/tag/9.12.4.Jackson
2.17.1: this release updates the library used to serialise/deserialise JSON.
Review Directions
The changes can be reviewed in PR: #3006
6.0.0-dev.55
Product Model - Portfolio Return Terms
Background
Purpose is to release a Dev version for Portfolio Return Terms, in which the components with [deprecated] annotation in current Prod version have been removed.
As an indication, this release also contains a renaming of existing attributes in ValuationDates.
What is being released?
- removed [deprecated] attributes below from type PriceReturnTerms :
- valuationPriceInitial
- and valuationPriceFinal
- and finalValuationPrice
- added attributes below to type PerformancePayout : that is core release to Dev of the same components previously released in Prod today :
- creation of new type PorfolioReturnTerms which extends ReturnTerms
- with existing types PayerReceiver
- also with existing type PriceSchedule to PerformancePayout used under three attribute names, and NonNegativeQuantitySchedule used for one, respectively : initialValuationPrice, interimValuationPrice, finalValuationPrice and quantity
- added the above new type to PerformancePayout
- added existing type PriceSchedule to PerformancePayout used under three attribute names : initialValuationPrice, interimValuationPrice and finalValuationPrice (that is to replace [deprecated] ones removed from ReturnTerms)
- updated type Basket with below changes :
- removed temporary PorfolioBasketConsituent of type BasketConstituent
- removed as well [deprecated] basketConstituent of type Product
- added instead new attribute basketConstituent of type BasketConstituent
- renamed attributes below in ValuationDates :
- initialValuationDate (instead of valuationDatesInitial)
- interimValuationDate (instead of valuationDatesInterim)
- finalValuationDate (instead of valuationDatesFinal)
- creation of new type PorfolioReturnTerms which extends ReturnTerms
Review directions
In the Rosetta platform, select the Textual Browser and inspect the change identified above.
Backward compatibility
As an information, this release contains two sets of changes with no backward compabiltity :
- removing [deprecated] components above mentioned
- renaming of attribtues in ValuationDates above mentioned
The changes can be reviewed in PR: #2974
6.0.0-dev.54
Reference Data - Update ISOCurrencyCodeEnum
What is being released?
Updated ISOCurrencyCodeEnum
based on updated scheme ISO Standard 4217.
Version updates include:
- added removed values:
MWK
,PEN
,RON
,SZL
,TRY
Review directions
The changes can be reviewed in PR: #3017