Changelog
Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.7.1 (2026-07-06)¶
Fix¶
- core: fix alias generation for non-ascii labels
- docs: Update D2 link to point to official website
- docs: fix link to d2
0.7.0 (2026-07-06)¶
Feat¶
- add d2 backend
0.6.1 (2026-06-22)¶
Feat¶
- cli: add --watch option c4 render/export (#33).
0.6.0 (2026-06-21)¶
Feat¶
- core: split the portable C4 model from backend-specific extensions.
- core: add backend extension data via
extensions=,plantuml=, andmermaid=kwargs. - plantuml: move PlantUML-specific relationships, layouts, indexes, and macros to
c4.contrib.plantuml. - mermaid: add Mermaid contrib helpers and backend-specific extension validation.
- converters: add backend-aware JSON schemas, generated specs, and JSON-to-Python conversion.
- cli: resolve renderer backend metadata from JSON targets and reject mismatched renderer selections.
- docs: add portable core, backend extension, reusable element, renderer, and example documentation.
Fix¶
- cli: add Mermaid CLI Puppeteer config and headless options for
c4 export(#34).
Breaking changes¶
c4.diagrams.corewas split into a package. Internal imports from the old monolithicc4.diagrams.coremodule may need to move toc4.diagrams.core.components,c4.diagrams.core.diagram,c4.diagrams.core.enums,c4.diagrams.core.relationships, orc4.diagrams.core.utils.- PlantUML-specific DSL helpers are no longer part of the portable core API. Import directional relationships, bidirectional relationships, layout helpers, and index helpers from
c4.contrib.plantuml. - Mermaid-specific helper exports are available from
c4.contrib.mermaid. - Renderer-specific element and relationship metadata such as
tags,sprite,link,base_shape,index, and stereotypes should now be passed as backend extension data, for exampleplantuml={"tags": ["storage"]}ormermaid={"type": "boundary"}. - JSON diagrams are now backend-aware and strict. Use the selected core, PlantUML, or Mermaid schema fields; unknown fields are rejected, and the Python DSL
extensions=envelope is not accepted in JSON input. - PlantUML render option APIs were tightened: several style helpers now use
type_instead oftechnology, and boundary style update helpers no longer acceptelement_nameortechnology.
This release intentionally remains 0.6.0 instead of a major version while the internal and public APIs continue to stabilize.
0.5.2 (2026-04-20)¶
Fix¶
- cli: fix export cli args parsing
0.5.1 (2026-04-20)¶
Fix¶
- cli: fix mermaid and plantuml binary checks
0.5.0 (2026-04-20)¶
Feat¶
- renderers: add mermaid rendering backend
- cli: add mermaid options
- plantuml: add C4-PlantUML to
LocalPlantUMLBackend.
Breaking changes¶
- Refactor layout options: replace
c4.renderers.plantuml.layout_options.LayoutOptionswithc4.renderers.plantuml.options.PlantUMLRenderOptionsBuilder.
0.4.5 (2026-04-04)¶
Fix¶
- core: add properties to relationships
0.4.4 (2026-04-03)¶
Fix¶
- renderers: fix empty values rendering
0.4.3 (2026-04-03)¶
Fix¶
- core: fix empty string labels (#26)
0.4.2 (2026-04-03)¶
Fix¶
- cli: add the target file’s import root to sys.path (#23)
0.4.1 (2026-03-30)¶
Fix¶
- core: fix Relationship typing to improve IDEs autocompletion (#21)
0.4.0 (2026-03-22)¶
Feat¶
- cli: add json-to-python converters CLI
- converters: add json-to-python converters
- renderers: replace layout options with render options
- core: add constraints for diagram types
0.3.0 (2026-02-16)¶
Feat¶
- core: improve index macros
- plantuml: add new c4 style support
0.2.0 (2026-02-15)¶
Feat¶
- core: refactor init args for diagram components
- cli: add c4 cli
0.1.2 (2026-02-01)¶
Fix¶
- plantuml: minor improvements
0.1.1 (2026-01-26)¶
Fix¶
- core: minor improvements
0.1.0 (2026-01-22)¶
Feat¶
- core: add new dsl for relations
0.0.4 (2026-01-22)¶
Fix¶
- core: remove invalid chars from generated alias
0.0.3 (2026-01-12)¶
Refactor¶
- add PlantUML renderer imports (#5)
0.0.2 (2026-01-11)¶
Feat¶
- add base diagrams support
- add PlantUML rendering backend
0.0.1 (2026-01-11)¶
Feat¶
- init