2024.0.11

ImprovementLuciadFusion

LCD-13562
The border size of a TLcdSymbol can now be set after creation.

Bug fixLuciadFusion

LCD-13509
Fixed a rare potential deadlock in TLspLabelPainter.

Bug fixLuciadFusion

LF-2644
Fixed and issue that caused the ISO metadata of a data to not be updated when the data was updated in the Studio web app or using the REST API.

Bug fixLuciadFusion

LCD-13619
The OGC SE function FormatDate no longer logs a warning message when it is called with a null value.

2024.0.10

Bug fixLuciadFusion

LCD-13597
Fixed a problem where GML files containing curves with different references would be converted incorrectly during encoding.

Bug fixLuciadFusion

LCD-13594
Fixed a problem where GML files containing arc-by-center-points with different references would be converted incorrectly during decoding.

Bug fixLuciadFusion

LF-2654
Resolved an issue where the default ErrorController configured by LuciadFusion Platform did not apply the Spring error configuration properties, such as server.error.include-stacktrace.

Bug fixLuciadFusion

LCD-13592
The WFS server returned duplicate identifiers for GetFeature requests with a property name filter in case the source data did not have an explicit identifier (such as SHP files).

2024.0.09

Bug fixLuciadFusion

LCD-10234
The TLcdGeoPackageFeatureDatabaseModelEncoder now allows to add extensions to existing files.

Bug fixLuciadFusion

LCD-13575
Fixed an issue with reference handling in TLcdGeoTIFFModelDecoder when using GeoTIFF tags. A user defined reference with Mercator projection ignored the parameter ProjNatOriginLatGeoKey.

2024.0.08

ImprovementLuciadFusion

LCD-13516
It is now possible to configure WMS and WMTS services to produce HTTP 500 Internal Error responses when any exception occurs during painting. You can enable this behavior by setting the system property com.luciad.fusion.wms.server.errorResponseOnPaintException to true.

Bug fixLuciadFusion

LCD-13559, LCD-13560
Fixed the TLcdWKTReferenceFormatter and TLcdWKTReferenceParser for Cartesian references that don't use meter as distance unit.
Additionally, the parser will now use the conversion parameter that is provided in the WKT string to transform the unit to meter, even if the unit was not previously known or registered.

2024.0.07

ImprovementLuciadFusion

LF-2560
Improved the robustness when retrieving corrupt tiles from Fusion tile repositories (e.g. preprocessed point clouds). The new behavior logs an error and reports the tile as unavailable.

ImprovementLuciadFusion

LF-2560
Improved the robustness when writing to Fusion tile repositories (e.g. when preprocessing point clouds) on unreliable storage. The new behavior performs multiple write attempts.

ImprovementLuciadFusion

LF-2611
The TLfnEventSourceRequest of events published by LuciadFusion now includes the remote address of the client that made the request. The address can be obtained by calling the getRemoteAddress method on the TLfnEventSourceRequest object. Note that this address can be the address of a proxy server if a proxy is put in front of LuciadFusion.

Bug fixLuciadFusion

LCD-13445
TLcdBingMapsModelDecoder: resolved an issue where unexpected parameters in the Bing Maps template URL could trigger a parse exception.

Bug fixLuciadFusion

LF-2633
Fixed an issue that caused supporting files to no longer be associated with a data after the custom properties on that data were changed.

Bug fixLuciadFusion

LCD-13533
Fixed an SLD icon rendering issue that prevented the use of an SLD size larger than 500 meters or feet for pixel-based icons.

2024.0.06

Bug fixLuciadFusion

LCD-13525
Since version 2024.0, the WFS server could return exception reports for valid POST (XML) requests.

2024.0.05

Bug fixLuciadFusion

LCD-13519
The default WMS and WMTS GetLegendGraphic support for layers styled with an SLD did not take into account the color of a polygon symbolizer if it was defined inside a mark.

Bug fixLuciadFusion

LCD-13508
The following WCS server issues have been fixed related to the handling of the optional "Sections" parameter in a GetCapabilities request:
  • The parameter was not supported for WCS 1.1 POST requests.
  • The parameter was not validated for WCS 1.0 GET and POST requests.

Bug fixLuciadFusion

LCD-13496
TLcdGeoPackageModelDecoder, TLcdLVDBModelDecoder and TLcdSpatiaLiteModelDecoder now are able to correctly resolve the srs_id of data when the name of the table or column containing the spatial data contains non ASCII characters.

Bug fixLuciadFusion

LCD-13510
The WFS server returned a WFS 1.1 response instead of a WFS 2.0 response for a WFS 2.0 GetFeature hits request.

2024.0.04

ImprovementLuciadFusion

LCD-13270
A new article How to load multi-dimensional WM(T)S layers has been added to explain how to access the available dimensions for a WM(T)S layer, supply dimension values in requests and visualize the resulting data in a 2D and 3D view.

ImprovementLuciadFusion

LF-2622
The performance of queries that use the lfn.creationTime or lfn.updateTime properties has been improved.

Bug fixLuciadFusion

LF-2626
Fixed an issue in LuciadFusion Studio that caused an error when adding or crawling a file that contained multiple data, and a style file with the same name was located next to it.

Bug fixLuciadFusion

LCD-13477
Editing of geometries visualized by a PointSymbolizer can now be disabled. This capability can be activated on a TLcdSLDPointSymbolizer by configuring an SLD vendor option with name allowEditing and value false.

Bug fixLuciadFusion

LCD-13476, LCD-13470
Changes made in the scope of LCD-13438 have been reverted. An alternative solution is provided through LCD-13477.

Bug fixLuciadFusion

LCD-13424
It is now possible to query ILcdModel instances created by the TLcdGeoPackageModelDecoder on fields that start with a number.

Bug fixLuciadFusion

LCD-12862
If the new semantics given to a TLcdSemanticsOp contain nodata values but the original semantics did not, they will now be taken into account in further processing. This means pixel values matching the nodata value do not participate in any further operations. These pixels will not be displayed when visualized on screen.

Bug fixLuciadFusion

LCD-13475
When using WMS layer dimensions the following dimensions are now published in the capabilities:
  • Dimensions with an axis without a unit.
  • Dimensions with strings as possible values.

Upgrade considerationLuciadFusion

LCD-13414

