Skip to content

Releases: plantuml-stdlib/C4-PlantUML

Release v2.11.0

25 Oct 22:06
Compare
Choose a tag to compare

New Features

C4-PlantUML polyglott, predefined labels translatable via language themes

Previously, all predefined labels were in English. Now, C4-PlantUML supports multiple languages out of the box, similar to the existing “style” themes. This update introduces “language” themes.

Supported language themes include C4Language_chinese.puml, C4Language_dutch.puml, C4Language_english.puml, C4Language_french.puml, C4Language_german.puml, C4Language_italian.puml, C4Language_japanese.puml, C4Language_korean.puml, C4Language_portuguese.puml, C4Language_russian.puml, C4Language_spanish.puml, C4Language_ukrainian.puml.

These themes can be include like normal style themes.

@startuml
!theme C4Language_japanese from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes
!theme C4_united from https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/themes

!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

LAYOUT_LANDSCAPE()

Person(admin, "管理者")
System_Boundary(c1, 'サンプル') {
    Container(web_app, "ウェブアプリケーション", "C#, ASP.NET Core 2.1 MVC", "複数のTwitterタイムラインを比較することができます")
}
System(twitter, "Twitter")

Rel(admin, web_app, "使用する", "HTTPS")
Rel(web_app, twitter, "ツイートを取得する", "HTTPS")

SHOW_LEGEND()
@enduml

https://www.plantuml.com/plantuml/uml/hP5FJzH06CRl_HJ3Ug2RB6qmd3onbeqSojBOel7Kp6x7tPfssaodsH1ZOcVyOw96emZnfeO8Qe8QOhmWV9XNsFqOlWLq3rxfgNddcT_pFEyi5f8AMQQ9CIE7B6N4MN0f7vHqmC8xDAUS5OpS5bbAXbBcnHNR5dHa3M8vB7jbmKG_uv9nQVMprCuJoclKN26Z9ExPpiASLu_MLbmxfOLamZxrAAPUOSbZoQABTp1cOjvFoeXT31MJEdY3nfm9Aw_NPRZjMwjhGUYskqk-q_OwPjCmF2QAZ9iqIcFU8etntllnoqUJ-myRJSDVHr0QNirA7b6nRlRdMsGMr0_G-w2tG7-PRPAx1i7ldv4vOhsGvZcIG7q4jGDw4zI7K_bdKDz17u3w2Hhd-mqKEPTQfErxLhSJ84GmSjcQ9oitdFfiiltuvCqtgFQ2KIon4QWZKDkWtu7-X3zr2lNgvEl6v413zHRKKwXUGxKBrJEeTg1w3jKXph77lVCcfZm38ViSYOV6TPRyRJyD__lNqNXZzmnRPraE0iz7DOgd5QSuq0_gH5XEFy5GnoysZm-t_hzj-CkhDqEtSwtJNSBTBp8UuRly0G00

Customize legend title text with UpdateLegendTitle(newTitle)

A new UpdateLegendTitle(newTitle) function has been added. This function allows you to customize the legend title.

For example, the following code

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

' NEW CALL UpdateLegendTitle
UpdateLegendTitle("Updated legend title")

Person(admin, "Administrator")
System_Boundary(c1, 'Sample') {
    Container(web_app, "Web Application")
}
System(twitter, "Twitter")

SHOW_LEGEND()
@enduml

produces the following diagram:

https://www.plantuml.com/plantuml/uml/PO-zQlCm541tFOM-B54WiVcWKwUuhca7DmqumQEvjYw9G3z2kiQ4qdUlr9GkrI9nf7iusaU2GBFHx9-oavubyYkHZuzb6M0fBegkypX739EpX9QAoPdIQx1vPXT9QZMMzSFkcD7vhIqDHCAGq52d2L0MG-6pdwtveUbvNRKjFti9X2rUqCgJ8eti3n6hEv9SVqDEcQusZ1qnH6S5IAFibg-glAj80SY5TD_TKe0Pdjni9OIRcFvl-Re3upMkD_o3yRH-qyI2um3U9q-F8w-yrse2Kiucq-UFIz2YY32aHwVxAMTqh-_zq3OlpU5PRDW-9QPVVW40

