Release notes for 200.0

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

Enhancements

ArcGIS Maps SDK for .NET

.NET MAUI support

ArcGIS Maps SDK for .NET now fully supports .NET MAUI (Multi-platform App UI).

.NET 7 support

.NET 7 is fully supported in ArcGIS Maps SDK for .NET.

Support for Windows 10 Enterprise LTSC 2019 (1809)

In ArcGIS Runtime 100.15, the minimum supported Windows version was Windows 10 build 18362. ArcGIS Maps SDK for .NET v200.0 supports Windows versions back to Windows 10 build 17763 (1809 version).

Fluent configuration API

Fluent configuration provides an easy way to configure certain HTTP settings, custom handlers, credentials, API key, and license settings when starting an app. Refer to the ArcGISConfigurationExtensions class for more info.

Mac Catalyst support

Support for Mac Catalyst is included in this release. You can now deploy iOS apps on macOS by building your apps with the net6.0-Catalyst target framework. Note that .NET MAUI apps that target Mac Catalyst can be launched and debugged using Visual Studio 2022 for Mac 17.4. See the Microsoft documentation for more info.

Extension methods for GeometryEngine members

GeometryEngine members with a first parameter of type Geometry are now available as extension methods. This allows you to call GeometryEngine members directly from Geometry.

Add a using statement for the Esri.ArcGISRuntime.Geometry namespace to access the extension methods. For example:

Use dark colors for code blocksCopy
1
2
3
using Esri.ArcGISRuntime.Geometry;
// ...
  Geometry projectedGeometry = oldGeometry.Project(newSpatialReference);

Project template enhancements

Project templates have been enhanced to enable the creation of either a 2D or 3D app. They also provide template code for fluent API configuration.

Improved interaction for iOS and Mac Catalyst

Mouse and trackpad support has been improved for both iOS and Mac Catalyst. Interaction behavior now matches Apple Maps on iPad and macOS.

Improvements to authentication

Various quality improvements have been made for authentication in this release.

ARM64 support added to WPF and WinUI

You can now build and deploy WPF and WinUI apps to ARM64 devices.

Enhancements and new features for .NET Toolkit

  • Added support for .NET MAUI.
  • Added support for WinUI, which now has the same components available as UWP toolkit.
  • Moved the TableOfContents control out of the preview package (there is no longer a Toolkit Preview nuget package).
  • Fixed an issue where the maximum results could not be lowered for SearchView.

Scenes (3D)

Edge rendering

Visualization of edges is now supported for 3D Object Scene Layers, which are typically used to represent buildings in your 3D scenes. Edge rendering helps you create stunning scenes with more detail and improves user depth perception. With this release, the Solid edge style is supported to accentuate and stylize the visually important edges, including substructures, exterior walls, balconies, and roofs. Edges of type Solid are rendered in a single color and are unaffected by scene lighting. Edge rendering is supported in apps built with ArcGIS Maps SDKs for Native Apps running on Android, Linux, macOS, or Windows. Support for this feature on iOS is planned for a future release. The Sketch edge style, resembling hand-drawn sketched lines, is not currently supported and will be rendered as solid edges.

Utility networks

Run utility network traces offline

ArcGIS Maps SDKs for Native Apps can now run utility network traces (connected, subnetwork, upstream, and downstream) in a fully disconnected environment. You can create and fine-tune trace configuration options, or leverage named trace configurations to support even more complex traces while offline. The trace result types supported with offline utility networks are elements and functions. Offline tracing requires a mobile geodatabase with full utility network topology. These can be created using ArcGIS Pro as a standalone mobile geodatabase. In the future you will be able to create sync-enabled mobile geodatabases containing utility network topology using the OfflineMapTask or GeodatabaseSyncTask, or with offline map areas.

In this release, you can use the UtilityNetworkDefinition.capabilities to determine which utility network operations are available with your data. For example, a sync-enabled mobile geodatabase created with ArcGIS Enterprise 10.9 containing utility networks supports querying associations but not tracing. However, a standalone mobile geodatabase exported with ArcGIS Pro 2.9 or later that includes a full utility network supports both querying associations and tracing.

Labels and annotation

Vertical text can display upright CJKV characters