Fixed a potential deadlock when modifying the ILcdCollection that is returned by ILspInteractivePaintableLayer#getObjectsWithPaintState, while holding a write lock on that collection. To fix this, ILcdCollection (and by extension ILcdList) now have additional methods that allow specifying an ILcdFireEventMode when performing modifications. By using the ILcdFireEventMode.FIRE_LATER event mode, collection change events are fired after the write lock has been released.

We recommend scanning your codebase for any custom usages of ILspInteractivePaintableLayer#getObjectsWithPaintState and making sure that any modifications to this collection happen within a write lock, while the change events are only fired after that write lock has been released. An example code snippet on how to do this can be found in the ILspInteractivePaintableLayer#getObjectsWithPaintState method javadoc.

2024.0.03

ImprovementLuciadFusion

LCD-13396
The implementations of com.luciad.format.dafif.TLcdDAFIFModelDecoder#canDecodeSource and com.luciad.format.coverage.TLcdCoverageModelDecoder#canDecodeSource have been optimized. This also improves crawling performance of data inside LuciadFusion, which is now up to 24% faster.

ImprovementLuciadFusion

LF-2592
LuciadFusion Studio can now correctly parse the model reference and bounds of HSPC datasets that define their reference as a "projection-wkt" property in the hspcInfo.json file.

ImprovementLuciadFusion

LCD-12583
The existing article Using LuciadLightspeed in a Maven repository has been extended with a section about using BOM files.

ImprovementLuciadFusion

LCD-10417
The TLcdGeoPackageModelDecoder and TLcdGeoPackageModelEncoder now have support for the following geometry types:
MULTICURVE
MULTISURFACE
CURVEPOLYGON
COMPOUNDCURVE

ImprovementLuciadFusion

LF-2598
Viewing a File Server endpoint URL in a browser now displays the LuciadFusion favicon.

ImprovementLuciadFusion

LF-2505
The preview of a GLB file in LuciadFusion Studio now shows the bounds if there is an external model reference file next to the GLB dataset.

ImprovementLuciadFusion

LCD-13464
Improved support for OSGB datasets using an OSG StateSet with a ModeList.

ImprovementLuciadFusion

LCD-13447
The decoding behavior of spatial filters included in WFS GetFeature POST requests has now been aligned between all WFS versions: similar as for WFS 1.x requests, spatial filters in WFS 2.0 POST requests are now decoded and transformed to the geographic reference of the requested WFS feature type. For GET requests, this was already the case.

Bug fixLuciadFusion

LCD-13433
Fixed an issue in the Maven setup, which depended on a library that was not part of the local repository.

Bug fixLuciadFusion

LF-2617
Fixed an issue that prevented the TLfnJobQueuedEvent from being published when a crawl job was queued as a result of a new data root being created.

Bug fixLuciadFusion

LCD-13466
LuciadFusion can now parse ILcdMultiDimensional model dimensions that have a TLcdISO19103DistanceMeasure as measure.

Bug fixLuciadFusion

LCD-13347
The com.luciad.sqlite.cacheMode system property allows the user to provide the cache mode used by sqlite driver. Possible values are private and shared, with private being the default value.

Bug fixLuciadFusion

LF-2590
Fixed an issue where LuciadFusion could not be deployed to Tomcat due to duplicate tomcat-embed-el library.

Bug fixLuciadFusion

LCD-13474
TLcdEPSGReferenceParser parsed the TOWGS84 rotation incorrectly for some EPSG codes. Coordinate references using the following datums are affected:
  • IG05/12 Intermediate Datum (EPSG:1144)
  • World Geodetic System 1984 (G730) (EPSG:1152)
  • World Geodetic System 1984 (Transit) (EPSG:1166)
  • CR-SIRGAS (EPSG:1225)
  • Sistem Referensi Geospasial Indonesia 2013 (EPSG:1293)
  • International Terrestrial Reference Frame 1992 (EPSG:6651)

Bug fixLuciadFusion

LCD-13351
TLcdSphereUtil#closestPointOnGeodesic and TLcdSphereUtil#closestDistanceToGeodesic didn't always produce correct results.

Bug fixLuciadFusion

LCD-11876
Fixed an accuracy issue in TLcdGeoTIFFModelDecoder and TLcdMIFModelDecoder for data that makes use of the "Amersfoort / RD New" reference (EPSG:28992).

Bug fixLuciadFusion

LCD-10789
TLcdLambert1972BelgiumGridReference now aligns more closely to the definition of EPSG:31300 in the EPSG database. This improves the precision of this reference by a few millimeters.

Bug fixLuciadFusion

LCD-10790
Transformations to/from EPSG:31370 are now more precise. TLcdWKTReferenceParser and TLcdEPSGReferenceParser now don't return an instance of TLcdLambert1972BelgiumGridReference anymore because it deviates from the definition of EPSG:31370.

Bug fixLuciadFusion

LF-2186, LF-2607
The preprocessing jobs that are created to convert point cloud datasets into OGC 3D Tiles services can now be properly stopped and restarted. Previously, restarting a paused job that converted data into OGC 3D Tiles could result in the job disappearing from the jobs list in the Studio web application. In some cases this also results in two jobs pre-processing the same data.

Bug fixLuciadFusion

LF-2616
Deleting a style using the REST API will now result in a TLfnStyleDeletedEvent being published. This was previously not the case.

Bug fixLuciadFusion

LCD-13448
TLcdGeorefUtil: fixed a rounding error that could occur when parsing a GEOREF coordinate.

Bug fixLuciadFusion

LCD-13438
Editing of geometries visualized by a PointSymbolizer can only be enabled when the geometry is an ILcdPoint. This avoids unwanted behavior when editing is enabled in combination with an SLD style containing multiple symbolizers.

Bug fixLuciadFusion

LCD-13434
Fixed a bug where the output of a WFS GetFeature request failed on data types with a Map property in combination with property name filtering.

Bug fixLuciadFusion

LCD-13427
TLcdCartesian#orientation2D no longer throws an exception when passing an empty point list. This also improves the robustness of the TLcdGeoJsonModelEncoder.

Bug fixLuciadFusion

LCD-13407
The XML encoders can now encode xsd:anyType elements with a built-in XML data type that is specified using xsi:type.

Bug fixLuciadFusion

LF-2595
Fixed an issue that could cause Lucene errors to be logged when LuciadFusion shuts down.

Bug fixLuciadFusion

LF-2567
Fixed an issue with the REST API GET api/data/filter endpoint that resulted in too many parameter errors reported by the database.

