Release notes for 200.3

This page provides details about enhancements in the 200.3 release of ArcGIS Maps SDK for .NET. It also lists this release's deprecations, resolved issues, known issues, and more.

Enhancements

Geometry editor

Enhanced feedback for vertex addition

The GeometryEditor now displays additional feedback graphics when adding vertices using the VertexTool. This is supported for input devices with a hover event (such as a mouse move without a mouse button press).

GeometryEditor enhanced feedback for adding vertices

Basemaps

New basemap styles

The following basemap styles are new with this release:

  • ArcGIS Human Geography
  • ArcGIS Human Geography (Dark)
  • Open Street Map Blueprint
  • Open Street Map Hybrid
  • Open Street Map Navigation
  • Open Street Map Navigation (Dark)

Use the corresponding BasemapStyle enum value to specify the basemap style when creating a Basemap object.

Basemap styles

Language support for basemap place labels

The new BasemapStyleParameters class supports specifying a specific language to use for place name labels displayed on the basemap, or for defining a language strategy (such as using the local place names or the application's locale).

Feature reduction

Define clustering on point feature layers

The previous release introduced support for honoring clustering on point features in dynamic rendering mode when defined in a web map. With this release, you can define a new FeatureReduction or update existing FeatureReduction properties on point feature layers rendered in dynamic mode. This release also adds support for clustering on a FeatureCollectionLayer.

Here are the key capabilities now available:

  • Define rendering for clusters
  • Define labels for clusters
  • Configure popups on clusters
  • Set a clustering radius
  • Add aggregate or summary fields
  • Define min/max sizes for cluster symbols
  • Set a scale threshold for clustering

Here are a few known issues with clustering in this release:

Utility networks

Validate utility network topology

This SDK now supports validating network topology when using a utility network from a feature service. This is accomplished using the UtilityNetwork.ValidateNetworkTopology(Envelope) method, which automatically updates the UtilityNetwork.DirtyAreaTable. Like the ArcGIS Pro Validate Network Topology tool, this method cleans up dirty areas by updating the network index used by tracing to match any edited features. Check the UtilityNetworkCapabilities.SupportsValidateNetworkTopology property to determine if your connected utility networks support validation with this SDK.

Utility network state

This SDK now provides the ability to get the current state of the utility network by checking UtilityNetwork.GetStateAsync() for utility network version 4 and later. If UtilityNetworkCapabilities.SupportsNetworkState returns true, you can call this method to determine whether network topology is enabled or if there are any dirty areas in your network that may impact trace results. To get more information about dirty areas in your utility network, you can query the dirty area table referenced through the UtilityNetwork.DirtyAreaTable property. This property is available after the utility network has loaded. This table may also be added as a FeatureLayer to display the dirty area features on the map. Submitting edits to a utility network feature service through calls to ServiceGeodatabase.ApplyEditsAsync() will automatically update this table with any new or updated dirty area features.

Feature editing

Check the ability to apply edits using a service geodatabase

When applying edits to a feature service, it is recommended to use ServiceGeodatabase.ApplyEditsAsync() to allow multiple tables to be edited in the same transaction and to allow additional edits made on the server to be reflected locally. However, some configurations of data do not support applying edits with a service geodatabase. For example, when some layers or tables in the feature service do not support global IDs.

With this release, you can check the ArcGISFeatureServiceInfo.CanUseServiceGeodatabaseApplyEdits property before calling ServiceGeodatabase.ApplyEditsAsync(). If this property is false, you can fall back to using the ServiceFeatureTable.ApplyEditsAsync() method on the edited tables in the ServiceGeodatabase.

Labeling

Label definition geometry strategy

With this release, a new LabelDefinition.GeometryStrategy property allows users to specify whether labeling of polygon or line features uses the original geometry (which may be off-screen) or the geometry clipped to the current viewing extent.

LabelDefinition.Placement still determines where to position the label with respect to the original or clipped geometry.

Indoor positioning

Improved Bluetooth (BLE) positioning

With this release, the indoors positioning algorithm has been strengthened against noisy and crowded environments. This results in an improved blue dot experience in environments that are densely populated with people or that contain many interfering radio signals.

Arcade

Support for Arcade 1.24

This SDK now supports Arcade 1.24. Enhancements include the following:

Support for Arcade 1.25

This SDK now supports Arcade 1.25. Enhancements include the following:

  • Support for the new FilterBySubtypeCode function.

Projection engine updates

Enhancements

  • New and updated EPSG definitions for coordinate systems and transformations through release 10.093.
  • New geographic and projected coordinate systems for Algeria, Australia, Bosnia and Herzegovina, Canada, Chile, Colombia, older Danish systems, French territories, Germany, Illinois, Latvia, UK railways, and WGS 1984 BE UTM zones.
  • New vertical transformations based on geoids, quasi-geoids, or other conversion grids can transform to or between gravity-related vertical coordinate systems for Austria, Canada, Denmark, Faroe Islands, French Antilles, Germany, Greenland, Iceland, Norway, Papua New Guinea, Poland, Slovenia, South Africa, Spain, and Sweden.
  • New and updated geographic transformations for Algeria, Bosnia and Herzegovina, Canada, Colombia, Denmark, French territories, Hong Kong, Kyrgyzstan, UK railways, timed-fixed transformations between WGS 1984 realizations.

SDK enhancements

.NET 8 support

With this release, .NET 8 is required and is fully supported in ArcGIS Maps SDK for .NET.

Improvements and optimizations

  • Added support for Arcade expressions in CalloutDefinition that are re-evaluated and auto-updated with changes to their associated geoelement such as a DynamicEntity, a feature, or a graphic.
  • WPF, WinUI, and .NET MAUI project templates now target .NET 8.
  • The Esri.ArcGISRuntime library is fully ahead-of-time (AOT) trimmable in .NET 8, allowing you to greatly reduce the app size. If you want to opt-out of trimming, add the following property to your project:
Use dark colors for code blocksCopy
1
2
3
<ItemGroup>
    <TrimmerRootAssembly Include="Esri.ArcGISRuntime" RootMode="All" />
</ItemGroup>

Enhancements and new features for the .NET Toolkit

  • ArcGIS Maps SDK Toolkit for .NET has been upgraded to use .NET 8.
  • More accurate rendering of HTML popups in the PopupViewer control for .NET MAUI and WPF.
  • Added a new toolkit component called GeoViewController to enable easy adoption of MVVM patterns in applications.
  • ArcGIS Maps SDK Toolkit for .NET symbol packages are now available on Nuget.org's symbol server.

Local Server

There are no Local Server updates with this release.

Breaking API changes

There are no breaking changes with this release.

Behavior changes

  • If you have app publishing workflows that target previous versions of ArcGIS Maps SDK for .NET, the runtime identifier must be changed from win10-x86, win10-x64, win10-arm64 to win-x86, win-x64, or win-arm64 to run successfully.

Deprecations

API deprecations

There are no API deprecations with this release.

OS and framework deprecations

There are no OS and framework deprecations with this release.

Issues resolved

Issues addressed in this release are listed below.

  • BUG-000156793: Potential crash when multiple attribute rules execute simultaneously.
  • BUG-000160506: Using GeometryEditor to transform a geometry that has a different spatial reference than that of the associated map view can appear to distort the geometry.
  • BUG-000161071: After implementing a rotation, application crashes intermittently when an offline map including a basemap and 10 operational feature layers with the refreshInterval property is loaded.
  • BUG-000161183: Load failure for scene layers when spatial reference from WKT is used instead of WKID.
  • BUG-000161523: "No Data" exception when opening mobile .geodatabase file after migrating data from Enterprise GDB 10.8.1 Oracle to Enterprise GDB 10.9.1 Postgres.
  • Question on Esri Community: Change Elevation Source at runtime.
  • BUG-000159531: MapView.Map.OperationalLayers.Insert and SceneView.Scene.OperationalLayers.Insert methods cause memory leaks in 2D maps and 3D scenes.
  • Question on Esri Community: Pinch zoom gesture on Android throws Invalid argument: Scale can't be NAN.
  • When a freehand or a shape tool is selected in GeometryEditor using multi-touch gestures on the GeoView (such as pan/zoom/rotate), the tool is unexpectedly activated and creates geometries.
  • Question on Esri Community: Map does not display in Android after navigating away from and then back to the page containing the MapView.
  • Question on Esri Community: System.InvalidOperationException: PlatformView cannot be null here for .NET MAUI applications.
  • A service fails to associate newly added features related by global ID when the supportsApplyEditsWithGlobalIds is false.
  • Features created from a FeatureSubtype cannot be added to a stand-alone mobile geodatabase.
  • Cannot delete certain features in utility network version 3 or older.
  • The FeatureSetByRelationshipName evaluation fails when features lack values for relationship key fields.

Known issues

Known issues or limitations for this release are listed below.

  • BUG-000149491: The WMTS layer does not show up in ArcGIS Field Maps (iOS/Android only)
  • Layers coming from a map, scene, or basemap that has been disposed or is no longer in scope, might stop completing web requests resulting in timeouts and unresponsive layers.

Changes in samples

New samples

Enhancements

  • WPF .NET, WinUI, and .NET MAUI sample viewers now target .NET 8.
  • Improved .NET MAUI samples UI design pattern to adapt to device orientation.
  • Made improvements to Manage features and Display device location.
  • Upgraded Local Server package to 200.1.

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