2026.0.03
ImprovementLuciadCPillar
LCP-1593
IRasterModel::invalidateIRasterModel::invalidateIRasterModel::invalidate method. Consequently,
IRasterModel::canInvalidateIRasterModel::canInvalidateIRasterModel::canInvalidate now returns true for WMTS models.
ImprovementLuciadCPillar
LCP-1592
IRasterModel::invalidateIRasterModel::invalidateIRasterModel::invalidate method. Consequently,
IRasterModel::canInvalidateIRasterModel::canInvalidateIRasterModel::canInvalidate now returns true for WMS models.
Bug fixLuciadCPillar
LCP-1588
7680_66+1
in LuciadCPillar 2026.0.01. This has been fixed.
Bug fixLuciadCPillar
LCP-1595
FeatureLayerFeatureLayerFeatureLayer to a controller's LayerListLayerListLayerList,
its labels weren't painted anymore. This would for example show up during creation of labeled features.
This is a regression that was introduced in the LuciadCPillar 2026.0 release.
Bug fixLuciadCPillar
LCP-1585
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 & APP-6B | 2.X.2.1.2.2.3 | Standard-Use Army Aircraft Flight Route (SAAFR) |
| APP-6A | 2.X.2.3.3.2 | Airspace Coordination Area (ACA) |
Upgrade considerationLuciadCPillar
LCP-1576
libcurl: updated to version8.19.0
2026.0
2026.0.01
ImprovementLuciadCPillar
LCP-1192
WfsCapabilitiesWfsCapabilitiesWfsCapabilities now provides information on the version of the WFS capabilities response.
It is now possible to specify a specific WFS version in the URL for the capabilities or for decoding.
This may allow working with WFS servers that only implement certain versions correctly.
ImprovementLuciadCPillar
LCP-528
ImprovementLuciadCPillar
LCP-637
MilitarySymbolStyleMilitarySymbolStyleMilitarySymbolStyle using the method MilitarySymbolStyle::Builder::iconSizeMilitarySymbolStyle::Builder::iconSizeMilitarySymbolStyle::Builder::iconSize.
ImprovementLuciadCPillar
LCP-409
It is now possible to configure the icon type of the "Antitank Obstacles, Tetrahedrons, Dragon's Teeth and Other Similar Obstacles" symbols in APP-6A and APP-6B. These symbols can have different icons depending on their type: "Fixed And Prefabricated", "Movable" or "Movable And Prefabricated". Unfortunately the APP-6A and APP-6B specifications do not indicate how this obstacle type should be encoded in the symbol.
The approach taken here is similar to other Luciad products: the obstacle type is encoded in the TypeLabel text modifier of the symbol.
The value should either be one of the following values (casing is not important):
| Obstacle Type | Possible values |
|---|---|
| Fixed And Prefabricated | "Fixed And Prefabricated", "F", "01" |
| Movable | "Movable", "M", "02" |
| Movable And Prefabricated | "Movable And Prefabricate", "P", "03" |
ImprovementLuciadCPillar
LCP-1117
ImprovementLuciadCPillar
LCP-348
Bug fixLuciadCPillar
LCP-1197
Bug fixLuciadCPillar
LCP-564
Resolved an issue where the value of the 'Additional Information' modifier was used instead of the 'Width' modifier in the labels of following symbols:
| Standard(s) | Set Code | Symbol Code | Name |
|---|---|---|---|
| APP-6D & MIL-STD-2525d | 25 | 170100 | Air Corridor |
| APP-6D | 25 | 170101 | Air Corridor With Multiple Segments |
| APP-6D & MIL-STD-2525d | 25 | 170200 | Low-Level Transit Route |
| APP-6D & MIL-STD-2525d | 25 | 170300 | Minimum-Risk Route |
| APP-6D & MIL-STD-2525d | 25 | 170400 | Safe Lane |
| APP-6D & MIL-STD-2525d | 25 | 170500 | Standard Use Army Aircraft Flight Route (SAAFR) |
| APP-6D & MIL-STD-2525d | 25 | 170600 | Transit Corridors |
| APP-6D & MIL-STD-2525d | 25 | 170700 | Unmanned Aircraft (UA) Route |
Bug fixLuciadCPillar
LCP-1567
Bug fixLuciadCPillar
LCP-522
Bug fixLuciadCPillar
LCP-1562
Bug fixLuciadCPillar
LCP-1205
Bug fixLuciadCPillar
LCP-1206
Bug fixLuciadCPillar
LCP-1164
Bug fixLuciadCPillar
LCP-1208
- The outline of the area is now drawn with a solid stroke instead of a dashed stroke
- The hostile indicator ("ENY") is now rendered in the outline stroke, when the symbol's affiliation is set to 'Hostile'
Bug fixLuciadCPillar
LCP-1209
Bug fixLuciadCPillar
LCP-561
Bug fixLuciadCPillar
LCP-561
MilitarySymbol::putValueMilitarySymbol::putValueMilitarySymbol::putValue with the modifier MilitarySymbol::Modifier::StaticDynamicMilitarySymbol::Modifier::StaticDynamicMilitarySymbol::Modifier::StaticDynamic.
Bug fixLuciadCPillar
LCP-1207
Bug fixLuciadCPillar
LCP-1203
The main geometry type of a number of APP-6A/B "Minefield" symbols has been changed. These symbols were modeled as polygons, which required the symbol to have at least 3 anchor points to define the symbol's shape. To better align these symbols with the NVG geometry bindings specification, the geometry has now been changed to a point, which requires only a single anchor point to define the symbol's shape. The following symbols are affected by this change:
- 2.X.2.2.1.6.1 "Planned Minefield"
- 2.X.2.2.1.6.2 "Completed Minefield"
- 2.X.2.2.1.6.5 "Antitank (AT) Minefield"
- 2.X.2.2.1.6.6 "Scatterable Mines"
- 2.X.2.2.1.6.7 "Antipersonnel (AP) Minefield Reinforced With Scatterable With Self-Destruct Date-Time-Group"
- 2.X.2.2.1.6.8 "Scatterable Minefield (Antitank Mines) With Self-Destruct Date-Time-Group"
- 2.X.2.2.1.7 "Executed Volcano Minefield"
Bug fixLuciadCPillar
MapMapMap or
Map::RendererMap::RendererMap::Renderer.
Bug fixLuciadCPillar
LCP-1198
-
The class
RectangleRectangleRectanglehad a few properties with internal visibility where a public visibility was intended. -
The class
LicenseExceptionLicenseExceptionLicenseExceptionnow has public visibility. It did wrongly have the default C# internal visibility.
Upgrade considerationLuciadCPillar
LCP-1210
dawn third party library has been updated to version 7680_66+1
to fix vulnerability CVE-2026-3062.
Upgrade considerationLuciadCPillar
LCP-1204
Upgrade considerationLuciadCPillar
LCP-1188
libpng: updated to version1.6.55
2026.0
New featureLuciadCPillar
New featureLuciadCPillar
GmlModelDecoderGmlModelDecoderGmlModelDecoder is explained
in the Decode and visualize GML data article.
You can use the data formats sample to load a GML file.
New featureLuciadCPillar
WfsCapabilitiesWfsCapabilitiesWfsCapabilities and WfsModelDecoderWfsModelDecoderWfsModelDecoder is explained
in the article on Decode and visualize WFS data.
You can use the data formats sample to connect to Web Feature Services.
New featureLuciadCPillar
New featureLuciadCPillar
LCP-776
HatchedIconBuilderHatchedIconBuilderHatchedIconBuilder to easily create and customize hatched icons.
ImprovementLuciadCPillar
LCP-1141, LCP-1146
IconDrawCommand::transparency and IconsDrawCommand::transparency
flags respectively.
ImprovementLuciadCPillar
ImprovementLuciadCPillar
Map::ViewMapTransformation::viewToMapMap::ViewMapTransformation::viewToMapMap::ViewMapTransformation::viewToMap with Map::LocationMode::ClosestSurfaceMap::LocationMode::ClosestSurfaceMap::LocationMode::ClosestSurface
now doesn't return world points on surfaces that were painted in a controller anymore. This fixes a potential problem
where measurement controllers would measure their own visualization.
ImprovementLuciadCPillar
FeatureQueryFeatureQueryFeatureQuery now can be configured with a CancellationTokenCancellationTokenCancellationToken.
It is recommended to take this into account when implementing the method IFeatureModel::queryIFeatureModel::queryIFeatureModel::query.
This allows to close an application quicker when it is still performing a feature query.
ImprovementLuciadCPillar
WmsModelDecoderWmsModelDecoderWmsModelDecoder and WmtsModelDecoderWmtsModelDecoderWmtsModelDecoder now also support
the `image/jpgpng` media type, which can be served by LuciadFusion.
Bug fixLuciadCPillar
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
ParameterizedFeatureCanvas::IconsDrawCommandParameterizedFeatureCanvas::IconsDrawCommandParameterizedFeatureCanvas::IconsDrawCommand has changed from
the icons not being draped, to the icons being draped if the geometry has a zero Z value for consistency
with FeatureCanvas::IconDrawCommandFeatureCanvas::IconDrawCommandFeatureCanvas::IconDrawCommand. Applications relying on the default behavior
may have to add an explicit call to ParameterizedFeatureCanvas::IconsDrawCommand::draped() to
enforce the desired behavior.
Upgrade considerationLuciadCPillar
LuciadCPillar transitioned from OpenGL to WebGPU for graphics rendering. Because of this transition, Qt applications integrating LuciadCPillar now require a version of Qt greater than or equal to 6.8 (LTS). From this version on, Qt has sufficient support for the Vulkan graphics API, which is used as a backend for WebGPU.
The LuciadCPillar samples have been updated to use Qt version 6.8 (LTS). See the
installation instructions and
requirements page for details. Note that the VulkanSDK 1.4.321.1 also needs to be
installed on your system to compile the samples.
The change to WebGPU and the upgrade to Qt 6.8 have no effect on the use of (most of) the LuciadCPillar API itself, but it requires changes to the Qt integration code. If you have an application that uses Qt, you will need to copy the integration code from the LuciadCPillar samples to your own code base again. Additionally, you will need to make a few modifications:
- The
QQuickMapObjectclass has been renamed toQQuickMapItem. - The
QMapWidgetclass has been removed and replaced by the newQMapWindowclass. Note that the new class is not aQWidgetanymore. You can adapt it to aQWidgetusing theQWidget::createWindowContainerfunction. This is demonstrated in the Qt Widgets sample.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
Map::RendererMap::RendererMap::Renderer has been changed. The following modifications were made:
-
The
Map::Renderer::destroyfunction has been replaced by theMap::destroyRendererMap::destroyRendererMap::destroyRendererfunction. -
The
Map::createRendererMap::createRendererMap::createRendererfunction was added. This function is used to create aMap::RendererMap::RendererMap::Rendererinstead of creating it implicitly usingMap::getRenderer(in older versions). This new function takes aWebGpuContextWebGpuContextWebGpuContextas input, which is used to pass WebGPU information to the new renderer. -
The
Map::getRendererfunction has been removed from the API. Users ofMap::RendererMap::RendererMap::Renderer(UI integration code for example) are now expected to keep a reference to the renderer that was created usingMap::createRendererMap::createRendererMap::createRenderer.
Map::IRendererCallbackMap::IRendererCallbackMap::IRendererCallback methods now also get a Map::RendererMap::RendererMap::Renderer
passed in as parameter. When you implement this interface, this will result in a compile error which can be fixed
by adding the additional Map::RendererMap::RendererMap::Renderer parameter to the implementation's methods.
Upgrade considerationLuciadCPillar
C++ 20 standard.
Upgrade considerationLuciadCPillar
- Blending of (semi-)transparent colors now happens in linear color space whereas it happened in gamma
color space (sRGB) in previous versions. This change resolves blending artifacts, but it can make blended colors slightly
brighter. This is especially noticeable when LuciadCPillar renders thin lines or thin text.

