2026.0.15
New featureLuciadFusion
LCD-14717
ILcdWMSGetLegendGraphicRequestEncoder or
ILcdWMTSGetLegendGraphicRequestEncoder customize the
LegendURL that is advertised in the GetCapabilities response,
through the new getLegendURL method on those interfaces. An encoder can override the
advertised width, height and online resource per layer and style, or suppress the
LegendURL altogether.
In addition, the default size of the WMS LegendURL is now configurable through the new
fusion.ogc.wms.getLegendGraphic.width and
fusion.ogc.wms.getLegendGraphic.height properties. Previously this size was fixed at
32 by 32 pixels. The equivalent fusion.ogc.wmts.getLegendGraphic properties were
already available.
New featureLuciadFusion
LCD-14717
ILcdWMSGetLegendGraphicRequestEncoder and
ILcdWMTSGetLegendGraphicRequestEncoder interfaces used by WM(T)S services to encode
GetLegendGraphic responses now have a new method:
getLegendURL(ALcdWMSLayer, ALcdWMSLayerStyle, TLcdWMSLegendURLParameters)
for WMS, and
getLegendURL(String, String, TLcdWMTSLegendURLParameters)
for WMTS.
These methods allow an encoder to customize the LegendURL advertised in the
GetCapabilities response for a given layer and style. An implementation can override
the width, the height, or the online resource — for example to advertise a static, externally-hosted
legend image instead of a dynamically-generated one — or suppress the LegendURL
entirely by returning null.
Both methods are default methods that return the given default parameters unchanged, which preserves the existing behavior for encoders that do not override them.
ImprovementLuciadFusion
LCD-10961
TLcdGXYPolylineStampLabelPainter supports two new alignment modes,
LEFT and RIGHT. Where
ABOVE, CENTER and BELOW
are relative to the orientation of the line segment on screen, these two offset the label to
the left-hand or the right-hand side of that segment as it is followed from its start point to
its end point. Reversing the point order of a polyline therefore moves such a label to the
opposite side of the line. The label text is still flipped where needed to avoid rendering it
upside down.
For these two modes the label is offset by half its height plus the
vGap,
and a positive gap always moves it further away from the line. This matches the behavior of
TLcdGXYOnPathLabelingAlgorithm.AlignmentMode.LEFT/RIGHT.
ImprovementLuciadFusion
LCD-14740
LatLongBoundingBox element appears before the
Operations element. It now also accepts lowercase nan bounding box
coordinate values in WFS 1.0.0 capabilities responses.
ImprovementAviation Standards
LCD-14722
TLcdProcedure3DGeometryCalculator when climbing toward a
leg with no maximum altitude constraint (e.g., AT_OR_ABOVE). Previously, the calculator would default to a hardcoded
10000ft target altitude. Now, it derives a sensible target altitude from subsequent leg constraints.
ImprovementDefense Symbology
LCD-14725
I and O in the cell column labels of CGRS grids.
By default these letters are omitted (to avoid confusion with the digits 1 and 0),
but because CGRS is not standardized, some grids use the full alphabet. You can now include them through the new
TLcdCGRSFormat(ILcdBounds, String, boolean) constructor and the
TLspCGRSGridStyle.Builder.omitLetterIandO(boolean) method.
Bug fixLuciadFusion
LCD-10961
PerpendicularOffset of
a TextSymbolizer's LinePlacement as the
Symbology Encoding specification prescribes: the distance is positive to the left-hand side
of the line string and negative to its right, and it is measured from the label's edge.
Previously the sign only decided the direction in which the label was shifted on screen, so
reversing the point order of a line string left the label on the same physical side of the
line, and the distance was measured to the label's center. Labels using a non-zero
PerpendicularOffset can therefore end up on the other side of the line
than before, and half a label height further away from it. The Lightspeed implementation
already applied both of these semantics.
Bug fixLuciadFusion
LF-2868
build/maven/deploy.xml script which caused the
commons-collections dependency to be considered as a Luciad library.
Bug fixLuciadFusion
LCD-14732
ILcdDatabaseEncoder adds an element that has no value for one or more of its
nullable columns. On Oracle this failed with Unsupported feature: checkValidIndex, for instance when a
WFS-T Insert transaction omits an optional property. Informix was affected as well. For Informix Spatial,
null values in BOOLEAN and TIMESTAMP columns are now
stored correctly.
Bug fixLuciadFusion
LCD-14733
lockAction parameter into account for
WFS 2.0.0 GetFeatureWithLock requests. Previously, such requests always behaved as if
lockAction was set to ALL, even when clients requested
SOME.
Bug fixLuciadFusion
LCD-14734
SLD_BODY parameter of a KVP request was URL
decoded a second time, even though the servlet container already decodes request parameters. This replaced every
+ character in the embedded Styled Layer Descriptor by a space, so that for example an
ExternalGraphic with format image/svg+xml could not be resolved,
and it made an SLD containing a literal % character fail to parse.
Clients that worked around this by encoding SLD_BODY twice must now encode it only once.
Bug fixLuciadFusion
LCD-14198
Bug fixLuciadFusion
LCD-14714
FILTER parameter using the () placeholder syntax
to indicate "no filter for this layer" incorrectly raised a FilterError service exception
instead of leaving that layer unfiltered.
Bug fixLuciadFusion
LCD-14718
Bug fixLuciadFusion
LCD-14026
TLspShapeLayerBuilder: fixed an issue that would sometimes trigger an IllegalArgumentException
when using parameterized styles.
Bug fixLuciadFusion
LCD-14704
TLcdKML22BalloonContentProvider: fixed an issue that could prevent HTML content containing
meta tags from being displayed.
Bug fixAviation Standards
LCD-14726
TLcdProcedureGeometryCalculator now correctly respects the turn direction specified on VI
legs when transitioning to CF legs. Previously, when a VI leg with an explicit turn direction (LEFT or RIGHT) was
followed by a CF leg and the aircraft was already close to the CF course, the specified turn direction could be
ignored and the shortest turn was used instead.
Bug fixAviation Standards
LCD-14723
TLcdProcedure3DGeometryCalculator where the aircraft altitude could
incorrectly change during holding pattern legs (HA, HM, HF). When the aircraft was in a holding pattern and the
current altitude matched the target altitude, the calculator would look ahead to the next leg and potentially start
climbing or descending based on that leg's altitude constraints. The altitude now correctly remains steady
throughout the holding pattern.
Bug fixAviation Standards
LCD-14716
TLcdDAFIFTProcedureDecoder now correctly handles
duplicate fixes when constructing IAP branches that combine approach transition legs and main approach legs.
Previously, when the final approach transition leg and the first main approach leg referenced the same fix,
the resulting branch could contain a redundant initial fix (IF) leg. The decoder now omits such duplicate
IF legs, resulting in cleaner procedure branches and avoiding unnecessary duplicate fixes in the generated
trajectory.
Bug fixMaritime Standards
LCD-14748
Upgrade considerationInfrastructure Standards
LCD-14735
TLcdIFCModelDecoder ANTLR dependency has been upgraded from 4.9.2 to 4.13.2. If you
have custom lexers or parsers generated by ANTLR 4.9.2 (or older), you must regenerate them with this new version.
2026.0
2026.0.14
ImprovementLuciadFusion
LF-2909
fusion.studio.configuration.textIndexingEnabled flag is set to false.
ImprovementDefense Symbology
LCD-14703
Bug fixLuciadFusion
LCD-14673
GetFeatureInfo requests on image mosaic layers always returned no result.
The pixel values at the requested location are now correctly retrieved and included in the response.
Bug fixInfrastructure Standards
LCD-14579
TLcdNWDModelDecoder and TLcdRevitModelDecoder
caused a JVM crash for certain input datasets. For this change, the myVRDatakitConverter library was upgraded to
version 2025.10.82244.
Upgrade considerationLuciadFusion
LCD-14709
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| ch.qos.logback | logback-classic | 1.5.34 | 1.5.36 |
| ch.qos.logback | logback-core | 1.5.34 | 1.5.36 |
The following OGC server sample dependencies have been upgraded:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.module | jackson-module-parameter-names | 2.21.1 | 2.21.4 |
Upgrade considerationLuciadFusion
LCD-14710
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.apache.httpcomponents.core5 | httpcore5-h2 | 5.4 | 5.4.3 |
| org.apache.httpcomponents.core5 | httpcore5 | 5.4 | 5.4.3 |
Upgrade considerationLuciadFusion
LCD-14712
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.postgresql | postgresql | 42.7.11 | 42.7.12 |
Upgrade considerationLuciadFusion
LCD-14711
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.dataformat | jackson-dataformat-xml | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.dataformat | jackson-dataformat-cbor | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.module | jackson-module-afterburner | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.module | jackson-module-jaxb-annotations | 2.21.4 | 2.21.5 |
Upgrade considerationLuciadFusion
LCD-14711
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.core | jackson-core | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.core | jackson-databind | 2.21.4 | 2.21.5 |
The following OGC server sample dependencies have been upgraded:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.21.4 | 2.21.5 |
| com.fasterxml.jackson.module | jackson-module-parameter-names | 2.21.4 | 2.21.5 |
Upgrade considerationMaritime Standards
LCD-14675
2026.0.12
ImprovementLuciadFusion
LF-2906
Bug fixLuciadFusion
LCD-14682
Bug fixLuciadFusion
LCD-14674
Bug fixLuciadFusion
LCD-14690
TLcdGeoTIFFModelDecoder when using GeoTIFF tags.
A user defined reference with Mercator projection ignored the parameter ProjStdParallel1GeoKey.
Bug fixInfrastructure Standards
LCD-14649
TLcd3DTilesProcessorBuilder: fixed a rare NullPointerException crash when using the
dropSmallComplexParts simplification strategy.
2026.0.11
ImprovementLuciadFusion
LCD-14626, LCD-14627, LCD-14629, LCD-14630
TLcdModelDecodeException can now be thrown by an
ILcdModelDecoder when dataset decoding fails. This exception exposes
a Category that classifies the type of decoding failure at a high level.
An initial set of decoders that support this are the TLcdIFCModelDecoder,
TLcdRevitModelDecoder, and TLcdNWDModelDecoder.
ImprovementLuciadFusion
LCD-14660, LCD-14679
-Dcom.luciad.format.raster.TLcdGeoTIFFModelDecoder.interpretPixelIsPointAsArea=true as a
parameter to the Java Virtual Machine if you need this behavior.
ImprovementAviation Standards
LCD-14685
LCD-14645 in the DAFIFT procedure decoder
TLcdDAFIFTProcedureDecoder. Runway semantics were previously preserved only for SID
procedure leg fixes; this enhancement extends the same behavior to IAP procedures.
Bug fixLuciadFusion
LCD-14681
TLcdOGC3DTilesModelEncoder
will now throw an IOException instead of an unexpected
NullPointerException.
Bug fixLuciadFusion
LCD-14670
TLcdModelMetadata on Windows could throw an error when the file
path contained a # character. This could for instance happen when decoding the metadata of
Revit or Navisworks datasets, but other formats could be affected as well.
Bug fixLuciadFusion
LCD-14568
The ShapeFile decoders (TLcdSHPModelDecoder and TLcdSHPModelDecoder2) now only log number parse warnings once, to avoid log file flooding.
An example of such a warning is: Failed to parse '***********' as number: Not a numeric string..
If you enable debug logging for the com.luciad.format.shp package, you will still see the individual warnings for each value that cannot be parsed as a number.
Bug fixDefense Symbology
LCD-14689
Bug fixDefense Symbology
LCD-14683
ILcdMS2525bCoded or ILcdAPP6ACoded.
Bug fixDefense Symbology
LCD-14677
TLcdNVGGXYPainterProvider, where adjusting style properties on the default military symbol style, accessed via the method TLcdNVGGXYPainterProvider.getDefaultMilitarySymbolStyle,
had no effect on the styling of military symbols.
Bug fixDefense Symbology
LCD-14637
Bug fixDefense Symbology
LCD-14678
TLcdAPP6AObjectCustomizer and TLcdMS2525bObjectCustomizer),
where selecting a value in a combo box would set the display name on the underlying military symbol's text modifier instead
of the actual modifier value.
This could result in incorrect or "Undefined" modifier values.
Upgrade considerationLuciadFusion
LF-2892
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.dataformat | jackson-dataformat-yaml | 2.21.2 | 2.21.4 |
| com.fasterxml.jackson.module | jackson-module-parameter-names | 2.21.2 | 2.21.4 |
| io.micrometer | micrometer-commons | 1.15.11 | 1.15.12 |
| io.micrometer | micrometer-core | 1.15.11 | 1.15.12 |
| io.micrometer | micrometer-jakarta9 | 1.15.11 | 1.15.12 |
| io.micrometer | micrometer-observation | 1.15.11 | 1.15.12 |
| jakarta.xml.bind | jakarta.xml.bind-api | 4.0.4 | 4.0.5 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.54 | 10.1.55 |
| org.slf4j | jul-to-slf4j | 2.0.17 | 2.0.18 |
| org.slf4j | log4j-over-slf4j | 2.0.17 | 2.0.18 |
| org.springframework | spring-aop | 6.2.18 | 6.2.19 |
| org.springframework | spring-beans | 6.2.18 | 6.2.19 |
| org.springframework | spring-context | 6.2.18 | 6.2.19 |
| org.springframework | spring-context-support | 6.2.18 | 6.2.19 |
| org.springframework | spring-core | 6.2.18 | 6.2.19 |
| org.springframework | spring-expression | 6.2.18 | 6.2.19 |
| org.springframework | spring-jdbc | 6.2.18 | 6.2.19 |
| org.springframework | spring-messaging | 6.2.18 | 6.2.19 |
| org.springframework | spring-tx | 6.2.18 | 6.2.19 |
| org.springframework | spring-web | 6.2.18 | 6.2.19 |
| org.springframework | spring-webmvc | 6.2.18 | 6.2.19 |
| org.springframework | spring-websocket | 6.2.18 | 6.2.19 |
| org.springframework.boot | spring-boot | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-actuator | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-actuator-autoconfigure | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-autoconfigure | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-configuration-processor | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-actuator | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-freemarker | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-jdbc | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-json | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-logging | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-security | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-validation | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-web | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-websocket | 3.5.14 | 3.5.15 |
| org.springframework.ldap | spring-ldap-core | 3.3.1 | 3.3.8 |
| org.springframework.security | spring-security-config | 6.5.10 | 6.5.11 |
| org.springframework.security | spring-security-core | 6.5.10 | 6.5.11 |
| org.springframework.security | spring-security-crypto | 6.5.10 | 6.5.11 |
| org.springframework.security | spring-security-ldap | 6.5.10 | 6.5.11 |
| org.springframework.security | spring-security-oauth2-core | 6.5.10 | 6.5.11 |
| org.springframework.security | spring-security-oauth2-resource-server | 6.5.10 | 6.5.11 |
| org.springframework.security | spring-security-web | 6.5.10 | 6.5.11 |
Upgrade considerationLuciadFusion
LF-2892
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| ch.qos.logback | logback-classic | 1.5.32 | 1.5.34 |
| ch.qos.logback | logback-core | 1.5.32 | 1.5.34 |
| com.fasterxml.jackson.core | jackson-core | 2.21.2 | 2.21.4 |
| com.fasterxml.jackson.core | jackson-databind | 2.21.2 | 2.21.4 |
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.21.2 | 2.21.4 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.21.2 | 2.21.4 |
| org.slf4j | jcl-over-slf4j | 2.0.17 | 2.0.18 |
| org.slf4j | slf4j-api | 2.0.17 | 2.0.18 |
Security updates have been applied to the following sample dependencies:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| io.micrometer | micrometer-commons | 1.15.11 | 1.15.12 |
| io.micrometer | micrometer-observation | 1.15.11 | 1.15.12 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.54 | 10.1.55 |
| org.slf4j | jul-to-slf4j | 2.0.17 | 2.0.18 |
| org.springframework | spring-aop | 6.2.18 | 6.2.19 |
| org.springframework | spring-beans | 6.2.18 | 6.2.19 |
| org.springframework | spring-context | 6.2.18 | 6.2.19 |
| org.springframework | spring-core | 6.2.18 | 6.2.19 |
| org.springframework | spring-expression | 6.2.18 | 6.2.19 |
| org.springframework | spring-web | 6.2.18 | 6.2.19 |
| org.springframework | spring-webmvc | 6.2.18 | 6.2.19 |
| org.springframework.boot | spring-boot | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-autoconfigure | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-json | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-logging | 3.5.14 | 3.5.15 |
| org.springframework.boot | spring-boot-starter-web | 3.5.14 | 3.5.15 |
2026.0.10
ImprovementLuciadFusion
LCD-14656
TLcdGeoJsonModelDecoder no longer creates 3D shapes when parsing geometries with 2D coordinates.
ImprovementAviation Standards
LCD-14645
TLcdDAFIFTProcedureDecoder now preserves runway semantics for
runway-linked procedure leg fixes. When a leg fix is derived from a runway, ILcdProcedureLeg#getFix()
continues to expose the original runway through ILcdRunway while still behaving as a point for
geometry usage.
ImprovementInfrastructure Standards
LCD-14664
Bug fixLuciadFusion
LCD-14667
TLcdOGC3DTilesModelDecoder: fixed a bug in the transformation of tiles that use a
region
bounding volume, which could lead to incorrect fitting on 3D Tiles layers.
Bug fixLuciadFusion
LCD-14654
Bug fixLuciadFusion
LF-2887
Bug fixAviation Standards
LCD-14663
LCD-14643 in the DAFIFT procedure decoder
TLcdDAFIFTProcedureDecoder. In addition to generating a procedure per IAP transition–main
approach combination, a separate procedure for the shared main approach is now also created.
Bug fixAviation Standards
LCD-14643
TLcdDAFIFTProcedureDecoder now correctly identifies
IAP transition legs and properly splits IAP branches when both approach transition and main approach legs are
present. Previously, IAP transition legs were not recognized and were treated as main approach legs, resulting in
incorrect branch splitting and unexpected trajectories.
Bug fixAviation Standards
LCD-12112
Airspace features in a 3D Lightspeed view could trigger an
IllegalArgumentException in some cases.
2026.0.09
Bug fixLuciadFusion
LCD-14635
TLcdOGC3DTilesModelDecoder: fixed potential
NullPointerException
or
NegativeArraySizeException
when parsing the batch table in a B3DM file.
Bug fixLuciadFusion
LF-2886
Bug fixLuciadFusion
LCD-13645
Bug fixAdvanced Raster Services
LCD-14634
TLcdECWModelDecoder: fixed a potential VM crash when loading ECW images from a network share
that becomes disconnected after the initial decoding.
2026.0.08
ImprovementLuciadFusion
LF-2867, LF-2881, LF-2890
ImprovementLuciadFusion
LF-2859
ILcdMultiDimensionalModel, the WMS service postpones the creation of the
decoded model and its corresponding GXY layer until the first WMS request that requires them.
- The decoded model for a data item is constructed only when a WMS request needs to access that data item.
- The corresponding GXY layer is created only when the first paint or interaction operation requires it.
- Before initialization, lightweight metadata such as the model reference and WGS84 bounds is used to determine whether a request intersects the data item.
fusion.ogc.wms.lazyInitializationEnabled configuration property, which is disabled by default.
Bug fixLuciadFusion
LF-2882
Bug fixLuciadFusion
LCD-14607
TLcdEllipsoidUtil#geodesicArea now returns exactly 0 when passing in a degenerate
polygon that consists of only 2 distinct points, but many duplicates.
Bug fixLuciadFusion
LF-2859
Bug fixLuciadFusion
LF-2866
Bug fixLuciadFusion
LCD-14617
libOpenCL.so would fail to be loaded on Linux systems with recent NVidia drivers.
Bug fixAdvanced GIS Engine
LCD-14551
TLcdEllipsoidalConstructiveGeometry.convexHull which in some cases caused the
resulting convex hull to not contain all given shapes.
Bug fixAviation Standards
LCD-14625
TLcdDAFIFTVFRRouteDecoder
threw an exception for VFR route datasets without offset routes.
Bug fixAviation Standards
LCD-14624
TLcdDAFIFTNavaidDecoder could not handle Navaid
records with radio class Compass Locator. Support for this radio class has been added to
TLcdRadioClass.
Upgrade considerationLuciadFusion
LF-2880
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| io.micrometer | micrometer-commons | 1.15.10 | 1.15.11 |
| io.micrometer | micrometer-core | 1.15.10 | 1.15.11 |
| io.micrometer | micrometer-jakarta9 | 1.15.10 | 1.15.11 |
| io.micrometer | micrometer-observation | 1.15.10 | 1.15.11 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.52 | 10.1.54 |
| org.springframework | spring-aop | 6.2.17 | 6.2.18 |
| org.springframework | spring-beans | 6.2.17 | 6.2.18 |
| org.springframework | spring-context | 6.2.17 | 6.2.18 |
| org.springframework | spring-context-support | 6.2.17 | 6.2.18 |
| org.springframework | spring-core | 6.2.17 | 6.2.18 |
| org.springframework | spring-expression | 6.2.17 | 6.2.18 |
| org.springframework | spring-jdbc | 6.2.17 | 6.2.18 |
| org.springframework | spring-messaging | 6.2.17 | 6.2.18 |
| org.springframework | spring-tx | 6.2.17 | 6.2.18 |
| org.springframework | spring-web | 6.2.17 | 6.2.18 |
| org.springframework | spring-webmvc | 6.2.17 | 6.2.18 |
| org.springframework | spring-websocket | 6.2.17 | 6.2.18 |
| org.springframework.boot | spring-boot | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-actuator | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-actuator-autoconfigure | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-autoconfigure | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-configuration-processor | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-actuator | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-freemarker | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-jdbc | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-json | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-logging | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-security | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-validation | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-web | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-websocket | 3.5.12 | 3.5.14 |
| org.springframework.security | spring-security-config | 6.5.9 | 6.5.10 |
| org.springframework.security | spring-security-core | 6.5.9 | 6.5.10 |
| org.springframework.security | spring-security-crypto | 6.5.9 | 6.5.10 |
| org.springframework.security | spring-security-ldap | 6.5.9 | 6.5.10 |
| org.springframework.security | spring-security-oauth2-core | 6.5.9 | 6.5.10 |
| org.springframework.security | spring-security-oauth2-resource-server | 6.5.9 | 6.5.10 |
| org.springframework.security | spring-security-web | 6.5.9 | 6.5.10 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.core | jackson-dataformat-yaml | 2.21.1 | 2.21.2 |
Upgrade considerationLuciadFusion
LCD-14618
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.postgresql | postgresql | 42.7.3 | 42.7.11 |
Upgrade considerationDatabase Connectors
LCD-14618
2026.0.07
ImprovementLuciadFusion
LCD-14612
TLcdOGC3DTilesModelDecoder: B3DM or GLB meshes that contain unrecognized glTF extensions now
result in a log warning instead of an exception. This can, in some cases, allow the decoder to read files that would
previously have been rejected.
ImprovementAviation Standards
LCD-14615
Bug fixLuciadFusion
LCD-14581
TLspSLDStyler did not consistently apply SLD styling rules in the order defined by the SLD
feature type style, which could result in an incorrect rendering order.
Bug fixLuciadFusion
LCD-14613
geometry
used in OGC Filter conditions. Since the improved property validation introduced by LCD-13938,
this property was only accepted when it was defined in the feature type's namespace or in a GML-related namespace.
It will now also be accepted in any OGC Filter or WFS-related namespace.
Bug fixMaritime Standards
LCD-14610
Upgrade considerationLuciadFusion
LF-2880
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| io.micrometer | micrometer-commons | 1.15.10 | 1.15.11 |
| io.micrometer | micrometer-observation | 1.15.10 | 1.15.11 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.52 | 10.1.54 |
| org.springframework | spring-aop | 6.2.17 | 6.2.18 |
| org.springframework | spring-beans | 6.2.17 | 6.2.18 |
| org.springframework | spring-context | 6.2.17 | 6.2.18 |
| org.springframework | spring-core | 6.2.17 | 6.2.18 |
| org.springframework | spring-expression | 6.2.17 | 6.2.18 |
| org.springframework | spring-web | 6.2.17 | 6.2.18 |
| org.springframework | spring-webmvc | 6.2.17 | 6.2.18 |
| org.springframework.boot | spring-boot | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-autoconfigure | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-json | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-logging | 3.5.12 | 3.5.14 |
| org.springframework.boot | spring-boot-starter-web | 3.5.12 | 3.5.14 |
2026.0.06
ImprovementLuciadFusion
LF-2874
Bug fixLuciadFusion
LCD-14591
TLcdGeoPackageModelDecoder.discoverDataSources could
incorrectly report certain extension‑related issues as an UnsatisfiedLinkError. These cases now correctly
result in an IOException again, restoring the expected behavior when discovering data sources in GeoPackage files.
Bug fixLuciadFusion
LF-2854
Bug fixLuciadFusion
LCD-14593
Transaction request that combined both geometry and property updates,
it could happen that the property updates were silently ignored. This has been fixed.
Bug fixLuciadFusion
LF-2875
Bug fixLuciadFusion
LCD-14588
TLcdE57ModelDecoder where the decoder could not be instantiated when
using an 'Advanced' or 'Pro' license and when the lcd_panoramics module was not on the
classpath. The decoder can now be instantiated in this case, but will not decode panoramic images.
Bug fixData Connectivity Manager
LF-2871
Upgrade considerationLuciadFusion
LF-2876
Check out our LuciadFusion troubleshooting guide for a list of major changes caused by the Spring Boot upgrade.
Security updates have been applied to the following dependencies:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.zaxxer | HikariCP | 5.1.0 | 6.3.3 |
| io.micrometer | micrometer-commons | 1.14.11 | 1.15.10 |
| io.micrometer | micrometer-core | 1.14.11 | 1.15.10 |
| io.micrometer | micrometer-jakarta9 | 1.14.11 | 1.15.10 |
| io.micrometer | micrometer-observation | 1.14.11 | 1.15.10 |
| jakarta.xml.bind | jakarta.xml.bind-api | 4.0.2 | 4.0.4 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.46 | 10.1.52 |
| org.springframework | spring-aop | 6.2.11 | 6.2.17 |
| org.springframework | spring-beans | 6.2.11 | 6.2.17 |
| org.springframework | spring-context | 6.2.11 | 6.2.17 |
| org.springframework | spring-context-support | 6.2.11 | 6.2.17 |
| org.springframework | spring-core | 6.2.11 | 6.2.17 |
| org.springframework | spring-expression | 6.2.11 | 6.2.17 |
| org.springframework | spring-jdbc | 6.2.11 | 6.2.17 |
| org.springframework | spring-messaging | 6.2.11 | 6.2.17 |
| org.springframework | spring-tx | 6.2.11 | 6.2.17 |
| org.springframework | spring-web | 6.2.11 | 6.2.17 |
| org.springframework | spring-webmvc | 6.2.11 | 6.2.17 |
| org.springframework | spring-websocket | 6.2.11 | 6.2.17 |
| org.springframework.boot | spring-boot | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-actuator | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-actuator-autoconfigure | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-autoconfigure | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-configuration-processor | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-actuator | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-freemarker | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-jdbc | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-json | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-logging | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-security | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-validation | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-web | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-websocket | 3.4.10 | 3.5.12 |
| org.springframework.ldap | spring-ldap-core | 3.2.14 | 3.3.1 |
| org.springframework.security | spring-security-config | 6.4.11 | 6.5.9 |
| org.springframework.security | spring-security-core | 6.4.11 | 6.5.9 |
| org.springframework.security | spring-security-crypto | 6.4.11 | 6.5.9 |
| org.springframework.security | spring-security-ldap | 6.4.11 | 6.5.9 |
| org.springframework.security | spring-security-oauth2-core | 6.4.11 | 6.5.9 |
| org.springframework.security | spring-security-oauth2-resource-server | 6.4.11 | 6.5.9 |
| org.springframework.security | spring-security-web | 6.4.11 | 6.5.9 |
The following dependencies have been added:
| Group ID | Artifact ID | Version |
|---|---|---|
| org.slf4j | jcl-over-slf4j | 2.0.17 |
Upgrade considerationLuciadFusion
LF-2876
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| ch.qos.logback | logback-classic | 1.5.18 | 1.5.32 |
| ch.qos.logback | logback-core | 1.5.18 | 1.5.32 |
The following sample dependencies have been updated:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.zaxxer | HikariCP | 5.1.0 | 6.3.3 |
| io.micrometer | micrometer-commons | 1.14.11 | 1.15.10 |
| io.micrometer | micrometer-observation | 1.14.11 | 1.15.10 |
| org.apache.tomcat.embed | tomcat-embed-el | 10.1.46 | 10.1.52 |
| org.springframework | spring-aop | 6.2.11 | 6.2.17 |
| org.springframework | spring-beans | 6.2.11 | 6.2.17 |
| org.springframework | spring-context | 6.2.11 | 6.2.17 |
| org.springframework | spring-core | 6.2.11 | 6.2.17 |
| org.springframework | spring-expression | 6.2.11 | 6.2.17 |
| org.springframework | spring-web | 6.2.11 | 6.2.17 |
| org.springframework | spring-webmvc | 6.2.11 | 6.2.17 |
| org.springframework.boot | spring-boot | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-autoconfigure | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-json | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-logging | 3.4.10 | 3.5.12 |
| org.springframework.boot | spring-boot-starter-web | 3.4.10 | 3.5.12 |
The following sample dependencies have been added:
| Group ID | Artifact ID | Version |
|---|---|---|
| org.slf4j | jcl-over-slf4j | 2.0.17 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.core | jackson-core | 2.21.1 | 2.21.2 |
| com.fasterxml.jackson.core | jackson-databind | 2.21.1 | 2.21.2 |
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.21.1 | 2.21.2 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.21.1 | 2.21.2 |
The following OGC server sample dependencies have been upgraded:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.module | jackson-module-parameter-names | 2.21.1 | 2.21.2 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.apache.httpcomponents.core5 | httpcore5-h2 | 5.3.4 | 5.4 |
| org.apache.httpcomponents.core5 | httpcore5 | 5.3.4 | 5.4 |
| org.apache.httpcomponents.client5 | httpclient5 | 5.4.3 | 5.6 |
| org.apache.httpcomponents.client5 | httpclient5-cache | 5.4.3 | 5.6 |
Upgrade considerationLuciadFusion
LCD-14578
TLcdGeoPackageModelDecoder now filters the results of discoverDataSources so that it only returns
TLcdGeoPackageDataSource instances for which isSupported() evaluates to true. This avoids exposing
unsupported GeoPackage tables and ensures consistency with other model decoders.
2026.0.05
ImprovementLuciadFusion
LF-2851
TLfnLTSServlet is added to the API.
It allows to serve data from a LuciadFusion Tile Store (LTS) as a lightweight standalone service.
The data access is read-only.
The sample
samples.fusion.server.Main demonstrates how to make use of this.
Bug fixLuciadFusion
LF-2869
Bug fixDefense Symbology
LCD-14553
Fixed an issue where min/max altitude values in some tactical graphics labels were fetched from the "Additional Information" modifier instead of from the "Altitude/Depth" modifier.
Affected symbols:
| Standard(s) | Hierarchy Code | Name |
|---|---|---|
| APP-6A | 2.X.2.3.3.2 | Airspace Coordination Area (ACA) |
Bug fixDefense Symbology
LCD-14544
Resolved an issue that could cause hierarchy icon, of military symbols containing a letter icon, to be misaligned. For example, the before and after of the APP-6A "Reconnaissance - Airborne Early Warning (AEW)" (1.X.2.1.1.10) symbol:


