Skip to content

Release 3.2.121

Compare
Choose a tag to compare
@yanjustino yanjustino released this 18 Nov 00:18
· 119 commits to main since this release
5f0008a

C4Sharp version 3.2.121 is released 🚀

image

We released a new version of C4Sharp. The release includes new improvements such as minor bug fixes to the write test log, code maintainability, and performance. You can read the full list of new enhancements and bug fixes below:

  • Adding Memory Stream Generator
  • Adding Enterprise Boundary Structure
  • Moving Resource Files to .c4s Directory
  • Adding SVG File Generator (thank you @Nino-Dioses 🤝 )
  • Removing Unnecessary Code (💩)

Break changes ⚠️

Moving Resource Files to .c4s Directory

Now, the resource files are saved separately from your diagram files.

Screen Shot 2021-11-17 at 21 07 33

Thank you, @Lowpoc!!!

Improvements 😎

Adding Memory Stream Generator

Now the Session has a method 'GetStream' that generate a Stream of Diagram

var diagram = ContextDiagramBuilder.Build() with { Title = "Diagram" };
var session = new PlantumlSession();
var (filename, results) = session.GetStream(diagram);

Adding Enterprise Boundary Structure

Now, C4Sharp has the Enterprise Boundary Structure :

public static ContextDiagram Build()
{
    return new ()
    {
        Title = "System Enterprise diagram for Internet Banking System",
        Structures = new Structure[]
        {
            Customer,
            new EnterpriseBoundary("eboundary", "Domain A")
            {
                Structures = new Structure []
                {
                    BankingSystem,   
                    new EnterpriseBoundary("eboundary1", "Domain Internal Users")
                    {
                        Structures = new Structure []
                        {
                            InternalCustomer,
                        }
                    },                             
                    new EnterpriseBoundary("eboundary2", "Domain Managers")
                    {
                        Structures = new Structure []
                        {
                            Manager,
                        }
                    },                            
                }
            },
            Mainframe,
            MailSystem
        },
        Relationships = new[]
        {
            Customer > BankingSystem,
            InternalCustomer > BankingSystem,
            Manager > BankingSystem,
            (Customer < MailSystem)["Sends e-mails to"],
            (BankingSystem > MailSystem)["Sends e-mails", "SMTP"][Neighbor],
            BankingSystem > Mainframe,
        }
    };
}        

image

Adding SVG File Generator

Now, you can build SVG images as well as PNG image files

new PlantumlSession()
    .UseDiagramImageBuilder()
    .UseDiagramSvgImageBuilder()
    .UseStandardLibraryBaseUrl()
    .Export(diagrams);

Thank you, @Nino-Dioses!!!

See more in our sample code