Bug fixLuciadFusion

LF-2200
The evaluation of an OGC IsLike operator on a database model has been made more robust against the use of special characters.

Bug fixLuciadFusion

LCD-10813
The TLcdGeoPackageModelDecoder now correctly handles the CIRCULARSTRING geometry type as a collection of zero or more continuous circular arc segments and the TLcdGeoPackageModelEncoder is able to encode a ILcdCompositeCurve containing multiple ILcdCircularArcBy3Points instances to CIRCULARSTRING.

Bug fixLuciadFusion

LCD-13460
Fixed an SLD GXY view issue that triggered errors when an empty SLD Point, Line and/or Polygon symbolizer was encountered. Aligned with the Lightspeed view behavior, such symbolizers will no longer cause and error but result in an empty visualization.

Bug fixLuciadFusion

LF-2620
Updated the value of the fusion.hspc.cache.maxAge property to 30 days, which corresponds to the value mentioned in the documentation.

Bug fixLuciadFusion

LCD-13449
Fixed a possible ArrayIndexOutOfBoundsException when accessing DTED data through the ILcdRaster API. This could occur when using the TLcdDTEDDirectoryModelDecoder with lazy DTED tile loading and when the DTED file deviates from the DTED specification.

Bug fixLuciadFusion

LCD-13423
The WFS server could not handle property name filters for property names that were renamed during the encoding to GML. Such a rename can occur when a property name in the original data starts with a character that is not allowed as first character in an XML element - for example, a number.

Bug fixLuciadFusion

LCD-6862
TLcdTABRasterModelDecoder could throw a RuntimeException instead of an IOException when decoding a TAB for raster data not supported by JAI. Now it throws an IOException with a more clear message.

Bug fixLuciadFusion

LCD-12749
TLcdBandColorSemanticsBuilder ignored the specified no data value when building from a color model.

Bug fixLuciadFusion

LCD-13377
Fixed an issue where some LIDAR data was painted with inverse colors.

Bug fixLuciadFusion

LF-2620

Updated the value of the cache.maxAge properties to 30 days, which corresponds to the value mentioned in the documentation.

The following caching properties have been updated:

  • fusion.ogctilesservice.cache.maxAge
  • fusion.panoramics.cache.maxAge
  • fusion.studio.webapp.cache.maxAge

Bug fixLuciadFusion

LCD-13429, LCD-13432
The WMTS model decoder now skips tile matrix sets with an unknown geographic reference instead of throwing an UnsupportedOperationException.

Bug fixLuciadFusion

LCD-13431
The WMTS model decoder used an incorrect geographic reference when creating a model for a WMTS layer backed by a GoogleCRS84Quad tile matrix set that used a reference with a lat/lon axis order. This prevented the layer from being visualized on the map.

Bug fixLuciadFusion

LCD-13379
TLcdOGC3DTilesModelDecoder: fixed an issue when opening Luciad Point Cloud datasets by passing a file URL.

Bug fixLuciadFusion

LCD-13413
Fixed an issue where resource jar files that don't contain any Java classes (e.g. lcd_epsg_resources.jar) could not be loaded in an OSGi environment.

2024.0

New featureLuciadFusion

LuciadFusion Studio now supports the Autodesk Revit format.

Adding or crawling a Revit file will result in two data entries: one for the geometry data and one for the features data. The geometry data can be published in an OGC 3D Tiles service. It will be pre-processed into OGC 3D Tiles before the service is started. The features data can be published in a WFS service.

The article Serving BIM data from LuciadFusion Studio explains in more detail how you can use Revit data.

New featureLuciadFusion

You can now use OGC 3D Tiles 1.1 tilesets in a LuciadFusion OGC 3D Tiles service. These tilesets can only be served as-is. No re-processing is available for version 1.1.

New featureLuciadFusion

The WCS service in LuciadFusion Studio now supports WCS version 2.0.1.

New featureLuciadFusion

The WCS server in the OGC Web Server Suite now supports WCS version 2.0.1.

New featureLuciadFusion

The Spring Boot dependencies of LuciadFusion have been upgraded from version 2.7 to version 3.2. This newer version brings numerous new features and fixes. It's advisable to read through the release notes of every version to know what is new, what has changed and what has been deprecated.

Check out our LuciadFusion troubleshooting guide for a list of major changes caused by the Spring Boot upgrade.

New featureLuciadFusion

TLcdMBTilesModelDecoder now also supports MBTiles services, next to files. To decode an MBTiles service you need to provide the TileJSON endpoint as source. An MBTiles service can for example be set up with LuciadFusion as of version 2024.0.

New featureLuciadFusion

LuciadFusion Studio now includes an MBTiles service type, which can be used to serve MBTiles raster or vector data.

New featureLuciadFusion

The OGC Symbology Encoding (SE) implementation now supports replacing colors in images. This can be achieved by using the SE vendor options colorReplace and colorReplaceTolerance in a TLcdSLDRasterSymbolizer. The new article How to replace a color illustrates this capability with an example.

New featureLuciadFusion

TLcdPixelReplaceOp is a new image operator which replaces a given color or value in an image with another. It can be used, for instance, to remove blank borders around an image by replacing them with a transparent color.

ImprovementLuciadFusion

LCD-13326
The WMS Server now supports a vendor-specific FILTER parameter that operates like the WFS GetFeature FILTER parameter for both GetMap and GetFeatureInfo requests.

ImprovementLuciadFusion

The WMS and WMTS services in LuciadFusion Studio have improved GetLegendGraphic support to create a meaningful legend for vector-oriented SLD styles (containing polygon, line and/or point symbolizers). You can also find the implementation in sample code to ease customizations: see samples.wms.server.SLDVectorWMSGetLegendGraphicEncoder and samples.wmts.server.SLDVectorWMTSGetLegendGraphicEncoder.

ImprovementLuciadFusion

LF-2576
The same-site attribute of the LuciadFusion session cookie has been set to Lax. This can be changed in the fusion.common.yml file.

ImprovementLuciadFusion

The following new system properties let users configure reference decoder priority for the following model decoders:

The priority decides whether the model reference decoding is first attempted from the reference information embedded in the data file and then fall back to external reference source files such as WKT (.prj), REF (.ref) and EPSG (*.epsg) in case of an error or vice versa when the other reference decoder priority is selected.