2026.0.04
ImprovementLuciadFusion
LCD-14580
TLcdLonLatGeoBuffers with many points.
ImprovementLuciadFusion
LCD-14583
Bug fixLuciadFusion
LCD-14568
The ShapeFile decoders (TLcdSHPModelDecoder and TLcdSHPModelDecoder2) now only log number parse warnings once, to avoid log file flooding.
An example of such a warning is: Failed to parse '***********' as number: Not a numeric string..
If you enable debug logging for the com.luciad.format.shp package, you will still see the individual warnings for each value that cannot be parsed as a number.
2026.0.03
ImprovementLuciadFusion
LCD-11113
TLspPanController can now be configured to be greedy or not by using
TLspPanController#setGreedy(boolean). When enabled, it avoids user interactions other than
mouse drags while panning. As a result of this change, GreedyPanController became obsolete
and got removed from the sample code.
ImprovementLuciadFusion
LCD-14535
TLcdGXYSelectController2 now clears the entire map selection when pressing the escape key.
ImprovementLuciadFusion
LCD-14535
TLspSelectController now clears the entire map selection when pressing the escape key.
ImprovementLuciadFusion
LCD-12020
TLcdGXYNewController2 now reacts as follows on pressing escape:
- If an object is being created, the creation process is being canceled, allowing to restart creation immediately after.
- If an object is not yet being created (e.g. before the first click), the action to trigger after commit is performed, allowing to set the default controller back on the view and terminate the creation process completely.
ImprovementLuciadFusion
LCD-12020
TLspCreateController now reacts as follows on pressing escape:
- If an object is being created, the creation process is being canceled, allowing to restart creation immediately after.
- If an object is not yet being created (e.g. before the first click), the action to trigger after commit is performed, allowing to set the default controller back on the view and terminate the creation process completely.
ImprovementLuciadFusion
LF-2856
GetLegendGraphic support to both WMS and WMTS services for layers styled with SLD.
For easier customization, full reference implementations are available in:
samples.wms.server.SLDWMSGetLegendGraphicEncodersamples.wmts.server.SLDWMTSGetLegendGraphicEncoderImprovementLuciadFusion
LCD-8361
TLspKeyActionController now automatically requests focus on the map upon activation. This makes
it possible for key events to have immediate effect after the controller has been activated without the need for a mouse click.
ImprovementLuciadFusion
LCD-14565
GetCoverage request is set to 1 x 1.
ImprovementMaritime Standards
LCD-14182
SCLBDY51.
Bug fixLuciadFusion
LF-2863
Bug fixLuciadFusion
LF-2853
Bug fixLuciadFusion
LCD-14559
TLcdGeoJsonModelDecoder failed to handle array properties whose elements could be of
different types (for example, primitive values or nested arrays).
Bug fixLuciadFusion
LCD-14564
WMS/WMTS GetFeatureInfo request could fail when the underlying data was a large image.
Bug fixAdvanced Raster Services
LCD-14536
TLcdGeospatialPDFModelDecoder no longer throws a
NullPointerException when the PDF file contains a map frame without description.
Bug fixDefense Symbology
LCD-12209
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.core | jackson-core | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.core | jackson-databind | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.core | jackson-annotations | 2.14.0 | 2.21 |
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.14.0 | 2.21.1 |
The following OGC server sample dependencies have been upgraded:
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.module | jackson-module-parameter-names | 2.14.0 | 2.21.1 |
| org.yaml | snakeyaml | 2.3 | 2.5 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.ow2.asm | asm | 9.8 | 9.9.1 |
| org.ow2.asm | asm-commons | 9.8 | 9.9.1 |
| org.ow2.asm | asm-tree | 9.8 | 9.9.1 |
| org.eclipse.jetty | jetty-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-http | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-io | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-plus | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-security | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-util | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-xml | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-annotations | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-plus | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-servlet | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-webapp | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-jetty-common | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-jetty-api | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-core-common | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-core-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-core-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-common | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jetty-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-servlet | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-alpn-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-jndi | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-session | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-ee | 12.0.25 | 12.0.33 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.core | jackson-dataformat-yaml | 2.14.0 | 2.21.1 |
| org.yaml | snakeyaml | 2.2 | 2.5 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| org.ow2.asm | asm | 9.8 | 9.9.1 |
| org.ow2.asm | asm-commons | 9.8 | 9.9.1 |
| org.ow2.asm | asm-tree | 9.8 | 9.9.1 |
| org.eclipse.jetty | jetty-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-http | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-io | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-plus | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-security | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-util | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-xml | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-annotations | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-plus | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-servlet | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-webapp | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-jetty-common | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-jetty-api | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-core-common | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-core-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.websocket | jetty-websocket-core-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-common | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-jetty-server | 12.0.25 | 12.0.33 |
| org.eclipse.jetty.ee10 | jetty-ee10-websocket-servlet | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-alpn-client | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-jndi | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-session | 12.0.25 | 12.0.33 |
| org.eclipse.jetty | jetty-ee | 12.0.25 | 12.0.33 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.fasterxml.jackson.dataformat | jackson-dataformat-xml | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.dataformat | jackson-dataformat-cbor | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.module | jackson-module-afterburner | 2.14.0 | 2.21.1 |
| com.fasterxml.jackson.module | jackson-module-jaxb-annotations | 2.14.0 | 2.21.1 |
| org.yaml | snakeyaml | 2.0 | 2.5 |
2026.0.02
ImprovementLuciadFusion
LCD-14533
TIME dimension values more flexibly.
Previously, only values that exactly matched the strings advertised in the WMTS capabilities were accepted.
The server now also accepts ISO 8601 time values that are temporally equivalent to the advertised values.
ImprovementLuciadFusion
LCD-14211
ELspCreationMode on TLsp3DPointListEditor.
A creation mode configured via TLspShapeEditor#setCreationMode now also applies to the
delegate TLsp3DPointListEditor.
Bug fixLuciadFusion
LF-2855
Resolved an index error that prevented the correct execution of the Database migration scripts when upgrading from LuciadFusion to 2026.0 on SQL Server databases.
Bug fixLuciadFusion
LCD-14218
TLcdLonLatGeoBuffers to have incorrect contours and visualization.
Bug fixLuciadFusion
LCD-14207
ILcdOGCCondition, class
TLcdOGCBinaryComparisonOperator and article
OGC filters in a LuciadLightspeed application
all incorrectly referred to the PropertyIsLessOrEqualThan and
PropertyIsLessOrEqualThan operators. These have now been updated to the
correct operator names: PropertyIsLessThanOrEqualTo and
PropertyIsGreaterThanOrEqualTo.
Bug fixLuciadFusion
LCD-14531
GetCoverage request resulted in a server error when the request would result in a too
small image.
Now it returns an OGC error response for such a request, using an http status code 400.
Bug fixDefense Symbology
LCD-14210
TLcdMilitarySymbolStyle.setSelectionIcon(ILcdResizableIcon)Bug fixMaritime Standards
LCD-14528
LineInstructionUnsuppressed drawing commands are now correctly parsed when visualizing S-101 data.
2026.0.01
ImprovementLuciadFusion
LF-2842
fusion.ogc.wfs.supportedVersions, fusion.ogc.wms.supportedVersions
and fusion.ogc.wcs.supportedVersions properties in the fusion.common.yml config file for more information.
ImprovementLuciadFusion
LF-2807
Access-Control-Allow-Credentials
HTTP response header used in CORS. By default, LuciadFusion returns this header with the value true.
With the new fusion.security.cors.allowCredentials property in the application-fusion.development.yml
or application-fusion.production.yml config files, this behaviour can be changed.
ImprovementLuciadFusion
LCD-14203
TLcdEllipsoidUtil#closestPointOnShapeTLcdEllipsoidRhumblineUtil#closestPointOnShapeTLcdSphereRhumblineUtil#closestPointOnShape
ImprovementLuciadFusion
LCD-14092
TLspFXBalloonManager: it is now possible to customize the appearance of the balloons using
CSS.
Please refer to the API documentation for more details.
ImprovementLuciadFusion
LCD-13724
TLspShapeEditor on how to plug in a custom editor.
ImprovementMaritime Standards
LCD-14125, LCD-14123
Bug fixLuciadFusion
LCD-14216
TLcdGeoJsonModelDecoder can now correctly parse topocentric reference WKT strings
and create the appropriate topocentric reference to be used by itself.
Bug fixLuciadFusion
The Custom Properties of type STRING are now limited to a length of 650 character for MSSQL databases. This value now matches the maximum index key size limit that is imposed by MSSQL.
Bug fixLuciadFusion
LF-2846
lfn.keywords or lfn.categories in combination with an Oracle database
backend.
Bug fixLuciadFusion
LF-2849
Bug fixLuciadFusion
LCD-14096
TLcd3DMatrix.invert, the calculated inverse is now independent of the existing
values in the matrix.
Bug fixLuciadFusion
LCD-14116
LineSymbolizer with a Stroke that uses decimal values in the stroke-dasharray.
The SLD GXY implementation already supported this correctly.
Bug fixLuciadFusion
LCD-14114
Invalid type name.
It now correctly returns InvalidParameterValue.
Bug fixLuciadFusion
LCD-14101
TLspLabelEditor: fixed a possible NullPointerException after resetting label locations to null.
Bug fixLuciadFusion
LF-2837
getModelReference method of TLfnData threw a
NullPointerException when the data did not have a model reference.
Bug fixAdvanced GIS Engine
LCD-14212
ILcd2DLineIntersectionTopology.lineIntersection which could result in an exception
when calculating intersections between polylines and composite curves.
Bug fixTerrain Analysis Engine
LCD-11887
Bug fixDefense Symbology
LCD-14078