What's Changed

New Contributors

Fixes in PlantUML v1.2024.8beta6

With the latest PlantUML v1.2024.8beta6 following issue is fixed too

  • Rel styling $lineStyle does not work for sequence diagrams #369

Full Changelog: v2.10.0...v2.11.0

Release v2.10.0

27 May 17:14
Compare
Choose a tag to compare

New Features

All boundaries supports descriptions and sprites too

All boundaries are extended that they can support descriptions too:

  • Boundary(..., ?descr)
  • Enterprise_Boundary(..., ?descr)
  • System_Boundary(..., ?descr)
  • Container_Boundary(..., ?descr)

and sprites can be defined via tags

  • AddBoundaryTag(..., ?sprite, ?legendSprite)
  • UpdateBoundaryStyle(..., ?sprite, ?legendSprite)
  • UpdateContainerBoundaryStyle(..., ?sprite, ?legendSprite)
  • UpdateSystemBoundaryStyle(..., ?sprite, ?legendSprite)
  • UpdateEnterpriseBoundaryStyle(..., ?sprite, ?legendSprite)

If a sprite is defined then it is displayed in the first line in front of the label with a smaller size.

  • Default sprite size can be changed via $BOUNDARY_IMAGE_SIZE_FACTOR

Single column property is supported too

SetPropertyHeader() and AddProperty() are updated that only 1 column is required (the old implementation required at least 2 columns)

  • SetPropertyHeader(col1Name, ?col2Name, ?col3Name, ?col4Name)
  • AddProperty(col1, ?col2, ?col3, ?col4)

What's Changed

  • Intellij live templates: Fixing C4 file references to std lib master … by @vipinthomasvertexinc in #344

  • Legend displays unknown borderStyle values too (instead of $lineStyle) by @kirchsth in #343

  • $baseShape="label" uses correct color by @kirchsth in #354

  • All boundaries supports descriptions and sprites too by @kirchsth in #352

  • Single column property by @kirchsth in #356

  • fix deprecated task in build: update to ts-graphviz/setup-graphviz@v2 by @kirchsth in #351

New Contributors

Fixes in PlantUML v1.2024.5

With the latest PlantUML v1.2024.5 following issue is fixed too

  • Java OutOfMemoryError with some Sequence diagrams #348

Fixes in PlantUML v1.2024.6

With the latest PlantUML v1.2024.6 following issue is fixed too

  • Line styling not recognized when using ELK #340
  • Exports of diagrams have spacing issues MR 1843

Full Changelog: v2.9.0...v2.10.0

Release v2.9.0

10 Feb 23:41
Compare
Choose a tag to compare

New Features

More often a full support of all PlantUML elements are requested. This can be enabled via ENABLE_ALL_PLANT_ELEMENTS.
After that the PlantUML elements can be set via the new optional baseShape="...." argument

    System(..., ?baseShape),
    System_Ext(..., ?baseShape),
    Container(..., ?baseShape),
    Container_Ext(..., ?baseShape),
    Component(..., ?baseShape),
    Component_Ext(..., ?baseShape)

Sample with PlantUML elements

What's Changed

  • fix AddNodeTag() call + SHOW_FLOATING_LEGEND() uses small details as default by @kirchsth in #335
  • Support of "all" PlantUML elements can be enabled by @kirchsth in #337

Full Changelog: v2.8.0...v2.9.0

Release v2.8.0

08 Sep 19:35
Compare
Choose a tag to compare

New Features

UpdateElementStyle(...,?borderStyle, ?borderThickness)
AddElementTag(...,?borderStyle, ?borderThickness)
UpdateBoundaryStyle(...,?borderStyle, ?borderThickness)
AddBoundaryTag(...,?borderStyle, ?borderThickness)

What's Changed

New Contributors

Full Changelog: v2.7.0...v2.8.0

