Skip to content

Releases: kieler/KLighD

Release 3.0.2

07 May 16:19
Compare
Choose a tag to compare

A small patch to fix missing artifacts of the last 3.0.1 release compared to the previous 2.x.y release. This release only changes the Maven artifacts for the language server, so there only is a Maven release for this with no new P2 artifacts. For that, see the 3.0.1 release.
Find the Maven artifacts at the Apache repository or the Sonatype repository.

Changes/Bugfixes
Diagram Server

  • Include the META-INF/services folder of the klighd.lsp module in the published artifacts. @NiklasRentzCAU

Full Changelog: release-2024-04-3.0.1...release-2024-05-3.0.2

Release 3.0.1

12 Apr 10:47
Compare
Choose a tag to compare

The next major release of KLighD is here! We skipped announcing 3.0.0 as the major release, as during the release process we noticed some issues in the Maven artifacts, so that release was never fully completed and therefore never went official.
Find the updatesite at https://kieler.github.io/KLighD/v3.0.1/ or in a single zip file below.
Find the Maven artifacts at the Apache repository or the Sonatype repository.

New Features
General

  • Added new property ROUNDED_RECTANGLE_AUTOPADDING to add padding to fit the content of a node within the bounds of a rounded rectangle #165 @Eddykasp
  • Added semantic filtering and tagging API #137 #129 @Eddykasp

Diagram Server

  • Added support for top-down layout from ELK 0.9.0 #173 @Eddykasp
  • Added support for interactive layout for ELK's MrTree algorithm #145 @soerendomroes
  • Added Proxy Views #129 @fight4day @Eddykasp @NiklasRentzCAU Proxies are simplified renderings that can be added to graph elements via the PROXY_VIEW_PROXY_RENDERING property that will be shown on the border of the screen in klighd-vscode-based applications to indicate connections to off-screen elements in a non-obstructive way.

Removals

  • We do not provide P2 artifacts of the .lsp Plugin anymore, as it is not an Eclipse-Plugin after all and should only be used via Maven dependencies. #182

Changes/Bugfixes
General

Eclipse-based
*

Diagram Server

  • breaking Split up the standalone plugin into a standalone plugin with the same behavior and a setup plugin containing the setup of KLighD from standlone, without the Piccolo exporter. This enables the use of standalone as an artifact with the capability for off-screen rendering applications, while language-server-based applications use the setup plugin instead, to avoid the unneeded dependency. Requires language server applications to switch their standalone dependency for the setup dependency and update the de.cau.cs.kieler.klighd.standalone.KlighdStandaloneSetup import for the new de.cau.cs.kieler.klighd.setup.KlighdStandaloneSetup import. #190 @NiklasRentzCAU
  • Changed ID generation for diagram/rendering elements for consistent and predictable instead of random IDs #174 @NiklasRentzCAU
  • Fixed handling of non-expanded graphs in ID generation/micro layout calculation in the language server #188 @NiklasRentzCAU
  • Re-structured interactive layout with ELK #145 @soerendomroes @Drakae
  • Update to Sprotty 1.1.1 #182 #183 @NiklasRentzCAU

Release 2.3.0

06 Jun 17:05
Compare
Choose a tag to compare

The next minor release of KLighD is here as the first release with accompanying Maven artifacts on Maven Central!
Find the updatesite at https://kieler.github.io/KLighD/v2.2.0/ or in a single zip file below.
Find the Maven artifacts at the Apache repository or the Sonatype repository.

New Features
General

  • All bundles are now available as Maven artifacts, more information see below. #162 #78

Removals

Diagram Server

  • Estimate clip shape bounds to allow the clip shape feature in the web version #158

Changes/Bugfixes
General

  • Updated many build dependencies and Java versions #97 #150 #155
  • Minor improvements #153
  • fixed inset calculation. #25 #154

Eclipse-based

