2026.1

New featureLuciadFusion

The TLfnPointCloudPreprocessor can now pre-process non-georeferenced point clouds. It's now also possible to use LuciadFusion Studio to create an OGC 3D Tiles service from a non-georeferenced point cloud. For more information and limitations, see the Pre-process point cloud data article.

New featureLuciadFusion

The LuciadFusion WMS service now advertise a new map format image/geotiff, which lets you request maps in the GeoTIFF format. The article Which image output formats do WMS and WMTS services support describes the supported image output formats in more detail.

New featureLuciadFusion

LuciadFusion now supports signing in through an external identity provider, such as Keycloak, Microsoft Entra ID, or Auth0, using the OAuth 2.0 / OpenID Connect protocol. LuciadFusion Studio, its REST API, and the geospatial services it publishes (such as OGC WMS, WCS, and 3D Tiles) can all be secured this way. See the OAuth 2.0 authentication in LuciadFusion article for more information.

New featureLuciadFusion

The WFS server now supports a new SHAPE-ZIP output format for GetFeature and GetFeatureWithLock requests.

This format encodes the requested features as an ESRI Shapefile (.shp, .shx, .dbf, .cpg, .sbn/.sbx and .prj), and combines all of these files into a single application/zip archive. The .shp file and its companion files are named after the requested feature type.

The article Which vector output formats does the WFS service support describes the supported output formats in more detail.

New featureLuciadFusion

When you publish an MBTiles data source in an MBTiles service, LuciadFusion now automatically publishes an associated Mapbox style file when one is available. For more information about making such a style file available, see What data can you add to an MBTiles service?. The style file is advertised in the MBTiles metadata through a style property in the tile.json file. This allows clients such as LuciadRIA, LuciadLightspeed and LuciadCPillar to automatically apply the style when consuming the MBTiles service.

New featureLuciadFusion

Visualization of OpenStreetMap data on a Lightspeed map, styled with different Mapbox styles — ©OpenMapTiles ©OpenStreetMap contributors
Visualization of OpenStreetMap data on a Lightspeed map, styled with different Mapbox styles — ©OpenStreetMap contributors, ©OpenMapTiles
You can now style MBTiles vector data with Mapbox style files. You can use the method mapboxStyle on the class TLspMBTilesVectorLayerBuilder to configure such a style file. See Working with MBTiles data for more information. If no style is configured explicitly, the MBTiles metadata is checked for a STYLE property that references a Mapbox style. If such a property is present, that style is applied automatically. LuciadFusion uses this mechanism to advertise the style file associated with a published MBTiles data source.

New featureLuciadFusion

Visualization of an I3S dataset on a Lightspeed map — data: ODU GeoSEA, CC BY 4.0
Visualization of an I3S dataset on a Lightspeed map — data: ODU GeoSEA, CC BY 4.0

Added support for the OGC Indexed 3D Scene Layers (I3S) data format. OGC I3S is an open community standard that defines a 3D content delivery format used to rapidly stream and distribute large volumes of 3D GIS data to mobile, web and desktop clients.

For more details, see the OGC I3S entry in the Data Formats documentation section.

New featureLuciadFusion

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

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

Check out our deployment requirements section for the minimum supported Jakarta Servlet, Jakarta EE, and Tomcat versions.

New featureAviation Standards

The DAFIF(T) decoder TLcdDAFIFModelDecoder now supports decoding DAFIFT 8.1 datasets, in addition to the existing DAFIF 7 and DAFIFT 8.0 support. To enable this, several new DAFIFT 8.1 properties have been introduced, as listed below. Refer to the corresponding Javadoc for details on their semantics and usage.

Additionally, a new runway surface type AM2 has been added to TLcdRunwaySurfaceType, representing a surface type consisting of metal planking.

New featureDefense Symbology

We have added full support for the military standard 'APP-6 NATO Joint Military Symbology, Edition E Version 2, October 2025'.

The symbols of the Cyberspace symbol set, which we added previous minor release, LuciadLightspeed 2026.0, have been upgraded from APP-6E E Version 1 to APP-6E Version 2.

You can visualize the APP-6E symbols using the Military Symbology samples available for both GXY and Lightspeed. In a Lightspeed view, you can create a layer for these symbols with TLspAPP6ALayerBuilder. In a GXY view, you can paint them by setting a TLcdAPP6AGXYPainterProvider on your TLcdGXYLayer.

APP-6E - Fictional Scenario
APP-6E - Fictional Scenario.

New featureInfrastructure Standards

The TLcd3DTilesProcessorBuilder can now process GLB files that use the EXT_texture_webp glTF extension. This increases compatibility with exporters that optimize GLB files for file size.

ImprovementLuciadFusion

A new article in the documentation explains how to get the most out of agentic AI tools such as GitHub Copilot or Claude Code when developing applications against LuciadLightspeed. The article also contains an AI skill bundle that can help you to improve your agent's output.

ImprovementLuciadFusion

LuciadFusion now crawls LAS/LAZ files without a reference. It automatically adds a TLcdCartesianReference for such files. This allows you to create an OGC 3D Tiles service directly from a non-referenced LAS/LAZ file without extra steps.

ImprovementLuciadFusion

The .vmoptions files which are used to configure the JVM parameters for the LuciadLightspeed samples and Lucy now use -XX:MaxRAMPercentage to set the Java heap size instead of -Xmx. The previously configured heap sizes were fairly conservative, so on modern systems the applications will now typically be able to allocate more memory and therefore run more comfortably.

ImprovementLuciadFusion

WMS GetMap responses now include a Content-Disposition header that suggests a filename for the response, for all supported map formats. Browsers use this header to pick a sensible filename when they cannot render a format inline and instead offer it for download.

