Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions _news/2026-10-23-v6.13.0-released.md
Original file line number Diff line number Diff line change
@@ -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/). 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)).

## 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; 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.

## Contributing
As always, we are happy about feedback, issues and pull requests. [Get in touch with us](/getting-involved/)!
Loading