- Texture sampling now happens in linear color space whereas it happened in gamma color space (sRGB) in
previous versions. Similarly to blending, this change resolves minor artifacts, but it might look slightly different
from before.

Upgrade considerationLuciadCPillar
13.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
IFeatureQueryCallback::handleTerminationIFeatureQueryCallback::handleTerminationIFeatureQueryCallback::handleTermination method has been added to the IFeatureQueryCallbackIFeatureQueryCallbackIFeatureQueryCallback interface.
In combination with the new FeatureQuery::getTooManyFeaturesCountFeatureQuery::getTooManyFeaturesCountFeatureQuery::getTooManyFeaturesCount, you can use this method
in your IFeatureModel::queryIFeatureModel::queryIFeatureModel::query implementations to signal that the query would have returned more features
than the caller can handle.
When upgrading, you will need to implement this new method in any classes extending from the
IFeatureQueryCallbackIFeatureQueryCallbackIFeatureQueryCallback interface. You may do this using an empty method body.
Upgrade considerationLuciadCPillar
PixelFormat::Rgb565 has been removed from the API. If you were using an image with
this pixel format, it's advised to convert it to an image with a different pixel format. For example
PixelFormat::Rgb888PixelFormat::Rgb888PixelFormat::Rgb888 or PixelFormat::Rgba8888PixelFormat::Rgba8888PixelFormat::Rgba8888.
Upgrade considerationLuciadCPillar
GDAL: updated to version3.10.3+1PROJ: updated to version9.6.0libwebp: updated to version1.5.0libjpeg: updated to version9fjson-c: updated to version0.18expected-lite: version0.9.0eigen: version3.4.1abseil: version20240722.0protobuf: version5.27.0glu: version1.3+7
expat: version2.7.1xerces-c: version3.3.0
Upgrade considerationLuciadCPillar
dawn, version 7582+2.
This library internally relies on these additional third-party libraries, managed independently by dawn itself:
abseildirectx-shader-compilerdirectx-headersjsoncppspirv-headersspirv-toolsvulkan-headersvulkan-loader
OpenGLGLAD
Upgrade considerationLuciadCPillar
LCP-1160
openssl: updated to version3.4.4