The Accord Project community is delighted to announce version 3.0 of the Concerto schema language and runtime engine.
Concerto is a general purpose language for describing the structure of data in business terms. Learn more …
This new major version allows Concerto models to define an explicit version in a model file, (according to the Semantic Versioning convention). Concerto models can also declare a dependency on an explicit version of another model. This makes it easier to govern changes to model definitions in large-scale deployments.
Version 3 also includes several new features:
- Compatibility Detection. Protect your users when your model changes by ensuring backwards compatibility
- Command Line Tool Enhancements. New
- .NET Enhancements. Improved code generation for C#. .NET serialization and deserialization tools.
3.0 delivers fundamental improvements over previous releases, whilst maintaining a high-degree (though not total!) of backwards compatibility with
2.x. In particular all of the
2.x Concerto syntax remains valid in
3.0. A migration guide is available in the Concerto Documentation.
A full list of changes is available in the release notes.
2. Compatibility Detection. The new
concerto-analysis package provides tools for comparing two versions of a model file. This helps you to protect your users when your model changes by ensuring backwards compatibility. This is exposed in the new
concerto compare command.
3. Command Line Tool Enhancements. The Concerto command line tool has been extended to expose more of the Concerto API. This makes it more useful for offline, batch, and CI/CD processes.
3. .NET Enhancements. The
csharp target for the
concerto-tools package has been greatly enhanced to allow for reliable code-generation of C# from Concerto models. There is also a prototype
concerto-dotnet project which provides native Concerto language support for the .NET platform. Today this includes the Concerto metamodel as C# classes, and conversion tools between JSON and .NET objects.