ImprovementLuciadFusion

On NVidia GPUs, TLspViewBuilder now takes the GPU's video memory size into account when computing the default size of the OpenGL resource cache (#glResourceCacheSize()). This significantly improves the Lightspeed view's ability to load large datasets. In previous versions, the default cache size was usually overly conservative for modern GPUs with 8+ GB of memory.

The change reduces the need for users to manually adjust the cache size to alleviate performance issues. It only takes effect if the application does not explicitly set the cache size itself (either via the API or via the corresponding system property). On non-NVidia GPUs, the behavior is unchanged compared to previous LuciadLightspeed versions.

ImprovementLuciadFusion

LCD-14760
When creating an MBTiles service, any non-standard properties present in the source file's metadata table are now retained in the TileJSON endpoint created by LuciadFusion.

ImprovementLuciadFusion

The WFS article How to add your own vector output format has been updated to demonstrate how to add KML as a custom WFS output format. The previous version used SHP as an example, which is supported out of the box by LuciadFusion since 2026.1.

ImprovementLuciadFusion

LCD-14648

You can now define the scale range of WMS data through an SLD style without having to provide SLD-based styling. If the SLD style consists of a single FeatureTypeStyle with a single Rule that has no symbolizers, the WMS server automatically applies the default styling for the underlying data while still honoring the scale range defined in the SLD.

This is particularly useful for data formats that provide their own dedicated styling, such as AIXM, DGN and DWG. You can now restrict such layers to a specific scale range using SLD, without having to recreate their styling through SLD symbolizers. The configured scale range is taken into account during rendering and is advertised in the WMS GetCapabilities document so that clients are aware of it upfront.

The article How to restrict a WMS layer to a scale range without changing its styling describes this feature, and its limitations, in more detail.

ImprovementLuciadFusion

Azure SQL Database is now supported as a database for LuciadFusion Studio. See the config/application-fusion.development.yml on how to configure it.

ImprovementLuciadFusion

LCD-14728
You can now configure the maximum expiry time for WFS-T feature locks in LuciadFusion with the fusion.ogc.wfs.maxLockExpiry configuration property. The value is expressed in seconds and defaults to one day. The article How to configure the maximum WFS-T lock expiry describes the configuration option in more detail.

ImprovementLuciadFusion

LCD-14728

You can now configure the maximum expiry time for WFS-T feature locks with the wfs.maxLockExpiry servlet configuration parameter. The value is expressed in seconds and applies to locks created or refreshed by LockFeature and GetFeatureWithLock requests.

If a client requests an expiry value that exceeds this limit, the request is rejected with an InvalidParameterValue service exception report. The configured limit is also advertised as a maxExpiry constraint on the LockFeature and GetFeatureWithLock operations in the WFS GetCapabilities response, so that clients can find out about it up front.

ImprovementLuciadFusion

LCD-14120, LCD-14594, LCD-14595, LCD-14596, LCD-14738
Improved TLcdOGCBinarySpatialOperator to support the operand flexibility introduced in OGC Filter 2.0.3. Binary spatial operators can now use either property names or geometries for both operands, enabling support for additional valid OGC Filter expressions.

To support this behavior, the following methods have been added to TLcdOGCBinarySpatialOperator:
  • setFirstArgument(Object)/getFirstArgument()
  • setSecondArgument(Object)/getSecondArgument()
The following methods have been deprecated because they assume the legacy model where the first operand is always a property name and the second operand is always a geometry:
  • setPropertyName(TLcdOGCPropertyName)/getPropertyName()
  • setShape(ILcdShape)/getShape()
Use setFirstArgument(Object)/getFirstArgument() and setSecondArgument(Object)/getSecondArgument() instead.

ImprovementLuciadFusion

LCD-14727
The WFS 2.0.0 GetCapabilities response now includes the AutomaticDataLocking constraint in the ows:OperationsMetadata section when the server supports locking and transactions. The constraint is set to FALSE, informing clients that feature locking is not performed automatically and that the LockFeature operation must be used before update or delete transactions when locking is required.

ImprovementLuciadFusion

Oracle 26ai is now supported as a database for LuciadFusion Studio.

ImprovementLuciadFusion

In Lightspeed it is now possible to configure a padding value for individual label placements. You can configure the value on the labeling algorithms and on the label location providers.

ImprovementLuciadFusion

TLcdOGC3DTilesModelDecoder, TLsp3DTileLayerBuilder: the internals of the OGC 3D Tiles support have been considerably revamped. Noteworthy improvements include:
  • Improved concurrency: downloading and decoding of tile payloads now happen on separate threads; larger thread pool for local data.
  • Throttling of GPU data transfers for freshly downloaded tiles, to reduce frame drops during navigation.
  • Improved prioritization of tile downloads based on camera position, and cancellation of downloads that become obsolete due to camera movement.
  • Texture compression to reduce GPU memory usage and CPU-to-GPU data transfer volumes.
  • Evaluation of the geometric error property is now DPI-aware.
  • LPC point cloud layers no longer ignore the quality factor configured on the layer builder.
  • Authentication can now be configured by annotating an ILcdPasswordProvider with @LcdService. It is no longer necessary to install a custom ILcdInputStreamFactory on the model decoder for this.
  • Support for HTTP/2 if supported by the server; automatic fallback to HTTP/1.1 otherwise.
These improvements also benefit other formats that use the same internal machinery: MBTiles, I3S, LPC, OSGB, IFC, BINZ, Revit and Navisworks. The changes are mostly transparent to the user.

ImprovementLuciadFusion