For more information on how to configure the reference decoder priority for supported ILcdModelDecoder implementations, refer to the following article: Setting model reference decoder priority

ImprovementLuciadFusion

LCD-13341
The metadata in the gpkg_data_columns table of a GeoPackage file is now used by TLcdGeoPackageModelDecoder to provide the correct display names in TLcdDataModelDisplayNameProvider#getDisplayName(TLcdDataProperty).

ImprovementLuciadFusion

The included Apache Ant distribution has been upgraded to version 1.10.14. This improves compatibility with Java 21.

ImprovementLuciadFusion

Products with cartesian referenced data can now be added to a WFS service.

ImprovementLuciadFusion

LCD-13289
It is now possible to customize the tile grid reference used by the tiled WMS painters for GXY and Lightspeed views. The tile grid reference can be specified through a newly added constructor in TLcdGXYTiledWMSProxyPainter and TLspTiledWMSProxyPainter. Customizing tile grid references can be useful to align with a server-defined tile grid reference used for caching of requests.

ImprovementLuciadFusion

LuciadLightspeed and LuciadFusion now support Java 21. Refer to the documentation on hardware and software requirements in the prerequisites section for more information.

ImprovementLuciadFusion

LCD-8681, LCD-13260
Introduced TLcdDataProperty#getSourceName, which contains the property name as it was defined in the source data. This may differ from the actual name of the property within the TLcdDataType, because that name can contain only alphanumeric characters and underscores, and may therefore have been sanitized.

When building a data type, the source name of a property can be configured with a setter on the TLcdDataPropertyBuilder. Additionally, TLcdDataType#getProperty now also checks this source name when searching a property that matches a given name.

The default TLcdDataModelDisplayNameProvider has also been adapted to use this source name by default, when retrieving a display name for a property.

Finally, The TLcdGeoJsonModelEncoder now uses these source names by default as well, when encoding data objects to GeoJSON features.

ImprovementLuciadFusion

LF-1958

To ease using HTTP/2 with LuciadFusion, the following improvements have been introduced:

  • A new article How to use HTTP/2 with LuciadFusion has been introduced.
  • HTTP/2 is now enabled by default in the LuciadFusion Platform configuration.
  • In order to enable HTTP/2 with the sample Jetty server shipped with LuciadFusion, we have included the following sample dependencies:
Group ID Artifact ID ID Version
org.eclipse.jetty.http2 jetty-http2-common 12.0.7
org.eclipse.jetty.http2 jetty-http2-hpack 12.0.7
org.eclipse.jetty.http2 jetty-http2-server 12.0.7
org.eclipse.jetty jetty-alpn-conscrypt-server 12.0.7
org.eclipse.jetty jetty-alpn-server 12.0.7
org.conscrypt conscrypt-openjdk-uber 2.5.2

ImprovementLuciadFusion

The LuciadFusion Studio REST API endpoint GET /api/data/filter now allows filtering Data resources by data categories and keywords. These properties are also listed by the GET /api/data/queryable-properties endpoint. More information on how you can use the GET /api/data/filter endpoint can be found in the data querying article.

ImprovementLuciadFusion

LF-2495

A LuciadFusion Studio REST API developer can now define custom properties with a limited set of allowed values for the Long data type in addition to the already supported String type. As a result of this:
addLongProperty(String, Set) and addLongProperty(String, String, Set, boolean) methods have been added to the class TLfnCustomPropertyDefinitions.
In addition to the above inclusions to the API, the following addEnumProperty(String, String, Set, boolean) and addEnumProperty(String, Set) methods of the class TLfnCustomPropertyDefinitions have been deprecated in favor of new methods addStringProperty(String, String, Set, boolean) and addStringProperty(String, Set).
It is recommended to use the newly introduced methods instead of the deprecated ones. The deprecated methods will subsequently be removed in one of the future product releases.

As a result of this enhancement the LuciadFusion Studio REST API endpoints GET /api/data/custom-properties and GET /api/data/queryable-propertiesno longer return 'Enum' as a 'type' in a REST API response. They now return the data type as determined by the type of value a custom property can take i.e. Long, Double, Boolean, Date, String. This change is consistent with the behavior of the custom properties which already returned the 'type' as their data type of the values.

ImprovementLuciadFusion

LF-1949
The file and folder picker in the LuciadFusion Studio web application now hides hidden files and folders.

ImprovementLuciadFusion

LF-1245, LF-1239, LF-2071
The capabilities of a service are now opened in a new tab when clicking on the GET CAPABILITIES button of a service in the LuciadFusion Studio web application.

ImprovementLuciadFusion

LCD-9753
TLcdGeoPackageFeatureDatabaseModelEncoder: encoding data objects with multiple geometry properties now results in a clear error message, instead of a message indicating a unique constraint violation.

ImprovementLuciadFusion

LCD-9574
The tray icon of the OGC server sample now has an additional entry to open the landing page.

ImprovementLuciadFusion

LF-2580
Improved the performance of browsing directories with a large number of entries in the Studio web application when adding data or data roots.

Bug fixLuciadFusion

LCD-13293
TLcdSLDMark: improved anti-aliased rendering of several types.

Bug fixLuciadFusion

LCD-13245
TLcdIOUtil#resolve returned an incorrect result for source names starting with "jpip://". The method now returns null.

Bug fixLuciadFusion

LCD-13252
TLcdSLDFeatureTypeStylePainter now implements ILcdGXYEditorProvider, which returns itself as ILcdGXYEditor to edit objects in a GXY view. This better aligns with the already implemented painter-related interfaces ILcdGXYPainter and ILcdGXYPainterProvider.

Bug fixLuciadFusion

LCD-13231
TLcdEarthRepositoryModelDecoder: improved the robustness when interrupting a thread that was reading a tile repository. This improves compatibility with Java 21.

Bug fixLuciadFusion

LF-2354
Fixed an issue where the startedTime property on a service was never updated if the service was restarted.

Bug fixLuciadFusion

LF-2513
There was a very small precision loss when storing the bounding box of a data item in an Oracle database, this has been fixed.

Bug fixLuciadFusion

LF-2589
After upgrading to version 2023.1 on an Oracle database, LuciadFusion Studio didn't show the data items any longer on the product details page for those products that already existed before the upgrade. This has been fixed.

Bug fixLuciadFusion

