What are the plans for the visual long-term stability of PlantUML diagrams?

+1 vote
asked Apr 28, 2022 in Question / help by Christian E. (220 points)
  • With release 2022.1 there have been changes to the default visual appearance of diagrams.
  • What are the plans for the visual long-term stability of PlantUML diagrams?
  • I work in standardization and I greatly advocate generated diagrams with PlantUML.
  • Alas, if I have to find out that with the same source file, diagrams take on a different look after an update to the PlantUML library, this poses a problem.
  • A diagram where the default color of line connections changes from red to black is not "stable".
  • Also, presumably "small" changes like rounded vs. pointed corners of rectangles or missing shadows give diagrams a distinctly different look.
  • If I only updated one diagram in a document which contains many diagrams, only the updated diagram would stick out.
  • For a well-edited document, this would potentially mean updating all PlantUML diagrams (with potentially having to change a lot, like switching to the new style concept) when a new version of the library is released (lots of work) or sticking with the initial library version (bad for getting long-term fixes for really "wrong" behaviour).
  • I link an example for the small "Legend" portion of a bigger component diagram, which now looks distinctly different. I can only get the red connection line color back somehow quickly.
  • https://photos.app.goo.gl/q9i8QVLQW2HV62MX8

1 Answer

+2 votes
answered Apr 28, 2022 by plantuml (294,960 points)
selected Apr 28, 2022 by Christian E.
 
Best answer
> I work in standardization and I greatly advocate generated diagrams with PlantUML.

Many thanks for your support!
    

> What are the plans for the visual long-term stability of PlantUML diagrams?

In theory, we try to maintain long-term stability of PlantUML diagrams.
This project has been started in 2009 and between 2009 and 2022, we did not change the rendering of diagrams.

Some people were complaining that the default visual appearance was ugly, so indeed V1.2022.2 brings some major and breaking changes (with additional support of new CSS feature). Our intention is to keep it stable again for at least the next 10 years.

However, we also want to offer to users the possibility to generate diagrams using the old visual appearance by adding "skin Rose" command.
 

> A diagram where the default color of line connections changes from red to black is not "stable".
> Also, presumably "small" changes like rounded vs. pointed corners of rectangles or missing shadows give diagrams a distinctly different look.

V1.2022.2 has been released recently (March 2022) and there are issues in the retro-compatibility implementation.
Testing this is really complicated, so it would be nice if you could post here some short text diagram sources that shows regressions.
We'll then try to fix them.

Thanks!
commented Apr 28, 2022 by Christian E. (220 points)
  • Many thanks for your fast answer!
  • I enclose the source text for the shown example.
  • Adding "skin rose" to the original source indeed gives back the original line color, pointed edges and shadow.
  • Alas, it also introduces "rose"-colored lines around components (as opposed to the somewhat semi-bold black original ones) and still ignores the "skinparam node" definition for the smaller font size on the "Application Role" stereotype: https://photos.app.goo.gl/FfSh5nystMQYh26V9

@startuml

top to bottom direction

skinparam linetype ortho
skinparam linetype polyline

skinparam componentStyle rectangle

!$Facet = "#lightgreen"
!$Server = "<<Server>>"
!$PubSub = "<<Publisher>> <<Subscriber>>"
!$CU = "#lightyellow"
!$CUMandatory = "-->"
!$CUOptional = "-.>"
!$CUAtLeastOne = '-[#blue]-#'

!$SmallFont = "<size:12>"

skinparam node {
    StereotypeFontSize<<Application Role>> 12
}

package "$SmallFont Legend" as Legend {
    [$SmallFont Conformance Unit] as CU $CU
    node "$SmallFont Facet" as Facet $Facet
    Facet $CUMandatory "$SmallFont mandatory" CU
    Facet $CUOptional "$SmallFont optional" CU   
    node "$SmallFont Facet A" as FacetA $Facet
    node "$SmallFont Facet B" as FacetB <<Application Role>> $Facet
    CU -[hidden]- FacetA
    CU -[hidden]- FacetB
    CU $CUAtLeastOne "$SmallFont at least one" FacetA 
    CU $CUAtLeastOne FacetB
}

@endum

commented May 4, 2022 by plantuml (294,960 points)

Those issues should be fixed in last release. (V1.2022.5)

Now there might be other regressions: please post some messages here when you'll find any.

Thanks!

commented May 5, 2022 by Christian E. (220 points)
My diagram looks good now with "skin rose" and V1.2022.5. Thank you!
...