Releases: kieler/KLighD
Release 3.0.2
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
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
- breaking swapped Injection namespace from
javax.inject
tojakarta.inject
resp.com.google.inject
#176 #185 - updated minimum requirement for Java to LTS version 11 #176 @NiklasRentzCAU
- Improved robustness of the incremental diagram updater for cross-hierarchic changes #160 #171 @Eddykasp @NiklasRentzCAU
- Deprecated and replaced the miss-spelled
MODEL_ELEMEMT
property for a newMODEL_ELEMENT
property #179 @NiklasRentzCAU - Fixed parsing of layout options in KGraphs #184 @NiklasRentzCAU
- Cleaned up generated binary jars to not contain any Xtend source files #180 @NiklasRentzCAU
- Updated build infrastructure versions, build with Java17 #166 #168 #172 #176 @NiklasRentzCAU
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 newde.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
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
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
- Replace deprecated WidgetProperties #148 Thanks to @HannesWell
- simplify klighd.ui.printing.dialog #148 Thanks to @HannesWell
- Minor improvements #153
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
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
andKLIGHD_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
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
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
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
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:
- more effort was spent on compensating the machine wide display scale setting (mainly win32), see
https://rtsys.informatik.uni-kiel.de/jira/browse/KIPRA-1873,
https://rtsys.informatik.uni-kiel.de/jira/browse/KIPRA-1925, and
https://rtsys.informatik.uni-kiel.de/jira/browse/KIPRA-2019 - KLighD can now be used in plain Java applications, esp. for automatic (batch) creation of diagram images (pixel and SVG),
components are offered as m2 artifacts on the custom m2 repo at https://kieler.github.io/KLighD/repo,
for usage add a dependency on[email protected]
and add
<repository>
<id>klighd</id>
<url>https://kieler.github.io/KLighD/repo</url>
</repository>
Release 1.0.0
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.