Release notes for 200.5

This page provides details about enhancements in the 200.5 release of ArcGIS Maps SDK for Qt. It also lists deprecations, resolved issues, known issues, and more.

Enhancements

Geometry editor

Reticle

A ReticleVertexTool is now available for the GeometryEditor, introducing a new way of creating and editing geometries tailored for touch interactions. The tool allows a user of a touch device to clearly see where vertices will be created or moved to, without visual feedback being hidden by fingers or a stylus.

When the ReticleVertexTool is active and the GeometryEditor started, pan and zoom the map to place the reticle crosshairs at the required position, then tap to add a vertex.

Add vertices with reticle

Place the reticle over an existing vertex and tap to begin a move. Drag the map to place the reticle crosshairs at the new position, then tap a second time to complete the move.

Move vertices with reticle

This can be especially useful when using snapping with touch, allowing a user to clearly see which vertices and edges of snap source geometries will be snapped to.

Snap vertices with reticle

If your users are currently using the magnifier on touch devices to perform edits, you may wish to consider updating your app to take advantage of this new capability. When the reticle is visible, the magnifier will not appear.

Geotriggers

Support for dynamic feature fences

If you use a FeatureCollectionTable or an ArcGISFeatureTable to create your FeatureFenceParameters and the features are updated, the GeotriggerMonitor will take into account new, updated, or deleted feature fences. This applies to features in the app that are updated locally (through offline sync), and remotely (via a feature service with a refresh interval set).

Utility network

Utility network synchronization

Utility networks can now be edited offline in a mobile geodatabase and synchronized back to an ArcGIS Enterprise 11.3 feature service. Changes made on the client app can be sent up to the feature service (this is referred to as an upload). Changes made on the feature service data can be brought down to the client's mobile geodatabase (this is referred to as a download). Both upload and download can also be completed in a single synchronized bidirectional operation.

Download-only sync is now supported on read-only sync-enabled mobile geodatabases generated with UtilityNetworkSyncMode::SyncSystemAndTopologyTables from ArcGIS Enterprise 11.3 feature services with feature editing capabilities disabled. A download-only sync will automatically incorporate changes into the utility network topology.

Reconcile branch version

Branch-versioned feature services intended for offline sync will typically have sync options set to "Create a version for each download map". Creating a sync-enabled mobile geodatabase based on such a feature service creates a dedicated version for that geodatabase. This version must be reconciled with the default version in order for changes posted to the default version to be downloaded to the client on the next sync.

The new OfflineMapSyncParameters::isReconcileBranchVersion() and SyncGeodatabaseParameters::isReconcileBranchVersion properties allow a sync call to reconcile a sync-enabled mobile geodatabase's version to the default version first in order to pull down any recently posted changes during the sync.

Use SyncCapabilities:isSupportsBranchVersionReconcile() to determine whether the parameter is supported by the feature service.

Trace and edit offline utility networks

In ArcGIS Enterprise 11.3 feature services, mobile geodatabases can be both editable and traceable when created with both the UtilityNetworkSyncMode::SyncSystemAndTopologyTables and SyncModel::Geodatabase options. After an editable and traceable mobile geodatabase is edited, the utility network's topology can be validated to clean up any dirty areas so the edits are reflected in trace results.

Edit associations

Editing associations that model connectivity, containment, and structural attachment between nonspatial and non-coincident network features is now supported by ArcGIS Maps SDK for Native Apps. This requires an Advanced Editing extension license and is supported for utility networks with schema version 4 or higher.

To add a new association, construct a new UtilityAssociation object, check that it is configured correctly with UtilityNetwork::canAddAssociationAsync(), and then call the UtilityNetwork::addAssociationAsync() method.

To delete an existing association, query for the UtilityAssociation object, check that deleting associations is permitted with UtilityNetwork::canDeleteAssociations(), and finally call UtilityNetwork::deleteAssociationAsync().

Validate consistency offline

Validate consistency is now supported offline. Setting UtilityTraceConfiguration::isValidateConsistency() to true ensures reliability and accuracy of trace operations by throwing an error if dirty areas exist within the boundaries of the trace. Support is available for schema version 4 or higher mobile geodatabases with full utility network topology.

Validate network topology offline

Calling the UtilityNetwork::validateNetworkTopology() method is now supported for offline utility networks with full topology. Validating network topology will clean up dirty areas. This requires an Advanced Editing extension license. Check the utility network's UtilityNetworkCapabilities::isSupportsValidateNetworkTopology() property to determine whether it supports validation.

Utility network schema version 7

Utility network schema version 7 is now supported by ArcGIS Maps SDK for Native Apps. This provides support for 64-bit Object IDs and big integer fields in addition to other enhancements. See the ArcGIS Pro documentation Upgrade to Utility Network Version 7 for details.

Indoor positioning (IPS)