TLcdInputStreamFactory now supports automatic discovery of ILcdPasswordProvider implementations via TLcdServiceLoader. If you do not explicitly set a password provider on the factory, the factory will look for providers annotated with @LcdService and try to use those.

ImprovementLuciadFusion

LCD-14587
A new GetFeatureInfo output format has been added to the WMS and WMTS servers. This format encodes features using a GML 3.1.1‑based application schema and is identified by the MIME type application/vnd.ogc.gml/3.1.1.

ImprovementLuciadFusion

LF-1639
A new job type has been added to LuciadFusion that allows data roots to be deleted asynchronously. This new job provides more detailed progress feedback and prevents HTTP threads from being blocked when deleting large data roots. The job type is exposed as a REST API resource at the endpoint /api/data-root-delete-jobs. The LuciadFusion Studio web application has also been updated to use this new job type when deleting data roots.

ImprovementLuciadFusion

LCD-14116
The SLD GXY and Lightspeed implementation now supports the rotation parameter to be interpreted in model space. This capability can be enabled on a TLcdSLDTextSymbolizer and a TLcdSLDPointSymbolizer by configuring an SLD vendor option with name rotationSpace and value VIEW or WORLD.

ImprovementLuciadFusion

LCD-14202
The following transformation implementations now have an isIdentity() method: This function makes it possible to detect if the output of the transformation would be exactly the same as its input, i.e. it allows to see if 2 references are the same with respect to transformations.

ImprovementDatabase Connectors

Oracle 26ai is now supported as a database by the TLcdOracleSpatialModelDecoder and TLcdOracleSpatialModelEncoder.

ImprovementAviation Standards

The DAFIFT decoder TLcdDAFIFTHelipadDecoder has been made more robust when handling helipad records with missing low- and high-end positions. In such cases, the decoder now falls back to a single-point position, consistent with the existing behavior for short helipads (smaller than 500 feet).

ImprovementInfrastructure Standards

LCD-14070
The Meshup CLI can now automatically clean an output directory. An output directory that is located within the system's temporary files folder will be automatically cleaned before creating a new tileset. This allows faster iteration when experimenting with the Meshup CLI. Output directory locations outside the system's temporary files folder will never be automatically cleaned, to ensure data safety. See the 3D Tiles Processing Engine documentation page for more information.

Bug fixLuciadFusion

Fixed an issue in the LuciadFusion Studio web application where the selection in a list ended up on another row when the list was reloaded, for example after refreshing the data list once new data was uploaded. The selection now stays on the rows that were selected, and rows that are gone are deselected.

Bug fixLuciadFusion

LF-2917
Resolved an issue with the MBTiles service, where vector tile responses could in some cases invert the Y axis of the tile grid.

Bug fixLuciadFusion

LF-2916
Resolved an issue with the MBTiles service, where vector tile responses always announced a Content-Encoding of gzip, even for tiles that are not stored gzip-compressed in the source file.

Bug fixLuciadFusion

LCD-14527
TLcdLonLatPointFormat can now handle patterns that include a hyphen as separator character, such as lat(dmsa)-lon(dmsa).

Bug fixLuciadFusion

LCD-14758
On some Linux systems, Lightspeed views could fail to run on X11 with a "Unable to find a suitable FB config" error. In other cases, Lightspeed could load an incorrect version of libX11.so, resulting in a JVM crash. Both of these problems have been fixed.

Bug fixLuciadFusion

The LuciadFusion WMTS service no longer adds a TileMatrixSet link to a WMTS layer when the layer is not visible within that TileMatrixSet. This occurs, for example, when a layer is located in the northern hemisphere while the TileMatrixSet covers the southern hemisphere, or vice versa.

Bug fixLuciadFusion

LF-2372
Fixed an issue that prevented the Studio web application from loading when the configurationInfo actuator was disabled.

Bug fixLuciadFusion

LCD-14786
Fixed the painted fill of a circle, ellipse or arc band covering a large part of the map instead of the shape itself when the shape crossed the world boundary in a projection whose boundary runs horizontally, such as TLcdCassini or TLcdObliqueMercator.

Bug fixLuciadFusion

LCD-14786
Fixed the painted fill of a surface covering a large part of the map instead of the shape itself. This happened when one of the rings of the surface did not close exactly, which was mistaken for the shape running off the edge of the world. The shape did not have to be anywhere near the world boundary.

Bug fixLuciadFusion

LCD-14729

Fixed an issue where feature locks were not always released after a successful WFS-T Transaction request with a releaseAction of SOME. As a result, subsequent LockFeature requests for the same features could fail until the locks expired.

The issue affected Update operations that modify geometry on data whose domain objects extend from ILcdShape, such as SHP data. It could also cause the UpdateResults section of the Transaction response to report generated identifiers instead of the identifiers of the updated features. Both issues have been resolved.

Bug fixLuciadFusion

LCD-14781
Fixed the Canadian vertical datums (CGVD28 and CGVD2013) sometimes returning NaN instead of a valid height.

Bug fixLuciadFusion

LCD-14776
Using TLspCurvedPathLabelingAlgorithm would cause labels with a translucent halo color to be rendered incorrectly. This has been fixed.

Bug fixLuciadFusion

LCD-14775

Fixed an issue where a GetFeature request for data with an ILcdPolypoint geometry (for example, decoded from a Shapefile using the MultiPoint shape type) failed with an error when requested in the GeoJSON output format, instead of returning the requested features.

Bug fixData Connectivity Manager

