Release notes for 100.12
With this release, ArcGIS Runtime introduces a new Geotrigger API. Geotriggers let you monitor your GIS data in real-time and receive notifications when you encounter specified conditions, such as when a device enters or leaves an area (a workflow also referred to as Geofencing). With Geotriggers you can monitor locations from whatever
LocationDataSource you choose while also tapping into the full power of ArcGIS Runtime's
GeometryEngine for evaluating spatial relationships.
See the new Geotrigger topic in the developer guide for more information.
At 100.12, ArcGIS Runtime supports floor-aware maps. These maps make it easy to visualize building floor plans and explore indoor data. ArcGIS Runtime apps can now detect floor-aware maps and filter their display based on floor levels. See the
FloorManager class for more information. ArcGIS Pro 2.8 is required for publishing floor-aware web maps and an upcoming version of ArcGIS Pro (2.9) will allow you to include floor-aware maps in a mobile map package. You can use the ArcGIS Indoors information model to create floor-aware data or you can configure existing maps and layers to make them floor-aware.
At this release, ArcGIS Runtime supports version 2.20 of the web map specification.
ArcGIS Runtime now supports Indexed 3D Scene Layer (I3S) specification versions 1.7 and 1.8 for 3D Object Scene Layers and Integrated Mesh Scene Layers in applications deployed on macOS, Linux, and Windows. This enhancement delivers an improved user experience during the initial load and rendering of scene layers and during scene view interaction and navigation. Depending on the size and complexity of your data, you may see rendering time reduced by up to 75%, memory usage up to 20% lower, CPU activity up to 10% lower, and network requests reduced by up to 30%.
I3S version 1.7 provides improved indexing of nodes within scene services and scene layer packages that enables ArcGIS Runtime to make fewer requests for data, resulting in reduced network traffic or file access and faster layer load times. I3S version 1.8 adds support for textures encoded in Basis Universal, a GPU-optimized texture compression format that significantly reduces the image storage size while maintaining quality.
To ensure that you can take advantage of the latest improvements with your data, use the I3S converter in the I3S GitHub repository to update the version of an integrated mesh or 3D object scene layer (.slpk) to the latest version. Additionally, in ArcGIS Pro the Create 3D Object Scene Layer Package and Create Integrated Mesh Scene Layer Package geoprocessing tools can be used to create scene layers at the latest version.
In addition to using true curves in mobile map packages (introduced at 100.11), you can now use true curves from a user-managed ArcGIS Enterprise feature service that supports curves. You can display, query, select, identify, and perform online edits on these curves. You may know true curves as parametric curves.
You cannot use true curves in offline workflows, in geoprocessing, or in ArcGIS Online. Not all geometry engine methods support true curves.
Create true curve geometries in code—You can create polygon and polyline geometries from new curve segments defined in code (cubic beziers and elliptical arcs) using the new classes,
EllipticArcSegment. Additional information about creating segments is in the Segments section in the Geometry topic.
Fetch true curves from a service—By default, your app will fetch densified curve geometries from feature services that support curves. You can choose to fetch true curves by setting the new global
Edit true curve geometry—You can edit existing geometries' true curve segments using geometry builders. The API now includes properties on
Segment that indicate whether or not curves are present.
PolylineBuilder behavior has changed to support curves. If your app provides the ability to create or edit curve geometries, you can use properties on
ArcGISFeatureServiceInfo to find out what curve support each feature service has. With this information you could adapt your app behavior for each service. For example, you could densify any curve geometries before sending them as edit updates to a service that does not support updating curve geometries.
To curve-enable a user-managed ArcGIS Enterprise feature service, see the Properties that affect editing section of Editor permissions for feature services in the ArcGIS Enterprise help.
Send true curves to a service—You can inform a feature service that your app is a true-curve client so that the service will allow your app to edit. Feature services can be published with protections that disallow edits from curve-unaware clients. Use the new
setServiceCurveGeometryMode() member and
ServiceCurveGeometryMode enum to inform the service your app is a true-curve client. This setting applies throughout the liftetime of the process; set it before any requests are made (an exception will be thrown if you try to change it later).
The dictionary renderer now supports symbolizing control measure lines based on ordered anchor points according to standard military symbology specifications MIL-STD 2525 and APP-6. Updated military dictionary styles will be available for download with the ArcGIS Pro 2.9 release and developers will be able to use these styles to render control measure lines by setting the dictionary symbol style's model configuration property (DictionarySymbolStyleConfiguration) to "ORDERED ANCHOR POINTS".
ArcGIS Runtime adds support for rendering scale-based symbol classes and alternate symbols in this release. Unique value and class break renderers allow you to specify criteria to uniquely symbolize data so the user can see trends and patterns in the data.
One of the most common approaches to alternate symbols is to use a complex symbol at large scales and a simple, but related alternate symbol at small scales. Scale-based symbol classes and alternate symbols simplify the number of redundant layers in a map and allow for easier maintenance of these layers. You can use ArcGIS Pro 2.9 to publish mobile map packages (.mmpk) containing alternate symbols information. For more information on scale-based symbol classes and alternate symbols see Scale-based symbol classes in the ArcGIS Pro documentation.
At this release,
AnnotationSublayer have been enhanced to include properties and methods that enable feature-oriented interaction with annotation text. This includes options to set a definition expression, select annotation text, and set visibility of annotation text.
Point scene layers can be published to include labeling info in a service or mobile scene package. At this release, ArcGIS Runtime supports dynamic client-side labeling of point features in a point scene layer using the available labeling info.
TextSymbol rotation and the
LabelDefinition angle expressions are now applied to
Horizontal polygon labels, allowing some manual control over the layout angle. A future release will include automatic rotation to match the polygon for labels with
Arcade 1.13 provides the ability to access table domain info for a feature. At this release, ArcGIS Runtime supports the
Domain($feature, field function to get domain information directly from a feature.
Arcade 1.13 provides the ability to access table schema info for a feature. At this release, ArcGIS Runtime supports the Arcade
Schema($feature) function to get schema information directly from a feature.
Fromfunction - to convert from a JSON string to an Arcade object
Nautical Milesunit - added to the list of supported units
Weekfunction - for finding which week of the year a date falls in
At 100.12, a new callback allows setting the state of the text-to-speech engine. Setting this prevents multiple voice guidance events interfering with each other.
Slovak is supported for driving directions.
Currently, ArcGIS Runtime supports mobile geodatabases that were generated by taking a webmap offline, exporting data from feature services, or authored as part of mobile map/scene packages.
At this release, ArcGIS Runtime also supports reading and editing of standalone mobile geodatabases generated by ArcGIS Pro. It requires ArcGIS Pro 2.7 or above to author standalone mobile geodatabase.
ArcGIS Runtime supports the following capabilities with standalone mobile geodatabases:
- Spatial and nonspatial tables
All edits made using ArcGIS Runtime will be treated as anonymous for editor tracking purposes.
Editing of feature tables is disabled by default for mobile geodatabase feature datasets that are not yet supported in ArcGIS Runtime. This includes datasets such as Topology, Parcel Fabrics, Terrain, and so on.
An attributed relationship is a type of many-to-many relationship that uses an intermediate table to store key attribute values for each individual relationship.
Runtime now provides
Key on the
RelationshipInfo class to allow developers to query and get attributes from an attributed relationship table.
ArcGIS Runtime 100.12 provides the ability to create service geodatabases and subtype feature layers from portal items.
In a utility network, features that belong to a specific asset type can serve as containers or structures. Each of these containers or structures has association deletion semantics, which are rules that define what happens to associated features when the container or structure is deleted.
- Cascade: deleting a container causes its associated features to also be deleted.
- Restrict: deleting a container is not permitted if it contains associated features.
- None: associated features are not deleted when their container is deleted.
In the 100.12 release, association deletion semantics are supported in a limited fashion. ArcGIS Runtime checks associated features recursively and prevents the deletion of containers/structures where Restrict semantics are violated.
At this release,
QueryParameters::setOrderByFields() is supported for use with an OGC feature layer.
When specified for a container or network link, a
KmlListItemType value of
Check prevents the user from making all items visible at once. In other words, the user can hide everything in the container or network link (check everything off), but cannot show everything on at the same time (check everything on). This setting is useful for containers or network links that contain a large amount of data.
Portals/Organizations can now configure a set of developer basemaps that are accessible and metered via API keys. To retrieve developer basemaps from a given portal use
fetch on the
The default developer basemaps provided by ArcGIS Online (AGOL) are built upon the basemap layer services. For further details, see the document Basemap layer service.
The algorithms that calculate geodesic lines were improved, particularly for near-antipodal cases.
Several vertical transformations for NAVD88 were added for when the coordinates are in US survey feet or international feet.
An Estonian geoid model for EH2000 was added.
A a new projection, Plate Carrée Oblique, was added. You can now set the center to any latitude-longitude values and rotate using an azimuth parameter.
New projected coordinate systems were added, including California Teale Albers using international feet, Colombia, KSA GRF17 UTM zones, SRGI2013 UTM zones for Indonesia, and several Snake Grid emulations for new rail systems in the UK.
See the Spatial references topic for more information about working with coordinate systems and transformations.
ArcGIS Runtime Local Server 100.12 now supports geoprocessing and map packages created with ArcGIS Pro 2.8.x. The following geoprocessing tools are now supported with this release:
Released with 100.12, SketchEditor is a new sketching API that makes the tasks of creating new geometries and modifying existing geometries much simpler. With vertex sketching, you can interactively sketch new vertices, move mid-points, and edit and delete vertices. SketchEditor fully supports undo and redo to enable you to build rich editing experiences. Lastly, SketchEditor allows you to select and move the entire geometry to a new location. SketchEditor supports creating and editing Point, Multipoint, Polyline, and Polygon geometries. With this release, SketchEditor supports vertex sketching only; freehand and shape sketching will come at a future release.
When using imperial units, the voice guidance distances will now transition from reporting in miles to feet at a distance of 1000 feet. This previously happened at 660 feet.
When 2D labels overlap, the highest-priority labels will appear on top of the lower-priority ones.
With this release, a
Repeatvalue of 0 for labeling a line indicates that labels should not repeat. This is consistent with the behavior in ArcGIS Pro.
When 2D point labels are allowed to overlap other labels or features,
LabelOverlapStrategyis set to
LabelDeconflictionStrategyis set to
dynamic, the labels will spread out to minimize deconfliction.
Offset distance is now honored for straight-line labels.
There are no deprecations with this release.
Issues addressed in this release are listed below.
delete method fails to delete a feature completely from a shapefile.
BUG-000130386 The unhandled exception "Esri.ArcGISRuntime.ArcGISRuntimeException: Transformation resulted in geometry with NAN coordinates" error message is returned while switching basemaps only with an overlay set on the map view.BUG-000137277 An OAuth expired access token challenges even though a valid refresh token is available.
BUG-000137580 LabelDefinition.allowOverlapOfLabel does not place the labels at different positions.
BUG-000138152 Mobile map package labels fail to display at all scales.
BUG-000138187 A web scene containing a point scene layer with labels fails to display labels in a scene view.
BUG-000140465 When calling the
Geometry method with a geometry containing true curves, the call hangs for more than 15 minutes.
BUG-000141157 Excessive memory usage in ArcGIS Runtime 100.11 when displaying a mobile map package that has a lot of symbols.
ENH-000109173 Add more clarification to the
Location property's remarks documentation for what automatically disables it.
ENH-000137688 Request to support the priority property of a label class while working with feature labeling.
ENH-000138662 Request for read/edit support in ArcGIS Runtime for mobile geodatabases created with ArcGIS Pro.
Known issues or limitations for this release are listed below.
BUG-000132871 Application fails to retrieve the bookmarks for a mobile scene package (.mspk file).
BUG-000134159 Ordering fields by OrderByFields.Add(orderBy1) in a mobile map package (.mmpk file) with 40,000 features fails with an error.
Field.Length property returns an incorrect value for a shapefile field.
BUG-000139221 The location returned by the
location method in a web map tile service (WMTS) basemap with the WKID 31256 spatial reference is incorrect.
BUG-000140414 Unable to display an ArcGIS Online image service with the Classify Intervals user-defined renderer.
BUG-000142195 True curves in mobile geodatabases display incorrectly if projected (mobile geodatabases created by ArcGIS Pro can contain true curves). Workarounds are to densify the curve geometries in the mobile geodatabases or to display them in the same spatial reference.
Sample applications that demonstrate the use of ArcGIS Runtime API are available in the Sample Code tab on this website and in a GitHub repository. The following changes have been made in this release.
- Updated Perform valve isolation trace to use filter barriers.
- Enhanced Add graphics with renderer to also show a curve.
- Moved samples from named user to API keys where named user workflow is not the point of the sample.
- Fixed issue in Display subtype feature layer with minimum/maximum scale values for QML.
- Viewshed (camera) screenshots modified to 500x500.
- In Display subtype feature layer, the image in description and the scale were updated for C++.
- Fixed sample name discrepancies between C++ and QML viewers.
- In Offline geocode, C++ only, fixed dropdown options display.
- In Display map, C++ only, fixed display of labels.
- Open map (URL) received new data.
- (service issue) Added the missing soil survey geographic in the legend list for Build a legend.
- In List KML contents, made sure that C++ and QML have the same view for Extruded Placemark - KMLPlacemark.