LF-2578
Resolved an issue with the default LuciadFusion platform classpath configuration (located in config/com.luciad.fusion.platform.vmoptions), which prevented LuciadFusion to be able to start if you are using a license text file. It was only possible to run LuciadFusion when the license was in a jar file.

Bug fixLuciadFusion

LF-2573
Fixed an issue that prevented all data from being saved to the database while crawling a data root. This situation only occurred when crawling a file that contains multiple data and access rules templates were defined for the crawl job of the data root.

Bug fixLuciadFusion

LF-2570
Fixed an issue that caused an LTS service to start pre-processing after all its data was removed. This resulted in an error in the log.

Bug fixLuciadFusion

LCD-13386
Resolved an issue with the Maven sample setup scrip, where the sample project's settings.xml file was not used when deploying the license to the Maven repository.

Bug fixLuciadFusion

LF-2582
Fixed an issue with the REST API GET api/data/filter endpoint for wildcard character ^ based equality comparison of String based custom properties. Now the query using wildcard ^ based equality comparison will only work when the wildcard character is placed at the beginning of string to be compared against a custom property. ^ will now be interpreted as a regular character if used anywhere other than the beginning of a string.

Bug fixLuciadFusion

LF-2575
Fixed the issue where OGC 3D Tiles service would no longer fall back to a tilestore.lpc file when no tileset.json file was available.

Bug fixLuciadFusion

LF-2568
Fixed an issue that caused LuciadFusion to report an error if the Principal of the authenticated user was not an instance of UserDetails.

Bug fixLuciadFusion

LF-2579
The list of privileges required by LuciadFusion when using an Oracle database was updated to include the SELECT ON SYS.DBA_RECYCLEBIN privilege. A warning is shown if this privilege is not granted to the user used by LuciadFusion to connect to the database.

Bug fixLuciadFusion

LCD-12748
Fixed an issue in the TLcdGeoTIFFModelDecoder for the case of data with photometric interpretation RGB with additional sample values. The standard cases RGB(A) worked fine. For the case with additional sample values the ALcdImage band semantics did not include information on the red, green, and blue channels. It would be interpreted as a greyscale image by the image painter. Now the correct band semantics are reported which makes the image painter pick it up and render the file correctly.

Upgrade considerationLuciadFusion

We now enable support for vertical datums by default for a number of model decoders. If your services require preprocessing (such as LTS and OGC 3D Tiles) and you encounter issues with vertical datum application, you may need to preprocess the involved data again to ensure correct application of the vertical datum support. Preprocessing again is only necessary if you have other data with vertical datums and observe inconsistencies. Inconsistencies occur when combining the following data:

  • Data which is served by an LTS or OGC 3D Tiles service, which has not applied the vertical datum. This usually occurs because the service was created with an older LuciadFusion version (2023.1 or older), which did not enable vertical datum support by default.
  • Data which is loaded directly into a client application, is served by a service which does not do preprocessing or is served by a new LTS or OGC 3D Tiles service, which has been created in LuciadFusion 2024.0.

More information about enabling support for vertical datums by default is given in the release note for issue LCD-12921.

Upgrade considerationLuciadFusion

LuciadLightspeed and LuciadFusion now increasingly make use of Java's own file and URI handling API to improve reliability, consistency, and portability when handling data sources. This includes, but is not limited to TLcdIOUtil, TLcdInputStreamFactory, and several model decoders. Because of this, the following invalid data source paths may no longer be recognized:
  • The colon ":" is no longer accepted in Windows file names.
  • Spaces are no longer accepted in file URI's. They need to be escaped as described in the URI specification.
Make sure to correct these source names before passing them to the API.

Upgrade considerationLuciadFusion

LuciadLightspeed and LuciadFusion no longer support 32-bit JDKs. Previously there was still limited support for Linux.

Upgrade considerationLuciadFusion

The minimum supported glibc (GNU C Library) for Linux has been raised to 2.28. This means that Ubuntu 18 is no longer supported.

Upgrade considerationLuciadFusion

LCD-12921

The default behavior of a number of model decoders has been changed. We now enable support for vertical datums by default for a number of model decoders. The vertical datum support will cause the appropriate geoid height to be applied to data files of the affected formats, if the data advertises a vertical datum. In previous versions, we ignored the vertical datum advertised by data by default.

Using the geoid will result in the use of more accurate elevation values, at the cost of performance when processing the data.

The following data formats are affected by this change:

  1. DEM: TLcdDEMModelDecoder
  2. DMED/DTED: TLcdDMEDModelDecoder, TLcdDTEDModelDecoder, TLcdDTEDDirectoryModelDecoder
  3. ETOPO: TLcdETOPOModelDecoder
  4. GeoTIFF: TLcdGeoTIFFModelDecoder
  5. LAS/LAZ: TLcdLASModelDecoder
  6. SwissDHM: TLcdSwissDHMMatrixModelDecoder

Because the default behavior has changed for these formats, your data may be painted at a different height, which can cause misalignment with your other layers. For example, you may apply the geoid to points in a LAS file, which causes your LAS points to be painted at a different elevation. If you combine this LAS data with an inaccurate terrain layer, there may be overlap between your LAS points and the terrain layer. You should check that your data is still properly aligned with your other layers after upgrading.

The recommended way to fix such alignment issues is to make sure you use an accurate terrain layer and use the same geoid on all your layers with elevation data. You should also verify that all your elevation data advertises the correct vertical datum. Read our article on Detecting and fixing vertical datum issues for more details.

If you have different behavior then before, and you are sure that the old behavior is preferred, you can revert to the old behavior in the following ways:

  • Disable geoid support for a specific model decoder, by calling the method #setSupportGeoidDatums(boolean)
  • Disable geoid support for all aforementioned model decoders, by setting the system property com.luciad.geodesy.geoidSupport.LEGACY to true.

Upgrade considerationLuciadFusion

Since the upgrade to Spring Security version 6, Spring Security blocks all requests for which no authorization rule is defined. In order to register authorization rules for services in LuciadFusion, a few changes have been made in the LuciadFusion configuration and the ILfnServiceTypeConfiguration interface, which makes it possible to plug in custom service types in LuciadFusion

The documentation changes consist of 2 new properties: fusion.security.serviceAuthenticationRequired and fusion.security.authenticatedEndpoints

  • fusion.security.serviceAuthenticationRequired allows you to globally configure if services published in LuciadFusion require authentication or if anonymous access is permitted.
  • fusion.security.authenticatedEndpoints allows you to override the configuration set by fusion.security.serviceAuthenticationRequired for certain url patterns. This can, for example, be used if you want to allow anonymous access for all services except services of a certain type (wms, wfs, lts, etc)

