Release notes for 4.31

November 2024

FeatureTable enhancements

We are excited to introduce major enhancements to FeatureTable, including table configuration and persistence, CSV exports, viewing and modifying attachments, pagination, and editing subtype field values. See the sections below for more details.

Configure and persist table display settings

A new AttributeTableTemplate class has been introduced for persisting the FeatureTable's configuration. This functionality is managed through the new attributeTableTemplate property, which can be set directly on layers, the FeatureTable itself, or its view model. This template consists of various elements that correspond to specific types of tabular data including attachments, fields, grouped fields, and relationships.

By using a layer's attributeTableTemplate, you can access and configure elements of the table, such as its fields, attachments, and relationships. These configurations can be saved to the layer or webmap, ensuring consistent table display as configured.

Explore this functionality in the FeatureTable Component sample. This sample works with a webmap containing configured table settings specific to column visibility and order. These settings are automatically honored by the feature table and display as it is saved within the map. See the AttributeTableTemplate documentation for a list of supported layer types.

Export selected features to CSV

FeatureTable now supports exporting selected records to a stand-alone CSV file. By default, the FeatureTable offers the "Export selection to CSV" option in the table's menu. When selected features are exported, a download prompt appears, and the file name is derived from the table's header. The download includes geometry for features with a point geometry type, while geometry information for other layer types is excluded. You can remove this from the table menu by setting the table's visibleElements.menuItems.exportSelectionToCSV to false. Exporting can also be done programmatically via the FeatureTable.exportSelectionToCSV method. For a list of known limitations, please refer to the FeatureTable documentation.

View and modify attachments

The FeatureTable now supports viewing and modifying attachments. Previously, if a feature had associated attachments, the table only displayed the total number of attachments. At this release, you can now display any of a feature's associated attachments directly in an attachments column by enabling the attachmentsEnabled property. Depending on the layer's permissions, users can add, modify, and delete attachments using the updated user interface.

Explore this functionality in these updated samples.

FeatureTable attachments

Pagination

You can now enable pagination in the FeatureTable via the paginationEnabled property. This is useful when working with layers containing a large number of records. Explore this functionality in these updated samples.

Editing subtype field values

FeatureTable added full support for viewing and editing FeatureLayers with subtypes. Updating the subtypeField value of a row prompts the user to "Use default values" or to "Keep current values". Choosing the former will apply the default attribute values defined in the new subtype, overriding any current values on those fields. Fields that do not have a default value associated with them in the new subtype will not be modified. Selecting "Keep current values" will preserve all existing attribute values.

Additionally, the FeatureTable added support for viewing and editing data in a SubtypeGroupLayer.

3D icon rotation

Enhance 3D thematic visualizations with the ability to rotate 2D billboarded icons within a 3D SceneView. Control the clockwise rotation using either the angle property of the IconSymbol3DLayer or the RotationVariable for a continuous rotation.

Explore the new feature in this sample.

Symbol animations (beta)

Draw attention to specific features of interest with new symbol animations in beta. The following animation types are supported on point symbols or marker symbol layers in a CIMSymbol:

ColorOffsetRotationScale / SizeTransparency
color animationoffset animationrotation animationscale animationtransparency animation

These animations can be used to highlight the freshness of data, draw attention to specific features, or just create an interesting visualization in your map. Support for animated symbols is currently limited to 2D. For more information and known limitations, see the CIMSymbol documentation and check out the sample to see it in action.

Editing

Tooltip advancements and edge offset inputs

For more control over the positioning of the tooltips, this release adds the ability to drag tooltips while in input mode.

Additionally, in SceneView, a new distance field for the edge offset operation can be used for creating exact building setbacks or for adjusting property easements. Press Tab to enter the input mode while hovering over the edge offset arrows or when dragging it. Try out the updates in the Sketch 3D sample.

Snap to grid