Diagram Server

  • Fixed a possible deadlock in diagram generation #157
  • added binding to language server to avoid an error in derived language servers, stemming from a newer Xtext 2.28 release #162 #144
  • Maven artifacts surrounding the diagram server now use mock SWT dependencies, see more below #63 kieler/SWT-Mock#2

as well as more small fixes for Eclipse and Diagram server behavior.

The new Maven artifacts
The newly published Maven artifacts have the goal to make builds using the diagram server and KLighD's offscreen exporters in a more natural way, by using simple Maven/Gradle dependencies instead of previously used hacky workarounds. Currently the artifacts are mainly built for these two use cases, other use cases might work as well, but you might have to beware of dependency management yourself:

First of all, most of the packages except de.cau.cs.kieler.klighd.standalone and de.cau.cs.kieler.klighd.lsp do not list their dependencies, therefore requiring dependency management by the dependent applications using only the other packages. E.g., some application just creating some KGraphs and use none of the other features will have to include more dependencies. We think this will not be a problem, as non-Eclipse applications always should use either one of the standalone/lsp packages.

Currently the de.cau.cs.kieler.klighd.standalone package works as an entry point for offscreen exporter applications with all dependencies as a bill of materials (BOM) contained in this package.
NOTE: If you only have a dependency on the standalone package, you might need to manually resolve the SWT dependencies if you want to use e.g. some diagram exporter using SWT, see #164. Otherwise if you do not need SWT you may exclude it as shown below and add a dependency to de.cau.cs.kieler.swt.mock:org.eclipse.swt and alike.

For diagram servers, the de.cau.cs.kieler.klighd.lsp package works as another BOM for language server-based applications. Here, the occurrences of org.eclipse.swt, org.eclipse.jface and some occurrences of org.eclipse.ui are being replaced by mock code only providing required API but no functionality. Because of legacy reasons SWT usually is deeply integrated into KLighD's core, but its code is never used in the language server case. As SWT usually introduces platform-dependent packages, this replacement with the mock code makes language servers platform-independent and more leightweight.