Additionally we have deprecated the property fusion.accessControl.authenticatedEndpoints. This property used to only have an effect when access control is enabled, it is now replaced by fusion.security.authenticatedEndpoints, which is also active when access control is disabled. If you are using fusion.accessControl.authenticatedEndpoints, this configuration will still be applied, but this property will be removed in a future LuciadFusion release, so we recommend that you replace its usage by fusion.accessControl.authenticatedEndpoints.

We have added the method getEndpointPatterns() to he interface ILfnServiceTypeConfiguration. This method is used to inform the LuciadFusion Security system of which url patterns are handled by the service type implementation.

Please read the following articles for more information:

Upgrade considerationLuciadFusion

Security updates have been applied to the following sample dependencies of the OGC server sample:
Group ID Artifact ID Old Version New Version
org.springframework.boot spring-boot 2.7.14 3.2.1
org.springframework.boot spring-boot-starter 2.7.14 3.2.1
org.springframework.boot spring-boot-autoconfigure 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-jetty 2.7.8 3.2.1
org.springframework.boot spring-boot-starter-json 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-logging 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-web 2.7.14 3.2.1
org.springframework spring-aop 5.3.29 6.1.2
org.springframework spring-beans 5.3.29 6.1.2
org.springframework spring-context 5.3.29 6.1.2
org.springframework spring-core 5.3.29 6.1.2
org.springframework spring-expression 5.3.29 6.1.2
org.springframework spring-jdbc 5.3.29 6.1.2
org.springframework spring-tx 5.3.29 6.1.2
org.springframework spring-web 5.3.29 6.1.2
org.springframework spring-webmvc 5.3.29 6.1.2
com.zaxxer HikariCP 4.0.3 5.0.1
org.ow2.asm asm-commons 9.4 9.6
org.ow2.asm asm-tree 9.4 9.6
com.fasterxml.jackson.datatype jackson-datatype-jdk8 2.14.2 2.15.3
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.14.2 2.15.3
com.fasterxml.jackson.module jackson-module-parameter-names 2.14.2 2.15.3
org.apache.tomcat.embed tomcat-embed-el 9.0.78 10.1.17
org.eclipse.jetty jetty-client 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-http 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-io 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-plus 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-security 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-server 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-util 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-xml 9.4.50.v20221201 12.0.7
org.slf4j jul-to-slf4j 1.7.36 2.0.9
org.slf4j slf4j-api 1.7.36 2.0.9
org.apache.logging.log4j log4j-api 2.17.2 2.21.1
org.apache.logging.log4j log4j-to-slf4j 2.17.2 2.21.1
ch.qos.logback logback-classic 1.2.12 1.4.14
ch.qos.logback logback-core 1.2.12 1.4.14
org.yaml snakeyaml 2.0 2.2
jakarta.annotation jakarta.annotation-api 1.3.5 2.1.1
jakarta.websocket jakarta.websocket-api 1.1.2 2.1.1

The following dependencies have been added:
Group ID Artifact ID Version
org.eclipse.jetty.ee10 jetty-ee10-annotations 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-plus 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-servlet 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-servlets 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-webapp 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-client 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-common 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-server 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jetty-server 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-servlet 12.0.7
org.eclipse.jetty jetty-alpn-client 12.0.7
org.eclipse.jetty jetty-jndi 12.0.7
org.eclipse.jetty jetty-session 12.0.7
jakarta.websocket jakarta.websocket-client-api 2.1.1

The following dependencies have been removed:
Group ID Artifact ID Version
org.eclipse.jetty jetty-annotations 9.4.50.v20221201
org.eclipse.jetty jetty-continuation 9.4.50.v20221201
org.eclipse.jetty jetty-servlet 9.4.50.v20221201
org.eclipse.jetty jetty-servlets 9.4.50.v20221201
org.eclipse.jetty jetty-util-ajax 9.4.50.v20221201
org.eclipse.jetty jetty-webapp 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-api 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-client 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-common 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-server 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-servlet 9.4.50.v20221201

Upgrade considerationLuciadFusion

The following dependencies have changed due to the Spring Boot upgrade from version 2.7 to 3.2:
Group ID Artifact ID Old Version New Version
org.springframework.boot spring-boot 2.7.14 3.2.1
org.springframework.boot spring-boot-actuator-autoconfigure 2.7.14 3.2.1
org.springframework.boot spring-boot-actuator 2.7.14 3.2.1
org.springframework.boot spring-boot-autoconfigure 2.7.14 3.2.1
org.springframework.boot spring-boot-configuration-processor 2.7.14 3.2.1
org.springframework.boot spring-boot-starter 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-actuator 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-freemarker 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-jdbc 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-json 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-logging 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-security 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-validation 2.7.14 3.2.1
org.springframework.boot spring-boot-starter-web 2.1.14 3.2.1
org.springframework.boot spring-boot-starter-websocket 2.7.14 3.2.1
org.springframework.ldap spring-ldap-core 2.4.1 3.0.4
org.springframework.security spring-security-config 5.8.6 6.2.1
org.springframework.security spring-security-core 5.8.6 6.2.1
org.springframework.security spring-security-crypto 5.8.6 6.2.1
org.springframework.security spring-security-ldap 5.8.6 6.1.2
org.springframework.security spring-security-oauth2-core 5.8.6 6.1.2
org.springframework.security spring-security-oauth2-resource-server 5.8.6 6.1.2
org.springframework.security spring-security-web 5.8.6 6.2.1
org.springframework spring-aop 5.3.29 6.1.2
org.springframework spring-beans 5.3.29 6.1.2
org.springframework spring-context 5.3.29 6.1.2
org.springframework spring-context-support 5.3.29 6.1.2
org.springframework spring-core 5.3.29 6.1.2
org.springframework spring-expression 5.3.29 6.1.2
org.springframework spring-jdbc 5.3.29 6.1.2
org.springframework spring-messaging 5.3.29 6.1.2
org.springframework spring-tx 5.3.29 6.1.2
org.springframework spring-web 5.3.29 6.1.2
org.springframework spring-webmvc 5.3.29 6.1.2
org.springframework spring-websocket 5.3.29 6.1.2
org.webjars swagger-ui 4.15.5 5.10.3
org.apache.tomcat.embed tomcat-embed-el 9.0.78 10.1.17
org.yaml snakeyaml 2.0 2.2
org.hibernate.validator hibernate-validator 6.2.5.Final 8.0.1.Final
org.apache.logging.log4j log4j-api 2.17.2 2.21.1
org.apache.logging.log4j log4j-to-slf4j 2.17.2 2.21.1
org.jboss.logging jboss-logging 3.4.1.Final 3.4.3.Final
org.slf4j jcl-over-slf4j 1.7.36 2.0.9
org.slf4j jul-to-slf4j 1.7.36 2.0.9
org.slf4j log4j-over-slf4j 1.7.36 2.0.9
org.slf4j slf4j-api 1.7.36 2.0.9
ch.qos.logback logback-classic 1.2.12 1.4.14
ch.qos.logback logback-core 1.2.12 1.4.14
com.zaxxer HikariCP 4.0.3 5.0.1
io.github.classgraph classgraph 4.8.149 4.8.108
io.micrometer micrometer-core 1.9.13 1.12.1
joda-time joda-time 2.8.1 2.10.10
com.sun.activation jakarta.activation 1.2.2 2.0.1
jakarta.servlet jakarta.servlet-api 4.0.4 6.0.0
jakarta.validation jakarta.validation-api 2.0.2 3.0.2
jakarta.xml.bind jakarta.xml.bind-api 2.3.3 4.0.0