IndoorPositioningDefinition

The IndoorPositioningDefinition class now has new properties that describe the origin of the data used for indoor positioning as well as the radio type.

IndoorsLocationDataSource

IndoorsLocationDataSource now allows your app to receive detailed information messages from the IPS. When listening, your app can record information messages (into a file, for example) for troubleshooting issues on the client. You can enable receiving information messages with the new setting areInfoMessagesEnabled in the IndoorsLocationDataSourceConfiguration class.

Symbology

Renderer support for ArcGIS scene layers

You can now update or set a new renderer on an ArcGISSceneLayer of type 3D object scene layer or point scene layer. The types of renderer supported by these data types are SimpleRenderer, ClassBreaksRenderer or UniqueValueRenderer.

3DObjects use a mesh symbol built with a material fill symbol layer to display. You can now create a mesh symbol using the new MultiLayerMeshSymbol symbol type and the MaterialFillSymbolLayer symbol layer type.

Full support for Arcade expressions in cluster popups

ArcGIS Maps SDKs for Native Apps now provides full support for the $aggregatedFeatures variable in the Arcade feature reduction popups. This allows access to the full set of features in a cluster when writing popup expressions.

Cartographic Information Model (CIM) specification

ArcGIS Maps SDKs for Native Apps now supports the latest CIM specification (version 3.3).

Basemaps

Disputed boundary display

A new worldview property on the BasemapStyleParameters class allows the display of different representations of disputed boundaries on a Basemap.

Dynamic basemap styles service updates

This release adds a loadable BasemapStylesService class that retrieves information about the latest features available in the service. Once loaded, the information from the service is presented in a structured and consistent manner using the BasemapStylesServiceInfo, BasemapStyleInfo, BasemapStyleLanguageInfo, and Worldview classes. This enhancement allows the implementation of basemap galleries in applications that automatically add new features to the basemap styles service, without requiring a code change.

New basemap style

The ArcGIS Outdoor style is now available in the Native Maps SDKs.

KML

Extended data

ArcGIS Maps SDK for Native Apps now supports parsing of <ExtendedData> data elements, enabling the inclusion of custom metadata within KML files. This enhancement allows developers to embed and visualize additional rich metadata from their KML files.

KML can include both schema-based and non-schema extended data:

  • Schema-based data: Define and use KML schemas to structure extended data, ensuring consistency and clarity. This includes support for <Schema> and <SchemaData> elements, allowing you to define custom data structures.

  • Non-schema data: Support for arbitrary key-value pairs through the use of <Data> elements, providing flexibility for embedding a wide range of metadata without predefined schemas

Multitrack rendering

With the current release, rendering of multi-tracks in KML is supported. Multitrack <gx:MultiTrack> combines multiple individual tracks <gx:Track> into one multitrack so that they can be displayed as sections of one single path. Depending on the value of <gx:interpolate> element, the icon will stop at the end of one track and jump immediately to the start of the next one or continue on an interpolated path that is between the two tracks.

Popups

Additional formats for displaying dates in a popup are supported with this release.

PopupDateFormat enum valueExample
dayShortMonthYearLongTime"Jun 11, 2019, 9:49:00 PM"
dayShortMonthYearLongTime24"Jun 11, 2019, 21:49:00"
dayShortMonthYearShortTime"Jun 11, 2019, 9:49 PM"
dayShortMonthYearShortTime24"Jun 11, 2019, 21:49"
longDateLongTime"Tuesday, June 11, 2019, 9:49:00 PM"
longDateLongTime24"Tuesday, June 11, 2019, 21:49:00"
longDateShortTime"Tuesday, June 11, 2019, 9:49 PM"
longDateShortTime24"Tuesday, June 11, 2019, 21:49"
longMonthDayYearLongTime"June 11, 2019, 9:49:00 PM"
longMonthDayYearLongTime24"June 11, 2019, 21:49:00"
longMonthDayYearShortTime"June 11, 2019, 9:49 PM"
longMonthDayYearShortTime24"June 11, 2019, 21:49"

Licensing

Edit feature services with a Lite license for data hosted by ArcGIS Location Platform

In general, a Native SDK needs to be licensed at the Basic license level to edit features in a private feature service. In this release, we've enabled the ability to edit features in a private feature service at the Lite license level when the feature data is hosted by ArcGIS Location Platform. The data in this case, is owned by an ArcGIS Location Platform account. This new support applies for both connected and offline workflows. Feature services hosted by ArcGIS Location Platform are always private as they require authentication to access. For more information on data hosting with ArcGIS Location Platform, see the Portal and data services guide.

SDK enhancements

Toolkit CMake support

The ArcGIS Maps SDK for Qt Toolkit now supports CMake build system, in addition to QMake.

Attachment QFuture Improvements

