- Fixes structurizr#241 (Allow styles defined in an extending workspace to override those in the base workspace).
- Allows
deploymentEnvironment
to be used without starting a new context (i.e. without{
and}
) (see structurizr/cli#112). - Adds support for splitting lines in the DSL source with a backslash character (structurizr#137).
- Fixes structurizr#114 (Parallel sequence behavior in dynamic views).
- Fixes structurizr#239 (File context for included files varies based upon how they are included).
- Adds support for grouping deployment nodes, infrastructure nodes, software system instances, and container instances.
- Adds support for nested groups.
- Upgrades structurizr/java to v1.23.0.
- Upgrades structurizr/java to v1.22.3.
- Silently ignore
!plugin
and!script
when running in restricted mode, to match how!docs
and!adrs
work.
- Upgrades structurizr/import to v1.4.0.
- Adds support for component level documentation/decisions.
- Upgrades structurizr/import to v1.3.1.
- Attempts to set the content type for image views when not specified.
- Upgrades structurizr/java to v1.21.0.
- Upgrades structurizr/import to v1.3.0.
- Zero pads automatically generated view keys for better sorting.
- Sets titles for image view content specified via URLs.
- Adds a
default
keyword, for setting the default view.
- Adds the element/relationship identifiers into the model (as an element/relationship property named
"structurizr.dsl.identifier"
). - Adds support for image views.
- Fixes some clashing issues with automatic key generation for views.
- More variables are exposed to scripts, based upon where the script is defined (
element
,relationship
,view
). - Improved the "unexpected tokens" error message to include a list of expected tokens.
- Adds support for using (CSS/HTML) named colors instead of hex color codes.
- Fixes #194 (Disabling the online DSL editor).
- Adds support for deployment node instance ranges (e.g. 0..1, 1..3, 5..10, 0..N, 0.., 1..N, 1.., etc).
- Updated dependencies.
- Fixes #153 (Error when deploymentNode identifier is the same as a softwareSystem or container identifier)
- Adds support for custom elements on dynamic views.
- The DSL parser will now throw an error if the enterprise is set more than once (#159).
- Adds the ability to set name/value properties on element and relationship styles.
- Adds support for setting element style stroke widths.
- Adds name-value properties to views.
- Adds support for using
theme
andthemes
inside thestyles
block. - Breaking change: Dynamic views will no longer create relationships that don't exist in the model.
- Fixes #130 (Incorrect displaying of multiple urls within a container).
- Added more validation for supported icon types (PNG and JPG, not SVG).
- Adds support for
instances
as child of deploymentNode (#133). - Fixes #142 (Invalid object scoping strategy).
- Adds support for explicitly specifying the relationships that should be added to dynamic views.
- Adds support for setting workspace properties.
title
now works for custom views.- Adds
description
to set view descriptions.
- Uses the new documentation/ADR importers, and makes it possible to use a custom implementation via
!docs
and!adrs
.
- Removes backwards compatibility for unquoted expressions (e.g.
exclude src -> dest
- useexclude "src -> dest"
instead). - Adds the ability to include/exclude relationships by the tag of source of destination elements (e.g.
exclude "* -> element.tag==Tag"
). - Adds support for directory based includes with
!include
. - Adds support for element expressions to be used in the afferent/efferent coupling expression (e.g.
exclude "->element.tag==Tag"
) - Adds support for element expressions of the form
element.parent==<identifier>
. - Fixes #113 (Excluding relationships with tags in a Deployment Diagram).
- Adds support for extending deployment environments via the
!ref
keyword (issue #92). - Adds support for extending relationships via the
!ref
keyword (issue #93). - Fixes #94 (tabs cause parsing errors).
- Adds support for different relationship line styles (solid, dashed, dotted).
- Adds support for name/value properties on the view set.
- Adds the implied relationships functionality for custom elements.
- The "add default elements" feature (
include *
) will now also add any connected custom elements. - Adds better support for custom elements when using element expressions.
- Adds a
description
keyword for setting the description on elements. - Adds a
technology
keyword for setting the technology on containers, components, deployment nodes, and infrastructure nodes.
- Adds support for specifying element style icons and the branding logo as a HTTPS/HTTP URL.
- Adds support for relationships from deployment nodes to infrastructure nodes.
- Fixes an issue where
this
didn't work when defining relationships inside deployment/infrastructure nodes. - Removes the restriction that
include *
must be on a line of its own inside view definitions.
- Breaking change: Adds support for software system/container instances in multiple deployment groups.
- Fixes an issue where internal software systems/people are not included by the DSL formatter when the enterprise is not set.
- The DSL formatter now removes empty tokens at the end of lines.
- Adds support for recognising escaped newlines (\n) in tokens.
- Breaking change:
impliedRelationships
is now!impliedRelationships
. - Adds support for "include relationship==*" (#68).
- Fixes #69 (hierarchical identifiers not working at the top level inside a deployment environment).
- Adds experimental support for
!ref
,!plugin
, and!script
.
- Adds an
!identifiers
keyword to specify whether element identifiers should beflat
(default) orhierarchical
. - Adds support for a
this
identifier when defining relationships inside element definitions. - Fixes links between ADRs.
- Breaking change: Default styles are no longer added; use the
default
theme to add some default styles instead. - Breaking change: Relationship expressions (e.g. * -> *) now need to be surrounded in double quotes.
- Support parallel activities in dynamic view (issue #53).
- Adds a
tags
keyword for adding tags to elements/relationships. - Adds a
theme
keyword for adding a single theme. - Adds support to
!include
from a HTTPS URL. - Adds support for referencing groups by identifier.
- Adds support for extending a workspace.
- First version released onto Maven Central.