Bug fixDefense Symbology
LCD-14003
| Old Display Name | New Display Name |
|---|---|
| Quantity of Equipment | Quantity |
| Reinforced or Detached | Reinforced or Reduced |
Bug fixInfrastructure Standards
LCD-14048
TLcd3DTilesProcessorBuilder: fixed an issue where OBJ and MTL files that use spaces in file
references couldn't get processed.
Bug fixInfrastructure Standards
LCD-14013
TLcd3DTilesProcessorBuilder: fixed an issue where MTL files that use quotes around a texture
file name couldn't get processed.
2026.0
New featureDefense Symbology
We have added partial support for the military standard APP-6E.
This update introduces the ability to create and visualize instances of TLcdEditableAPP6AObject for the
APP-6E military standard.
APP-6E support is currently limited to the Cyberspace icon symbols. All supported symbol sets are listed in the supported military standards article.
You can visualize the supported symbols using the Military Symbology "Allsymbols" samples available for both GXY and Lightspeed.
New featureMaritime Standards

Added support for the S-101 maritime data format. S-101 introduces several enhancements over S-57, aimed at improving the usability and functionality of electronic navigational charts in modern ECDIS systems. S-101 data can be visualized in a GXY or Lightspeed view in LuciadLightspeed, or can be served in a WM(T)S service in LuciadFusion.
For more details, see the S-101 related articles in the ECDIS entry in the Data Formats documentation section.
ImprovementLuciadFusion
LCD-13812
TLcdWFSClientModelEncoderFactory class has a new protected method
createFeatureMetaDataProvider(ILcdOGCFeatureIDRetriever, TLcdWFSRequestContext).
This method creates a TLcdFeatureMetaDataProvider, which is used to retrieve feature-specific
information during the encoding of a WFS feature response to GeoJSON. You can override the method to customize the
GeoJSON encoding of each feature, such as changing the name of a property.
ImprovementLuciadFusion
LCD-13812
TLcdFeatureMetaDataProvider has a new method
getPropertyName(ILcdDataObject, String): by overriding it, you can customize the
property name to be used when an object's property is being encoded.
ImprovementLuciadFusion
LCD-14072
ImprovementLuciadFusion
ImprovementLuciadFusion
ImprovementLuciadFusion
LCD-14018
samples.format.osm.OpenStreetMapXMLExportModelDecoder illustrates how to decode vector data defined in the
OpenStreetMap XML export format.
For more information about the supported OpenStreetMap data sources in general, see the
Data Formats: OpenStreetMap articles.
ImprovementLuciadFusion
TLcdGXYLocationListLabelingAlgorithmnow supports defining separate shifts for the X and Y axes to move the label from the anchor point of the domain object in both directions with the respective shifts. As a result, new methods have been added to set and get the X and Y shifts separately:setShiftLabelLocationX(int)setShiftLabelLocationY(int)getShiftLabelLocationX()getShiftLabelLocationY()
setShiftLabelLocation(int)getShiftLabelLocation()
-
The
TLcdGXYFixedOnPathLabelingAlgorithmis a new labeling algorithm added to support precise label placement along a path using flexible horizontal (LEFT, CENTER, RIGHT) and vertical (ABOVE, CENTER, BELOW) alignment options. The anchor point, defined by a relative path position (0.0–1.0), determines the label’s base location, while alignment and optional offsets adjust its position relative to that point without changing the anchor itself.
ImprovementLuciadFusion
TLcdISO19115VerticalExtent#setVerticalCRS's argument type has changed
from the generic TLcdGML32Definition to the more useful
TLcdGML32AbstractCRS.
No mapping is provided to/from Luciad's coordinate system API.
ImprovementLuciadFusion
ImprovementLuciadFusion
image/jpgpng,
which lets the service automatically choose between image/jpeg and
image/png. When used in WMS GetMap or WMTS
GetTile requests, the most appropriate format is used based on the requested map data:
- If the map doesn't contain transparent pixels, the
image/jpegformat is used, ensuring a fast encoding time and small payload. - If the map contains transparent pixels, the
image/pngformat is used.
ImprovementLuciadFusion
LF-2802
fusion.ogctilesservice.preprocessorTempPath. Previously, this config option applied only to
point cloud preprocessing.
ImprovementLuciadFusion
LCD-13994, LCD-12072
ImprovementLuciadFusion
LF-2668
- The specification now uses reusable enums.
- The names of the operations have been standardized and are now all unique.
- The security on each operation is now defined.
- The required property is now correctly set on the response schemas
ImprovementLuciadFusion
LCD-14080
samples.gxy.contour now has improved contour accuracy for
point-sampled elevation data.
ImprovementInfrastructure Standards
LCD-11332
TLcd3DTilesProcessorBuilder can now apply a geometrical transformation on input data. The
transformation should be passed as an affine transformation matrix using the
preTransformFactory API method. This can be used to fix shifts, rotations and scale of the
data. When using the MeshUp sample, you can read the transformation matrix from a
.matrix file next to the data. The common use case of rotating a Y-up OBJ data set to Z-up
has also been added to the MeshUp sample.
ImprovementInfrastructure Standards
LCD-14002
TLcdRevitModelDecoder, each feature will now include
a UniqueID property that links the feature back to the Revit model.
For more information, refer to the "model elements" section of the
TLcdRevitModelDecoder
class javadoc.
ImprovementInfrastructure Standards
LF-2802
TLcd3DTilesProcessorBuilder now allows to specify the location of temporary cache files
that are created during processing. This can be useful if the default temporary files location is not desirable for
the 3D Tiles Processor to write to.
ImprovementInfrastructure Standards
LCD-14006
TLcdNWDModelDecoder caused a JVM crash for certain input datasets.
For this change, the myVRDatakitConverter library was upgraded to version 2025.10.80067.
ImprovementRadar Connectors
com.luciad.format.asdi have been deprecated.
Bug fixLuciadFusion
LF-2833
TLcdModelMetadata that identifies the data category as
TLcdModelMetadata.DataCategory.VECTOR and
TLcdModelMetadata.DataCategory.RASTER. This improves the integration of KML data in
LuciadFusion: next to the publication of KML data in a WMS service, it is now also possible to preview the data.
Bug fixLuciadFusion
LCD-13860
TLcdWKTReferenceFormatter now uses the BASEGEODCRS keyword when formatting topocentric
references to make it spec compliant.
Bug fixLuciadFusion
LCD-14108
Bug fixLuciadFusion
LCD-14093
Bug fixLuciadFusion
LF-2835
DescribeCoverage requests
to return an incomplete result.
Bug fixLuciadFusion
LCD-14081
Bug fixAviation Standards
LCD-14073
Upgrade considerationLuciadFusion
The Custom Properties of type STRING are now limited to a length of 4000 character1. If there are Custom Properties present in the database, these will be truncated when upgrading to 2026.0.
1 for Oracle databases, this maximum length is 4000 bytes. The maximum amount of characters varies based on the amount of bytes each character uses according to the database character set.
Upgrade considerationLuciadFusion
ILcdWFSServerModelEncoderFactory interface used by WFS-T services to create
a model encoder capable of storing feature type changes (additions, removals, updates) in the data back-end has changed.
The existing method
void createModelEncoder(ILcdModel)
void createModelEncoder(ILcdModel, TLcdWFSRequestContext)
This new method signature allows implementations to take into account request parameters via the
TLcdWFSRequestContext parameter.
Existing implementations can be updated by simply ignoring the new TLcdWFSRequestContext parameter.
Upgrade considerationLuciadFusion
Changes for class
com.luciad.ogc.wcs.ALcdOGCWCSCommandDispatcherFactory:
createWCSCapabilitiesProvider: is now abstract. It does no longer provide support backwards compatibility for the way of working from 2016 or before.-
Removed methods:
createCoverageOfferingListcreateServiceMetaData
Removed classes:
ILcdWCSServiceMetadata: useILcdWCSCapabilitiesProviderILcdWCSModelEncoder: useILcdWCSModelEncoderFactoryILcdCoverageOfferingList: useILcdWCSCapabilitiesProviderTLcdCoverageOffering: useTLcdDefaultCoverageOfferingTLcdCoverageOfferingDetail: useTLcdDefaultCoverageOfferingDetail
Upgrade considerationLuciadFusion
TLcdJPIPModelDecoder
has been deprecated. JPIP is not widely adopted, and we recommend the
use of LuciadFusion with WM(T)S or ECWP as an alternative to serve large amounts of imagery to clients.
Upgrade considerationLuciadFusion
ILcdRaster,
ILcdMultilevelRaster
API.
Classes, interfaces, and methods related to the raster API have been removed.
The WCS Client module now only provides access using the imaging API.
You can find more information on using the imaging API at the following sections:
Upgrade considerationLuciadFusion
ILcdGXYViewEncoder interface used by WM(T)S services to encode a view to a format
requested by a client has changed. The existing method
void encodeGXYView(ILcdGXYView, OutputStream)
String encodeGXYView(ILcdGXYView, OutputStream, ALcdRequestContext)
This new method signature allows implementations to take into account request parameters via the
ALcdRequestContext
parameter. Furthermore, implementations should now return the content type
used by the encoding, allowing to dynamically choose the most appropriate encoding for a given view.
Existing implementations can be updated by simply returning the value of the
getContentType()
method. The new ALcdRequestContext parameter can be ignored.
Upgrade considerationLuciadFusion
LF-2802
fusion.ogctilesservice.preprocessorTempPath has changed from
${java.io.tmpdir}/pointCloudPreprocessor to ${java.io.tmpdir}/ogctilesPreprocessor,
because the property is now also used for mesh preprocessing.
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Version |
|---|---|---|
| com.google.errorprone | error_prone_annotations | 2.41.0 |
| com.google.flatbuffers | flatbuffers-java | 23.3.3 |
| com.google.guava | failureaccess | 1.0.3 |
| com.google.j2objc | j2objc-annotations | 3.1 |
| net.sf.geographiclib | GeographicLib-Java | 2.0 |
| org.wololo | flatgeobuf | 3.26.2 |
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.google.code.findbugs | jsr305 | 3.0.1 | 3.0.2 |
| com.google.guava | guava | 20.0 | 33.5.0-jre |
| com.h2database | h2 | 2.1.214 | 2.3.232 |
| org.apache.lucene | lucene-analyzers-common | 6.4.0 | 6.6.6 |
| org.apache.lucene | lucene-core | 6.4.0 | 6.6.6 |
| org.apache.lucene | lucene-queries | 6.4.0 | 6.6.6 |
| org.apache.lucene | lucene-queryparser | 6.4.0 | 6.6.6 |
| org.apache.lucene | lucene-sandbox | 6.4.0 | 6.6.6 |
| org.apache.lucene | lucene-spatial | 6.4.0 | 6.6.6 |
| org.apache.lucene | lucene-suggest | 6.4.0 | 6.6.6 |
| org.orbisgis | cts | 1.7.0 | 1.7.1 |
| org.orbisgis | h2gis | 2.2.0 | 2.2.3 |
| org.orbisgis | h2gis-api | 2.2.0 | 2.2.3 |
| org.orbisgis | h2gis-utilities | 2.2.0 | 2.2.3 |
| org.orbisgis | poly2tri | 0.4.0 | 0.7.0 |
Upgrade considerationLuciadFusion
| Group ID | Artifact ID | Old Version | New Version |
|---|---|---|---|
| com.luciad.thirdparty | libmyvrdatakitconverter-native | 2025.03.77665 | 2025.10.80067 |
| com.luciad.native | sqlitej | 3.36.0 | 3.49.1 |
| org.locationtech.jts | jts-core | 1.19.0 | 1.20.0 |
| org.lwjgl | lwjgl | 3.3.3 | 3.4.0 |
| org.lwjgl | lwjgl-jawt | 3.3.3 | 3.4.0 |
| org.lwjgl | lwjgl-meshoptimizer | 3.3.3 | 3.4.0 |
| org.lwjgl | lwjgl-opencl | 3.3.3 | 3.4.0 |
| org.lwjgl | lwjgl-opengl | 3.3.3 | 3.4.0 |
The following dependencies have been removed:
| Group ID | Artifact ID | Version |
|---|---|---|
| commons-logging | commons-logging | 1.2 |
| com.sun.xsom | xsom | 20110809 |
| relaxngDatatype | relaxngDatatype | 20020414 |
| Group ID | Artifact ID | Version |
|---|---|---|
| org.glassfish.jaxb | xsom | 4.0.6 |
| com.sun.xml.bind.external | relaxng-datatype | 4.0.6 |
Upgrade considerationData Connectivity Manager
TLcyJPIPDecoderAddOn and TLcyLspJPIPFormatAddOn have been deprecated
(along with TLcdJPIPModelDecoder itself, see separate release note for more information).
Consequently, these addons are no longer loaded by default in the Data Connectivity Manager, and workspaces that
contain JPIP layers will no longer restore these layers when loaded. If needed, you can insert the addons back into
config/manager/addons_data.xml and config/manager/addons_lsp.xml,
respectively, to re-enable the JPIP functionality.
Upgrade considerationInfrastructure Standards
Upgrade considerationInfrastructure Standards
TLcdRevitModelDecoder and the TLcdNWDModelDecoder
have been upgraded, bringing the following new features and enhancements:
- Added support for Revit and Navisworks 2026 files
- Fixes several issues related to reading geometry and metadata