Releases: ContextMapper/context-mapper-dsl
v5.3.2
Bugfix release v5.3.2:
- Graphical Context Map generator can be called even if the existence of a Graphviz installation cannot be checked (if PATH environment variable cannot be parsed for some reasons).
- Note that the generator will still not work without Graphviz.
v5.3.1
v5.3.0
Changes and new features in v5.3.0:
- Graphical Context Map Generator
- Find documentation here
- See example output below
- Available in the Context Mapper context menu (same menu as other generators in the Eclipse plugin)
- #142: MDSL generator can handle entities without attributes now
- #143: MDSL generator resolves inherited attributes (using extends mechanism of CML)
- #144: MDSL generator supports enums
- #145: PlantUML generator supports inheritance
Example Context Map generated by our graphical Context Map generator:
v5.2.0
Changes in v5.2.0:
- Several small CML formatter changes (needed for unparsing CML models in context-map-discovery)
- Two new refactorings to change a Shared Kernel relationship to a Partnership and vice verca: #138
- The ARs "Extract Shared Kernel" and "Suspend Partnership (extract Bounded Context mode)" no longer generate empty Bounded Contexts. They add an Aggregate with a root Entity now. A new comment on the extracted Bounded Contexts gives the user a hint that this is the place to specify the model of the Shared Kernel or the common parts of the Partnership. (#139)
v5.1.0
Changes in v5.1.0:
- MDSL generator:
- Protected regions are no longer added initially. If you want to create a protected region you have to create in manually according to the documentation: https://contextmapper.org/docs/mdsl/
- The two comments on API providers and clients have been separated. The introducing comment mentioning the DDD patterns is generated before the declaration and the Domain Vision Statement after the first line. Example:
v5.0.0
Changes in v5.0.0:
With this release we changed the CML grammar for upstream-downstream relationships on Context Maps. The positions of the brackets with the U, D, and relationship patterns (OHS, PL, ACL, CF) can no longer be placed as flexible as before. The only allowed positions are on the left and right of the arrow now:
BoundedContext1 [U]->[D] BoundedContext2
The following positionings are no longer supported:
[U]BoundedContext1 ->[D] BoundedContext2
BoundedContext1 [U]-> BoundedContext2[D]
[U]BoundedContext1 -> BoundedContext2[D]
New possibilities:
Instead of flexible bracket positioning we introduced that the brackets can now be omitted on one side of the arrow. Examples of valid upstream-downstream declarations:
BoundedContext1 -> BoundedContext2
BoundedContext1 [U]->[D] BoundedContext2
BoundedContext1 ->[D] BoundedContext2
BoundedContext1 [U]-> BoundedContext2
BoundedContext1 [U,OHS,PL]->[D,ACL] BoundedContext2
BoundedContext1 [OHS,PL]->[ACL] BoundedContext2
BoundedContext1 [U,OHS,PL]-> BoundedContext2
BoundedContext1 [OHS,PL]-> BoundedContext2
BoundedContext1 ->[D,ACL] BoundedContext2
BoundedContext1 ->[ACL] BoundedContext2
Note that customer-supplier relationships always require both brackets with at least the S (supplier) and C (customer):
BoundedContext1 [S]->[C] BoundedContext2
BoundedContext1 [U,S]->[D,C] BoundedContext2
BoundedContext1 [U,S,PL]->[D,C] BoundedContext2
BoundedContext1 [S,PL]->[C] BoundedContext2
(all examples work with the inverted direction (<-
) as well)
v4.4.1
Bugfixes in v4.4.1
- AR-8 and AR-9 do work even if a Bounded Context with the same name as the one to be created already exists (unique name is generated with a counter at the end).
- ARs: if a new upstream-downstream relationship is generated, the U and D keywords no longer have whitespaces around them (within the brackets).
- MDSL generator:
- fixed protected region problem on Windows: generator does not add linebreaks to the regions anymore.
- we generate BACKEND_INTEGRATION and FRONTEND_INTEGRATION instead of only BACKEND_INTEGRATION at the usage context.
v4.4.0
New features in v4.4.0
- Grammar change: the U and D inside the brackets in upstream-downstream relationship declarations are now optional.
- Allows to specify relationships as follows:
CustomerManagementContext [OHS,PL]->[ACL] PolicyManagementContext
- Allows to specify relationships as follows:
- MDSL generator: comments have been improved according to #119
- MDSL generator produces "serves as" attribute on endpoints and the "with responsibility" attribute on operations now. The patterns are parsed from the "doc"-String on the Aggregates and methods in CML. See #118 for details and an example.
- nullable keyword in CML is respected in MDSL and PlantUML generator. See #96 for an example how to use the nullable keyword.
- Small fix in PlantUML label: #117
- New Architectural Refactoring (AR): 'Extract Shared Kernel' (#120)
- New AR: 'Suspend Partnership' (#121)
v4.3.0
Features in v4.3.0
This release enhances the MDSL generator:
- Protected regions: the generator creates protected regions which are not changed at re-generation (#109).
- Generates the MDSL attribute usage context on API descriptions now (#112).
- The Domain Vision Statements of the upstream and downstream Bounded Contexts are now added to the MDSL file as comments (#110).
- The relationship patterns OHS, PL, ACL, and CF are generated as comments as well (#108).
v4.2.0
Features in v4.2.0:
- This release is now released as standalone library to the maven central as well. An example project how it can be used in a standalone application outside Eclipse can be found here: https://github.com/ContextMapper/context-mapper-standalone-example
- CML scoping: Only objects within the same CML file can be referenced now (#105; temporary solution until we fixed #86).
- The new keyword refines allows to specify that a Bounded Context refines another one (#98).
- If an attribute is declared as nullable, this is now respected within the MDSL and PlantUML generators (#96).
- A Bounded Context can now implement the whole domain. Instead of a list of all Subdomains one can now reference the Domain directly (#95).
- The equal sign (=) to define attributes on Context Maps, Bounded Context, etc. is now optional (#94).
- PlantUML generator: instead of just "use", the label at interface usages now states which Aggregates are used if the exposed Aggregates are specified in the relationship (#92).
- PlantUML generator: If a Subdomain contains entities, the generator now generates a class diagram for the Subdomain as well (#91).