LUCY-5087
Geoid support for the DEM, DTED, SwissDHM, and GeoTIFF formats is now enabled by default. This is in line with the default settings of the respective model decoders. Refer to the model decoder implementation Javadoc for more information. To revert this change for a format, change the property value in the line <relevant-format>.modelDecoder.supportGeoidDatums = true to false in the appropriate format add-on configuration file. For DEM, DTED, and GeoTIFF, this setting is located in Data_Connectivity_Manager/config/lucy/decoders/default_decoders.cfg. For SwissDHM, this setting is located in Data_Connectivity_Manager/config/lucy/decoders/swissdhmdecoderaddon.cfg. For more information on vertical datum issues, refer to our article Detecting and fixing vertical datum issues .

Bug fixReal-time Engine

LCD-12541
TLspRadarVideoLayerBuilder: the afterglow duration set on TLspRadarVideoStyle wasn't applied correctly when the intensity was not set to 1, blips would disappear to fast.

Bug fixAviation Standards

LCD-14746
Fixed an issue where AIXM 5.1 data containing a mix of WGS 84 2D (EPSG:4326) and WGS 84 3D (EPSG:4979) geometries could be assigned a 2D model reference when a 2D geometry was encountered first during decoding. As a result, altitude information from 3D geometries could be lost. The decoder now promotes the model reference to a 3D geodetic reference when required, ensuring that altitude values are preserved.

Bug fixInfrastructure Standards

LCD-13913
TLcd3DTilesProcessorBuilder: Improve color accuracy of a Draco-encoded tileset when starting from input data that uses many materials.

Bug fixInfrastructure Standards

LCD-14779
TLcd3DTilesProcessorBuilder: fixed a NullPointerException crash that occurred when the faces of an input mesh don't have any surface area.

Bug fixMaritime Standards

LCD-14805
Decoding S-101 data has been made more robust against records that don't reference any geometry.

Bug fixMaritime Standards

LCD-14749
The orientation of S-101 composite curves is now correctly taken into account. Previously, this could cause certain areas, such as land or depth areas, to be rendered as non-continuous surfaces.

Bug fixMaritime Standards

LCD-14751
Records in an update file (.001, .002, ...) that referred to records defined in the base cell (.000) or in a previously applied update file, could not be resolved, causing the S-101 decoding to fail. Such references are now resolved correctly.

Upgrade considerationLuciadFusion

The REST API console (/api/console), the REST API specification (/api/specification), and the REST API Developer Guide (/api/documentation) are now reachable without signing in first, regardless of which authentication mode is configured. This only affects these pages themselves - trying out a REST API call from the console still requires valid credentials. Each page is still gated by its own enabling property: fusion.studio.rest.apiConsoleEnabled for the console, fusion.studio.rest.apiSpecificationEnabled for the specification, and fusion.studio.rest.developerGuideEnabled for the Developer Guide.

Upgrade considerationLuciadFusion

The WMS and WMTS services now return an HTTP 500 Internal Server Error by default when an exception occurs while painting a requested map or tile. Previously this had to be enabled explicitly, and the services returned an image in which the affected data was missing.

Set the com.luciad.fusion.wms.server.errorResponseOnPaintException system property to false to restore the previous behavior.

Upgrade considerationLuciadFusion

The LuciadFusion WMS service now uses lazy initialization by default. When global access control is disabled, the service only decodes a Data item once a WMS request needs it, instead of decoding every Data item of a Product up front. This improves the map rendering performance of Products with many Data items, because Data items that a request does not touch are never decoded.

Because a Data item is now decoded while a request is being rendered, a Data item that cannot be decoded only affects the requests that need it: such a request fails with an HTTP 500 Internal Server Error, while requests whose map extent does not cover that Data item are served normally.

Set the fusion.ogc.wms.lazyInitializationEnabled configuration property to false to restore the previous behavior.

Upgrade considerationLuciadFusion

LCD-14199
The evaluation of an OGC filter containing a Within spatial condition now follows the DE-9IM model as defined by the OGC Filter specification. In particular, a geometry located on the boundary of another geometry is no longer considered to be within that geometry. This may change the outcome of existing filters that rely on the previous behavior.

To restore the legacy behavior, start the Java Virtual Machine with the System property com.luciad.ogc.filter.TLcdOGCBinarySpatialOperator.USE_LEGACY_WITHIN_SEMANTICS=true.

Upgrade considerationLuciadFusion

The react-router and react-router-dom dependencies used in the LuciadFusion Studio web application were upgraded to version 7.18.2 to address security vulnerabilities reported in the previous version.

Upgrade considerationLuciadFusion

LCD-14016
The SQLite library is now statically linked into SQLiteJ. Hence, the SQLite dynamic libraries sqlite3.dll, libsqlite3.so and libsqlite3.dylib are no longer included in the SQLiteJ native JARs that ship with LuciadLightspeed and LuciadFusion.

Upgrade considerationLuciadFusion

The GeoPackage library now depends on SQLite 3.53.3. This version fixes the CVE-2025-6965 and CVE-2026-50812 vulnerabilities.

Upgrade considerationLuciadFusion

The SQLiteJ library now depends on SQLite 3.53.3. This version fixes the CVE-2025-6965 and CVE-2026-50812 vulnerabilities.

Upgrade considerationLuciadFusion

SpatiaLite has been updated to version 5.1.0, introducing significant changes compared to the 4.x series, including updated dependencies (e.g. PROJ ≥ 6) and improved spatial functionality. We now also support Linux ARM64 and Apple silicon platforms. For more information, see https://www.gaia-gis.it/fossil/libspatialite/wiki?name=5.0.0-doc.

Upgrade considerationLuciadFusion

LF-2372
The lodash dependency used in the LuciadFusion Studio web application was upgraded to version 4.18.1 to address security vulnerabilities reported in the previous version.

Upgrade considerationLuciadFusion

LCD-14546, LCD-14547
TLspPanController is now greedy by default, meaning it avoids user interactions other than mouse drags while panning. If this is not desired, the old behavior can be restored by using TLspPanController#setGreedy(false).

