From ea00df4f202ed3ed7c58e5050080869c5fc1a34a Mon Sep 17 00:00:00 2001 From: Stefan Kapferer Date: Fri, 23 Oct 2026 21:28:54 +0200 Subject: [PATCH 1/2] Announce v6.13.0 Release news for v6.13.0. The date in the file name has to be set to the release date before merging. --- _news/2026-10-23-v6.13.0-released.md | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 _news/2026-10-23-v6.13.0-released.md diff --git a/_news/2026-10-23-v6.13.0-released.md b/_news/2026-10-23-v6.13.0-released.md new file mode 100644 index 0000000..535067f --- /dev/null +++ b/_news/2026-10-23-v6.13.0-released.md @@ -0,0 +1,65 @@ +--- +layout: news +title: "v6.13.0 - Explicit Boundaries, Invariants and VS Code Only" +author: Stefan Kapferer +image: /img/cm-og-image.png +--- + +We are happy to announce a new Context Mapper release (v6.13.0 released today). It adds new CML features that make the boundaries and rules of your model explicit, which helps the people and the tools (including coding agents) that read your model. It is also the first step of moving Context Mapper away from the Eclipse stack. + +In summary, the release offers the following changes: + + * Bounded Contexts can state what they are **not** responsible for: [nonResponsibilities](/docs/bounded-context/#non-responsibilities) ([#372](https://github.com/ContextMapper/context-mapper-dsl/issues/372)). + * Aggregates can declare the [invariants](/docs/aggregate/#invariants) they protect ([#374](https://github.com/ContextMapper/context-mapper-dsl/issues/374)). + * Bounded Contexts can declare their [base package](/docs/bounded-context/#base-package) in the code ([#375](https://github.com/ContextMapper/context-mapper-dsl/issues/375)). + * Bounded Contexts can have an [owner](/docs/bounded-context/#bounded-context-owner) (team) ([#161](https://github.com/ContextMapper/context-mapper-dsl/issues/161)). + * New documentation on how to [read CML models in your code and tests](/docs/library/#reading-a-cml-model-in-your-code-or-tests) with our standalone library ([#381](https://github.com/ContextMapper/context-mapper-dsl/issues/381)). + * The Eclipse plugin is discontinued: Context Mapper is available for [VS Code](/docs/getting-started/) and as [standalone library](/docs/library/). Find more information [here](/docs/eclipse/). + * Context Mapper now requires Java 17 or newer. + * The VS Code syntax highlighting now covers all CML keywords. + * Bug fixes: loading CML files that import other files via relative paths ([#364](https://github.com/ContextMapper/context-mapper-dsl/issues/364)), and the MDSL generation with empty protected regions ([#219](https://github.com/ContextMapper/context-mapper-dsl/issues/219)). + +## Explicit Boundaries +A Bounded Context is a boundary. With this release you can make it more explicit: besides its _responsibilities_, a Bounded Context can now list what it is **not** responsible for, where it lives in the code (_basePackage_) and which team owns it (_owner_): + +```cml +BoundedContext TicketSales implements FareSales { + basePackage = com.transit.ticketsales + owner = FareProductTeam + responsibilities = "Selling fare products", "Refunds" + nonResponsibilities = "Gate validation", "Support cases" +} + +BoundedContext FareProductTeam realizes TicketSales { + type = TEAM +} +``` + +Find more details on the [Bounded Context](/docs/bounded-context/) page. + +## Invariants +An Aggregate is a consistency boundary: it protects business rules that must always be true. You can now declare these rules with the _Invariant_ keyword, optionally with a name: + +```cml +Aggregate Tickets { + Entity Ticket { + aggregateRoot + + String zone + - Money price + } + + Invariant "The sum of refunds never exceeds the price paid" + Invariant ValidatedTicketsAreNotRefundable "A validated ticket cannot be refunded" +} +``` + +Find more details on the [Aggregate](/docs/aggregate/#invariants) page. + +## VS Code Only: the First Step Away From the Eclipse Stack +Context Mapper is built on [Xtext](https://eclipse.dev/Xtext/), which is no longer actively maintained. With this release we discontinue the Eclipse plugin; version 6.12.0 remains available for Eclipse but won't receive any updates. Context Mapper is available as [VS Code extension](https://marketplace.visualstudio.com/items?itemName=contextmapper.context-mapper-vscode-extension) (also in the [Open VSX Registry](https://open-vsx.org/extension/contextmapper/context-mapper-vscode-extension)) and as [standalone library](/docs/library/). The language server behind the VS Code extension supports all refactorings, transformations and generators the Eclipse plugin offered. + +Version 7 will come with a new language server based on [Langium](https://langium.org/). With it, we will continue to offer the VS Code extension, add a plugin for IntelliJ IDEA, and aim for a solution that runs in the browser. + +## Contributing +As always, we are happy about feedback, issues and pull requests. [Get in touch with us](/getting-involved/)! From 048eabe49feda061e98cf20255c922e86ce4b1ce Mon Sep 17 00:00:00 2001 From: Stefan Kapferer Date: Fri, 23 Oct 2026 21:31:03 +0200 Subject: [PATCH 2/2] Mention the Eclipse update site in the v6.13.0 news --- _news/2026-10-23-v6.13.0-released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_news/2026-10-23-v6.13.0-released.md b/_news/2026-10-23-v6.13.0-released.md index 535067f..0c04e48 100644 --- a/_news/2026-10-23-v6.13.0-released.md +++ b/_news/2026-10-23-v6.13.0-released.md @@ -14,7 +14,7 @@ In summary, the release offers the following changes: * Bounded Contexts can declare their [base package](/docs/bounded-context/#base-package) in the code ([#375](https://github.com/ContextMapper/context-mapper-dsl/issues/375)). * Bounded Contexts can have an [owner](/docs/bounded-context/#bounded-context-owner) (team) ([#161](https://github.com/ContextMapper/context-mapper-dsl/issues/161)). * New documentation on how to [read CML models in your code and tests](/docs/library/#reading-a-cml-model-in-your-code-or-tests) with our standalone library ([#381](https://github.com/ContextMapper/context-mapper-dsl/issues/381)). - * The Eclipse plugin is discontinued: Context Mapper is available for [VS Code](/docs/getting-started/) and as [standalone library](/docs/library/). Find more information [here](/docs/eclipse/). + * The Eclipse plugin is discontinued: Context Mapper is available for [VS Code](/docs/getting-started/) and as [standalone library](/docs/library/). v6.12.0 is still available via the [Eclipse update site](https://contextmapper.org/eclipse-update-site/). Find more information [here](/docs/eclipse/). * Context Mapper now requires Java 17 or newer. * The VS Code syntax highlighting now covers all CML keywords. * Bug fixes: loading CML files that import other files via relative paths ([#364](https://github.com/ContextMapper/context-mapper-dsl/issues/364)), and the MDSL generation with empty protected regions ([#219](https://github.com/ContextMapper/context-mapper-dsl/issues/219)). @@ -57,7 +57,7 @@ Aggregate Tickets { Find more details on the [Aggregate](/docs/aggregate/#invariants) page. ## VS Code Only: the First Step Away From the Eclipse Stack -Context Mapper is built on [Xtext](https://eclipse.dev/Xtext/), which is no longer actively maintained. With this release we discontinue the Eclipse plugin; version 6.12.0 remains available for Eclipse but won't receive any updates. Context Mapper is available as [VS Code extension](https://marketplace.visualstudio.com/items?itemName=contextmapper.context-mapper-vscode-extension) (also in the [Open VSX Registry](https://open-vsx.org/extension/contextmapper/context-mapper-vscode-extension)) and as [standalone library](/docs/library/). The language server behind the VS Code extension supports all refactorings, transformations and generators the Eclipse plugin offered. +Context Mapper is built on [Xtext](https://eclipse.dev/Xtext/), which is no longer actively maintained. With this release we discontinue the Eclipse plugin; the previous release, version 6.12.0, is still available for Eclipse via our update site [https://contextmapper.org/eclipse-update-site/](https://contextmapper.org/eclipse-update-site/), but it won't receive any updates. Context Mapper is available as [VS Code extension](https://marketplace.visualstudio.com/items?itemName=contextmapper.context-mapper-vscode-extension) (also in the [Open VSX Registry](https://open-vsx.org/extension/contextmapper/context-mapper-vscode-extension)) and as [standalone library](/docs/library/). The language server behind the VS Code extension supports all refactorings, transformations and generators the Eclipse plugin offered. Version 7 will come with a new language server based on [Langium](https://langium.org/). With it, we will continue to offer the VS Code extension, add a plugin for IntelliJ IDEA, and aim for a solution that runs in the browser.