Annotation features and labels displayed using ArcGIS Maps SDKs for Native Apps can now have their character glyphs rotated in place to appear vertically. This is primarily intended for Asian text (including Chinese, Japanese, Korean, and Vietnamese). It requires that the annotation be published from ArcGIS Pro with the text symbol's block progression property set to right to left, and that the layout of the overall text is closer to vertical than horizontal. See Text symbol properties in the ArcGIS Pro documentation for more information.

Indoor positioning

Positions are restricted to the surveyed area

In previous releases, indoor positions were interpolated for areas outside of the Indoor Positioning System (IPS) survey. Positions are now only shown for areas that have been surveyed.

Quality improvements

  • Better compatibility with RouteTrackerLocationDataSource
  • More consistent ordering of IndoorsLocationDataSource time stamps
  • Improvements to positional accuracy and floor level estimation

Arcade

Support for Arcade 1.20

ArcGIS Maps SDKs for Native Apps now support Arcade 1.20. For more details, see the Arcade 1.20 release notes. Some enhancements include:

Note that the enhancement to the GetUser function to accept zero arguments always returns null, since ArcGIS Maps SDKs for Native Apps do not have the concept of an active portal.

Improved consistency with the online implementation

A trailing comma is now consistent with the online Arcade implementation. For example:

  • Function definitions function myFn(a,b,c,) {}
  • Function calls myFn(10, 11, 12,)
  • Array literals [1,2,3,]
  • Dictionary literals { hello:"world", good:"night", }

The checker that determines where function definitions are allowed has been improved. These checks are now consistent with the online implementation and prevent edge cases that could cause confusion around scoping rules. Function definitions within while statements, inside other function definitions, and codeblocks of if statements are not allowed.

Breaking API changes

  • All API that was deprecated in 100.x has been removed in this release.
  • In Arcade 1.20, the terms import and export are now keywords and are no longer available for use as variable or function names in an Arcade script.
  • Toolkit for Android and iOS apps is only supported with .NET MAUI.
  • AR Toolkit is not currently supported at 200.0.
  • .NET MAUI replaces Xamarin.Forms for cross-platform development at 200.0.

Behavior changes

  • Arcade expressions now support case insensitive lookup of attribute names for GraphicOverlays (as they already do for FeatureLayers)
  • If a LabelDefinition.Angle expression attempts to use an attribute that does not exist, then no label will be produced (rather than assuming an angle of 0). This behavior is consistent with the LabelDefinition.Expression that produces the text.
  • If you have app publishing workflows that target previous versions of ArcGIS Runtime SDK for .NET, the runtime identifier must be changed from win-x86 or win-x64 to win10-x86, win10-x64, or win10-arm64 to run successfully.

  • ArcGIS Maps SDK for .NET Toolkit assemblies are now built individually for each platform. You must replace any existing Esri.ArcGISRuntime.Toolkit NuGet reference in your project with the Toolkit NuGet package specific to that platform. For example, if you have a WPF application using the Toolkit, you will need to uninstall the Esri.ArcGISRuntime.Toolkit NuGet package and add the Esri.ArcGISRuntime.Toolkit.WPF NuGet package.

Deprecations

API deprecations

There are no API deprecations with this release.

OS and framework deprecations

There are no OS or framework deprecations with this release.

Issues resolved

  • Third Party library libexpat has been upgraded to v2.5.0
  • Third party library zlib has been upgraded to v1.2.13

Known issues

  • UWP projects that target ARM64 architecture may take a long time to build on a Windows ARM64 machine due to an issue in Microsoft build tooling.

  • The AR Toolkit for ArcGIS Maps SDK for .NET is currently not available due to the absence of support for ARCore with .NET for Android. If you have a requirement for the AR Toolkit on iOS only, please see the instructions for building the toolkit.

Changes in samples

New samples for .NET MAUI

All previous 100.15 Xamarin.Forms samples have been migrated to .NET MAUI (Multi-platform App UI) and a new .NET MAUI sample viewer has been implemented using the 200.0 packages. Version 100.15 was the last release of ArcGIS Runtime SDK for .NET to support Xamarin.Forms, Xamarin.Android, and Xamarin.iOS. Version 200.0 supports .NET MAUI, .NET for Android, and .NET for iOS. Explore the new .NET MAUI samples in this guide.

For information about migrating version 100.15 apps to version 200.0, see Migrate from version 100.x to version 200.x in this guide.

Other enhancements

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