Skip to content

Latest commit

 

History

History
560 lines (370 loc) · 33.9 KB

CHANGELOG.md

File metadata and controls

560 lines (370 loc) · 33.9 KB

0.60.0 (2024-03-10)

🚀 Features

  • Relations with container elements #530
    Relations with container elements were always used to layout diagrams but were not shown as they sometimes looked quite weird. While solving #614 it was figured out:
    • Sometimes, Graphviz fails to "group" more than 5 nodes (or some extra heuristics required)
    • Relations with containers look much better without hard minlen
    • Results from Graphviz WASM and its binary version can be significantly different

Compare results by starting two CLIs (with and without --use-dot-bin)

Bug Fixes

  • decrease the number of nodes to group 7 -> 5, closes #614

0.58.0 (2024-03-08)

🚀 Features

0.57.1 (2024-02-23)

Bug Fixes

0.57.0 (2024-02-23)

🚀 Features

  • cli: add option to use graphviz binary (instead of bundled WASM) #534 (205e334)

Bug Fixes

  • cli: tsx default tsconfig (2f5b3f0)
  • lsp: returns references to the same views if no changes are made (56333e1)
  • vscode: use browser and node startServer from @likec4/language-server (67e3bab)

0.56.0 (2024-02-17)

Features

  • vscode: setting to use local graphviz binaries (see #534 7e93e86)

Bug Fixes

  • core: improve error stack trace (06ebf81)
  • deps: update dependency @hpcc-js/wasm to ^2.15.3 (#537) (b2fc368)
  • deps: update dependency @radix-ui/themes to ^2.0.3 (#544) (c0929a1)
  • deps: update dependency autoprefixer to ^10.4.17 (#561) (56f462f)
  • deps: update dependency jotai to ^2.6.4 (#545) (1f97776)
  • deps: update dependency konva to ^9.3.2 (#546) (469c3bc)
  • deps: update dependency konva to ^9.3.3 (58db259)
  • deps: update dependency react-accessible-treeview to ^2.8.3 (#556) (919aede)
  • deps: update dependency remeda to ^1.40.0 (#555) (a5797f6)
  • deps: update dependency remeda to ^1.40.1 (#559) (8815004)
  • deps: update dependency ts-graphviz to ^1.8.2 (ea80d34)
  • deps: update playwright to 1.41.2 (18416f1)

[0.55.0]

Skipped due manual (and erroneous) publishing to marketplace.

0.54.0 (2024-01-12)

🚀 Features

  • lsp: add tags to relationships (a7e6e06)

Bug Fixes

  • vscode: document selector on windows (2540f88)

0.53.0 (2024-01-10)

Features

Fixes

  • cli: add fs watcher inside plugin on server configuration (73f4263)
  • cli: d2 view fails to load (5f7690f)
  • diagrams: minor ui improvements (2f38eb4)
  • layout: add headArrowPoint and tailArrowPoint to edges (89a9171)
  • layouts: ts compile error and remove dead code (667bc00)
  • layout: use constraint=false instead of minlen=0 (1fdc6ba)
  • types: NonEmptyArray has defined either head or tail (dccc52a)

0.52.0 (2023-12-12)

  • likec4: preview mermaid and d2 (02f0be2)
  • likec4: improve graphviz output (954e7d0)

Bug Fixes

  • deps: bump @hpcc-js/wasm to 2.15.1 (8e51156)
  • graph: remove implicit edges if there is any nested already included (94f935f)
  • graph: sort graph nodes (3c8adf7)
  • layout: edges with reverse direction (09edfb8)
  • layouts: don't use weight edges in graphviz layout (60917eb)

0.51.0 (2023-12-05)

🚀 Features

  • language-server: tolerant parser, exclude only erroneous elements (previously ignored whole document) (2c9c456)

Bug Fixes

  • graph: improve compound layouts (feec3b3)
  • graph: correct relationship predicate (eba2be6)
  • generators: indent in mermaid (6d27249)
  • deps: bump vitest to 1.0.1 (0666acd)
  • deps: update dependency jotai to ^2.6.0 (62e46f2)

0.50.0 (2023-12-01)

🚀 Features

  • diagrams: navigate button (44d2182)
  • likec4: display other formats (c2f5823)
  • likec4: copy-to-clipboard button (ee444ac)
  • likec4: display diagram links (c4932e7)
  • likec4: show overlay on validation error (6f1c36f)

Bug Fixes

  • layouts: background color for compounds in dot (773c1ae)
  • deps: update dependency type-fest to ^4.8.2 (75c54fa)
  • docs: show correct dot in playground (9e20da9)
  • graph: sort graph nodes considering implicit edges (a1e33a4)
  • layouts: improve graph layout (e71abfe)
  • graph: removeRedundantImplicitEdges (a6420dc)

0.49.0 (2023-11-23)

🚀 Features

Bug Fixes

  • codegen: incorrect dot is generated (fddade6)
  • vscode: extension lifecycle (correct "dispose") (ecedcd6)

0.48.0 (2023-11-21)

Bug Fixes

  • deps: update dependency playwright-core to ^1.40.0 (#466) (ac979d4)
  • likec4: import statements and error handling in code (efb0797)
  • lsp: semantic tokens overlap (f4b9c00)
  • vscode: init workspace for web (88b043d)

0.47.0 (2023-11-18)

Custom navigation and links between views:

view view2 {
  include *
  include cloud.backend with {
    // navigate to 'view3' on click
    navigateTo view3
  }
}

view view3 {
  include *
  include cloud.backend with {
    // the same element, but navigate back to 'view2'
    navigateTo view2
  }
}

🚀 Features

  • lsp: custom navigation (dc428ee)
  • vscode: add WorkspaceSymbolProvider (f333a24)

Bug Fixes

  • cli: output version (4e06953)
  • deps: update dependency @radix-ui/themes to ^2.0.1 (8c6802f)
  • deps: update dependency jotai to ^2.5.1 (4bb2362)
  • deps: update dependency nanostores to ^0.9.5 (748554c)
  • deps: update dependency type-fest to ^4.7.1 (cadebe0)
  • layouts: improve edge weights (21f55cb)
  • layouts: set minlen=0instead of constraint=false for better layout (ccad492)
  • lsp: allow reserved words as ID (12636d5)
  • lsp: make extended element resolvable inside its body (6c3b009)

0.46.1 (2023-11-14)

Bug Fixes

  • cli: return optimizeDeps in serve (d8e065f)

0.46.0 (2023-11-11)

With the Langium update to version 2.1.2, the code completions in VSCode have significantly improved.

🚀 Features

  • core: add depth field to compound nodes (fe3083a)
  • diagrams: backgroung pattern (c2bc83b)
  • graph: sorting of relationships (bd8d694)
  • lsp: any order of top-level statements (#445) (154844c)
  • vscode: display error message on failed parse (789958f)

Bug Fixes

  • core: hierarchical sorting of relationships (6325e0e)
  • deps: update dependency remeda to ^1.29.0 (1ec9348)
  • deps: update langium to 2.1.2 (#423) (ba17f44)
  • graph: do not add element if it exists implicitly (27b5d7d)
  • graph: left-align for edge labels (7e7dea8)
  • likec4: improve transparent background for emded (174f296)
  • lsp: onBuildPhase should be in async context (2a7f0cb)

0.45.0 (2023-11-04)

🚀 Features

  • likec4: dedicated page for export with transparent background (e992144)

Bug Fixes

  • likec4: don't emptyOutDir on second run (9d58f39)
  • diagrams: absolute position for FullscreenDiagram (29741f1)
  • diagrams: adjust label positions (afdad65)
  • diagrams: correct node label positions (500f53d)
  • diagrams: smooth animation (ad054ce)
  • docs: css classes for embedded diagram (9a0418a)
  • layouts: strict align for node and edge labels (813fd10)
  • vscode: git changes were parsed too, that led to duplicate entries (04d1a7f)

0.44.1 (2023-11-02)

Bug Fixes

  • cli: vite ports and export output (36e0f68)
  • deps: update dependency konva to ^9.2.3 (b02301b)

0.44.0 (2023-10-30)

Features

  • diagrams: add icon to elements to indicate they include a sub-view #361 (8fd1a2e)

0.43.1 (2023-10-29)

Bug Fixes

  • diagrams: better timing for edge onhover (2dec801)
  • vscode: do not fail if source file was removed (96e15ff)

0.43.0 (2023-10-29)

🚀 Features

  • diagrams: highlight elements of the hovered edge (7e65b0e)

Bug Fixes

  • language: add validation for incoming and outgoing expressions (b31c1f1)

0.42.2 (2023-10-28)

Bug Fixes

  • graph: handle -> .. -> expressions (c7fb33e)
  • layouts: haveNoOtherEdges condition should be only for root (095c4ac)

0.42.1 (2023-10-26)

Bug Fixes

  • cli: wrong vite entrypoint when embeded (4f43536)

0.42.0 (2023-10-26)

🚀 Features

  • cli: export to PNG from preview (6996184)

0.41.0 (2023-10-25)

🚀 Features

  • diagrams: relationship kinds by @MoBoo (#342)
    Docs

    Relationship kinds allow you to express different types of relations in a model and customize styling.

    Example:

    specification {
      relationship async {
        color amber
        line dotted
        head diamond
      }
    }
    model {
      service1 -[async]-> service2
    }
    
  • cli: new CLI and preview mode

    Try this in folder with your *.c4 files

    npx likec4 serve

    Documentation is updating... 👷

  • cli: export to static website

    npx likec4 build -o dist
  • cli: Scaffold projects with npm create likec4 (ef7cf93)

  • diagrams: dashed relationships by default (3593d71)

Bug Fixes

  • diagrams: don't animate element if animation is disabled (b039602)
  • likec4: responsive embeds (c8b187d)
  • likec4: use deviceScaleFactor = 2 (ad8099a)
  • likec4: use window size for export/embed (a0b3d6b)
  • remove redundant implicit edges (4a8daaf)
  • use [...] for merged edges (81282e6)
  • vscode launch task loads source maps (c867401)

New Contributors

@MoBoo made their first contribution in #374

0.40.0 (2023-10-09)

Features

Bug Fixes

0.37.1 (2023-09-16)

Features

  • vscode: "Open source" from element context menu in preview panel (8b19661)
  • vscode: Back button in preview panel

Bug Fixes

  • diagrams: improve contextmenu (487972a)
  • diagrams: use value from hash as initialViewId, if available (2145de6)
  • language: add index view if not present (836a05e)

0.37.0 (2023-09-14)

Features

0.36.0 (2023-09-12)

Features

  • cli: option to use custom HTML template for exported png (4e7ef2c)
    This allows use custom CSS styling and render additional elements, like View title, description or watermarks.
    Documentation

Bug Fixes

  • language-server: separate elements and tags in specification (#305) (796068f)
  • vscode: improve logging and telemetry (#310) (cd175e2)

0.35.0 (2023-09-09)

Features

  • diagrams: add resetHashOnUnmount and onReturnToInitial props to useViewId hook (#301) (563b35b)
  • update typescript to ^5.2.2 (#298) (956c180)
  • use Node 20 (faf7949)

Bug Fixes

  • babel compatiblity with Node 20.6 (b35846c)
  • deps: update vitest ^0.34.3 (#297) (c4a2dbf)
  • language-server: memory leak on keeping reference to element (c7e37f4)

0.34.0 (2023-09-01)

Features

  • More customization in React components (1bdf747)
  • Updated to Langium 2.0.0 (fc158f1)

Bug Fixes

0.33.1 (2023-08-12)

No changes, just trigger release.

0.33.0 (2023-08-12)

Breaking changes

We do not change major version yet, as the project is in active development.

This release includes breaking changes in @likec4/diagrams:

  • diagrams: DiagramsBrowser
    You've already seen this component working on the project website, but it was not back-ported to the npm-module
  • diagrams: LikeC4 factory
    Creates components, "bound" to your model, with type checks. It ensures that only existing views can be rendered.

With codegen command, CLI generates structured data, like:

export const LikeC4Views = {
  indexLR: {
    title: 'Landscape View'
    nodes: [/* ... */],
    edges: [/* ... */],
  },
  cloud: {
    title: 'Overview of Cloud'
    nodes: [/* ... */],
    edges: [/* ... */],
  },
}

This data is used to draw views with @likec4/diagrams react component.

import { LikeC4 } from '@likec4/diagrams'
import { LikeC4Views } from './generated-code'

// Creates components, bound to the data (with type checks).
// It ensures that only existing views can be rendered.
const { Diagram, Responsive, Embedded, Browser } = LikeC4.create(LikeC4Views)

export const IndexView = () => <Embedded viewId={'indexLR'} />

Documentaion (in progress)

Features

  • core: add color to DiagramLabel (47b7579)
  • core: add in/out edges to ComputedNode (0ddb07c)
  • core: available in ESM/CJS
  • diagrams: available in ESM/CJS

Bug Fixes

  • generators: can't infer result type from export ./compute-view (#267) (1945a97)
  • layouts: disable graphviz.unflatten, requires research (5379926)
  • deps: pin esbuild to 0.17 (3d6125d)
  • deps: update dependency @hpcc-js/wasm to ^2.13.1 (#254) (3069dab)
  • deps: update dependency jotai to ^2.2.3 (#255) (3179777)
  • deps: update linters to ^6.3.0 (717770f)

0.32.0 (2023-08-04)

Features

Bug Fixes

  • core: more accurate computeElementView (e57c7c4)
  • deps: update dependency class-variance-authority to ^0.7.0 (dd2bf46)
  • deps: update dependency lucide-react to ^0.263.1 (d232c26)
  • deps: update dependency turbo to ^1.10.11 (#227) (599c230)
  • deps: update linters (a347385)

0.31.0 (2023-07-25)

Features

  • core: Add tags, description, links properties to View (13edf4c), closes #240
  • language-server: Export element and view properties #240

Known issues

  • Relative links are not resolved, follow-up #244

Bug Fixes

  • deps: update commitlint monorepo to ^17.6.7 (dd29487)
  • deps: update dependency body-scroll-lock-upgrade to ^1.0.4 (b2da23d)
  • deps: update dependency eslint to ^8.45.0 (82efda1)
  • deps: update dependency jotai to ^2.2.2 (437a50f)
  • deps: update dependency lucide-react to ^0.262.0 (97541cb)
  • deps: update dependency remeda to ^1.24.0 (f7ec074)
  • deps: update dependency tailwind-merge to ^1.14.0 (4c71882)
  • deps: update dependency word-wrap to ^1.2.5 (2c0569c)
  • deps: update nextra monorepo to ^2.10.0 (010447c)
  • deps: update typescript-eslint monorepo to ^6.1.0 (c0da381)
  • diagrams: unique edge key, scoped to diagram, to avoid any issues with diagram transitions (bc270da)

0.30.0 (2023-07-21)

Features

Fixes

  • deps: update dependency word-wrap from 1.2.3 to 1.2.4 (🔒fix: CVE 2023 26115) (2e5f99)

0.29.0 (2023-07-12)

Features

  • core: introduce modern-errors and replace tiny-invariant (4caeb61)

Performance Improvements

  • simple caching for model (f79b53c)

Bug Fixes

  • cli: use node:path module #212 (5f6e1d1)
  • deps: update dependency lucide-react to ^0.259.0 (9636a47)
  • deps: update typescript-eslint monorepo to ^5.62.0 (#209) (2c62486)
  • deps: update typescript-eslint monorepo to v6 (major) (#210) (aff4cac)

0.28.3 (2023-07-07)

trigger release

0.28.2 (2023-07-07)

trigger release