The GridControls widget provides the ability to configure and display a two-dimensional grid in 2D MapViews. The widget facilitates placing and rotating the grid on the map using its placement tools. Additionally, with its support for snapping, the grid can be set by using the placement tools to snap to existing features on the map. The user interface can set the spacing between grid lines, and the measurement units are deduced from the spatial reference of the map.

The grid lines provide a reference for drawing new features, since the grid can be used as a snapping source. As a result, the GridControls are found in Sketch and Editor by default. The grid also supports dynamic scaling. Dynamic scaling adds/removes grid lines to adjust for the current scale to maintain a reasonable size grid.

Editor added support for editing related records in SubtypeGroupLayer. Only feature-to-table relationships are supported in this release, and feature-to-feature relationship support will be added in a future release. Editor now prompts the user to "Use default values" or "Keep current values" when editing the subtype field in a SubtypeSublayer. This is similar to the behavior FeatureTable added, and now matches the behavior in Editor when editing FeatureLayers with subtypes in the previous release.

Polyline and polygon geometries can now be aggregated to bins and clusters

Layers with polyline and polygon geometry types can now be aggregated to bins or clusters using the FeatureLayer featureReduction property in a 2D MapView. Binning and clustering are client-side operations that help reduce visual clutter in layers with dense, overlapping features. This is useful when feature geometries are small and densely packed, such as road networks broken into small line segments or building footprint layers.

For example, clustering allows you to aggregate swimming pool features at small scales to communicate feature density.

Pools clustered

Without clustering, the individual swimming pool features are too difficult to see and would likely prompt the map author to set a visible scale range on the layer, making it difficult for the audience to know that data exist in this area.

Pools not clustered

Clustering can be configured to toggle off as the user zooms in, revealing the individual swimming pool features.

Pools large scale

The Clustered polygons and Binning polylines samples demonstrate how to use the featureReduction property to bin and cluster polyline and polygon geometries.

Geometry operators (beta)

Geometry operators are now available in beta as an eventual replacement for the geometryEngine, which provides functions for testing, measuring, and analyzing spatial relationships between two or more 2D geometries client-side.

The new geometry operators not only encompass all the existing functionality of the geometryEngine but also introduce over 20 new capabilities not previously available. These include transformations like scale, shear, and shift, as well as operators for determining geodetic distance, geodesic proximity, and centroids.

These operators are categorized into eight functional groups: bounding, densify and generalize, feature to point, linear referencing, measurements, spatial relationships, topological operations, and transformations. For a detailed overview of the operators within each category, refer to the Introduction to geometry operators guide page.

As opposed to geometryEngine, geometry operators can be imported independently, so your application only downloads code required for the individual operators used by the app.

Try out this sample demonstrating some of the new capabilities.

geometry operators sample

Component enhancements

This release adds new components, feature improvements, and improved documentation.

What are components?

The SDK's components are standards-based web components that extend the core API of the JavaScript Maps SDK into reusable custom HTML elements, such as <arcgis-map>. This evolution of the SDK introduces a new way to build web apps which maximizes productivity of front-end web development and is the recommended pattern for all new apps.

Map components

The following components were added:

Additional updates:

  • The following new camera attributes on the arcgis-scene component provide developers with a declarative interface to control the camera: cameraFov, cameraHeading, cameraTilt, and cameraPosition. You can still use the camera property to set the camera object imperatively with JavaScript.
  • An arcgis-map or arcgis-scene component can now be created without a basemap by setting the basemap attribute to none.
  • Components that aren't arcgis-map or arcgis-scene should work without a view (e.g., FeatureTable and Search), mirroring the behavior of widgets in the SDK's core API.

Embeddable components

The new embedded map component, as part of embeddable components, allows users to embed a saved web map with default components (i.e. zoom, legend, bookmarks) pre-configured.

embedded map component
Use dark colors for code blocksCopy
1
<arcgis-embedded-map item-id="ceb8954a5f2c457284c5074efd5a5ca0" theme="dark" heading-enabled legend-enabled information-enabled style="height:300px;"></arcgis-embedded-map>

