Releases: finos/common-domain-model
7.0.0-dev.14
Event Model - Enrichment of Corporate Action
Background
As of today there is already an existing component in CDM to describe Corporate Action under Event model, that is CorporateAction
.
However, the current list of attributes is quite poor with regards to business expectation, meaning that some information is currently missing, when making a gap analysis between CorporateAction
and the set of information being actually required e.g. "record date", "adjustment factor", "bespoke description", and other ones.
What is being released?
This release enriches the description of Corporate Action with new attributes to represent the missing information, in order to ensure that CorporateAction
provides an exhaustive representation, in line with the business expectations:
-
Four new values are added in the list of existing type
CorporateActionTypeEnum
:BankruptcyOrInsolvency
IssuerNationalization
Relisting
BespokeEvent
-
A set of attributes is added to
CorporateAction
; all of them have optional cardinality (0..1) :recordDate date
(existing type)annoucementDate date
(existing type)informationSource InformationSource
(existing type)dividendObservation PriceSchedule
(existing type)bespokeEventDescription string
(existing type)adjustmentFactor AdjustmentFactor
(new type : see details below)
-
Added new type
AdjustmentFactor
: to populate the adjustment factor value, as well as to describe the resolvable terms required when calculating an adjustment factor, depending the type of Corporate Action at stake (merger, split, etc.) :- compulsory attribute :
value number
(existing type) : to represent the multipler value applied to the price of the underlier impacted by a Corporate Action. this attribute is compulsory - optional attribute :
calculation
PriceAdjustmentFactorCalculationTerms
(new type : see details below)
- compulsory attribute :
-
Added new type
PriceAdjustmentFactorCalculationTerms
: to represent the input terms involved in the calculation of the adjustment factor applied to the price of the underlier impacted by a Corporate Action ; all attributes are optional, given that the need for populating such terms, depends on the event type of the Corporate Action, and new conditions are added to ensure consistency in the choices that can be made : -
Some attributes reuse existing types :
number
(examples:shareForShareRatio
,shareForRightsRatio
,dividendRatio
)- or
Price
(example:rightsSubscriptionPrice
) - or
string
(example:bespokeCalculationFormula
)
-
Other attributes are using new types, such as
SpinOff
,Merger
andAccrualFactor
which in turn are-use existing types:- example with
SpinOff
attributes :Security
is re-used by bothparentCompany
andchildCompany
- Price is re-used by both
parentPriceObservation
andchildPriceObservation
- example with
Review Directions
Changes can be reviewed in PR #3642
Infrastructure - Dependency Update
What is being released?
This release updates the DSL
and Guice
dependencies.
Java projects that depend on the generated Java code of the Common Domain Model - the cdm-java
artifact - are advised to replace all references to the javax.inject
package with jakarta.inject
. Support for the javax.inject
package will be dropped in a future major version. See the Google Guice docs for more information about this package migration: https://github.com/google/guice/wiki/Guice700#jee-jakarta-transition
Version updates include:
- Guice 6.0.0: adds support for the
jakarta.inject
namespace in favour ofjavax.inject
. - DSL 9.48.0: errors occuring during code generation are now underlined in red. See DSL release notes: DSL 9.48.0
- DSL 9.48.1: fix for conditions on type aliases. See DSL release notes: DSL 9.48.1
- DSL 9.49.0: no relevant changes for the CDM. See DSL release notes: DSL 9.49.0
- DSL 9.49.1: no relevant changes for the CDM. See DSL release notes: DSL 9.49.1
- DSL 9.50.0: infrastructure update for Xtext 2.38.0. See DSL release notes: DSL 9.50.0
- DSL 9.50.1: no relevant changes for the CDM. See DSL release notes: DSL 9.50.1
- DSL 9.51.0: no relevant changes for the CDM. See DSL release notes: DSL 9.51.0
- DSL 9.52.0: fixes an issue where overriding multicardinality attributes breaks Java code generation. See DSL release notes: DSL 9.52.0
- DSL 9.52.1: fixes deserialization of overridden attributes. See DSL release notes: DSL 9.52.1
- DSL 9.53.0: no relevant changes for the CDM. See DSL release notes: DSL 9.53.0
- DSL 9.53.1: fixes related to the
sort
,max
andmin
operations, and disallows invalid usage of enum types in expressions. See DSL release notes: DSL 9.53.1 - DSL 9.54.0: upgrades the DSL to Java 21. See DSL release notes: DSL 9.54.0
This release also updates BusinessCenterEnum
and FloatingRateIndexEnum
to keep it in sync with their latest coding schemes.
Review Directions
There are no changes to the test expectations.
The changes can be reviewed in PR: #3734
7.0.0-dev.13
Legal Agreement Model - Final cleanup of CDM after ISDA Foundations migration
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
All ISDA legal IP has been scrubbed from components and hidden behind a docReference
tag, with the path to legal definitions & descriptions clearly identified and listed. A new legaldocumentation structure is also in place for ISDA Master Agreement components.
What is being released?
Following the migration of all ISDA Foundations components, this task will 'clean up' the model where new namespaces or types have been added.
EquitySwapMasterConfirmation2018
and its related components are moved to the transaction namespaceBrokerConfirmation
and related enums are moved tolegaldocumentation.transaction
Agreement
is moved tolegaldocumentation.common
legaldocumentation.contract
namespace now empty and has been deleted- Re-included some descriptions (without any Legal IP) that were wrongly removed from ISDA Foundations
- Scrubbed all remaining reference to ISDA legal documentation from
legaldocumentation.transaction.type
and replace withdocReference
Review directions
Changes can be reviewed in PR: #3694
Legal Agreement Model - Migration of ISDA Master Agreement terms from ISDA Foundations project to CDM
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
Following the completion of a new structure under legaldocumentation
and the addition of docReference
tags to hide ISDA legal definitions, Master Agreement components are ready for migration.
What is being released?
This release migrates the following components relating to an ISDA Master Agreement to the new ISDA namespace under the legaldocumentation structure within CDM.
Master Agreement
AutomaticEarlyTermination
AutomaticEarlyTerminationElection
TerminationCurrency
TerminationCurrencySelection
PartyOptionTerminationCurrency
SpecifiedEntities
SpecifiedEntity
Review Directions
Changes can be reviewed in PR: 3679
6.6.0
Legal Agreement Model - Final cleanup of CDM after ISDA Foundations migration
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
All ISDA legal IP has been scrubbed from components and hidden behind a docReference
tag, with the path to legal definitions & descriptions clearly identified and listed. A new legaldocumentation structure is also in place for ISDA Master Agreement components.
What is being released?
Following the migration of all ISDA Foundations components, this task will 'clean up' the model where new namespaces or types have been added.
EquitySwapMasterConfirmation2018
and its related components are moved to the transaction namespaceBrokerConfirmation
and related enums are moved tolegaldocumentation.transaction
Agreement
is moved tolegaldocumentation.common
legaldocumentation.contract
namespace now empty and has been deleted- Re-included some descriptions (without any Legal IP) that were wrongly removed from ISDA Foundations
- Scrubbed all remaining reference to ISDA legal documentation from
legaldocumentation.transaction.type
and replace withdocReference
Review directions
Changes can be reviewed in PR: #3693
Legal Agreement Model - Migration of ISDA Master Agreement terms from ISDA Foundations project to CDM
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
Following the completion of a new structure under legaldocumentation
and the addition of docReference
tags to hide ISDA legal definitions, Master Agreement components are ready for migration.
What is being released?
This release migrates the following components relating to an ISDA Master Agreement to the new ISDA namespace under the legaldocumentation structure within CDM.
Master Agreement
AutomaticEarlyTermination
AutomaticEarlyTerminationElection
TerminationCurrency
TerminationCurrencySelection
PartyOptionTerminationCurrency
SpecifiedEntities
SpecifiedEntity
Review Directions
Changes can be reviewed in PR: 3678
7.0.0-dev.12
Legal Agreement Model - Skeleton framework for Trade Association Agreements
Background
While the CDM is leading the path in developing a universal language to discuss legal agreements, a hurdle to overcome is that the legal agreements themselves are written inherently differently. While there is overlap, there is not enough overlap to allow for e.g. an ISDA Master Agreement to be represented easily and readily by the CDM.
What is being released?
As per GitHub Issue 3206, step one is being implemented in this contribution. This entails adding the MasterAgreementBase to the master namespace type which is then extended for MasterAgreement, GlobalMasterRepoAgreement, and GlobalMasterSecuritiesLendingAgreement, respectively. These are all currently empty and will be populated in future releases.
The MasterAgreementSchedule is unaltered for the time being to ensure backward-compatibility with the production release, but will become deprecated in the future.
Review Directions
Changes can be reviewed in PR: 3629
6.5.0
Legal Agreement Model - Skeleton framework for Trade Association Agreements
Background
While the CDM is leading the path in developing a universal language to discuss legal agreements, a hurdle to overcome is that the legal agreements themselves are written inherently differently. While there is overlap, there is not enough overlap to allow for e.g. an ISDA Master Agreement to be represented easily and readily by the CDM.
What is being released?
As per GitHub Issue 3206, step one is being implemented in this contribution. This entails adding the MasterAgreementBase to the master namespace type which is then extended for MasterAgreement, GlobalMasterRepoAgreement, and GlobalMasterSecuritiesLendingAgreement, respectively. These are all currently empty and will be populated in future releases.
The MasterAgreementSchedule is unaltered for the time being to ensure backward-compatibility with the production release, but will become deprecated in the future.
Review Directions
Changes can be reviewed in PR: 3629
Add CSA components from ISDA Foundations to CDM - Added enum, func, and types to legaldocumentation.csa namespace
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
Any “hard-coded” legal provision are removed from the model description
All ISDA legal IP has been scrubbed from components and hidden behind a docReference tag, with the path to legal definitions & descriptions clearly identified and listed.
What is being released?
A CDM user has access to all the components that were previously in ISDA Foundations
Added CSA components & namespaces to legaldocumentation
-
isda.legaldocumentation.csa.enum
-
isda.legaldocumentation.csa.func
-
isda.legaldocumentation.csa.type
-
These will have minimal impact as only the csa.type namespace currently exists in CDM, and consists of 3 empty types.
Review Directions
The change can be reviewed in PR: 3627
Legal Documentation - Migrating transaction additionalTerms components from ISDA Foundations project to the CDM
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
All ISDA legal IP has been scrubbed from components and hidden behind a docReference tag, with the path to legal definitions & descriptions clearly identified and listed.
What is being released?
Migration of transaction additional terms components & namespaces next
The following namespaces are added to / modified with additional components in CDM
- isda.legaldocumentation.transaction.additionalterms.enum
- isda.legaldocumentation.transaction.additionalterms.type
The following types along with the components that roll up to them are added
- FxAdditionalTerms
- Representations
- IndexAdjustmentEvents
- DeterminationRolesAndTerms
- EquityCorporateEvents
Review Directions
The changes can be reviewed in PR: 3628
Infrastructure - Dependency Update
What is being released?
This release updates the DSL
dependency.
Version updates include:
DSL
9.45.3 Fixed highlighting for labels. Fixed generated object processor paths for address and location, see DSL release notes: DSL 9.45.3DSL
9.46.0 Contains a work-around to handle the issue where the generated code order causes generation to fail with referencing errors, see DSL release notes: DSL 9.46.0DSL
9.47.0 Added annotation to mark static code that is implemented in the model, see DSL release notes: DSL 9.47.0
The changes in this release contain a number of functions in the model now annotated with the codeImplementation
annotation. This marks that the function has been implemented statically in the model, for example by a Java implementation that exists in the model.
The number of FIS successful mappings has increased due to the processor fix in version 9.45.3 mentioned above.
Review Directions
The changes can be reviewed in PR: #3631
7.0.0-dev.11
Add CSA components from ISDA Foundations to CDM - Added enum, func, and types to legaldocumentation.csa namespace
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
Any “hard-coded” legal provision are removed from the model description
All ISDA legal IP has been scrubbed from components and hidden behind a docReference tag, with the path to legal definitions & descriptions clearly identified and listed.
What is being released?
A CDM user has access to all the components that were previously in ISDA Foundations
Added CSA components & namespaces to legaldocumentation
-
isda.legaldocumentation.csa.enum
-
isda.legaldocumentation.csa.func
-
isda.legaldocumentation.csa.type
-
These will have minimal impact as only the csa.type namespace currently exists in CDM, and consists of 3 empty types.
Review Directions
The change can be reviewed in PR: 3652
7.0.0-dev.10
Legal Documentation - Migrating transaction additionalTerms components from ISDA Foundations project to the CDM
Background
The ISDA Foundations project is a model extension built on top of the CDM that contains legal IP (contained in legal documentation references) only available to ISDA members. Additions or updates to the ISDA Foundations project can cause it to go out of sync with the CDM.
All ISDA legal IP has been scrubbed from components and hidden behind a docReference tag, with the path to legal definitions & descriptions clearly identified and listed.
What is being released?
Migration of transaction additional terms components & namespaces next
The following namespaces are added to / modified with additional components in CDM
- isda.legaldocumentation.transaction.additionalterms.enum
- isda.legaldocumentation.transaction.additionalterms.type
The following types along with the components that roll up to them are added
- FxAdditionalTerms
- Representations
- IndexAdjustmentEvents
- DeterminationRolesAndTerms
- EquityCorporateEvents
Review Directions
The changes can be reviewed in PR: 3650
5.24.0
Infrastructure - Dependency Update
What is being released?
This release updates the DSL
dependency.
Version updates include:
DSL
9.45.3 Fixed highlighting for labels. Fixed generated object processor paths for address and location, see DSL release notes: DSL 9.45.3DSL
9.46.0 Contains a work-around to handle the issue where the generated code order causes generation to fail with referencing errors, see DSL release notes: DSL 9.46.0DSL
9.47.0 Added annotation to mark static code that is implemented in the model, see DSL release notes: DSL 9.47.0
The changes in this release contain a number of functions in the model now annotated with the codeImplementation
annotation. This marks that the function has been implemented statically in the model, for example by a Java implementation that exists in the model.
The number of FIS successful mappings has increased due to the processor fix in version 9.45.3 mentioned above.
Review Directions
The changes can be reviewed in PR: #3632
7.0.0-dev.9
Infrastructure - Dependency Update
What is being released?
This release updates the DSL
dependency.
Version updates include:
DSL
9.45.3 Fixed highlighting for labels. Fixed generated object processor paths for address and location, see DSL release notes: DSL 9.45.3DSL
9.46.0 Contains a work-around to handle the issue where the generated code order causes generation to fail with referencing errors, see DSL release notes: DSL 9.46.0DSL
9.47.0 Added annotation to mark static code that is implemented in the model, see DSL release notes: DSL 9.47.0
The changes in this release contain a number of functions in the model now annotated with the codeImplementation
annotation. This marks that the function has been implemented statically in the model, for example by a Java implementation that exists in the model.
The number of FIS successful mappings has increased due to the processor fix in version 9.45.3 mentioned above.
Review Directions
The changes can be reviewed in PR: #3630
7.0.0-dev.8
Infrastructure - Dependency Update
What is being released?
This release updates the DSL
dependency.
Version updates include:
DSL
9.42.0 Added support for converting enums to other enums directly using theto-enum
operator. For further details, see DSL release notes: DSL 9.42.0DSL
9.43.0 Improved code-generation performance and patched thewith-meta
operator. For further details, see DSL release notes: DSL 9.43.0DSL
9.44.0 Added support for conditions on type aliases. For further details, see DSL release notes: DSL 9.44.0DSL
9.44.1 Patch for code-generating conditions. For further details, see DSL release notes: DSL 9.44.1DSL
9.45.1 Improvedto-meta
operator so it now ingnores the Display Name when converting between two enumerations, see DSL release notes: DSL 9.45.1
Review Directions
The changes can be reviewed in PR: #3597