2025.0.09
ImprovementDefense Symbology
LCD-13978
TLcdAPP6AObjectCustomizer and TLcdMS2525bObjectCustomizer) now show the display name of modifiers instead of a code.
This is mostly noticeable in the Country combo box, where the country name is now shown instead of a 3-letter country code.
Bug fixLuciadLightspeed
LCD-14032
TLcdObliqueStereographic. The WKT parser, and the following affected EPSG codes now
make use of this new projection:
- EPSG:2036: NAD83(CSRS98) / New Brunswick Stereo
- EPSG:2171: Pulkovo 1942(58) / Poland zone I
- EPSG:2172: Pulkovo 1942(58) / Poland zone II
- EPSG:2173: Pulkovo 1942(58) / Poland zone III
- EPSG:2174: Pulkovo 1942(58) / Poland zone IV
- EPSG:2292: NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83)
- EPSG:2953: NAD83(CSRS) / New Brunswick Stereographic
- EPSG:2954: NAD83(CSRS) / Prince Edward Isl. Stereographic (NAD83)
- EPSG:3120: Pulkovo 1942(58) / Poland zone I
- EPSG:3328: Pulkovo 1942(58) / GUGiK-80
- EPSG:3844: Pulkovo 1942(58) / Stereo70
- EPSG:5588: NAD27 / New Brunswick Stereographic (NAD27)
- EPSG:22239: NAD83(CSRS)v2 / PEI Stereographic
- EPSG:22240: NAD83(CSRS)v2 / NB Stereographic
- EPSG:22780: Deir ez Zor / Levant Stereographic
- EPSG:28991: Amersfoort / RD Old
- EPSG:31600: Dealul Piscului 1930 / Stereo 33
- EPSG:31700: Dealul Piscului 1970/ Stereo 70
2025.0
2025.0.08
Bug fixLuciadLightspeed
LCD-14008
Bug fixAviation Standards
LCD-14021
TLcdARINCProcedureHandler no longer throws an exception when missing magnetic heading
information.
Upgrade considerationDatabase Connectors
Upgrade considerationInfrastructure Standards
LCD-13953
TLcdRevitModelDecoder and the TLcdNWDModelDecoder.
This upgrade lowers the glibc requirement for Revit and Navisworks data on Linux systems to 2.28, in line with the
minimum requirements for LuciadLightspeed and LuciadFusion.
2025.0.07
Bug fixLuciadLightspeed
LCD-14010
TLspMBTilesVectorLayerBuilder: fixed a discrepancy in level-of-detail selection between 2D
and 3D views.
Bug fixLuciadLightspeed
LCD-14011
Bug fixLuciadLightspeed
LCD-14015
NullPointerException that would occur when styling a point painted in view space
with a TLspParameterizedIconStyle.
Upgrade considerationLuciadLightspeed
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| io.micrometer | micrometer-commons | 1.14.7 | 1.14.11 |
| io.micrometer | micrometer-observation | 1.14.7 | 1.14.11 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.41 | 10.1.46 |
| org.springframework | spring-aop | 6.2.7 | 6.2.11 |
| org.springframework | spring-beans | 6.2.7 | 6.2.11 |
| org.springframework | spring-context | 6.2.7 | 6.2.11 |
| org.springframework | spring-core | 6.2.7 | 6.2.11 |
| org.springframework | spring-expression | 6.2.7 | 6.2.11 |
| org.springframework | spring-web | 6.2.7 | 6.2.11 |
| org.springframework | spring-webmvc | 6.2.7 | 6.2.11 |
| org.springframework.boot | spring-boot | 3.4.6 | 3.4.10 |
| org.springframework.boot | spring-boot-autoconfigure | 3.4.6 | 3.4.10 |
| org.springframework.boot | spring-boot-starter | 3.4.6 | 3.4.10 |
| org.springframework.boot | spring-boot-starter-json | 3.4.6 | 3.4.10 |
| org.springframework.boot | spring-boot-starter-logging | 3.4.6 | 3.4.10 |
| org.springframework.boot | spring-boot-starter-web | 3.4.6 | 3.4.10 |
Upgrade considerationLuciadLightspeed
LCD-14001
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.apache.commons | commons-lang3 | 3.14.0 | 3.18.0 |
| org.apache | commons-codec | 1.15 | 1.19.0 |
2025.0.06
ImprovementAviation Standards
LCD-13993
TLcdARINCRunwayHandler, has been updated
to support version 22 of the format. Aligned with this improvement, 2 new object properties are added:
- ILcdARINCRunwayDirectionFeature.RUNWAY_ACCURACY_COMPLIANCE
- ILcdARINCRunwayDirectionFeature.LANDING_THRESHOLD_ELEVATION_ACCURACY_COMPLIANCE
ImprovementInfrastructure Standards
LCD-13995
TLcdIFCModelDecoder support for reading metadata properties has been improved. The decoder
now also extracts the information from any IfcPropertySet linked to an object via the
IfcRelDefinesByType relationship.
Bug fixLuciadLightspeed
LCD-13998
ILspImageProjectionLayer: fixed shader compilation issue on macOS.
Bug fixOGC Server
LCD-14000
LCD-13898 introduced an incorrect
XML element swe:description, which is not defined by the OGC WCS 2.0.1 specification.
Bug fixInfrastructure Standards
LCD-13824
TLcdBinzModelDecoder that caused an
InterruptedIOException when loading Binz datasets that have an unusual internal
archive structure.
2025.0.05
ImprovementLuciadLightspeed
LCD-13981
ImprovementLuciadLightspeed
LCD-13972
ImprovementWeather & Environment Standards
LCD-13989
TLcdNetCDFModelDecoder: it is now possible to disable calculating the min and max
values of the ALcdBandSemantics when the model is decoded. These values are an
estimate, so they may not always be correct. In some cases where correct values are expected, like image processing,
you can disable these calculations to avoid any issues.
ImprovementAviation Standards
LCD-13987
#urn.uuid. as prefix for the
identifier value.
Bug fixLuciadLightspeed
LCD-13979
TLcdEllipsoidRhumblineUtil#intersectionGeodesicRhumblineSFCT didn't produce correct results
when both the rhumb line and the geodesic line are overlapping meridians.
Bug fixLuciadLightspeed
LCD-13985
ILspImageProjectionLayer#projectPoint always returning
NaN
coordinates, when defined in a projection that does not cover the entire globe.
Bug fixLuciadLightspeed
LCD-13980
ILcdModelDecoder implementations.
Bug fixAdvanced GIS Engine
LCD-13975
TLcdEllipsoidalConstructiveGeometry which could result in incorrect
intersections between geodesic and rhumb lines.
Bug fixWeather & Environment Standards
LCD-13988
Bug fixDefense Symbology
2025.0.04
ImprovementLucy (LuciadLightspeed)
LUCY-5092
TLcyMapOverviewAddOn: the overview map no longer responds to keyboard input
to avoid interference with the regular maps.
Bug fixLuciadLightspeed
LCD-13963
TLcdGXYLabelPainter had a bug in their retrieveLabels function,
which caused issues when changing the label contents. For example, the label was cut off or too large after
changing the label contents. This has now been fixed.
Bug fixLuciadLightspeed
LCD-13971
ILspImageProjectionLayer, when defined in a projection that does not
cover the entire globe. In this case, the layer would paint over the entire region that falls outside the
projection's bounds.
Bug fixWeather & Environment Standards
LCD-9184, LCD-13952
TLcdNetCDFModelDecoder now supports variables with additional, superfluous dimensions
beyond the expected ones, which increases compatibility with more diverse NetCDF datasets.
Bug fixAviation Standards
LCD-13960
Bug fixTiling Engine
LF-2782
2025.0.03
ImprovementLuciadLightspeed
LF-2337
ImprovementLuciadLightspeed
LCD-13903
lcdutil native library has been moved from lib/thirdparty to lib.
ImprovementLuciadLightspeed
LCD-13936
TLcdGXYImagePainter's handling of images with a geodetic coordinate reference
and bounds that are more than 180 degrees high.
ImprovementLuciadLightspeed
LCD-13857
TLcdLonLatGeoBuffers with many points.
ImprovementLuciadLightspeed
LCD-13942
TLcdGeoTIFFModelDecoder now additionally assumes that a GeoTIFF file contains elevation
data when the following conditions are met.
- The file has two bands of the type short, float, or double.
- The 2nd band is marked as alpha.
- The photometric interpretation is
min-is-black.
ImprovementOGC Server
LCD-13938
ImprovementOGC Server
LCD-13950
FILTER parameter, which can be used in GetMap and GetFeatureInfo requests,
is now also supported for raster data. Previously, using this parameter with raster data would return a service
exception report. This allows users to plug in a raster model that applies a filter supplied by a WMS client
to dynamically filter the raster data.
ImprovementOGC Server
LCD-13937
ImprovementOGC Server
LCD-13897
image/jp2 (JPEG 2000), image/jpeg
and image/png as output formats next to GeoTIFF.
ImprovementOGC Server
LCD-13891
image/tiff as format parameter to request a coverage in the
GeoTIFF format. Before, only the values GeoTIFF and
image/tiff;subtype="geotiff" were accepted.
ImprovementDefense Symbology
LCD-13640
ImprovementInfrastructure Standards
LCD-13923
TLcdBinzModelDecoder now also supports inverted cone and cylinder surfaces defined
by 2D contours, which can be used to visualize the inside of a double-walled pipe.
Bug fixLuciadLightspeed
LCD-13945
TLcdOGC3DTilesModelDecoder.
Bug fixLuciadLightspeed
LCD-13928
TLcdShapeUtil.isSelfIntersectingEllipsoidal which could cause an exception
to be thrown for certain shapes. For example shapes spanning across poles.
Bug fixLuciadLightspeed
LCD-13862
TLcdModelMetadata#getResourceMetadata's
ISO metadata can now be encoded to XML.
This will make the information appear in, for example, metadata downloaded from LuciadFusion Studio.
Bug fixLuciadLightspeed
LCD-13940
TLspParameterizedIconStyle: when the elevation mode was set to ABOVE_TERRAIN
icons would become invisible when the selection state of an object changes.
Bug fixLucy (LuciadLightspeed)
LUCY-5091
Bug fixLuciadLightspeed
LCD-13947
Bug fixLuciadLightspeed
LCD-13949
TLspImageProjectionLayerBuilder could not be used for a model
with an ILcdGridReference.
Bug fixOGC Server
LCD-13898
DescribeCoverage response which caused an incorrect
description of band information in the rangeType section.
Bug fixDefense Symbology
LCD-13795
Bug fixInfrastructure Standards
LCD-13941
TLcdIFCModelDecoder did not properly handle non-uniform scaling.
This could lead to objects being deformed or positioned incorrectly in the geometry model.
2025.0.02
ImprovementInfrastructure Standards
LCD-13922
The 3D Tiles Processing Engine will now produce smaller glTF meshes in the OGC 3D Tiles output datasets.
Depending on the input data, the output datasets can be 10% to up to 60% smaller.
This change applies to both the OGC 3D Tiles versions 1.0 (with .b3dm payloads) and 1.1 (with .glb payloads).
Note that this change does not affect the mesh quality, the improvement consists of avoiding
unnecessary data duplication.
2025.0.01
ImprovementLuciadLightspeed
LCD-13893
ImprovementLucy (LuciadLightspeed)
LUCY-5089
TLcyLOSAddOn, TLcyShapeVisibilityAddOn:
Moving or changing the visibility of an elevation layer now triggers a recalculation of the LOS coverage or visibility results.
Bug fixLuciadLightspeed
LCD-11628
TLspShapeLayerBuilder: fixed an issue that would cause a warning to be logged when styling an
object with both a TLspIconStyle and a TLspParameterizedIconStyle.
Bug fixInfrastructure Standards
LCD-13909
The coordinates in the GeoJSON output of the bim.converter.[bat|sh] commandline sample are
now 2D coordinates again instead of 3D coordinates with a zero altitude. This is more in line with the format-specific
converter samples for IFC, Binz and Revit from the previous releases, which were replaced by this commandline sample.
Note that in combination with the MinZ and MaxZ properties from the
GeoJSON output, you can obtain the 3D bounds of the objects.
Bug fixInfrastructure Standards
LCD-13865
lcd_binz_connector.pom file no longer excludes the native myVRDatakitConverter libraries.
2025.0
New featureLuciadLightspeed
TLcdOGC3DTilesModelDecoder.
New featureLuciadLightspeed
The TLcdOGC3DTilesModelEncoder now allows specifying the OGC 3D Tiles version when encoding
3D Tiles. The version can be set using the setTileSetVersion method, which accepts an
ELcdOGC3DTilesVersion argument.
-
The default version is
VERSION_1_0, which is the earlier version of the OGC 3D Tiles specification. -
Not all features of
VERSION_1_1are used. An overview of differences between data exported with the two versions can be found in theELcdOGC3DTilesVersionjavadoc.
New featureLucy (LuciadLightspeed)
TLcyLspDWGFormatAddOnto load DWG and DXF files on a Lightspeed viewTLcyLspDGNFormatAddOnto load DGN files on a Lightspeed view
New featureLucy (LuciadLightspeed)
TLcyAzureMapsAddOnto connect to Azure Maps and visualize its data on a GXY viewTLcyLspAzureMapsFormatAddOnto visualize data from Azure Maps on a Lightspeed view
New featureLuciadLightspeed
Added support for Azure Maps, a geospatial mapping service provided by Microsoft. It offers data such as worldwide road maps and high-resolution imagery. You can decode an Azure Maps model for a desired map and visualize the resulting data in GXY and Lightspeed views.
For more details, see the Azure Maps entry in the Data Formats documentation section.
Please note that Azure Maps is introduced by Microsoft as the successor of Bing Maps. Only enterprise account customers can continue using Bing Maps for Enterprise services until June 30th, 2028. Free (Basic) account customers can no longer use Bing Maps and need to switch to Azure Maps.
New featureLuciadLightspeed
TLspMagnifierController now has an additional constructor that allows the user to pass a TLspMagnifierController.OverlayShape.
This sets the shape of the overlay used for the controller to either a circle or square.
New featureInfrastructure Standards
You can now display DGN data on a Lightspeed view with proper styling.
See TLspDGNStyler and TLspDGNLayerFactory for details.
The existing limitations of decoded objects and styling in GXY still apply.
New featureInfrastructure Standards
You can now display DWG and DXF data on a Lightspeed view with proper styling.
See TLspDWGStyler and TLspDWGLayerFactory for details.
The existing limitations of decoded objects and styling in GXY still apply.
ImprovementLuciadLightspeed
LCD-10696
TLcdGeoPackageModelEncoder and TLcdGeoPackageModelEncoder now offer support for encoding and decoding elements with a TLcdLonLatGeoBuffer as shape.
ImprovementLucy (LuciadLightspeed)
TLcyLsp3DTilesFormatAddOn. The existing
TLcyLsp3DTilesB3DMFormatAddOn and TLcyLsp3DTilesPNTSFormatAddOn
have been deprecated in favor of the new TLcyLsp3DTilesFormatAddOn. The settings in
workspaces saved in older versions will automatically be migrated when using the new add-on.
ImprovementLuciadLightspeed
LCD-13721
TLcdPrimaryKeyAnnotation now has
- A
isAutoGenerated()method to determine if the primary key is autogenerated or not. When it is not known if the key is autogenerated or not,falseis returned. - A
TLcdPrimaryKeyAnnotation(TLcdDataProperty, boolean)constructor to specify whether the key is autogenerated or not.
ImprovementLuciadLightspeed
LCD-13685
TLcdGeoJsonModelEncoder can now encode properties of types
java.time.Instant and java.time.Duration.
By default, these properties are encoded as a Unix timestamp in seconds, and a duration in seconds respectively. To
override the default behaviour, for example to encode ISO timestamps instead, you can configure a custom
TLcdFeatureMetaDataProvider on the TLcdGeoJsonModelEncoder.
ImprovementLuciadLightspeed
TLcdTransportFactory, you can now control the number of retry attempts
for HTTP 429 and HTTP 503 errors using the newly added methods
setRetryCount(int) and getRetryCount().
ImprovementLuciadLightspeed
LCD-13666
TLcdGeoTIFFModelEncoder now supports writing ALcdBasicImage
and ALcdMultilevelImage instances having values of type double.
ImprovementLucy (LuciadLightspeed)
LUCY-5077
ImprovementDatabase Connectors
LCD-13873
TLcdPostGISModelDecoder and TLcdPostGISModelEncoder now have support for the following geometry types:
| MULTICURVE |
| MULTISURFACE |
| CURVEPOLYGON |
| COMPOUNDCURVE |
| CIRCULARSTRING |
ImprovementDatabase Connectors
LCD-13693
TLcdOracleSpatialModelDecoder and TLcdOracleSpatialModelEncoder are now able to handle columns of type TIMESTAMP WITH TIME ZONE.
These columns are modeled as a TLcdDataType with instance class java.time.ZonedDateTime.
ImprovementOGC Server
LCD-13696
Transaction requests. A format for which the data model had a
TLcdShapeListAnnotation always required a MultiGeometry GML element
in the past. This was for example the case for database formats. For such formats, the WFS server now accepts
both single geometry types (e.g. Point, LineString or
Polygon) and multi geometry types. This improves the interoperability with other WFS-T
clients, such as Hexagon's GeoMedia application.
ImprovementDefense Standards
TLcdNITFModelDecoder#discoverDataSources now provides two data sources.
- The first data source can be used to decode the NITF data into a georeferenced model, similar to the data source returned in the past. The resulting model can be used to visualize the data in georeferenced GXY or Lightspeed view.
- The second data source can be used to decode the NITF data into a non-georeferenced model. This model is an
ILcdModelTreeNodewith a sub-model for each NITF data segment. The resulting model can be used to visualize the data in a GXY view with a CRS:1 reference or to publish the data in a LuciadFusion WMS service that has CRS:1 reference support. This is described in the LuciadFusion article "How to set up a non-georeferenced WMS".
ImprovementDefense Standards
libjpeg-turbo library is now used to decode JPEG images in NITF files. The use of this library fixes the handling of images that use a
YCbCr color space. Those were incorrectly displayed with red and green colors in the past.
ImprovementInfrastructure Standards
ImprovementInfrastructure Standards
The TLcd3DTilesProcessorBuilder now allows specifying the OGC 3D Tiles version when
creating the 3D Tiles processor. The version can be set using the tileSetVersion method,
which accepts an ELcdOGC3DTilesVersion argument.
-
The default version is
VERSION_1_0, which is the earlier version of the OGC 3D Tiles specification. -
Not all features of
VERSION_1_1are used. An overview of differences between data exported with the two versions can be found in theELcdOGC3DTilesVersionjavadoc.
ImprovementInfrastructure Standards
LF-2665
ForkJoinPool on the
TLcd3DTilesProcessorBuilder to use to perform asynchronous tasks during the preprocessing of
3D Tiles. If no ForkJoinPool is specified, the common ForkJoinPool
will be used by default (see ForkJoinPool.commonPool()). To configure the
ForkJoinPool on the TLcd3DTilesProcessorBuilder, you can use the
method TLcd3DTilesProcessorBuilder.forkJoinPool.
Bug fixLuciadLightspeed
LCD-13867
TLcdOGC3DTilesModelEncoder could fail when encoding an empty payload.
Bug fixLuciadLightspeed
LCD-13874
start_felix.bat script.
Bug fixAdvanced Raster Connectors
LCD-13875
TLcdGeospatialPDFModelDecoder#decode
left files open even after
ILcdModel#dispose
was called. As a result, decoded files could not be renamed or removed until the JVM process exited.
Bug fixDatabase Connectors
LCD-12654
Bug fixDatabase Connectors
LCD-13751
ILcdBounds of the ILcdModel decoded by the TLcdPostGISModelDecoder were always two-dimensional.
This is corrected so that the dimensions of data are correctly used.
Bug fixOGC Server
ILcdModelTreeNode. This is for example
the case when decoding an USRP dataset through its header file.
Bug fixOGC Server
LCD-13850
ILcdText) geometries. Because they cannot be expressed in GeoJSON, these geometries
are now approximated by their bounding box.
Bug fixDefense Standards
LCD-10122
Upgrade considerationLuciadLightspeed
LCD-13554
java.util.logging by default.
If you haven't explicitly configured a logging framework for LuciadLightspeed yet,
and you still need to use java.util.logging, follow the instructions in the
TLcdLoggerFactory class javadoc to configure the desired logging framework.
Upgrade considerationLuciadLightspeed
libjpeg-turbo library has been upgraded to
version 3.0.0.lcd-5, introducing support for a Linux ARM 64-bit version of
the library.
Upgrade considerationLuciadLightspeed
EXT_meshopt_compression glTF extension.
Upgrade considerationLuciadLightspeed
The Draco library has been upgraded to version 1.5.7.lcd-6.
With this upgrade, a Linux ARM 64-bit version of this library is added, while the win32 version is removed. We also improved memory usage when decoding a Draco compressed dataset.
This library is used by the TLcdOGC3DTilesModelEncoder
and allows you to use Draco compression on 3D mesh and point cloud data.
Upgrade considerationLuciadLightspeed
TLcdMBTilesModelDecoder: the Google Protobuf library used by the decoder has been updated
to version 3.25.5.
Upgrade considerationLuciadLightspeed
- Windows, starting from Windows 10 and Windows Server 2016
- macOS, starting from macOS 13
Upgrade considerationLuciadLightspeed
The class TLcdBingMapsTransportFactory which was deprecated
since 2013 has been removed. The features of the deprecated class like caching etc.
are now available through the TLcdTransportFactory class.
If you are using the TLcdBingMapsTransportFactory class, you
can replace it with the following code:
TLcdTransportFactory transportFactory = new TLcdTransportFactory();
transportFactory.setCaching(true);
transportFactory.setMaxCacheEntries(1000);
transportFactory.setRetryCount(3);
Upgrade considerationLuciadLightspeed
LCD-13666, LCD-13731
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| javax.media | jai | 1.1.4+8-lcd | 1.1.4+9-lcd |
| com.sun.media | jai_imageio | 1.2+23-lcd | 1.2+25-lcd |
Upgrade considerationLuciadLightspeed
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.core | jackson-annotations | 2.15.4 | 2.18.4 |
| com.fasterxml.jackson.core | jackson-core | 2.15.4 | 2.18.4 |
| com.fasterxml.jackson.core | jackson-databind | 2.15.4 | 2.18.4 |
| com.google.protobuf | protobuf-java | 3.25.3 | 3.25.5 |
| com.microsoft.sqlserver | mssql-jdbc | 7.2.1.jre8 | 12.10.0.jre11 |
| org.slf4j | slf4j-api | 2.0.16 | 2.0.17 |
The following dependencies have been added:
| Group ID | Artifact ID | Version |
|---|---|---|
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.18.4 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.18.4 |
| org.apache.httpcomponents.client5 | httpclient5 | 5.4.3 |
| org.apache.httpcomponents.client5 | httpclient5-cache | 5.4.3 |
| org.apache.httpcomponents.core5 | httpcore5 | 5.3.4 |
| org.apache.httpcomponents.core5 | httpcore5-h2 | 5.3.4 |
| org.lwjgl | lwjgl-meshoptimizer | 3.3.3 |
The following dependencies have been removed:
| Group ID | Artifact ID | Version |
|---|---|---|
| org.apache.httpcomponents | httpclient-cache | 4.5.13 |
| org.apache.httpcomponents | httpmime | 4.5.13 |
The following sample dependencies have been updated:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| ch.qos.logback | logback-classic | 1.4.14 | 1.5.18 |
| ch.qos.logback | logback-core | 1.4.14 | 1.5.18 |
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.15.4 | 2.18.4 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.15.4 | 2.18.4 |
| com.fasterxml.jackson.module | jackson-module-parameter-names | 2.15.4 | 2.18.4 |
| com.zaxxer | HikariCP | 5.0.1 | 5.1.0 |
| io.micrometer | micrometer-commons | 1.12.11 | 1.14.7 |
| io.micrometer | micrometer-observation | 1.12.11 | 1.14.7 |
| org.apache.logging.log4j | log4j-api | 2.21.1 | 2.24.3 |
| org.apache.logging.log4j | log4j-to-slf4j | 2.21.1 | 2.24.3 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.31 | 10.1.41 |
| org.eclipse.jetty | jetty-alpn-client | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-client | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-ee | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-http | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-io | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-jndi | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-plus | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-security | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-server | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-session | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-util | 12.0.9 | 12.0.21 |
| org.eclipse.jetty | jetty-xml | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10 | jetty-ee10-annotations | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10 | jetty-ee10-plus | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10 | jetty-ee10-servlet | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10 | jetty-ee10-webapp | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10.websocket | jetty-ee10-websocket-jakarta-client | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10.websocket | jetty-ee10-websocket-jakarta-common | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10.websocket | jetty-ee10-websocket-jakarta-server | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10.websocket | jetty-ee10-websocket-jetty-server | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.ee10.websocket | jetty-ee10-websocket-servlet | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.websocket | jetty-websocket-core-client | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.websocket | jetty-websocket-core-common | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.websocket | jetty-websocket-core-server | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.websocket | jetty-websocket-jetty-api | 12.0.9 | 12.0.21 |
| org.eclipse.jetty.websocket | jetty-websocket-jetty-common | 12.0.9 | 12.0.21 |
| org.ow2.asm | asm | 9.7 | 9.7.1 |
| org.ow2.asm | asm-commons | 9.7 | 9.7.1 |
| org.ow2.asm | asm-tree | 9.7 | 9.7.1 |
| org.slf4j | jul-to-slf4j | 2.0.16 | 2.0.17 |
| org.springframework | spring-aop | 6.1.14 | 6.2.7 |
| org.springframework | spring-beans | 6.1.14 | 6.2.7 |
| org.springframework | spring-context | 6.1.14 | 6.2.7 |
| org.springframework | spring-core | 6.1.14 | 6.2.7 |
| org.springframework | spring-expression | 6.1.14 | 6.2.7 |
| org.springframework | spring-web | 6.1.14 | 6.2.7 |
| org.springframework | spring-webmvc | 6.1.14 | 6.2.7 |
| org.springframework.boot | spring-boot | 3.2.11 | 3.4.6 |
| org.springframework.boot | spring-boot-autoconfigure | 3.2.11 | 3.4.6 |
| org.springframework.boot | spring-boot-starter | 3.2.11 | 3.4.6 |
| org.springframework.boot | spring-boot-starter-json | 3.2.11 | 3.4.6 |
| org.springframework.boot | spring-boot-starter-logging | 3.2.11 | 3.4.6 |
| org.springframework.boot | spring-boot-starter-web | 3.2.11 | 3.4.6 |
| org.yaml | snakeyaml | 2.2 | 2.3 |
The following sample dependencies have been added:
| Group ID | Artifact ID | Version |
|---|---|---|
| commons-logging | commons-logging | 1.2 |
| org.apache.httpcomponents | httpclient | 4.5.13 |
| org.apache.httpcomponents | httpcore | 4.4.13 |
The following sample dependencies have been removed:
| Group ID | Artifact ID | Version |
|---|---|---|
| com.fasterxml.jackson.core | jackson-annotations | 2.15.4 |
| org.slf4j | slf4j-api | 2.0.12 |
Upgrade considerationLuciadLightspeed
LCD-13019
wellKnownName of a mark graphic.
This means that TLcdSLDMark#getWellKnownName() now returns a TLcdSLDParameterValue instead of a String.
You can still retrieve any text content from that TLcdSLDParameterValue.
Upgrade considerationLuciadLightspeed
lib directory
to the lib/thirdparty directory, so that they can be easily distinguished from the product libraries.
If you have custom startup scripts, you'll need to add both directories to the classpath.
Upgrade considerationAdvanced Raster Connectors
LCD-13700
The TLcdMrSIDModelDecoder#canDecodeSource method no longer accepts
.sdw files. The main entry point for a MrSID data set is the
.sid file, as indicated by the class documentation of
TLcdMrSIDModelDecoder. The .sdw file is only a supporting file.
This fix avoids that a MrSID file that gets added to LuciadFusion results in two similar data items.
Users that used the .sdw file as the entry point of a data set can simply
switch to the .sid file.
Upgrade considerationDatabase Connectors
;encrypt=true;trustServerCertificate=true; to the url property, see the SQL Server Connecting with encryption page for more information.
Upgrade considerationDatabase Connectors
TLcdPostGISModelDecoder and TLcdPostGISModelEncoder.
This version is 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 version 12.
Upgrade considerationDatabase Connectors
TLcdMSSQLModelDecoder and TLcdMSSQLModelEncoder.
This version is no longer supported by Microsoft, see the SQL Server 2014 lifecycle page.
It's advisable to upgrade to a newer version of SQL Server if you are still using version 2014.
Upgrade considerationOGC Server
ALcdWMSLayer and its default implementation TLcdWMSLayer.
- ALcdWMSLayer#getBoundingBox(String) allows to retrieve a bounding box for a given coordinate reference system.
- TLcdWMSLayer#addBoundingBox(String, ILcdBounds) allows to register a bounding box for a given coordinate reference system.
ALcdWMSLayer need to implement the new getBoundingBox(String) but can decide to return either a bounding box for the given coordinate reference system, or return an empty optional.
Upgrade considerationDefense Standards
TLcdNITFUncompressedImageDecoderhas been removed.TLcdNITFModelDecoder#decodeImageBoundshas been removed.TLcdNITFModelDecoder#decodeModelReferencehas been removed.TLcdNITFTextSegmentnow has a copy constructor.TLcdNITFModelDescriptor#addTextSegmenthas been added.
TLcdNITFModelDecoder.
Upgrade considerationInfrastructure Standards
The names of the DWG native jar files have been revised to indicate the library version update from 24.8 to 26.2. Version 26.2 aligns with the latest release of the OpenDesignAlliance's Drawings SDK, version 2026.2.
The available DWG native jar files, at the time of writing, are:
libdwg-26.2.lcd-1-native.linux64.jarlibdwg-26.2.lcd-1-native.linux64_arm.jarlibdwg-26.2.lcd-1-native.macos_64.jarlibdwg-26.2.lcd-1-native.macos_64_arm.jarlibdwg-26.2.lcd-1-native.win64.jar
Upgrade considerationInfrastructure Standards
The names of the DGN native jar files have been revised to indicate the library version update from 24.8 to 26.2. Version 26.2 aligns with the latest release of the OpenDesignAlliance's Drawings SDK, version 2026.2.
The available DGN native jar files, at the time of writing, are:
libdgn-26.2.lcd-1-native.linux64.jarlibdgn-26.2.lcd-1-native.linux64_arm.jarlibdgn-26.2.lcd-1-native.macos_64.jarlibdgn-26.2.lcd-1-native.macos_64_arm.jarlibdgn-26.2.lcd-1-native.win64.jar
Upgrade considerationInfrastructure Standards
The TLcdIFCModelDecoder returns a feature data model with an ILcdDataObject. The TLcdDataModel of that ILcdDataObject has been changed to align it with the feature data models of other BIM formats. The data model now has:
-
A new property with the name
Metadata. This property is aMapand contains the non-categorized metadata of the object as found in the IFC dataset. In previous versions, theILcdDataObjectitself contained this metadata. -
A new property with the name
MetadataGroups. This property is aMapand contains the metadata within the differentIfcPropertySetslinked to the object in the IFC dataset. In previous versions, an array ofIfcPropertySetelements contained this information.
The following image shows an illustration of the new TLcdDataModel (on the right) compared
to the old TLcdDataModel (on the left).