Release v2.7.0

15 Jul 21:41
Compare
Choose a tag to compare

New Features

C4_Sequence Diagram Sample

  • Sequence/Dynamic diagram - simplified to "one" Rel() call
    • Sequence diagram
      • Rel() extended with $index and $rel
    • Dynamic diagram
      • Rel() extended with $index (makes all other RelIndex...() calls obsolete)

What's Changed

  • Add (C4 styled) Sequence Diagram support by @kirchsth in #308
  • #303 update documentation: <C4/themes>, mweagle themes by @kirchsth in #313
  • README typo fix by @bricker in #314
  • Sequence/Dynamic diagram - simplify to "one" Rel() call; add layout option SHOW_INDEX() by @kirchsth in #312

New Contributors

Full Changelog: v2.6.0...v2.7.0

Release v2.6.0

22 Apr 20:11
Compare
Choose a tag to compare

New Features

What's Changed

New Contributors

Full Changelog: v2.5.0...v2.6.0

Release v2.5.0

11 Dec 01:13
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.4.0...v2.5.0

Release v2.4.0

29 Oct 20:14
311ff38
Compare
Choose a tag to compare

v2.4.0 (2021-10-29)

Full Changelog

Implemented enhancements:

Closed issues:

  • got plantuml erro when include C4 on vscode #190
  • Notes element #189
  • Force relationships to be straight lines #183
  • Add element to boundary #176
  • Rel_Left/Right/Up/Down are not followed when using LAYOUT_LEFT_RIGHT. #174
  • PlantUML version error message (requires PlantUML version >= 1.2021.6) #172
  • Question - when colour is defined via UpdateElementStyle the legend is not updated #169
  • Typo in doc - notice an extra ` symbol in #Element properties #168
  • Typo in doc - &textColor should be $textColor #167
  • RELATIVE_INCLUDE variable breaking Antora builds #156
  • Bottom-left alignment for Deployment Node label #155
  • PlantUML code samples in markdown (Readme,...) should use plantuml syntax #184
  • Add C4Version() functions which displays the PlantUML version and C4-PlantUML version #181
  • Use default bgColor and fontColor for new element tags #154

Merged pull requests:

Release v2.3.0

04 Jul 11:16
4f7c12d
Compare
Choose a tag to compare

Changelog

v2.3.0 (2021-07-04)

Full Changelog

Closed issues:

  • Element inside intersection of 2 or more Boundaries #166
  • Background of boundaries is white in sketch-mode #163
  • Q: Is there an option that an arrow gets drawn through a component? #162
  • Add length parameter to Rel and Lay procedures #153
  • Change the fontcolor of Legend Title #152
  • Improve layout of components #151
  • Ready to be deployed ? #144
  • Big feature: generate C4 from docker-compose.yml and ansible #120
  • Build broken by the new RELATIVE_INCLUDE variable #118
  • Preparing a v2.3.0 release #165
  • Relation tags support line styles #159
  • Option to hide unused default tags in the legend #157
  • Calculate missing legend colors based on brightness #149
  • New layout call SHOW_PERSON_OUTLINE() offers "Structurizr" persons #146
  • Support for more shapes #145
  • Persons can be displayed as portraits #139
  • Make legend fill whitespace #134
  • README.md Hyperlinks not HTTPS #21
  • Microservice container #12

Merged pull requests:

Release v2.2.0

11 Apr 10:55
v2.2.0
34353dd
Compare
Choose a tag to compare

v2.2.0 (2021-04-11)

Full Changelog

Implemented enhancements:

  • Line color for the relationship arrow #126

Closed issues:

  • Hyperlink element node to another diagram #119
  • Overlapping labels #76
  • Tag support for relationships #137
  • Add dotted arrows for relationships #67

Merged pull requests:

  • #119, #72: All elements and relationships can support hyperlinks (based on #126) #135 (kirchsth)
  • #126: Relationship colors can be modified via tags; description and sprites/openIconic are supported (incl. #124) #130 (kirchsth)