If you explicitly use some other KLighD packages in your diagram server application, you therefore might need to also exclude the "real" SWT etc. packages in favor of the mock. An example exclusion in a Maven pom.xml build might look like this:

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>de.cau.cs.kieler.klighd</groupId>
        <artifactId>de.cau.cs.kieler.klighd</artifactId>
        <version>${klighd-version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.eclipse.platform</groupId>
            <artifactId>org.eclipse.swt</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.eclipse.platform</groupId>
            <artifactId>org.eclipse.ui.workbench</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.eclipse.platform</groupId>
            <artifactId>org.eclipse.jface</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
       [...]
    </dependencies>
  </dependencyManagement>

Release 2.2.0

15 Jul 14:22
Compare
Choose a tag to compare

Today we once again present a new minor release of KLighD including some bugfixes and new features!
Find the updatesite at https://kieler.github.io/KLighD/v2.2.0/ or in a single zip file below.

New Features

  • Allow to customize the tooltip renderer #73
  • Added an incremental diagram piece synchronization for the diagram server #103
  • Added description field to synthesis options, shown when hovering #108
  • Added white/blacklist to specifically include/exclude properties on serialization of graph elements in diagram server #110 #118
  • Added support for setting default font names via environment variables #124. Default fonts can be provided with the KLIGHD_DEFAULT_FONT_NAME and KLIGHD_DEFAULT_MONOSPACE_FONT_NAME variables.

Changes/Bugfixes
General

  • Updated license to EPL-2.0 #96
  • Fixed tail arrow head positioning #38
  • Fixed some issues in the FreeHep SVG generation
  • Fix default step size for float range options #126
  • Update to ELK 0.8.1 #119

Eclipse-based

  • Fixed an issue in the print dialog #19
  • Fixed an issue with synthesis option sliders #23
  • Changes related to better disposing of SWT resources #75 #125
  • Fix in the drawing coordinate system for clipped graph elements #104
  • Fixed updates of cached bounds for invisible ports and labels #107

Diagram Server

  • Fixed inset handling #114
  • Changed tracing to be lazy #95
  • Removed text bounds estimation, use a consistent Font (Overpass) to have consistent estimations between server and client #101
  • changed serialization behavior of properties in graph elements to use white/blacklist #110 #118 #115 #122
  • Fixed an issue with setting/resetting synthesis options #112
  • Fixed SWT issues related to MacOS #117
  • Fixed synchronization issue while accessing view context and synthesis #131

as well as more small fixes for Eclipse and Diagram server behavior.

Release 2.1.0

06 Jul 15:46
Compare
Choose a tag to compare

We present a new minor release of KLighD including some bugfixes, adaptions to newer versions and new features!
Find the updatesite at https://kieler.github.io/KLighD/v2.1.0/ or in a single zip file below.

Changes/Bugfixes

  • Some cleanup in the usage of the composite and all release updatesites was done, see #36 and #79.
  • Correctly log exceptions and messages handled using Klighd.handle #76
  • Fixed disappearing toolbar items in Eclipse #74
  • Improved offscreen renderig and svg export #81
  • Some minor improvements for LSP #85 #83 and other commits without linked issues/PRs

Release 2.0.0

30 Sep 11:17
Compare
Choose a tag to compare

A new major release of KLighD including some bugfixes, adaptions to newer versions and new features!
Find the updatesite at https://kieler.github.io/KLighD/v2.0.0/ or in a single zip file below.

New Features

  • Language Server support added to allow displaying diagrams using the KLighD framework within other use-cases as an extendable standalone non-Eclipse Application using Sprotty. See #49 and the new de.cau.cs.kieler.klighd.lsp bundle. Further details also on https://github.com/eclipse/sprotty and https://rtsys.informatik.uni-kiel.de/confluence/display/KIELER/KEITH
  • In addition to Extension Points, extensions are now also allowed to be registered via Java Service Loader to allow for non-Eclipse execution #50
  • Added Extension Point/Java Service 'startupHook' that will load on startup of KLighD and can be used to register all KLighD extensions in a single place programatically without having to bother with registering every syntheses, action, etc. via extension point and as a Java Service every time. Only this new extension has to be registered once via extension point and in a META-INF/services/de.cau.cs.kieler.klighd.IKlighdStartupHook file.

Changes and Bugfixes

  • KLighD now uses Eclipse 2020-06, ELK 0.7.0, Xtext 2.22, and has a new requirement to Sprotty 0.9.0 for the language server bundles.
  • Some non-Eclipse- and non-UI specific components have been refactored into own *.ide Plug-Ins. This includes syntheses, actions and some other stuff. See #41,#42
  • Added unique identifier to SynthesisOptions
  • Improved incremental update to preserve the order of elements, see #1, #48
  • Made incremental update more robust to non-standard and modified graphs.
  • Fixed the dash pattern in KLineStyles #18
  • Improved texts in SVG export #44
  • Allow multiple KTexts per KLabel #55
  • More minor bugfixes.

Release 1.1.1

11 Jun 13:59
Compare
Choose a tag to compare

A small patch release of KLighD to fix a bug with the source model tracking breaking the diagram view in some cases.
Find the updatesite at https://kieler.github.io/KLighD/v1.1.1/ or in a single zip file below.

Fixed issues:
#6

Note: There are currently no new Maven artifacts for this release.

Release 1.1.0

02 Apr 09:07
Compare
Choose a tag to compare

The second release of KLighD on GitHub.
Find the updatesite at https://kieler.github.io/KLighD/v1.1.0/ or in a single zip file below.

Some release notes:

<repository>
	<id>klighd</id>
	<url>https://kieler.github.io/KLighD/repo</url>
</repository>

Release 1.0.0

18 Feb 09:10
Compare
Choose a tag to compare

The first release of KLighD on GitHub. Find the updatesite at https://kieler.github.io/KLighD/v1.0.0/ or in a single zip file below.