Release notes for 100.4

This page provides details about enhancements in the 100.4 release of ArcGIS Runtime API for Qt. It also lists this release's deprecations, resolved issues, and known issues.


This section describes new features and improvements.

Offline maps

  • You can now gain fine-grained control over how individual layers are taken offline. Use the layer specific overrides to adjust settings such as whether to omit layers, the area of interest, attribute queries and attachments behavior on a per-service basis.
  • Support has been added for a "fail fast" mode when taking maps offline. By default, a job will run to completion even if a layer or table has problems.
  • The offline local item has been enhanced to allow you to update meta-data on the client.
  • Additional meta-data has been added to Job messages. This information includes the time-stamp and severity of a given message.

Behavior changes include:

  • The on-demand workflow will now honor the scale range of a tiled layer as specified by the web map. This behavior helps to ensure that only the tile data required by the offline map is downloaded.
  • The default behavior for taking a map with related tables offline has been updated such that only the related records from a destination table will be included. All unrelated records will be excluded. This ensures that the offline map contains only the related records that are relevant to the offline features. If you wish to revert to the old behavior (taking all records offline) you can adjust the value of destination table row filter provided by the generate offline map parameters.

Support for MrSID raster format

Multiresolution Seamless Image Database (MrSID) raster format is based on a proprietary compression technique for maintaining the quality of large images. It allows for a high compression ratio and fast access to large amounts of data at any scale without having to decompress the entire file. You can display MrSID data using raster layers in both 2D maps and 3D scenes, and also apply raster functions. Generations 2, 3, and 4 of MrSID are supported.


Runtime now supports reading and displaying KML content in both 2D maps and 3D scenes. You can use KML and KMZ files either from a location on disk or on the web. At this release, the following features are supported in KML version 2.2:

  • Placemarks (point, line, and polygon), ground overlays, labels, and 3D models
  • Screen overlays, Photo overlays
  • Network links, including support for automatic refresh intervals
  • Time awareness - KML layers participate in time filtering
  • Altitude mode (Absolute and Clamp-To-Ground/draped)
  • Ability to identify Placemarks and get Balloon popup content

Local server compatibility

Local Server version 100.3.0 works with ArcGIS Runtime 100.4.0. There is no Local Server 100.4.0 release.

API changes

GeoElement class

In ArcGIS Runtime SDK for Qt, GeoElement is no longer a QObject-based class. This change can break existing 100.3.0 code.

  • It is no longer possible to call setParent or any other QObject method on GeoElement.
  • There is no longer a GeoElement::geometryChanged signal. This signal has been moved to classes that inherit from GeoElement.

Classes that inherit from GeoElement include EncFeature, Feature, KmlPlacemark, Graphic, and WmsFeature.

Pixels-per-inch on Linux

ArcGIS Runtime SDK for Qt has changed the base pixels-per-inch (PPI) on Linux platforms from 72 to 96. This change is being made to improve and align the Runtime scaling with the Qt framework's high-DPI scaling sizes of items. It also aligns this SDK with ArcGIS Runtime SDK for Linux.

You do not need to take any action to opt in for this change. However, if your existing code decreased the size of symbols on Linux to account for the oversizing done previously, you may need to adjust the symbol sizes.


Support for Ubuntu 14.04 was deprecated in the previous release and ArcGIS Runtime SDK 100.4.0 is the last release to support it. A minimum of Ubuntu 16.04 will be required at 100.5.0.

Support for iOS 10 was deprecated in the previous release and ArcGIS Runtime SDK 100.4.0 is the last release to support it. A minimum of iOS 11 will be required at 100.5.0.

Support for macOS 10.12 (Sierra) was deprecated in the previous release and ArcGIS Runtime SDK 100.4.0 is the last release to support it. A minimum of macOS 10.13 (High Sierra) will be required at 100.5.0.

Issues resolved

  • BUG-000115436 Gap at horizon when edge of scene is below sea level and elevation exaggeration is greater than 1.

  • BUG-000116204 There are excessive "Fork" instructions in Driving Directions when passing through intersections with turning slips

  • BUG-000116629 Route Task resource string ArgumentNullException: 'Value cannot be null. Parameter name: format'

  • BUG-000103765 The << operator outputs incorrect value for Geometries

  • BUG-000116279 Cannot create TileCache from a path on Linux when conf.xml file uses mixed case

Known issues

  • BUG-000115332 Invalid argument error occurs when adding a new or existing feature with geometry to the table

  • BUG-000114932 Labels do not follow through as the map view is zoomed or panned, unlike in ArcGIS Pro.

  • BUG-000115663 Setting MaxFeatures parameter when performing a spatial query returns inconsistent results

  • BUG-000115316 Some layers in the Mobile Map Package don't render in ArcGIS Runtime application.

  • BUG-000116810 QueryFeatures performance is slower in v100.3 when compared to v10.2.x.

  • BUG-000116792 Layers in Mobile Map Package created using ArcGIS Pro do not respect label stacking properties.

  • BUG-000114058 Zooming in on an area that crosses the International Date Line results in the entire basemap.

  • BUG-000113832 DictionaryRenderer is not rendering certain oceanographic point symbols from MIL-STD-2525D correctly.

  • BUG-000109405 Labels generated with python in an Mobile Map Package do not display

  • BUG-000116867 Deadlock in SceneView on destruction

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.