Upgrade considerationLuciadFusion

LCD-13532, LCD-14109, LCD-14112
The default sizes of some caches used in LuciadLightspeed have been increased to better accommodate the increasing amount of data in applications and to improve performance.
  • The LuciadLightspeed image processing framework uses a shared cache to store input, intermediate or processed data required by the imaging engine. The default size of this cache has been increased from 64 MB to 128 MB. This cache size can be configured by setting the system property com.luciad.imaging.maxCacheSize to a value in megabytes, e.g. -Dcom.luciad.imaging.maxCacheSize=64 to limit the cache size to 64 MB. Note that the cache should be large enough to fit at least all data that is being painted.
  • The OpenCL imaging engine requires memory on the OpenCL device, typically a GPU, for its operation. It also uses a cache and its default size has been increased from 32 MB to 48 MB. This cache size can be configured by setting the system property com.luciad.imaging.engine.opencl.maxCLCacheSize to a value in megabytes, e.g. -Dcom.luciad.imaging.engine.opencl.maxCLCacheSize=32 to limit the cache size to 32 MB.
  • The default size of the tile cache used by a height provider to read data from an image has been increased from 10 MB to 16 MB. This cache size can be configured when creating the height provider using the new cache size property on TLcdImageModelHeightProviderFactory or when creating a TLcdImageHeightProvider directly with the new builder. The maximal number of entries that can be stored in this cache has also been increased. You can configure it similarly to the cache size.
If your application has specific memory requirements and it's currently relying on the default values, you may want to consider setting these cache sizes to their previous default values.

Upgrade considerationLuciadFusion

The following dependencies have been updated:
Group ID Artifact ID Old Version New Version
com.fasterxml classmate 1.5.1 1.7.1
com.fasterxml.jackson.dataformat jackson-dataformat-yaml 2.21.5 2.21.6
com.fasterxml.jackson.module jackson-module-parameter-names 2.21.5 2.21.6
com.zaxxer HikariCP 6.3.3 7.0.2
io.micrometer micrometer-commons 1.15.12 1.17.1
io.micrometer micrometer-core 1.15.12 1.17.1
io.micrometer micrometer-jakarta9 1.15.12 1.17.1
io.micrometer micrometer-observation 1.15.12 1.17.1
io.swagger.core.v3 swagger-annotations-jakarta 2.2.27 2.2.43
io.swagger.core.v3 swagger-core-jakarta 2.2.27 2.2.43
io.swagger.core.v3 swagger-models-jakarta 2.2.27 2.2.43
jakarta.annotation jakarta.annotation-api 2.1.1 3.0.0
jakarta.validation jakarta.validation-api 3.0.2 3.1.1
org.apache.commons commons-configuration2 2.11.0 2.15.0
org.apache.logging.log4j log4j-api 2.24.3 2.25.5
org.apache.logging.log4j log4j-to-slf4j 2.24.3 2.25.5
org.apache.tomcat.embed tomcat-embed-el 10.1.55 11.0.24
org.freemarker freemarker 2.3.34 2.3.35
org.hibernate.validator hibernate-validator 8.0.3.Final 9.1.3.Final
org.jboss.logging jboss-logging 3.4.3.Final 3.6.3.Final
org.jspecify jspecify 1.0.0 1.0.1
org.springdoc springdoc-openapi-starter-common 2.8.3 3.0.2
org.springdoc springdoc-openapi-starter-webmvc-api 2.8.3 3.0.2
org.springdoc springdoc-openapi-starter-webmvc-ui 2.8.3 3.0.2
org.springframework spring-aop 6.2.19 7.0.9
org.springframework spring-beans 6.2.19 7.0.9
org.springframework spring-context 6.2.19 7.0.9
org.springframework spring-context-support 6.2.19 7.0.9
org.springframework spring-core 6.2.19 7.0.9
org.springframework spring-expression 6.2.19 7.0.9
org.springframework spring-jdbc 6.2.19 7.0.9
org.springframework spring-messaging 6.2.19 7.0.9
org.springframework spring-tx 6.2.19 7.0.9
org.springframework spring-web 6.2.19 7.0.9
org.springframework spring-webmvc 6.2.19 7.0.9
org.springframework spring-websocket 6.2.19 7.0.9
org.springframework.boot spring-boot 3.5.15 4.1.1
org.springframework.boot spring-boot-actuator 3.5.15 4.1.1
org.springframework.boot spring-boot-actuator-autoconfigure 3.5.15 4.1.1
org.springframework.boot spring-boot-autoconfigure 3.5.15 4.1.1
org.springframework.boot spring-boot-configuration-processor 3.5.15 4.1.1
org.springframework.boot spring-boot-starter 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-actuator 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-freemarker 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-jdbc 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-logging 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-security 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-validation 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-web 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-websocket 3.5.15 4.1.1
org.springframework.ldap spring-ldap-core 3.3.8 4.1.1
org.springframework.security spring-security-config 6.5.11 7.1.1
org.springframework.security spring-security-core 6.5.11 7.1.1
org.springframework.security spring-security-crypto 6.5.11 7.1.1
org.springframework.security spring-security-ldap 6.5.11 7.1.1
org.springframework.security spring-security-oauth2-core 6.5.11 7.1.1
org.springframework.security spring-security-oauth2-resource-server 6.5.11 7.1.1
org.springframework.security spring-security-web 6.5.11 7.1.1
org.webjars swagger-ui 5.18.2 5.32.0
org.webjars webjars-locator-lite 1.0.1 1.1.3
org.yaml snakeyaml 2.5 2.6

