Concerto 1.0 to 2.0
Concerto 2.0 delivers fundamental improvements over previous releases, whilst maintaining a high-degree (though not total!) of backwards compatibility with 1.x. In particular all of the 1.x Concerto syntax remains valid in 2.0.
The release includes over 75 commits, and over 400 files changed. Thank you to all the contributors!
note
We are currently in the process of migrating the Accord Project stack to Concero v2.0. While the migration is underway you may see some components that still depend upon Concerto v1.x.
Summary of Changes
- Update the Concerto metamodel to version 0.3
- Migrate the Concerto parser from pegjs (no longer maintained) to peggy
- Improvements to Typescript type definitions
- Fixes for JSON Schema generation
- Drop support for Node 12, adding support for Node 16
- Re-organize the code to make
concerto-coreindependent of the CTO concrete syntax, moving parsing and CTO generation into the newconcerto-ctopackage. - Add
concerto-utilpackage for common code - Add
concerto-vocabularypackage, for managing localized terms for models - Add
DecoratorManagerto allow decorations on model to be externalized and applied to models
Summary of API Changes
- Added method
declarationKind()to concept/asset etc to determine the type - Removed the method
hasInstanceto perform instanceof checks ModelFile.getAstto return the metamodel for a modelModelManager.addCTOModelto add a model as a CTO string to a model managerBaseModelManagerto manager models, independent of CTO syntaxBaseModelManager.getAstto get metamodel for a set of modelsBaseModelManager.fromAstto create a ModelManager from a metamodel