Releases: likec4/likec4
v1.58.0
🚀 Features
-
Delete Elements/Edges in the Editor:
Select nodes and/or edges in the diagram editor and press delete to remove them from the view. Edges connected to a deleted node are dropped automatically, and the change is added to undo/redo history. Not available for dynamic views. -
Edit Edge Label Positions:
Select a relationship edge and drag its label to reposition it; the position is saved to the manual layout with undo/redo. A manually placed label moves together with the edge when its curve is reshaped, keeping its offset. -
Accurate Tag Text Color via APCA Contrast:
Tags with custom hex / rgb colors now get an accurate text color derived from the background via APCA contrast, instead of the previous CSS-filter workaround. Thanks @farhan523, #2978, resolves #2143
🐞 Bug Fixes
-
Fixed
export png/export jpgfailing in the Docker image withbrowserType.launch: Executable doesn't exist. The bundled Playwright and the installed Chromium browsers are now kept in sync. #3032, fixes #2961 -
Fixed favicon 404 in
likec4 build --output-single-fileby inlining the favicon as a base64 data URI so the single HTML file stays self-contained. Thanks @MichaelMcCodington, #3030 -
Fixed deployment relationship filters so source and target metadata predicates use deployed instance metadata. Thanks @ckeller42, #2986
-
Nested
parallelblocks in dynamic views now produce a clear validation error (Nested parallel blocks are not allowed) instead of a cryptic parser error. Thanks @farhan523, #2985, resolves #988 -
Fixed "apply latest" action incorrectly triggering the new AI layout enhancement. #2995
v1.57.0
🚀 Features
-
Multiple Relationships in Views:
Support expanding merged relationships into separate edges with themultipleflag. Setmultiple trueon a relationship kind inspecification, or per-view viawith { multiple true }, to show each relationship as its own edge with its own label instead of merging them into a single[...]edge. Thanks @galuszkak, #2939, resolves #663 -
includeAncestorsfor Deployment Views:
AddincludeAncestorsproperty to deployment views to include all ancestors of visible nodes. Thanks @Kiiv, #2935, fixes #1483 -
--publicoption forlikec4 buildandlikec4 start:
Specify a directory that Vite serves and copies as-is into the output (Vite'spublicDir). Files in this directory are preserved in the build output, including when--output-single-fileis used. Thanks @farhan523, #2968, resolves #1941 -
color-schemeAttribute for Web Component:
Addcolor-schemeattribute to the web component to force light or dark mode. Thanks @dkapitan, #2955 -
Experimental: AI-Assisted Semantic Layout:
Add AI layout advisor that analyzes diagram semantics and suggests graphviz layout hints (rank constraints, edge weights, invisible edges) for more readable and visually balanced diagrams. Includes a VSCode chat participant, command, and MCP tool for triggering AI layout enhancement. This feature is experimental and may change in future releases. Documentation is coming later; reach out to us on Discord. #2878 -
Image Export Options:
Add--descriptionand--notationoptions to PNG and JPEG exports to include the view title, Markdown description, and non-overlapping view notation in generated images. Thanks @ckeller42, #2950 -
--hmr-portoption forlikec4 start:
Specify the HMR WebSocket port via--hmr-portor theHMR_PORTenvironment variable. If neither is provided, a free port is auto-discovered in the range 24678–24690. Thanks @kieronlanning, #2947 -
Emacs Setup Documentation:
Expand the Emacs section in the editors docs with a complete setup using@likec4/lsp-- covers both Eglot (Emacs 29+) and lsp-mode, with alikec4-modedefinition for.c4/.likec4files. Thanks @farhan523, #2972, resolves #2268 -
AspireC4 Community Docs:
Add community docs page for AspireC4 -- a .NET Aspire extension that auto-generates live LikeC4 architecture diagrams from the Aspire resource graph. Thanks @kieronlanning, #2952
🐞 Bug Fixes
-
Fixed relationship popovers not showing in static embedded views generated with
likec4 build. Thanks @ckeller42, #2969, fixes #2962 -
Fixed expanded embedded LikeC4 views rendering with a transparent overlay background. Thanks @ckeller42, #2967, fixes #2965
-
Fixed formatter to preserve metadata arrays instead of converting them to strings. Thanks @ckeller42, #2944
-
Allow reserved keywords such as
groupas metadata keys. Thanks @ckeller42, #2948, fixes #2932 -
Fixed CSS bundling for react/webcomponents when rendered in shadow root.
-
Fixed single-project overview page always showing the CLI
--titlevalue instead of thetitlefromlikec4.config.json. Thanks @kieronlanning, #2952 -
Fixed validation of
browserproperty in webcomponent (now accepts string values"true"/"false"/"yes"/"no"), closes #2936 -
Fixed overlay animations (relationships browser, element details, search) glitching on open/close. #2976
-
Upgraded
pnpmto 11
v1.56.0
🚀 Features
-
Improved Color Palette:
Element rendering now uses a more accurate color palette that better matches the color specified by the user. Thanks @Kiiv, #2912, closes #2101 -
On-demand Icon Loading from CDN:
Icons are now loaded on demand from CDN instead of bundling all icon components, significantly reducing bundle size. Icons are resolved from local cache, then@likec4/iconspackage, then fetched fromicons.like-c4.dev. #2906 -
Extracted
@likec4/spaPackage:
Web app extracted into a separate@likec4/spapackage, decoupling it from the CLI for better modularity, faster builds and smaller bundles. #2689 -
Apply View Changes from dev server:
Support applying view changes in vite-plugin/CLI (previously was possible only in IDE). #2904
🐞 Bug Fixes
-
Fixed greedy output panel that stole focus from the editor on errors in VSCode extension
-
Fixed left-click on external links in VSCode extension diagram preview -- links in element details now open in the default browser on left-click. Thanks @ckeller42, #2908
-
Improved edge label readability and fixed color token references. #2918
-
Updated Mantine to 9.1.0 -- the
lightvariant of Buttons, Alerts, and ActionIcons now uses solid colors instead of transparency. #2921
Full Changelog: v1.55.1...v1.56.0
v1.55.1
🚀 Features
- JPG Export:
Add JPEG export support for architecture diagrams -- new "Export as .jpg" option in the web UI andlikec4 export jpgCLI command with--qualityoption. JPEG renders with a solid background adapting to the current theme. #2899, closes #2892
🐞 Bug Fixes
-
Fixed text overflow in relationship popover and element details card when displaying long names, titles, and technology strings. Thanks @ckeller42, #2894
-
Fixed search overlay persisting after navigating to a view via Ctrl+K search. Thanks @ckeller42, #2875
-
Fixed programmatic config (
likec4.config.ts) not being loaded in VSCode extension and standalone LSP. #2896 -
Allow using reserved keyword
relationshipas an identifier in LikeC4 DSL (e.g. as element kind). #2897 -
Improved edge visibility in dark mode by increasing background stroke opacity. Thanks @ckeller42, #2891
Full Changelog: v1.55.0...v1.55.1
v1.55.0
🚀 Features
-
--themeoption forlikec4 build:
Set the default color scheme (light/dark) for the generated static website. Thanks @ckeller42, #2874 -
likec4.excludeVS Code setting:
Exclude files and folders from LikeC4 processing via glob patterns. #2861 -
Standalone
@likec4/mcppackage:
MCP server and tools extracted into a dedicated package for reuse in other projects. #2877
🐞 Bug Fixes
-
Fixed relationship styles (color, line, head, tail) not inheriting from specification in dynamic views, closes #2797. #2864
-
Fixed custom element
descriptionandsummarybeing overwritten by specification defaults in Builder API, closes #2795. #2860 -
Fixed wildcard predicate evaluation with
wherefilter applying only to root/scoped elements instead of all elements, closes #2837. #2858 -
Fixed crash on views with manual layout in dev mode (applyManualLayout invariant). Thanks @ckeller42, #2883
-
Fixed codegen react and view hooks not applying manual layouts. Thanks @ckeller42, #2876
-
Fixed external links in VSCode preview opening blank page instead of browser, closes #2422. Thanks @ckeller42, #2880
-
Allow
data:URIs in markdown image src. Thanks @ckeller42, #2881, fixes #2871 -
Improved MCP and agent skill documentation for LeanIX bridge and Draw.io workflows. Thanks @sraphaz, #2828
Full Changelog: v1.54.0...v1.55.0
v1.54.0
🚀 Features
-
Standalone LSP Package:
New@likec4/lsppackage -- a self-contained, fully-bundled CJS language server with zero runtime dependencies for third-party editor integrations (Neovim, Zed, etc.). Fixes #2840, #2843 -
list-iconsCLI Command:
Newlikec4 list-iconscommand to list all available built-in icons with--format text|jsonand--groupfilter options. #2832 -
LikeC4 DSL Agent Skill:
AI agents can now write correct LikeC4 code without hallucinating syntax. Install skills vianpx skills add https://likec4.dev/. Thanks @vincent067, @a-scolan, Resolves #2636, #2782
🐞 Bug Fixes
-
Fixed dynamic view variant setting not being honored when navigating to a dynamic view, closes #2802. Thanks @kavishkartha05, #2827
-
Fixed manual layout alignment tools (Align Left, Right, Center, Top, Middle, Bottom) not working, closes #2771, #2791
-
Fixed LikeC4 generator not emitting element name in DSL output, closes #2815. Thanks @kavishkartha05, #2825
-
Fixed element names starting with underscore followed by digit (e.g.
_1password) being incorrectly rejected by the parser, closes #2836, #2845 -
Improved navigation from VSCode preview panel to sources by showing editor in a different tab group #2826
-
Validate LeanIX mapping partials before merge; align exports and mapping registry behaviour with specs. Thanks @sraphaz, #2829
-
Hardened
likec4:iconsvirtual module literals for CodeQL; raised floors for transitive dependencies. Thanks @sraphaz, #2831
v1.53.0
🚀 Features
-
Metadata Filtering in View Predicates:
Filter elements and relations by metadata key existence (where metadata.key) or value (where metadata.key = 'value'). Works with!=for negation and supportssource.metadata/target.metadatafor relation participants. Thanks @galuszkak, #2769 -
LeanIX Bridge Integration:
New@likec4/leanix-bridgepackage for syncing architecture models with LeanIX. Includes identity manifest, inventory snapshots, reconciliation, drift reports, governance checks, and ADR generation. CLI addsgen leanix-inventory-snapshot,gen leanix-reconcile, andsync leanixcommands. Draw.io export gains a--profile leanixoption for bridge-managed metadata round-trip. Thanks @sraphaz, #2746, #2768 -
Landing Page Configuration:
NewlandingPageconfig option to control landing page behavior:redirect: trueto skip the landing page and go directly to the index view, andinclude/excludeselectors to filter which views appear in the landing page grid. Thanks @purple52, #2733 -
Improved
likec4 validateCommand:
Fix exit code (now properly exits with 1 on validation failure), add--jsonflag for structured JSON output,--fileflag to filter errors to specific files,--no-layoutflag to skip layout drift checks, and--projectsupport for multi-project workspaces. #2790
🐞 Bug Fixes
-
Fixed drag behavior for group nodes #2785
-
Fixed scroll in walkthrough notes panel, closes #2729
-
Fixed web extension failing to start language server, closes #2702
-
Restored Markdown syntax highlighting in triple-quoted strings in VSCode #2785
-
Added configurable Node.js path for language server runtime in VSCode #2773
-
Draw.io: improved person shape inference on re-import for round-trip fidelity. Thanks @sraphaz, #2685
v1.52.0
🚀 Features
-
likec4 formatCLI Command:
Newlikec4 format(aliasfmt) command for formatting.c4source files. Supports--checkmode for CI,--projectand--filesfiltering. Thanks @m9810223, #2667 -
Overview Page Search, Navigation & Theme Toggle:
Added search bar (also accessible via Cmd+K), sidebar navigation drawer with file/folder/list grouping, and dark/light theme toggle to the overview page. Fixes #1679. Thanks @ckeller42, #2665 -
Disable Implicit Views by Default:
Auto-generated scoped views for elements without explicit views are no longer created unless"implicitViews": trueis set in the project config. To restore the previous behavior, add"implicitViews": trueto yourlikec4.jsonconfiguration. #2705 -
Draw.io Person Shape Round-Trip:
Draw.io export now correctly renders elements withshape personas person/actor shapes instead of ellipses. Re-import also infers the person shape for round-trip fidelity. Thanks @sraphaz, #2685, fixes #2679 -
Improved Zoom Performance:
Significant performance improvement with zooming and panning diagrams, thanks to the xyflow update. #2694 -
Erode tooling:
Check documentation, thanks to @parse , #2728
🐞 Bug Fixes
v1.51.0
🚀 Features
-
likec4 lspCLI Command:
Added newlikec4 lspcommand to start the LikeC4 language server directly from the CLI. The standalonelikec4-language-serverbinary is now deprecated. #2681 -
Improved
?theme=URL Parameter:
Theme preferences specified via the?theme=URL parameter are no longer persisted to localStorage — the forced color scheme applies only while the parameter is present in the URL. Thanks @m9810223, #2645
🐞 Bug Fixes
-
Fixed "View title cannot contain newlines" error when using implicit views with elements that have multi-line titles, closes #2669, #2672
-
Fixed LikeC4 tag color being broken, closes #2637
-
docs: Fix broken link to vite-plugin/modules.d.ts location in documentation by @galuszkak in #2668
v1.50.0
🚀 Features
-
Draw.io Export & Round-Trip:
Extended Draw.io integration with export options, edge waypoints, and view notation round-trip support. CLI now supportslikec4 export drawio --roundtripto preserve layout and styling when re-exporting. Added "Export to Draw.io" button in the app's export menu. Thanks @sraphaz, #2630, #2639 -
New MCP Query Tools:
Added 10 new MCP query tools:query-graph,query-incomers-graph,query-outgoers-graph,query-by-metadata,query-by-tags,query-by-tag-pattern,find-relationship-paths,batch-read-elements,subgraph-summary, andelement-diff. Enhancedread-project-summarywith serialized project config and optionalmetadatafield. Thanks @ckeller42, #2638 -
Implicit Scoped Views:
Auto-generate scoped views for elements without explicit views, enabling drill-down navigation out of the box. Configurable viaimplicitViewsoption in project config (enabled by default). #2648 -
Derive Technology from Icon:
Automatically derive element technology from icon name when not set explicitly. Elements withaws:,azure:,gcp:, ortech:icons will get a human-readable technology label (e.g.tech:apache-flink→ "Apache Flink"). Can be disabled viainferTechnologyFromIcon: falsein project config. #2642
🐞 Bug Fixes
-
Fixed hollow edge markers (odiamond, oarrow, odot) to display as hollow with background fill instead of solid fill, closes #2634
-
Improved state management and error handling in VSCode extension preview, closes #2625
New Contributors
Full Changelog: v1.49.0...v1.50.0