The following dependencies have been added:
Group ID Artifact ID Version
com.github.stephenc.jcip jcip-annotations 1.0-1
com.nimbusds content-type 2.3
com.nimbusds lang-tag 1.7
com.nimbusds nimbus-jose-jwt 10.9.1
com.nimbusds oauth2-oidc-sdk 11.38.2
net.minidev accessors-smart 2.6.0
net.minidev json-smart 2.6.0
org.ow2.asm asm 9.10.1
org.springframework.boot spring-boot-freemarker 4.1.1
org.springframework.boot spring-boot-health 4.1.1
org.springframework.boot spring-boot-http-client 4.1.1
org.springframework.boot spring-boot-http-converter 4.1.1
org.springframework.boot spring-boot-jackson2 4.1.1
org.springframework.boot spring-boot-jdbc 4.1.1
org.springframework.boot spring-boot-ldap 4.1.1
org.springframework.boot spring-boot-micrometer-metrics 4.1.1
org.springframework.boot spring-boot-micrometer-observation 4.1.1
org.springframework.boot spring-boot-persistence 4.1.1
org.springframework.boot spring-boot-restclient 4.1.1
org.springframework.boot spring-boot-security 4.1.1
org.springframework.boot spring-boot-security-oauth2-client 4.1.1
org.springframework.boot spring-boot-security-oauth2-resource-server 4.1.1
org.springframework.boot spring-boot-servlet 4.1.1
org.springframework.boot spring-boot-sql 4.1.1
org.springframework.boot spring-boot-starter-ldap 4.1.1
org.springframework.boot spring-boot-starter-micrometer-metrics 4.1.1
org.springframework.boot spring-boot-starter-oauth2-client 4.1.1
org.springframework.boot spring-boot-starter-oauth2-resource-server 4.1.1
org.springframework.boot spring-boot-starter-webmvc 4.1.1
org.springframework.boot spring-boot-transaction 4.1.1
org.springframework.boot spring-boot-validation 4.1.1
org.springframework.boot spring-boot-web-server 4.1.1
org.springframework.boot spring-boot-webmvc 4.1.1
org.springframework.boot spring-boot-websocket 4.1.1
org.springframework.security spring-security-oauth2-client 7.1.1
org.springframework.security spring-security-oauth2-jose 7.1.1

The following dependencies have been removed:
Group ID Artifact ID Version
de.inetsoftware jlessc 1.10
org.latencyutils LatencyUtils 2.0.3
org.springframework.boot spring-boot-starter-json 3.5.15

The following sample dependencies have been updated:
Group ID Artifact ID Old Version New Version
org.conscrypt conscrypt-openjdk-uber 2.5.2 2.6.0
org.eclipse.jetty jetty-alpn-conscrypt-server 12.0.33 12.1.12
org.eclipse.jetty jetty-alpn-server 12.0.33 12.1.12
org.eclipse.jetty.http2 jetty-http2-common 12.0.33 12.1.12
org.eclipse.jetty.http2 jetty-http2-hpack 12.0.33 12.1.12
org.eclipse.jetty.http2 jetty-http2-server 12.0.33 12.1.12
org.springframework spring-jdbc 6.2.19 7.0.9
org.springframework spring-tx 6.2.19 7.0.9

The following sample dependencies have been added:
Group ID Artifact ID Version
org.slf4j jcl-over-slf4j 2.0.18

Upgrade considerationLuciadFusion

LCD-14117
The following dependencies have been updated:
Group ID Artifact ID Old Version New Version
ch.qos.logback logback-classic 1.5.36 1.5.38
ch.qos.logback logback-core 1.5.36 1.5.38
com.fasterxml.jackson.core jackson-core 2.21.5 2.21.6
com.fasterxml.jackson.core jackson-databind 2.21.5 2.21.6
com.fasterxml.jackson.datatype jackson-datatype-jdk8 2.21.5 2.21.6
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.21.5 2.21.6
jakarta.servlet jakarta.servlet-api 6.0.0 6.1.0
org.antlr antlr4-runtime 4.9.2 4.13.2
org.apache.commons commons-lang3 3.18.0 3.20.0
org.apache.httpcomponents.client5 httpclient5 5.6 5.6.4
org.apache.httpcomponents.client5 httpclient5-cache 5.6 5.6.4
software.amazon.awssdk annotations 2.25.57 2.41.16
software.amazon.awssdk apache-client 2.25.57 2.41.16
software.amazon.awssdk arns 2.25.57 2.41.16
software.amazon.awssdk auth 2.25.57 2.41.16
software.amazon.awssdk aws-core 2.25.57 2.41.16
software.amazon.awssdk aws-query-protocol 2.25.57 2.41.16
software.amazon.awssdk aws-xml-protocol 2.25.57 2.41.16
software.amazon.awssdk checksums 2.25.57 2.41.16
software.amazon.awssdk checksums-spi 2.25.57 2.41.16
software.amazon.awssdk crt-core 2.25.57 2.41.16
software.amazon.awssdk endpoints-spi 2.25.57 2.41.16
software.amazon.awssdk http-auth 2.25.57 2.41.16
software.amazon.awssdk http-auth-aws 2.25.57 2.41.16
software.amazon.awssdk http-auth-spi 2.25.57 2.41.16
software.amazon.awssdk http-client-spi 2.25.57 2.41.16
software.amazon.awssdk identity-spi 2.25.57 2.41.16
software.amazon.awssdk json-utils 2.25.57 2.41.16
software.amazon.awssdk metrics-spi 2.25.57 2.41.16
software.amazon.awssdk profiles 2.25.57 2.41.16
software.amazon.awssdk protocol-core 2.25.57 2.41.16
software.amazon.awssdk regions 2.25.57 2.41.16
software.amazon.awssdk s3 2.25.57 2.41.16
software.amazon.awssdk sdk-core 2.25.57 2.41.16
software.amazon.awssdk third-party-jackson-core 2.25.57 2.41.16
software.amazon.awssdk utils 2.25.57 2.41.16