The following dependencies have been added:
Group ID Artifact ID Version
io.micrometer micrometer-common 1.12.1
io.micrometer micrometer-jakarta9 1.12.1
io.micrometer micrometer-observation 1.12.1
io.swagger.core.v3 swagger-annotations-jakarta 2.2.19
io.swagger.core.v3 swagger-core-jakarta 2.2.19
io.swagger.core.v3 swagger-models-jakarta 2.2.19
org.springdoc springdoc-openapi-starter-common 2.3.0
org.springdoc springdoc-openapi-starter-webmvc-api 2.3.0
org.springdoc springdoc-openapi-starter-webmvc-ui 2.3.0
jakarta.transaction jakarta.transaction-api 6.0.0

The following dependencies have been removed:
Group ID Artifact ID Version
commons-lang commons-lang 2.6
javax.inject javax.inject 1
io.swagger.core.v3 swagger-annotations 2.2.7
io.swagger.core.v3 swagger-core 2.2.7
io.swagger.core.v3 swagger-models 2.2.7
org.springdoc springdoc-openapi-common 1.6.14
org.springdoc springdoc-openapi-security 1.6.14
org.springdoc springdoc-openapi-ui 1.6.14
org.springdoc springdoc-openapi-webmvc-core 1.6.14
org.webjars webjars-locator-core 0.52

LuciadFusion can be used with a Jetty embedded servlet container. The jetty sample dependencies are used in this situation. The following sample dependencies related to Jetty have changed:
org.springframework.boot spring-boot-starter-jetty 2.7.8 3.2.1
org.ow2.asm asm-commons 9.4 9.6
org.ow2.asm asm-tree 9.4 9.6
org.eclipse.jetty jetty-client 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-http 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-io 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-plus 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-security 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-server 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-util 9.4.50.v20221201 12.0.7
org.eclipse.jetty jetty-xml 9.4.50.v20221201 12.0.7
jakarta.annotation jakarta.annotation-api 1.3.5 2.1.1
jakarta.websocket jakarta.websocket-api 1.1.2 2.1.1

The following sample dependencies related to Jetty have been added:
Group ID Artifact ID Version
org.eclipse.jetty.ee10 jetty-ee10-annotations 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-plus 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-servlet 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-servlets 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-webapp 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-client 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-common 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-server 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-jetty-server 12.0.7
org.eclipse.jetty.ee10 jetty-ee10-websocket-servlet 12.0.7
org.eclipse.jetty jetty-alpn-client 12.0.7
org.eclipse.jetty jetty-jndi 12.0.7
org.eclipse.jetty jetty-session 12.0.7
jakarta.websocket jakarta.websocket-client-api 2.1.1

The following sample dependencies related to Jetty have been removed:
Group ID Artifact ID Version
org.eclipse.jetty jetty-annotations 9.4.50.v20221201
org.eclipse.jetty jetty-continuation 9.4.50.v20221201
org.eclipse.jetty jetty-servlet 9.4.50.v20221201
org.eclipse.jetty jetty-servlets 9.4.50.v20221201
org.eclipse.jetty jetty-util-ajax 9.4.50.v20221201
org.eclipse.jetty jetty-webapp 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-api 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-client 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-common 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-server 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-servlet 9.4.50.v20221201

Upgrade considerationLuciadFusion

LCD-13176
TLcdGXYImagePainter, TLcdRasterPainter, TLcdMultilevelRasterPainter, TLcdEarthGXYRasterPainter, TLcdGXYTiledWMSProxyPainter and TLcdWMSProxyGXYPainter now apply brightness and contrast to raster layers with the same algorithm as Lightspeed's TLspRasterStyle. This used to be different but has now been aligned. With the new behavior, the [0, 2] brightness value range covers the entire color brightness range (black to white). The contrast setting offers a modifier on top for further tweaking.

Upgrade considerationLuciadFusion

The keywords for the Style, Product, Data and Service resources are now sets instead of lists, so any duplicate keywords are removed. The LuciadFusion Studio REST API endpoint POST /api/services/{id}/keywords now accepts a set instead of a list of keywords. Any duplicate keywords that are added to the service are ignored.

Upgrade considerationLuciadFusion

The LuciadLightspeed and LuciadFusion APIs now use the Jakarta EE 10 API and Jakarta Servlet 6.0 API, where in previous releases the Java EE 7 API and Java Servlet 3.1 API were used. There are a few breaking changes in the new Jakarta Servlet 6.0 API, the main one being a rename of the javax.servlet package to jakarta.servlet. Any LuciadLightspeed or LuciadFusion API that use classes from this package thus contain a corresponding breaking change. The affected classes are mainly the classes implementing the OGC server standards (WM(T)S, WFS, etc). Any compilation errors you encounter related to this change can typically be resolved by performing a find and replace operation.

Refer to the documentation on hardware and software requirements in the prerequisites section for more information.

Upgrade considerationLuciadFusion