Charts components and Charts model (beta)

  • Added support for configuring mean lines in Box Plot Model.
  • Added support to enable data filters for Bar Chart Model, Line Chart Model, and Box Plot Model.
  • Added custom sorting options and time interval settings for Bar Chart Model and Line Chart Model.
  • Gauge Model now available to be configured by feature. getFeatureIndex() and setFeatureIndex() methods are now available.
  • Made many specification properties optional to allow for a lighter configuration.
  • Simplified sorting options by regrouping most properties under a unique orderOptions entry point.
  • Enhanced typings for Charts Components — refer to the Charts Components spec documentation for a full list of available types.

Components documentation

We've made significant updates to guide pages, tutorials and samples to use components, including the following:

MapView and SceneView visible area

MapView and SceneView now have the visibleArea property, providing access to the visible portion of the map as a Polygon. This is more precise than the view extent, accounting for view rotation in 2D and the perspective camera in 3D. It provides better results for tasks like spatially filtering features in layer queries.

Here is a new sample showcasing how to use the visibleArea.

Interactive field of view controls

Apply telephoto or wide-angle views to explore and present your 3D content in a different perspective. New interactive controls allow you to change the camera field of view (FoV) - or focal length - in any 3D web app, including Scene Viewer. Use shift + scroll (or shift + middle-mouse-drag) to increase or lower the FoV, and the reset button to return to the default FoV of 55°. Camera FoV is also captured in slides and persisted in web scenes with the other Camera properties.

Interactively change the FoV in any of the 3D samples, e.g. Intro to SceneLayer sample.

Viewshed layers in web scenes

Share and present your viewshed analyses by persisting them on the ViewshedLayer in a web scene. You can use it as any other layer: include it in slides or toggle its visibility through the layer list.

By enabling the interactive property on ViewshedLayerView, you can adjust the shape of an existing analysis or create new viewsheds. Try this out in this new sample.

Viewing utility network associations in popups (beta)

In this release, users now have the ability to view Utility Network associations within popups by creating an UtilityNetworkAssociationsContent object. When interacting with a web map, users can view associations by clicking on a feature, which will then display the configured popup. This functionality allows users to access association information related to the selected feature directly within the popup interface. For guidance on creating a Utility Network associations popup element, refer to the code snippet in the UtilityNetworkAssociationsContent documentation.

Layer updates

MediaLayer

With this release, VideoElements can now be saved to an existing or new portal item using the save() and saveAs() methods. We have also added support for interactive placement of media layers in 2D MapViews.

SubtypeGroupLayer relationships

RelationshipContent can now be configured on SubtypeGroupLayer sublayers to display related records residing in a FeatureLayer or a stand-alone table.

Saving SceneLayers as portal item

SceneLayer, BuildingSceneLayer, IntegratedMeshLayer and PointCloudLayer can be saved to a portal item in ArcGIS Online and ArcGIS Enterprise with the save and saveAs methods on respective layers. This allows you to define a renderer with symbology and popupTemplate etc. on your layer and then save it to a PortalItem.

VectorTileLayer

You can fetch the latest data from the VectorTileLayer by setting the refreshInterval property or by calling the refresh method. Both ensure you access the most current data from the service.

The hasVisibleFeatures property VectorTileLayerView indicates whether the tiles contain any features within the current extent.

Raster layers

Raster renderers: Both ImageryLayer and ImageryTileLayer support predefined raster renderers. You can change a layer's renderer to one of these predefined renderers by setting the layer's activePresetRendererName property. Using predefined renderers simplifies the process of exploring imagery, especially when investigating multidimensional datasets.

Additional raster functions: The colormapToRGB, hillshade, and shadedRelief raster functions are added. They can be used on the client-side with ImageryTileLayer or on the server-side with ImageryLayer.