The following dependencies have been removed:
Group ID Artifact ID Version
org.apache.httpcomponents httpclient 4.5.13
org.apache.httpcomponents httpcore 4.4.13
org.slf4j jcl-over-slf4j 2.0.18

The following dependencies have been added:
Group ID Artifact ID Version
software.amazon.awssdk apache5-client 2.41.16
software.amazon.awssdk http-auth-aws-eventstream 2.41.16
software.amazon.awssdk retries 2.41.16
software.amazon.awssdk retries-spi 2.41.16
software.amazon.awssdk utils-lite 2.41.16

The following sample dependencies have been updated:
Group ID Artifact ID Old Version New Version
com.zaxxer HikariCP 6.3.3 7.0.2
io.micrometer micrometer-commons 1.15.12 1.17.1
io.micrometer micrometer-observation 1.15.12 1.17.1
jakarta.annotation jakarta.annotation-api 2.1.1 3.0.0
jakarta.enterprise jakarta.enterprise.cdi-api 4.0.1 4.1.0
jakarta.enterprise jakarta.enterprise.lang-model 4.0.1 4.1.0
jakarta.interceptor jakarta.interceptor-api 2.1.0 2.2.0
jakarta.websocket jakarta.websocket-api 2.1.1 2.2.0
jakarta.websocket jakarta.websocket-client-api 2.1.1 2.2.0
org.apache.logging.log4j log4j-api 2.24.3 2.25.5
org.apache.logging.log4j log4j-to-slf4j 2.24.3 2.25.5
org.apache.tomcat.embed tomcat-embed-el 10.1.55 11.0.24
org.eclipse.jetty jetty-alpn-client 12.0.33 12.1.12
org.eclipse.jetty jetty-client 12.0.33 12.1.12
org.eclipse.jetty jetty-http 12.0.33 12.1.12
org.eclipse.jetty jetty-io 12.0.33 12.1.12
org.eclipse.jetty jetty-plus 12.0.33 12.1.12
org.eclipse.jetty jetty-security 12.0.33 12.1.12
org.eclipse.jetty jetty-server 12.0.33 12.1.12
org.eclipse.jetty jetty-session 12.0.33 12.1.12
org.eclipse.jetty jetty-util 12.0.33 12.1.12
org.eclipse.jetty jetty-xml 12.0.33 12.1.12
org.eclipse.jetty.websocket jetty-websocket-core-client 12.0.33 12.1.12
org.eclipse.jetty.websocket jetty-websocket-core-common 12.0.33 12.1.12
org.eclipse.jetty.websocket jetty-websocket-core-server 12.0.33 12.1.12
org.eclipse.jetty.websocket jetty-websocket-jetty-api 12.0.33 12.1.12
org.eclipse.jetty.websocket jetty-websocket-jetty-common 12.0.33 12.1.12
org.ow2.asm asm 9.9.1 9.10.1
org.ow2.asm asm-commons 9.9.1 9.10.1
org.ow2.asm asm-tree 9.9.1 9.10.1
org.springframework spring-aop 6.2.19 7.0.9
org.springframework spring-beans 6.2.19 7.0.9
org.springframework spring-context 6.2.19 7.0.9
org.springframework spring-core 6.2.19 7.0.9
org.springframework spring-expression 6.2.19 7.0.9
org.springframework spring-web 6.2.19 7.0.9
org.springframework spring-webmvc 6.2.19 7.0.9
org.springframework.boot spring-boot 3.5.15 4.1.1
org.springframework.boot spring-boot-autoconfigure 3.5.15 4.1.1
org.springframework.boot spring-boot-starter 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-logging 3.5.15 4.1.1
org.springframework.boot spring-boot-starter-web 3.5.15 4.1.1
org.yaml snakeyaml 2.5 2.6

The following sample dependencies have been added:
Group ID Artifact ID Version
org.apache.httpcomponents.client5 httpclient5 5.6.4
org.apache.httpcomponents.core5 httpcore5 5.4.3
org.apache.httpcomponents.core5 httpcore5-h2 5.4.3
org.eclipse.jetty jetty-annotations 12.1.12
org.eclipse.jetty.compression jetty-compression-common 12.1.12
org.eclipse.jetty.compression jetty-compression-gzip 12.1.12
org.eclipse.jetty.compression jetty-compression-server 12.1.12
org.eclipse.jetty.ee jetty-ee-webapp 12.1.12
org.eclipse.jetty.ee11 jetty-ee11-annotations 12.1.12
org.eclipse.jetty.ee11 jetty-ee11-plus 12.1.12
org.eclipse.jetty.ee11 jetty-ee11-servlet 12.1.12
org.eclipse.jetty.ee11 jetty-ee11-webapp 12.1.12
org.eclipse.jetty.ee11.websocket jetty-ee11-websocket-jakarta-client 12.1.12
org.eclipse.jetty.ee11.websocket jetty-ee11-websocket-jakarta-common 12.1.12
org.eclipse.jetty.ee11.websocket jetty-ee11-websocket-jakarta-server 12.1.12
org.eclipse.jetty.ee11.websocket jetty-ee11-websocket-jetty-server 12.1.12
org.eclipse.jetty.ee11.websocket jetty-ee11-websocket-servlet 12.1.12
org.eclipse.jetty.websocket jetty-websocket-jetty-server 12.1.12
org.jspecify jspecify 1.0.1
org.springframework.boot spring-boot-http-converter 4.1.1
org.springframework.boot spring-boot-jetty 4.1.1
org.springframework.boot spring-boot-servlet 4.1.1
org.springframework.boot spring-boot-starter-jetty 4.1.1
org.springframework.boot spring-boot-starter-jetty-runtime 4.1.1
org.springframework.boot spring-boot-web-server 4.1.1
org.springframework.boot spring-boot-webmvc 4.1.1