AttachmentListModel now supports opting out of autoFetchAttachments and autoApplyEdits, which allows for more intuitive workflows when using QFuture async methods. These properties were originally added to provide a streamlined workflow for the now deprecated TaskWatcher-based methods, but are not compatible with QFuture patterns. The Edit feature attachments sample has been updated to show the new QFuture workflows.

Qt 6.5.6 is the new minimum supported version

The ArcGIS Maps SDK for Qt is now built with Qt 6.5.6.

Xcode 15.2 is the new minimum supported version

Creating apps with the ArcGIS Maps SDK for Qt targeting macOS and iOS will need to be built with Xcode 15.2.

iOS and macOS minimum supported versions are updated

  • macOS now requires macOS 13 or higher.
  • iOS now requires iOS 16 or higher.

Breaking API changes

There are no breaking changes in this release.

Behavior changes

  • GeometryEngine::cut() now supports true curve input geometries, preserving true curves in the result geometries.
  • GeometryEngine::bufferGeodetic() now supports true curve input geometries, producing densified curves in the result geometries.
  • GeotriggerMonitor will take into account new, updated, or deleted feature fences that are created from a FeatureCollectionTable or ArcGISFeatureTable if the features are updated locally within the app, through offline sync, or remotely (via a feature service with a refresh interval set).
  • Realistic sun: In a scene view, the sun now appears at the correct position in the sky for the specified date, time of day, and geographic location. This feature is enabled only when sunlighting is turned on the SceneView class.
  • The spatial reference of the GeoModel is now automatically adopted when loading a ServiceFeatureTable or an OgcFeatureCollectionTable belonging to a layer in that GeoModel, as long as the layer type supports changing the spatial reference. Previously, the tables were loaded in the layer's spatial reference.
  • Qt 6.6.0 no longer makes implicit permissions requests for Location, Bluetooth, Camera, and other device capabilities. ArcGIS Maps SDK for Qt functionality that utilizes these device capabilities, such as DefaultLocationDataSource, IndoorsLocationDataSource, and Augmented Reality, will no longer benefit from the implicit behavior observed in previous Qt versions. Instead, the client application will need to use QPermission API to explicitly request permissions before the functionality is used.
  • With ArcadeEvaluationResult, the "null" object previously would return a default-constructed QJsonValue, but now returns a "null" QVariant internally created via QVariant::fromValue(nullptr).
  • Viewpoint::viewpointType() value for a default-constructed, 'empty' type is changed. Values returned from empty objects shouldn't be relied upon.
  • JobMessage::severity() value for a default-constructed, 'empty' type is changed. Values returned from empty objects shouldn't be relied upon.

Deprecations

API deprecations

  • ErrorType::NetworkAnalystInvalidAttributeParametersValueType (individual enum value)
  • ErrorType::NetworkAnalystUndefinedInputSpatialReference (individual enum value)
  • ErrorType::NetworkAnalystInvalidDirectionsStyle (individual enum value)
  • ViewpointType::Unknown (individual enum value)
  • JobMessageSeverity::Unknown (individual enum value)
  • SketchCreationMode (enumeration) and its associated qDebug printer.
  • SketchResizeMode (enumeration) and its associated qDebug printer.
  • SketchVertexEditMode (enumeration) and its associated qDebug printer.
  • PopupAttachmentManager constructor that takes an ArcGISFeature.

OS and framework deprecations

There are no OS or framework deprecations in this release.

Issues resolved

Issues addressed in this release are listed below.

  • BUG-000154793: The clone property for the feature layer does not clone the respective LabelDefinitions to a new feature layer object.
  • ENH-000158877: Allow a way to update the features in that trigger geotriggers in ArcGIS Maps SDK for Qt (NOTE: this ENH is for .NET but the enhancement is not API specific).
  • BUG-000163776: Dictionary Renderer Expression scaling renders incorrectly in 3D.
  • BUG-000166643: Repeatedly opening a SceneView intermittently crashes, when the scene has a vector tiled layer.
  • BUG-000167816: GeodatabaseFeatureTable.LoadAysnc causes Esri.ArcGISRuntime.ArcGISRuntimeException: No Data.
  • BUG-000168210: Getting a 'no-data' error when trying to load a geodatabase feature table from a mobile geodatabase.
  • BUG-000169090: Improve level of detail selection when no elevation tiles are available.
  • Issue reported on Esri Community: Handle missing ows:Constraint in WMTS Capabilities.
  • Issue reported on Esri Community: Crash when clearing image overlays from the collection.
  • BUG-000163351: 200.3.0 incompatible with Qt 6.6.1 or later on Linux and Android.

Known issues

BUG-000169385 - Android apps using 3D and IndoorsLocationDataSource crash with Qt 6.7+ . This is due to a [Qt bug] (https://bugreports.qt.io/browse/QTBUG-127454).

Changes in samples

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