VoxelLayer popup configuration

The VoxelLayer now supports customizing a popup by using the popupTemplate. Check out the new sample to learn more on how to configure the popup.

OrientedImageryLayer

OrientedImageryLayer can be saved to an existing or new portal item using the new save() and saveAs() methods.

Oriented imagery - image overlay support

Users can now visualize FeatureLayers as overlays in the OrientedImageryViewer. By selecting the "Image Overlays" tool, users can list the feature layers available in the layer list and overlay them onto the image currently loaded in the oriented imagery viewer.

Two types of overlay options are available:

  1. Overlay Camera Locations: Overlays all available camera locations (feature points) from the layer that intersect with the footprint of the image loaded into the viewer.
  2. Overlay Map Features: Overlays various map features from the current view, excluding the OrientedImageryLayers themselves.

A link chart is a visualization of knowledge graph data. Link charts can be created and exported as portal items from ArcGIS Pro and ArcGIS Knowledge Studio.

Use the new WebLinkChart and LinkChartView view to load a Link Chart from portal or create a new link chart with a LinkChartLayer created from a knowledgeGraphService.

Link charts

Added classes, properties, methods, events

Deprecations

Breaking changes

Charts components breaking changes

Charts components are still in beta, so the API and user experience may change based on user feedback or an improved design. The following properties were updated/removed in this release:

  • Set the binTemporalData property to true by default for Bar chart date axes; previously, it was set to false.
  • Refactored event names for all Charts Components (e.g., arcgisChartsDataProcessError is now arcgisDataProcessError).
  • Removed deprecated properties from Charts Components: showDuplicatedLabelsOnContinuousAxis. This feature is no longer supported.
  • Removed deprecated properties from the Charts Model: getColorType(), setColorType(). Use getColorMatch() and setColorMatch() instead.
  • Removed deprecated properties from the chart specification: series' rotated, series' colorType, Pie series' sortLabelsBy, axis' scrollbarVisible. rotated now is available at the chart level, colorMatch can be used instead of colorType, sortLabelsBy is now orderOptions and axis.scrollbarVisible is now axis.scrollbar.visible.
  • Moved the stackedType property to a different level within the chart specification.
  • Renamed the none mode to hide in the WebChartLabelBehavior specification; the behavior remains the same.

Additional breaking changes

  • The ArcGIS JavaScript SDK components angular wrapper package, @arcgis/map-components-angular, is no longer available with version 4.31. Use ESM imports to individually load components instead. See the Angular sample on the jsapi-resources GitHub repository.
  • Version 4.31 is the last release of the AMD npm package arcgis-js-api. Use components or the @arcgis/core ES modules package, instead. See the Get started with npm guide topic for more information.
  • The AMD TypeScript declaration files have been retired. Use components or the @arcgis/core ES modules package, instead. See the Get started with npm guide topic for more information.
  • The npm package @arcgis/cli has been retired. Use components or the @arcgis/core ES modules package and Calcite, instead. See the Get started with npm guide topic for more information.
  • The esri-loader library has been retired. Use components or the @arcgis/core ES modules package, instead. See the Get started with npm guide topic for more information.
  • Usage of SASS for styling widgets is no longer supported. Use Calcite styling instead. See the Styling guide topic for more information.
  • Removed decimal-degrees value from property SizeVariable.valueUnit and AuthoringInfo.lengthUnit.
  • Removed layoutTemplateInfo and layoutTemplateNorthArrowInfo from PrintViewModel, use getLayoutTemplateById instead.
  • Changed name of the line property in Association to geometry.
  • Removed the default "world-elevation" value from the arcgis-scene component's ground property. Users can still set the property or attribute. The default value was removed to more closely mimic the behavior of the core API's SceneView.
  • The SDK will automatically use the locale defined via the lang attribute on the root html element, or the locale of the browser.

The following classes, methods, properties and events have been deprecated for at least 2 releases and have now been removed from the API:

Class/Property/Method/EventAlternate optionVersion deprecated
GroupInput.stateGroupInput.open4.28
HandleOwnerAccessor.addHandles() and removeHandles()4.28
ImageHistogramParameters.renderingRuleImageHistogramParameters.rasterFunction4.27
ImageIdentifyParameters.renderingRuleImageIdentifyParameters.rasterFunction4.27
ImageIdentifyParameters.renderingRulesImageIdentifyParameters.rasterFunctions4.27
ImageryLayer.renderingRuleImageryLayer.rasterFunction4.27
MosaicRule.itemRenderingRuleMosaicRule.itemRasterFunction4.27
SceneView.environment.atmosphereAtmosphere conditions are now automatically chosen4.27
VoxelVariableVoxelVariable4.25
VoxelVolumeStyleVoxelVolumeStyle4.25

Please refer to the Breaking changes guide topic for a complete list of breaking changes across all releases of the 4.x API.

Bug fixes and enhancements

  • BUG-000125992: Fixed an issue with the MapImageLayer.imageFormat documentation of possible values, removing "svg" as an option.
  • BUG-000142953: Fixed an issue where FeatureLayers referencing enterprise hosted feature services with multipatch geometry were throwing errors.
  • BUG-000146325: Fixed an issue where point symbols were getting cut off at tile boundaries in spatial reference 4528.
  • BUG-000146654: Fixed an issue where multipoint features disappear when zooming in and out.
  • BUG-000151524: More consistent highlight and hitTest behavior with unified Symbol3D material opacity threshold at >=1/255.
  • BUG-000152711: Fixed an issue where snapping didn't take into account the historical moment in the Sketch and Editor widgets.
  • BUG-000153427: Fixed an issue where a TileLayer with a custom tiling scheme results in an inconsistent tile resolution.
  • BUG-000159558: Fixed an issue where the features in a client-side feature layer disappear from the map when placed at a longitude of 180.
  • BUG-000161361: Fixed an issue where TextSymbol would cut-off very long text.
  • BUG-000162180: Fixed an issue where backing out in Editor from the show all related records panel returned to the home panel instead of the parent feature's form.
  • BUG-000162615: Fixed an issue where the TileLayer.refresh() method was removing all tiles while zooming the map.
  • BUG-000164130: Fixed an issue where a CIMSymbol with dashes was not returning hitTest results in the space between the dashes in a GraphicsLayer.
  • BUG-000164145: Fixed an issue with CIMSymbol where some CIMVectorMarker symbol layers with wide stroke marker graphics would render incorrectly.
  • BUG-000164183: Fixed an issue with CIMSymbol where some CIMVectorMarker symbol layers with anchorPoint.y defined would get cut off at tile boundaries.
  • BUG-000165204: Fixed an issue where Popups would not display when the selected feature was symbolized with a null value for the unique value renderer.
  • BUG-000165657: Fixed an issue where a performance was degrading while generating points in WGS84 spatial reference.
  • BUG-000165885: Fixed an issue where a custom print service did not use file extension format abbreviations when printing.
  • BUG-000166013: Fixed an issue with WMTSLayer where the tileMatrixSetId property was not properly honored.
  • BUG-000166041: Fixed an issue with displaying webmaps with a large number of layers on some Android devices.
  • BUG-000166609: Fixed an issue where the Swipe was not working properly with the DotDensityRenderer.
  • BUG-000166873: Fixed an issue where MapImageLayer displayed an incorrect location in the MapView on monitors with a resolution of 4096 x 2160 (4K).
  • BUG-000167392: Fixed an issue with DistanceMeasurement2D where finishing a measurement by double click did not work on some mobile devices.
  • BUG-000167668: Fixed an issue where geometry functions did not work in Arcade expressions for labels when used in a spatial reference other than Web Mercator or WGS84.
  • BUG-000167830: Fixed an issue with OGCFeatureLayer where some attributes were not displayed in the popup if they were not available on all features.
  • BUG-000167870: Fixed an issue where a CIMSymbol with CIMMarkerPlacementPolygonCenter was not properly honoring placePerPart: true on multipart polygons.
  • BUG-000168192: Fixed an issue where a CIMSymbol with the CIMGeometricEffectControlMeasureLine effect would break at certain zoom levels.
  • BUG-000169026: Fixed an issue with the documentation for ListItemPanel.open and ListItemPanel.visible.
  • BUG-000169035: Fixed an issue where the MapView's hitTest() does not return results when the layer's renderer has rotation visual variables.
  • BUG-000169073: Fixed an issue where the Print widget did not honor an updated vector style when rendering the VectorTileLayer.
  • BUG-000169076: Fixed an issue where errors would arise when trying to add a related record using the Editor or FeatureTable widgets (if using Map Viewer). This was due to case of the of the relationship key not matching.
  • BUG-000169156: Fixed an issue where labels with more than one line were sometimes duplicated.
  • BUG-000169298: Fixed an issue where the snapping failed on points off the ground.
  • BUG-000169299: Fixed an issue with OGCFeatureLayer.queryFeatures() where non-editable fields were returning undefined values.
  • BUG-000169331: Fixed an issue where overlapping labels of different layers will not be fully visible if one of the layers is turned off.
  • BUG-000169535: Fixed an issue where HeatmapRenderer did not render correctly on iOS devices.
  • BUG-000169672: Fixed an issue where symbolUtils.renderPreviewHTML() with options.size specified did not properly scale the halo component of a CIMTextSymbol.
  • BUG-000169692: Fixed an issue where hitTest was performing slowly on complex graphics.
  • BUG-000169721: Fixed an issue where VectorTileLayer with a sparse cache was throwing 404 errors.
  • BUG-000169873: Fixed an issue where labelPlacement was incorrect when combining labels from two fields on separate lines in some locales.
  • BUG-000170535: Fixed an issue where print component did not properly work with a non-public web map.
  • BUG-000170561: Fixed an issue where a color PrimitiveOverride was not supported on CIMTextSymbol haloSymbol.
  • BUG-000170668: Fixed an issue where layers with pie chart clusters (FeatureReductionCluster with a PieChartRenderer) disappeared at a certain zoom level.
  • BUG-000170734: Fixed an issue where queries from FeatureLayerView were not returning correct results after calling FeatureLayer.applyEdits().
  • BUG-000170903: Fixed an issue where in clustering, the cluster count was incorrect after calling FeatureLayer.applyEdits().
  • BUG-000171015: Fixed an issue where calling VectorTileLayer.setStyleLayer() from the MapView.hitTest() resulted in an error.
  • BUG-000171168: Fixed an issue where the Select feature action was missing in Popup relationship elements.
  • BUG-000171332: Fixed an issue where users were unable to edit or fill in time on a date field in the Editor widget when the language was set to Danish.
  • BUG-000171415: Fixed an issue where the LayerList was not properly displaying layers outside their visible scale range.
  • BUG-000171544: Fixed an issue where the DictionaryRenderer with a chevron arrow polyline symbol would break at a small zoom level.
  • Esri Community - 1474773: Fixed an issue where the Expand icon was cut off when a border was added.
  • Esri Community - 1507126: Fixed an issue where the Legend was flickering when adding new layers to a map.
  • Esri Community - 1517408: Fixed an issue where setting a SceneView's container to null did not work if a measurement widget was present.
  • Esri Community - 1520927: Fixed an issue where the Sketch component within the Expand component was not rendering graphics in the view after a sketch was completed.
  • Esri Community - 1527670: Fixed an issue where FeatureLayer labels are not applied properly when all features are deleted and new features are added.
  • Esri Community - 1536308: Fixed an issue where labels flicker when features with feature reduction are highlighted from pointer-move event.
  • Fixed an issue in the BasemapLayerList, LayerList and TableList where drag and drop wasn't working correctly on some mobile devices.
  • Fixed an issue in the LayerList where the filter wouldn't always work properly.
  • Fixed an issue in the Legend where KnowledgeGraphLayer titles were not displayed properly.
  • Fixed an issue when the token of a signed-in user would unexpectedly get revoked when using the request option authMode: "no-prompt".
  • Fixed an issue where CIMVectorMarker scaleSymbolsProportionally and anchorPoint were not being properly honored on CIMTextSymbol symbol layers.
  • Fixed an issue where DirectionPoint attributes such as Level were not being properly updated.
  • Fixed an issue where routes were not being solved when using the arcgis-directions component.
  • Fixed an issue where tables saved in web maps were not being displayed in the arcgis-table-list component.
  • Fixed an issue where the Legend would not update after changing a layer's definitionExpression.
  • Fixed an issue with the DictionaryRenderer where an invalid symbol was not being displayed when the first symbol in the list of returned keys was not found.
  • ENH-000153338: Added a link to FeatureLayer.Capabilities to note which service types support the attachment.supportsResize property.
  • ENH-000157272: Added support for client-side viewshed analysis and its serialization as viewshed layer in the SceneView.
  • ENH-000163796: Enhanced the MapView.hitTest method to return more accurate results when interacting with features that have SimpleMarkerSymbol with SVG paths in a GraphicsLayer.
  • ENH-000167317: Improved SubtypeGroupLayer performance when zooming in / out of the map.
  • ENH-000169232: Removed the console error from symbolUtils.renderPreviewHTML() when a preview was created for a symbol that used an Arial font.
  • ENH-000169773: Enhanced documentation about reference layers interaction with the visual hierarchy.
  • Added support for default 3d basemap configuration on portal.
  • Added support for a fine-grained apiKey on the BasemapStyle class.
  • All 3D webstyles now have basis-universal compressed textures.
  • Enhanced Print by adding an Output spatial reference (in WKID) under Advanced options to the UI.
  • Enhanced Print UI by adding template icons to indicate relative size and orientation of supported templates.
  • Enhanced printing by removing unnecessary data from being sent to the print service, like the popupInfo element.
  • Enhanced the Gamepad to return an array of Gamepads from navigator.getGamepads() instead of a GamepadList object.
  • In global viewing mode, the conversion from SceneView.scale to the Web Mercator equivalent has been removed. The scale now remains constant as long as the altitude of the camera and its tilt remain unchanged, regardless of the latitude. If you want to synchronize a 2D and 3D (global) view with Viewpoint, you now need to do this conversion manually as can be seen in the updated sample.
  • The calculation for SceneView.scale has been adjusted, so that it better reflects the approximate map scale of the entire scene even when the camera is tilted.
  • The timeExtent property of MapView is stored in the WebMap's initialViewProperties, representing the initial state of the timeExtent for the WebMap.
  • The backgroundFillSymbol property on ClassBreaksRenderer, UniqueValueRenderer, and PieChartRenderer now supports CIMSymbol.
  • The legendEnabled settings on CatalogLayer, CatalogFootprintLayer and CatalogDynamicGroupLayer are now persisted in a WebMap.
  • Updates on VectorTileLayers in a 3D SceneView are now smoothly faded in most cases.

Additional packages

Version 4.31 of the ArcGIS Maps SDK for JavaScript uses ArcGIS Arcade 1.28 (since 4.31).

Version 4.31 of the ArcGIS Maps SDK for JavaScript uses Calcite Design System, version 2.13.0. In your application, we recommend using the same exact version or any minor version greater than ^2.13.0.

How to access the SDK

  • The API library is available on both CDN and npm, read more at Get started.
  • For supported versions, you can also download both the documentation and the API library. These downloads are typically available 3-4 weeks after release.

Previous releases

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