The following sample dependencies have been removed:
Group ID Artifact ID Version
org.eclipse.jetty jetty-ee 12.0.33
org.eclipse.jetty jetty-jndi 12.0.33
org.eclipse.jetty.ee10 jetty-ee10-annotations 12.0.33
org.eclipse.jetty.ee10 jetty-ee10-plus 12.0.33
org.eclipse.jetty.ee10 jetty-ee10-servlet 12.0.33
org.eclipse.jetty.ee10 jetty-ee10-webapp 12.0.33
org.eclipse.jetty.ee10.websocket jetty-ee10-websocket-jakarta-client 12.0.33
org.eclipse.jetty.ee10.websocket jetty-ee10-websocket-jakarta-common 12.0.33
org.eclipse.jetty.ee10.websocket jetty-ee10-websocket-jakarta-server 12.0.33
org.eclipse.jetty.ee10.websocket jetty-ee10-websocket-jetty-server 12.0.33
org.eclipse.jetty.ee10.websocket jetty-ee10-websocket-servlet 12.0.33
org.springframework.boot spring-boot-starter-json 3.5.15

Upgrade considerationLuciadFusion

Upgraded the software.amazon.awssdk:s3 dependency from version 2.25.57 to 2.41.16. The AWS SDK now uses the ApacheHttpClient5 implementation by default, replacing the previous Apache 4–based HTTP client. As part of this upgrade, the transitive dependencies httpclient and httpcore (Apache HTTP Client 4) have been removed because they contained known security vulnerabilities.
Clients who still wish to use the Apache 4 HTTP client remain free to do so, but must now add the required httpclient and httpcore dependencies explicitly in their own project configuration.

Upgrade considerationLuciadFusion

Following dependencies have been updated:
Group ID Artifact ID Old Version New Version
org.postgresql postgresql 42.7.12 42.7.13
org.checkerframework checker-qual 3.42.0 3.55.1

Upgrade considerationAdvanced Raster Services

LCD-14577, LCD-14636
The third-party library GDAL was updated to version 3.13.1. With this update, the TLcdGDALModelDecoder can no longer decode Magellan BLX Topo and SGI Image Format files. The GDAL library no longer offers supports for these formats.

On Windows, the TLcdGDALModelDecoder now verifies that the JVM is compatible with the GDAL native libraries before initializing. The minimum supported JVM patch levels have been updated to Java 17.0.19+, Java 21.0.11+, and Java 25.0.3+. If the JVM is not a known-supported version, a compatibility check is run. If the check fails, the TLcdGDALModelDecoder is deactivated and will not decode any files. This prevents EXCEPTION_ACCESS_VIOLATION crashes on incompatible JVMs. To disable this check and force initialization regardless of JVM version, set the system property com.luciad.format.gdal.checkJVMCompatibility to false. Note that there are no known JVM compatibility issues on Linux and macOS.

Upgrade considerationDefense Symbology

The hostile text modifier now accepts only two values: ENY (the default) and null.

You can use the modifier to disable the ENY indicator: setting it to null removes the annotation from both the icon label and the stroke decoration of tactical graphics. Previously, symbols with a hostile affiliation were always annotated with ENY, regardless of the modifier value.

The change affects all supported military symbology standards.

Upgrade considerationDefense Symbology

A number of control measure Line symbols in APP-6D and MIL-STD 2525D no longer display the generic PL ("phase line") label. Previously these symbols were labeled twice: once with PL followed by the first uniqueDesignation modifier, and once with the abbreviation specific to the symbol followed by the second uniqueDesignation modifier. They are now labeled only with their own abbreviation, followed by the first uniqueDesignation modifier.

The change affects the following symbols. All of them belong to symbol set 25 (Control Measure); the symbol code is given for each symbol.

  • APP-6D
    • Light Line: 110200
    • Final Coordination Line:140700
    • Limit Of Advance: 140900
    • Line Of Departure: 141100
    • Line Of Contact: 140200
    • Probable Line Of Deployment: 141200
    • Bridgehead Line (BL): 141400
    • Holding Line: 141500
    • Release Line: 141600
  • MIL-STD-2525D
    • Light Line: 110200
    • Final Coordination Line: 140700
    • Limit Of Advance: 140900
    • Line Of Departure / Line Of Contact: 141100
    • Line Of Contact: 140200
    • Probable Line Of Deployment: 141200
    • Bridgehead Line (BL): 141400
    • Holding Line (HL): 141500
    • Release Line: 141600

Upgrade considerationInfrastructure Standards

LCD-14769
The myVRDatakitConverter library has been upgraded to version 2025.10.83126. This upgrade improves the stability of decoding Navisworks files with the TLcdNWDModelDecoder.

Upgrade considerationInfrastructure Standards

Added a dependency on the third party library libwebp. This library is used in the TLcd3DTilesProcessorBuilder to support GLB files using webp texture compression.

Upgrade considerationMaritime Standards

The following transitive dependencies of the native S-101 library have been updated:
  • LuaJIT 2.1.0-beta3 to 2.1.1785606157,
  • OpenSSL 3.4.5 to 3.5.8,
  • zlib 1.3.1 to 1.3.2,
  • libzip 1.5.1 to 1.11.4,
  • bzip2 has been removed.