The property isoMetadataXmlContent that is part of the Service resource of the LuciadFusion Studio REST API was marked for deprecation in release 2023.0 and has now been removed. Instead, use LuciadFusion's Studio Catalog Service to get the ISO-19115 metadata of a service.

Upgrade considerationLuciadFusion

LuciadLightspeed and LuciadFusion now require Java 17. Refer to the documentation on hardware and software requirements in the prerequisites section for more information.

Upgrade considerationLuciadFusion

LF-2408
The following dependencies have been updated:
Group ID Artifact ID Old Version New Version
org.apache.commons commons-configuration2 2.9.0.lcd-11 2.9.0
org.orbisgis cts 1.4.0 1.7.0
org.geolatte geolatte-geom 0.13 1.9.1
com.h2database h2 1.4.195 2.1.214
org.orbisgis h2gis-api 1.3.1 2.2.0
org.orbisgis h2gis-utilities 1.3.1 2.2.0
org.orbisgis h2gis 1.3.1 2.2.0
org.liquibase liquibase-core 3.6.3 4.8.0

The following dependencies have been added:
Group ID Artifact ID Version
org.eclipse.jdt ecj 3.26.0
org.orbisgis poly2tri 0.4.0

The following dependencies have been removed:
Group ID Artifact ID Version
org.codehaus.mojo animal-sniffer-annotations 1.14
com.infradna.tool bridge-method-annotation 1.13
org.javassist javassist 3.18.2-GA
org.reflections reflections 0.9.9
org.orbisgis poly2tri-core 0.1.2
com.vividsolutions jts-io 1.14.0
com.googlecode.json-simple json-simple 1.1
jakarta.activation jakarta.activation-api 1.2.2

Upgrade considerationLuciadFusion

LCD-9539
The following dependencies have been updated:
Group ID Artifact ID Old Version New Version
com.fasterxml.jackson.core jackson-annotations 2.14.2 2.15.3
com.fasterxml.jackson.core jackson-core 2.14.2 2.15.3
com.fasterxml.jackson.core jackson-databind 2.14.2 2.15.3
com.google.protobuf protobuf-java 3.19.4 3.25.3
com.thetransactioncompany cors-filter 1.3.2 3.0
com.thetransactioncompany java-property-utils 1.6 1.17
jakarta.servlet jakarta.servlet-api 4.0.4 6.0.0
joda-time joda-time 2.8.1 2.10.10
org.apache.commons commons-compress 1.22 1.26
org.apache commons-io 2.6 2.15.1
org.apache.commons commons-lang3 3.12.0 3.14.0
org.apache.xmlgraphics batik-xml 1.16 1.17
org.apache.xmlgraphics batik-util 1.16 1.17
org.apache.xmlgraphics batik-transcoder 1.16 1.17
org.apache.xmlgraphics batik-swing 1.16 1.17
org.apache.xmlgraphics batik-svggen 1.16 1.17
org.apache.xmlgraphics batik-svg-dom 1.16 1.17
org.apache.xmlgraphics batik-script 1.16 1.17
org.apache.xmlgraphics batik-shared-resources 1.16 1.17
org.apache.xmlgraphics batik-parser 1.16 1.17
org.apache.xmlgraphics batik-i18n 1.16 1.17
org.apache.xmlgraphics batik-gvt 1.16 1.17
org.apache.xmlgraphics batik-gui-util 1.16 1.17
org.apache.xmlgraphics batik-ext 1.16 1.17
org.apache.xmlgraphics batik-dom 1.16 1.17
org.apache.xmlgraphics batik-css 1.16 1.17
org.apache.xmlgraphics batik-constants 1.16 1.17
org.apache.xmlgraphics batik-codec 1.16 1.17
org.apache.xmlgraphics batik-bridge 1.16 1.17
org.apache.xmlgraphics batik-awt-util 1.16 1.17
org.apache.xmlgraphics batik-anim 1.16 1.17
org.apache.xmlgraphics xmlgraphics-commons 2.7 2.9
org.slf4j slf4j-api 1.7.36 2.0.9
org.postgresql postgresql 42.5.4 42.7.3
org.checkerframework checker-qual 3.5.0 3.42.0

The following dependencies have been added:
Group ID Artifact ID Version
org.locationtech jts-core 1.19.0

The following dependencies have been removed:
Group ID Artifact ID Version
com.vividsolutions jts-core 1.14.0

Upgrade considerationLuciadFusion

LF-2408
LuciadFusion 2024.0 and subsequent releases are not compatible with H2 databases created with LuciadFusion 2023.1 and preceding releases. This is because the H2 library has been updated to version 2.1.214. The H2GIS library has been updated to version 2.2.0.

Upgrade considerationLuciadFusion

LCD-9539
The QueryDSL library has been updated to version 5.0.0. Please note that these libraries have been modified from the original QueryDSL libraries to include additional fixes.

Upgrade considerationLuciadFusion

LCD-9539
The JTS library has been updated to version 1.19.0. Please note that this library is not backward compatible. All classes have moved from com.vividsolutions.* to org.locationtech.*.

Upgrade considerationLuciadFusion

LCD-12881
The LWJGL Java binding for the OpenGL and OpenCL APIs has been updated to version 3.3.3. This improves compatibility with Java 19 and higher.

Upgrade considerationLuciadFusion

Oracle versions 11g, 12c and 18c are no longer supported as a database for LuciadFusion Studio. These versions are no longer supported by Oracle, see the Oracle Lifetime Support Policy document. It's advisable to upgrade to a newer version of Oracle database if you are still using any of these versions.

Upgrade considerationLuciadFusion

PostgreSQL versions 9.4, 9.5, 9.6, 10 and 11 are no longer supported as a database for LuciadFusion Studio. These versions are no longer supported by the PostgreSQL Global Development Group, see the PostgreSQL Versioning Policy page. It's advisable to upgrade to a newer version of PostgreSQL if you are still using any of these versions.

Upgrade considerationLuciadFusion

SQL Server version 2012 is no longer supported as a database for LuciadFusion Studio. This version is no longer supported by Microsoft, see the SQL Server 2012 lifecycle page. It's advisable to upgrade to a newer version of SQL Server if you are still using version 2012.

Upgrade considerationLuciadFusion

LCD-10042
TLcdLRDBModelEncoder#SUPPORTED_COVERAGE_TYPES is removed from the API.