Upgrade considerationInfrastructure Standards
The geometry model returned by the TLcdBinzModelDecoder no longer contains the metadata
of the objects. Only the FeatureID is retained in the geometry model. This change has an impact on the OGC 3D Tiles generation
process: it now stores only the FeatureID inside the batch table. Depending on the amount of metadata inside
the Binz dataset, this can lead to a significant reduction in the size of the OGC 3D Tiles output.
The metadata of the objects is still available in the feature data model. The FeatureID in the geometry model can be used to match the objects in the geometry model with the objects in the features model. If you have code that reads out the metadata directly from the OGC 3D Tiles data, you must change this code to read this metadata from the feature data model. The Visualize BIM data article explains this in more detail.
Upgrade considerationInfrastructure Standards
LCD-13711
TLcd3DTilesProcessorBuilder: the cache directory is now placed under the system-wide
temporary files directory. This allows the 3D Tiles Processing Engine to be used when the installation directory
is not writable.
Upgrade considerationInfrastructure Standards
The TLcdBinzModelDecoder returns a feature data model with elements implementing the ILcdDataObject interface.
The TLcdDataModel of these elements has been changed to align it with the feature data models of other BIM formats.
These changes were made:
-
Added a property with the name
Metadata. This new property is aMapand contains the non-categorized metadata of the object as found in the Binz dataset. In previous versions, theILcdDataObjectitself contained this metadata. -
Removed the
RenderIdproperty. This property was used to store the original FeatureID of the feature in the Binz dataset. Instead, aFeatureIDOffsetproperty is stored in the root feature of the model. You can use this property to calculate the original FeatureID by subtracting this offset from theFeatureIDproperty of the object. -
The features in the model no longer implement the
ILcdExtrudedShapeinterface. Instead, this information can be derived from theBounds,MinZandMaxZproperties.
You must change code that reads out this Binz metadata to use this new structure. This snippet shows
a code example of how to read the moniker Binz property in a previous version of the model:
// will no longer work in 2025.0
TLcdBinzModelDecoder decoder = new TLcdBinzModelDecoder();
ILcdModel featuresModel = decoder.decodeSource(new TLcdBIMDataSource("path/to/dataset.binz", FEATURES));
ILcdDataObject feature = (ILcdDataObject) featuresModel.elements().next();
String moniker = (String) feature.getValue("moniker");
To work with the new model, change the code to retrieve the Metadata property first.
This property is a Map containing the Binz metadata, like the moniker.
This snippet shows how to read this moniker property in the new version of the model:
TLcdBinzModelDecoder decoder = new TLcdBinzModelDecoder();
ILcdModel featuresModel = decoder.decodeSource(new TLcdBIMDataSource("path/to/dataset.binz", FEATURES));
ILcdDataObject feature = (ILcdDataObject) featuresModel.elements().next();
Map<String, Object> metadata = (Map<String, Object>) feature.getValue("Metadata");
String moniker = (String) metadata.get("moniker");
The RenderId property is no longer available on the features in the model. Instead, you can
now calculate it by subtracting the FeatureIDOffset from the FeatureID.
This snippet shows a code example of how to accomplish that:
TLcdBinzModelDecoder decoder = new TLcdBinzModelDecoder();
ILcdModel featuresModel = decoder.decodeSource(new TLcdBIMDataSource("path/to/dataset.binz", FEATURES));
// Get some feature
ILcdDataObject feature = (ILcdDataObject) featuresModel.elements().next();
// Get the root feature
Integer rootFeatureId = ((List<Integer>) feature.getValue("AncestorPath")).get(0);
ILcdDataObject rootFeature = (ILcdDataObject) featuresModel.query(...);
// Calculate the RenderID
Integer featureId = (Integer) feature.getValue("FeatureID");
Integer featureIdOffset = (Integer) rootFeature.getValue("FeatureIDOffset");
Integer renderId = featureID - featureIdOffset;
Casting a Binz feature to an ILcdExtrudedShape now results in a ClassCastException
because the feature no longer implements this interface. This snippet shows a code example of how to convert a
Binz feature into an ILcdExtrudedShape in the new version of the model:
TLcdBinzModelDecoder decoder = new TLcdBinzModelDecoder();
ILcdModel featuresModel = decoder.decodeSource(new TLcdBIMDataSource("path/to/dataset.binz", FEATURES));
ILcdDataObject feature = (ILcdDataObject) featuresModel.elements().next();
ILcdExtrudedShape shape = new TLcdExtrudedShape(ALcdShape.fromDomainObject(feature),
(Double) feature.getValue("MinZ"),
(Double) feature.getValue("MaxZ"));Upgrade considerationInfrastructure Standards
TLcdRevitModelDecoder and the
TLcdNWDModelDecoder on this platform.