February 2025
Display filter
Display filters are associated with a given layer and control which features are visible on the map. They allow you to display a subset of features while retaining access to all features for querying and analysis. Display filters can be scale dependent, allowing layers with many features to be displayed seamlessly at different zoom levels, or manually applied, allowing users to select specific filters to show certain features.
This can significantly improve the performance of your applications. In this sample that displays 2.7 million line features, a display filter helps to visually filter what is displayed at each scale. At previous releases, you would have to duplicate the layer and set the scale range and definition expression on each copy of the layer to achieve the same behavior.
Enhanced highlights API
Features can now have different highlights applied to them. This enables them to be visually emphasized in different ways depending on the application context or user interaction. The new View.highlights collection consolidates pre-configured and user-defined sets of HighlightOptions to be used within an application. You can specify a particular highlight to apply using the new HighlightOptions name property.
The existing highlight
property on
2D MapView and
3D SceneView is now deprecated in favor of the new
View.highlights collection.
The samples below demonstrate how applying multiple highlight options under various circumstances enables more visual variety and greater focus on particular features.
In the Select features by rectangle sample, all selected features in the map are highlighted green, while the feature hovered over in the feature table is highlighted pink.

In the Highlight SceneLayer sample, all buildings selected in the list are highlighted blue in the scene, while the building hovered over in the list is highlighted yellow.

Track rendering (beta)
Track rendering is now available in beta via the StreamLayer.trackInfo property in 2D maps. This property allows you to configure popups, labels, and renderers for various track parts (latest observation, previous observations, and track line). Previously, you could not configure the rendering of track lines, or separate renderers for latest observations and previous observations.
The track
property is also available on FeatureLayer, GeoJSONLayer, CSVLayer, WFSLayer, and OGCFeatureLayer, for exploring and visualizing historic time-aware data.
Directions
The Directions component (and widget), now powered by Calcite, has been significantly enhanced to provide more functionality with a modern design.
- The UI has been enhanced with Calcite to provide a more modern look and feel. Turn-by-turn directions are automatically collapsed and can be individually cleared or saved. Note that some existing features have been moved, for example, persisting a route can be done from the collapsed turn-by-turn directions for each route instead of having a dedicated UI button.
- Stop order can now be easily optimized with the toggle switch.
- In 2D, the new
Edit route
button provides an entry for interactive routing and editing of existing routes, including the ability to add, move, and remove stops and barriers via the UI.

Arcade $view
profile variable
The popup, visualization, and labeling profiles of the Arcade language have been enhanced to include the $view
profile variable. This gives the Arcade author direct access to the view's scale (e.g. $view.scale
) and time properties (e.g. $view.time
) in the expression. With the $view.time
variable, you can access the time extent of the view, allowing you to dynamically reference field names that may contain a time component (e.g. POPULATION
, POPULATION
, etc.) in expressions set on the layer's renderer, labels, or popup template. Each time the user interacts with the time slider, expressions referencing the $view.time
variable will automatically re-execute, allowing you to only display data corresponding to the current time extent.
Previously, this required developers to re-create renderers and all other layer configurations each time the time extent changed in the time slider. Now, the underlying rendering engine will automatically update the visualization based on the time extent when $view.time
is used in the expression. Because it is now handled in Arcade, the time-aware rendering is more efficient, easier to maintain, and can be saved to the web map or layer item.
Knowledge Graphs and Web Link Charts
The Knowledge Graph Developer Toolkit capabilities have officially transitioned out of beta! Knowledge graphs allow you to model real-world systems that contain both spatial and nonspatial data, and the relationships that connect them, allowing you to leverage both spatial and nonspatial tools in your analysis. This includes key knowledge graph service functionality such as:
- Search: Search through the knowledge graph to discover entities and relationships using their properties.
- Query: Query allows you to find a specific subset of entities and relationships, identify how different entities are connected, and find patterns in your connected data using openCypher graph queries.
- Apply Edits: Allows you to add new entities and relationships, and update or delete existing records.
This also includes knowledge graph layers which represents knowledge graph data on a map to enhance visualization and analysis of your data. Knowledge graph layers can be added to a web map from a portal item or directly from the knowledge graph service. The spatial data in your graph will be added to the map as features allowing you to leverage existing spatial analysis and visualization tools.

Web Link Charts
We are excited to announce the release of web link charts! Web link charts contain a link chart layer with the data from your knowledge graph and are loaded in a link chart view. Web link charts are a new core view (like MapView and SceneView) that are specifically for visually representing and analyzing all or part of a knowledge graph. They extend WebMaps and are built on the same core technology allowing you to leverage existing tools and patterns while also adding some additional link chart specific capabilities for refining your link chart visualizations and conducting graph analysis.
- Layouts: Different layouts provide different visualizations to better understand the patterns in your data. For example, geographic layout arranges spatial entities using their geometry with their connected nonspatial data clustered around them while chronological layout arranges entities and relationships according to time.
- Expand: Finds and adds all directly connected entities "one-hop" away from the given entities and adds the entities and their connecting relationships to the link chart.
- Connect: Adds direct relationships between the given entities to the link chart.
- Add and Remove Records: Update the data in your link chart by adding or removing entities and relationships.
Link charts also have a new web component for easily displaying a link chart from a portal content item with a layout switcher.

Link chart components
The new Link Chart component loads a WebLinkChart from an ArcGIS Enterprise portal item. A Link Chart Layout Switcher component has been added for use within the new Link Chart component. The Link Chart Layout Switcher enables users to switch between different link chart layouts.

Editing
Subtype group tables
Subtype group tables are composite tables that contain multiple subtables, where each subtable corresponds to a subtype in the dataset.
Subtype group tables are loaded in the SDK using the SubtypeGroupLayer class. This class can now load a subtype group layer or subtype group table from either a service url or portalItem. The isTable property can be used to determine whether the SubtypeGroupLayer is a layer or table once the Subtype
is loaded.
Editor, FeatureTable, Popup, and TableList were enhanced to support subtype group tables. Editor
and Feature
provide an editing experience to view and edit the subtables via the SubtypeSublayer class. This includes support for editing attributes, attachments, and related records.
TableList was enhanced to display subtype group tables along with their subtables. As the video below demonstrates, the subtables are collapsed by default, but can be expanded. The list
property in SubtypeGroupLayer and SubtypeSublayer specify how the table and subtables appear in Table
.
Editing shared templates
There are two ways to edit using templates with the Editor component (and widget), either by using feature templates stored in the service or shared editing templates stored in the database which include group and preset templates. Editing templates contain tools and settings for creating features in your database, store optional descriptive metadata, and specify the target data source and the feature attribute values applied to features.
In the example below, a preset template named "Pump station with devices" is used to incorporate predefined features onto the map in the exact order they were selected during the template creation. After placing the template, a list of included features is presented, allowing users to click on them to edit individual feature attributes.

Drawing toolbar in Editor
The Editor component (and widget) was enhanced to display a draw toolbar in create workflows, allowing users to switch between different draw tools when creating features. The supported draw tools added for polygons are freehand-polygon
,rectangle
, and circle
. For polylines, freehand-polyline
was added.
To go with the new draw tools, Editor
also now respects feature templates published with these draw tools. Prior to this release, polygon layers defaulted to the polygon
draw tool and polyline layers defaulted to the polyline
tool.
Additionally, Editor
now displays a staged list of features in a create workflow. Editor
has previously allowed users to create multiple features in a single creation operation, but this enhancement allows users to see a list of the staged features and interact with them. A user can delete features in this list, zoom to them, and modify attributes prior to feature creation.
If any of the forms for the staged features are invalid, a warning icon is placed next to the list item of the feature to indicate the form needs attention to successfully submit the edits. Hovering over a list item displays a temporary highlight color over the feature as a visual indicator of the corresponding feature on the map.
Snapping support for display filter
The snapping engine was enhanced to support the new display filters, meaning that features on the map hidden due to an active display filter will not be available for snapping. This is particularly useful when editing features with the Editor component (and widget).
The example below shows an active display filter which hides features from the Water Device layer that are contained within the Water Pump Station polygon. The new features created cannot snap to the existing features that are hidden by the display filter, so we cannot see any snapping visuals as we hover the cursor over the lines from the Water Main layer. Once the display filter is turned off, we can see the snapping indicators appear again on the map.

Utility Network
Adding and deleting Utility Network Associations
The Editor component (and widget) has been updated to allow adding and deleting associations in forms. This enhancement streamlines the editing process, enabling users to manage associations more efficiently within their workflows. With the new Association editing capabilities, users can easily modify associations between features.

Utility Network Trace
Executing traces with nonspatial data
Nonspatial data can be added to the Utility Network Trace component's (and widget's) starting points and barriers. This enhancement enables the utilization of nonspatial data during trace operations.
Traversing associations in trace results
Associations can now be displayed in the trace results of the Utility Network Trace component (and widget).
Geometry operators
Geometry operators were introduced at 4.31 as the eventual replacement for the geometryEngine, which provides functions for testing, measuring, and analyzing spatial relationships between two or more 2D geometries client-side. With this release they are out of beta.
The new geometry operators not only encompass all the existing functionality of the geometryEngine but also introduce over 20 new capabilities not previously available. For an overview of the operators, refer to the Introduction to geometry operators guide page.
Project operator
The projectOperator is now available as the eventual replacement for projection engine. The projectOperator provides client-side capabilities for converting geometries from one spatial reference to another to ensure your data is displayed correctly on the map.
The shapePreservingProjectOperator is now available. This operator transforms 2D geometry segment endpoints and interior points to maintain their original shape accurately.

Three support modules are also now available for working with geographic transformations in the projectOperator: geographicTransformationUtils, GeographicTransformation andGeographicTransformationStep.
Geographic transformations are used to transform geographic coordinates between spatial references that have different geographic coordinate systems. Using the most suitable transformation ensures the best possible accuracy when converting geometries from one spatial reference to another. The geographicTransformationUtils module provides methods which return the default geographic transformation for the given projection or a list of suitable geographic transformations.
Attribute bin query
Attribute bin queries are a data analysis technique used to group data into categories or bins based on specific ranges, such as numeric values or date intervals. It simplifies large or complex datasets by summarizing them into meaningful intervals, making patterns or trends easier to identify. For example, hurricanes that occurred between 1900 and 2024 can be grouped by month to analyze seasonal patterns and determine which months have the highest frequency of hurricanes. The binning process can now be performed by calling queryAttributeBins on a feature layer. This method returns an AttributeBinsFeatureSet containing an AttributeBinsGraphic, whose attributes hold the binned data.

MediaLayer updates
We enhanced the MediaLayer user experience in a 3D Scene with new highlighting and source point editing capabilities. MediaLayerView now includes a highlight() method for emphasizing media elements during hit testing or editing in a 3D SceneView.
Additionally, a new interaction mode in MediaLayerView enables direct manipulation of source points within the 3D SceneView by holding Alt
key while dragging. These changes will be coming to 2D in a future release.
Explore this functionality in this updated sample.
Terrain analysis sample
Perform raster analysis with RasterFunctions and rasterFunctionUtils on ImageryLayer and ImageryTileLayer. Raster functions are operations that allow you to process imagery directly client-side. More than 150 raster functions are available as individual processing functions, or they can be combined into a processing chain for complex workflows. This new sample demonstrates how to use RasterFunctions and rasterFunctionUtils with an ImageryTileLayer, displaying the global Terrain 3D layer. The rasterFunctionsUtils library simplifies the imagery processing also for key terrain properties, such as slope, elevation, and aspect.
Explore this functionality in this new sample.
Component and widget updates
Map components
Twelve components in map-components
have been updated under the hood to no longer wrap widget code in their implementation:
Basemap Gallery,
Basemap Toggle,
Compass,
Directional Pad,
Fullscreen,
Home,
Locate,
Navigation Toggle,
Scale Bar,
Swipe,
Track, and
Zoom components.
By making components consistent across the SDK, their behavior will also more closely mimic what is expected from a standard web component.
For example, style encapsulation via the shadowDOM.
We will continue to work on the remaining components in @arcgis/map-components
that are currently wrapping widget code in their implementation.
See Esri's move to web components for more information about the widget transition period and future.
In addition to the 12 above, Version Management, and the two new components, Link Chart and Link Chart Layout Switcher, also follow the same consistency in behavior.
FeatureTable improved selection & highlight
The FeatureTable component (and widget) now offers improved selection and row highlighting. Hovering over a row highlights the corresponding feature in yellow. This enhancement simplifies distinguishing between table rows and their associated features within a selected set.
This update can be helpful when working with related data in multiple layers. Having the ability to hover over a cell of a related feature provides a visual indicator for any related features on the map.

Features and Popup
Feature order in MapImageLayer sublayers
The Popup widget and Features component (and widget) now display features residing in MapImageLayer sublayers in the order they are displayed on the map.
The returned features will adhere to the default drawing order of the data or a specific order if order
is specified.
In previous versions, the features were displayed in the order they were returned from the server.
Display features in a list
An initial
property has been introduced to Features and Popup to allow control of the initial display of features.
The initial
property can be set to "list" to showcase features in a list view, or "feature" to directly display the popup content of the first feature.
Initial display in list mode | Selecting a feature from the list |
---|---|
![]() |
![]() |
Attachments in MapImageLayers
MapImageLayer sublayer attachments can be displayed as a thumbnail if the sublayer supports resized attachments and the AttachmentsContent display
is set to auto
or preview
.
Sorting attachments
At this release, AttachmentsContent allows the sorting of attachments in either ascending or descending order if the feature layer supports attachment.supports
. This is enabled by configuring the new order
property with the AttachmentsOrderByInfo class.
Search
The Search component (and widget), now powered by Calcite, has been enhanced to provide more power in a more modern design. This does mean that we cannot support customized styles at the current release. We anticipate allowing this functionality at a future release.

Oriented imagery
Image measurement tools
Measurement is now added in the Oriented Imagery Viewer component (and widget), allowing users to measure assets and objects directly within the image space. Users can now perform ground-related measurements within their area of interest using the following options:
- Ground Distance – Calculate the distance between two or more ground points based on user-selected points in the Oriented Imagery viewer.
- Ground Area – Calculate the area enclosed by ground points corresponding to the user-selected points within the image viewer.
- Height Above Ground – Determine the height of an asset relative to the ground as displayed in the viewer.
- Ground Location – Retrieve ground coordinates on the Map/Scene corresponding to selected points in the viewer.

Data capture tools
The Oriented Imagery Viewer component (and widget) now supports Data Capture Tools, enabling users to create new features directly in the image space—ideal for inspection workflows. Users can mark assets and extract valuable information from images within the viewer. Key Capabilities:
- Feature Creation – Users can draw and capture point, polyline, and polygon features in the Oriented Imagery Widget.
- Seamless Data Storage – Captured features are stored in external FeatureLayers, ensuring data persistence.
- Enhanced Visualization – Stored features can be reloaded as image overlays in the viewer and visualized as standard map features.

Additional raster functions
The raster
module is out of beta and has been enhanced to support the following raster functions:
- Calculate statistical metric
- Raster Calculator
- Color Space Conversion
- Compute Change
- Color Composite
- Spectral Conversion
- Tasseled Cap
- Threshold
- Transpose Bits
- Weighted Overlay
- Weighted Sum
TypeScript development improvements
In this release there are many TypeScript enhancements and bug fixes that went into the SDK types and documentation. We also introduced tooling in our build process that makes sure the types closely match the implementation.
New union types
We have enhanced the TypeScript experience when working with geometries, symbols and renderers. The convenience modules esri/geometry, esri/symbols and esri/renderers have been deprecated and replaced with a single module called esri/unionTypes. This union
module provides type definitions that combine all related subclasses of a base class into a union type. It is recommended to use the union types instead of base class types, like esri/geometry/
. Using these union types helps maintain consistency in both the API and application development.
Here’s an example of how to use the new union types:
import type { GeometryUnion } from "@arcgis/core/unionTypes.js".
const geometries: GeometryUnion[] = [polygon1, extent1, point1];
const union = unionOperator.executeMany(geometries);
The unions can also be discriminated to avoid having to cast or use instanceof
. In the code snippet below, the geometry type for polygon is correctly inferred:
const geometries: GeometryUnion[] = [polygon1, extent1, point1];
for (const geometry of geometries) {
switch (geometry.type) {
case "polygon":
// Typescript correctly infers the geometry type is a polygon
const firstRing = geometry.rings.at(0);
// work with first ring
break;
default:
// Handle the rest
}
}
The SDK now consistently uses the union types instead of the base classes. All the new union types are suffixed with "Union", such as Geometry
, to clearly differentiate them from the base class names.
Improved type safety
By default, the typings now include null
and undefined
where appropriate. This enhances type safety and makes them compatible with projects where strict
or strict
are enabled. Without strict null checks, null
or undefined
can be assigned to any TypeScript type, potentially leading to runtime errors if your code tries to access a null
or undefined
variable. Below is an example of the new types, as shown in the API reference:

Autocasting enhancements
Support for using TypeScript property setters was added to autocasting. Types now work in constructors, parameters and setters. Autocasting allows JavaScript objects to be automatically cast to SDK class types without the need for explicit imports. In the following example, the types are correctly narrowed when the renderer is set after the FeatureLayer is created:
let citiesLayer = new FeatureLayer({
url: "http://url.to.service",
});
// At 4.32 this works in TypeScript
citiesLayer.renderer = {
type: "simple",
symbol: {
type: "simple-marker",
size: 6,
color: "black",
outline: {
width: 0.5,
color: "white"
}
}
};
TypeScript migration recommendations
When introducing these TypeScript changes into your applications there are a number of recommendations.
When working with strict null:
- Use the
?.
optional chaining operator to allow safe access to properties that are null or undefined. - Use of
!
non-null assertion operator to temporarily make your build pass. Make sure these values are not null or undefined. - Consider temporarily disabling strict null. This should only be used to momentarily unblock your upgrade.
When working with unions:
- Replace uses of base class types with esri/unionTypes.
- Use type guards to narrow the types when needed.
When working with autocasting:
- In many cases, it can be beneficial to use the actual class constructors. Then there is no need to specify
type
, or useconst
assertions, and the classes are auto-imported by Visual Studio Code and other code editors. - For more information refer to the Autocasting in TypeScript guide topic.
Gradient symbols
CIMSymbol now supports gradient stroke and gradient fill symbol layers. This enhancement brings more options for cartographic styling in your applications, with support for linear, rectangular, and radial gradients. This also brings improved support for some web styles published from ArcGIS Pro - such as the watercolor or glassy orb styles. Check out the updated CIMSymbol lines and polygons sample to see it in action.

Improved 3D rendering of large feature layers
From versions 4.30 to 4.32 we continuously improved the quality of the features loaded for a given 3D view. Loading a feature layer with many features uses tile-based queries to the feature service hosting the data, and if needed, sub-sampling the data in the visible area. The selection of these tiles and their resolution now follows more closely the visible area of the view, while still applying the same feature limits as before to not overload the browser. This results in more features with a better resolution visible in the view, while still loading roughly the same amount of data.

VideoLayer and VideoPlayer
VideoLayer and VideoPlayer are now out of beta. These classes allow you to display video content in your applications. The Video
is used to display video content on the map, while the Video
is used to control the playback of video content. At version 4.32, you can now zoom and pan the video in the VideoPlayer.
View's readyState
The View class now includes a readyState property, offering more detailed insights into the view's readiness process. This enhancement enables better management of view properties, particularly in scenarios where the view fails to fully load, such as when the basemap cannot load, by providing more specific status information.
Localization changes
- New locale codes,
pt
, which defaults to Brazilian Portuguese (pt-br
) andzh
, which defaults to Simplified Chinese (zh-cn
). - The locale code for Norwegian has changed from
nb
tono
. The oldnb
locale is deprecated and will be removed in a future release. For now, it's being aliased to the new code so applications using it will continue to see Norwegian.
To learn more, refer to the Localization guide page.
Added classes, properties, methods, events
- esri/AttributeBinsGraphic
- esri/editing/sharedTemplates/SharedTemplate
- esri/editing/sharedTemplates/SharedTemplateMetadata
- esri/form/elements
- esri/form/elements/inputs
- esri/form/elements/UtilityNetworkAssociationsElement
- esri/geometry/operators/projectOperator
- esri/geometry/operators/shapePreservingProjectOperator
- esri/geometry/operators/support/GeographicTransformation
- esri/geometry/operators/support/GeographicTransformationStep
- esri/geometry/operators/support/geographicTransformationUtils
- esri/layers/knowledgeGraph/supportUtils
- esri/layers/support/csvUtils
- esri/layers/support/DisplayFilter
- esri/layers/support/DisplayFilterInfo
- esri/layers/support/OrderByInfo
- esri/layers/support/TrackInfo
- esri/layers/support/TrackPartInfo
- esri/linkChart/ChronologicalLayoutSettings
- esri/linkChart/LayoutSettings
- esri/linkChart/LinkChartProperties
- esri/linkChart/NonspatialDataDisplay
- esri/linkChart/OrganicLayoutSettings
- esri/popup/support/AttachmentsOrderByInfo
- esri/rest/knowledgeGraph/GraphQueryResultHeader
- esri/rest/knowledgeGraph/SourceTypeValueBehavior
- esri/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration
- esri/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity
- esri/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter
- esri/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection
- esri/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings
- esri/rest/support/AttributeBinsFeatureSet
- esri/rest/support/AttributeBinsGrouping
- esri/rest/support/AttributeBinsQuery
- esri/rest/support/AutoIntervalBinParameters
- esri/rest/support/BaseImageMeasureParameters
- esri/rest/support/BaseImageMeasureResult
- esri/rest/support/DateBinParameters
- esri/rest/support/DateBinTimeInterval
- esri/rest/support/FixedBoundariesBinParameters
- esri/rest/support/FixedIntervalBinParameters
- esri/rest/support/ImageVolume
- esri/rest/support/ImageVolumeParameters
- esri/rest/support/ImageVolumeResult
- esri/tables/elements
- esri/unionTypes
- esri/views/layers/ImageryTileLayerView
- esri/views/navigation/NavigationActionMap
- esri/views/support/HighlightOptions
- esri/webscene/SlideLegendInfo
- esri/webscene/support/SlideElements
- esri/widgets/FeatureForm/TextElementInput
- esri/widgets/FeatureForm/UtilityNetworkAssociationInput
- esri/widgets/FeatureTable/support/AttachmentsColumnTemplate
- esri/widgets/FeatureTable/support/RelationshipColumnTemplate
- esri/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel
- esri/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel
esri/core/url
Utils - Added methods: isDataProtocol, isHTTPSProtocol
esri/layers/catalog/
Catalog Footprint Layer - Added properties: displayFilterEnabled, displayFilterInfo
esri/layers/
Catalog Layer - Added properties: displayFilterEnabled, displayFilterInfo
esri/layers/
CSV Layer - Added properties: capabilities.attachment, capabilities.attachment.supportsResize, capabilities.query.supportsTrueCurve, displayFilterEnabled, displayFilterInfo, trackInfo
- Added method: queryAttributeBins to
esri/layers/
CSV Layer
esri/layers/
Feature Layer - Added properties: displayFilterEnabled, displayFilterInfo, trackInfo
- Added method: queryAttributeBins to
esri/layers/
Feature Layer
esri/layers/
Geo JSON Layer esri/layers/
Imagery Layer - Added property: capabilities.query.supportsTrueCurve to
esri/layers/
Imagery Layer - Added method: calculateVolume to
esri/layers/
Imagery Layer
- Added property: capabilities.query.supportsTrueCurve to
esri/layers/knowledge
Graph/ Knowledge Graph Sublayer - Added properties: displayFilterEnabled, displayFilterInfo
esri/layers/
Link Chart Layer - Added properties: initializationInclusionModeDefinition, initializationLinkChartConfig, memberEntityTypes, memberRelationshipTypes
- Added methods: applyNewLinkChartLayout, loadLayerAssumingLocalCache
esri/layers/
OGC Feature Layer - Added properties: displayFilterEnabled, displayFilterInfo, trackInfo
esri/layers/
Oriented Imagery Layer - Added properties: displayFilterEnabled, displayFilterInfo
esri/layers/
Stream Layer - Added properties: displayFilterEnabled, displayFilterInfo, trackInfo
esri/layers/
Subtype Group Layer - Added properties: displayFilterEnabled, displayFilterInfo
esri/layers/support/raster
Function Utils esri/layers/support/
Sublayer - Added properties: capabilities.attachment, capabilities.attachment.supportsResize, orderBy
esri/layers/support/
Subtype Sublayer - Added properties: globalIdField, listMode
esri/layers/
WCS Layer esri/layers/
WFS Layer esri/popup/content/
Attachments Content - Added property: orderByFields to
esri/popup/content/
Attachments Content - Added method: clone to
esri/popup/content/
Attachments Content
- Added property: orderByFields to
esri/popup/support/
Utility Network Association Type esri/rest/knowledge
Graph Service esri/views/layers/
Media Layer View - Added properties: interactionOptions.reshapeOptions, interactionOptions.reshapeOptions.editSourcePoints
- Added method: highlight to
esri/views/layers/
Media Layer View
esri/views/
Link Chart View - Added properties: displayFilterEnabled, highlights, readyState
esri/views/
Map View - Added properties: displayFilterEnabled, highlights, readyState
esri/views/
Scene View - Added properties: displayFilterEnabled, environment.weatherAvailable, highlights, readyState
esri/views/
View - Added properties: displayFilterEnabled, highlights, readyState
esri/views/
View2 D - Added properties: displayFilterEnabled, highlights, readyState
esri/
Web Link Chart - Added properties: activeLinkChartLayer, diagramNodesExtent, entityCount, knowledgeGraph, linkChartProperties, mapType, relationshipCount
- Added methods: addRecords, applyLayout, changeNonspatialDataDisplay, connectBetweenEntities, connectFromEntities, expand, getMemberIdsByType, refreshLinkChartData, removeRecords
esri/widgets/
Basemap Layer List - Added properties: baseFilterPredicate, referenceFilterPredicate
esri/widgets/
Basemap Layer List/ Basemap Layer List View Model - Added methods: emit, hasEventListener, on
esri/widgets/
Bookmarks/ Bookmarks View Model - Added methods: emit, hasEventListener, on
esri/widgets/
Catalog Layer List/ Catalog Layer List View Model - Added property: listModeDisabled to
esri/widgets/
Catalog Layer List/ Catalog Layer List View Model - Added methods: emit, hasEventListener, on
- Added property: listModeDisabled to
esri/widgets/
Feature Form/ Feature Form View Model - Added properties: activeAssociation, activeAssociationInput
esri/widgets/
Features - Added properties: featureNavigationTop, headerActions, initialDisplayMode, selectedDrillInFeature
esri/widgets/
Features/ Features View Model - Added properties: activeFeature, featureMenuOpen, featureMenuTitle, featurePage, initialDisplayMode, screenLocation, screenLocationEnabled, selectedFeatureViewModel, updateLocationEnabled, waitingForContents
- Added method: zoomTo to
esri/widgets/
Features/ Features View Model
esri/widgets/
Feature Table/ Field Column esri/widgets/
Feature Table/ Grid/ Column esri/widgets/
Feature Table/ Grid/ Group Column esri/widgets/
Layer List/ Layer List View Model - Added methods: emit, hasEventListener, on
esri/widgets/
Oriented Imagery Viewer - Added properties: dataCaptureEnabled, imageOverlaysOpened
esri/widgets/
Popup - Added properties: initialDisplayMode, selectedDrillInFeature
esri/widgets/
Popup/ Popup View Model - Added properties: activeFeature, featureMenuOpen, featureMenuTitle, featurePage, initialDisplayMode, screenLocation, screenLocationEnabled, selectedFeatureViewModel, updateLocationEnabled, waitingForContents
- Added method: zoomTo to
esri/widgets/
Popup/ Popup View Model
esri/widgets/
Search/ Search View Model - Added properties: autoNavigate, defaultPopupTemplate, resultCount, suggestionCount
- Added method: select to
esri/widgets/
Search/ Search View Model
esri/widgets/
Sketch - Added properties: scale, toolbarKind
esri/widgets/
Sketch/ Sketch View Model - Added properties: activeCreateToolDrawMode, creationMode
esri/widgets/
Swipe/ Swipe View Model - Added properties: max, min, step, stepMultiplier
esri/widgets/
Table List/ List Item - Added properties: children, listModeDisabled, open, parent
esri/widgets/
Table List/ Table List View Model - Added properties: tables, totalItems
- Added methods: emit, hasEventListener, on
- Added property:
curve
to esri/geometry/Circle, esri/geometry/PolygonRings - Added property:
supports
to esri/geometry/operators/affineTransformOperator, esri/geometry/operators/alphaShapeOperator, esri/geometry/operators/areaOperator, esri/geometry/operators/autoCompleteOperator, esri/geometry/operators/boundaryOperator, esri/geometry/operators/bufferOperator, esri/geometry/operators/centroidOperator, esri/geometry/operators/clipOperator, esri/geometry/operators/containsOperator, esri/geometry/operators/convexHullOperator, esri/geometry/operators/crossesOperator, esri/geometry/operators/cutOperator, esri/geometry/operators/densifyOperator, esri/geometry/operators/differenceOperator, esri/geometry/operators/disjointOperator, esri/geometry/operators/distanceOperator, esri/geometry/operators/equalsOperator, esri/geometry/operators/extendOperator, esri/geometry/operators/generalizeOperator, esri/geometry/operators/geodesicBufferOperator, esri/geometry/operators/geodesicProximityOperator, esri/geometry/operators/geodeticAreaOperator, esri/geometry/operators/geodeticDensifyOperator, esri/geometry/operators/geodeticDistanceOperator, esri/geometry/operators/geodeticLengthOperator, esri/geometry/operators/graphicBufferOperator, esri/geometry/operators/integrateOperator, esri/geometry/operators/intersectionOperator, esri/geometry/operators/intersectsOperator, esri/geometry/operators/isNearOperator, esri/geometry/operators/labelPointOperator, esri/geometry/operators/lengthOperator, esri/geometry/operators/linesToPolygonsOperator, esri/geometry/operators/locateBetweenOperator, esri/geometry/operators/minimumBoundingCircleOperator, esri/geometry/operators/multiPartToSinglePartOperator, esri/geometry/operators/offsetOperator, esri/geometry/operators/overlapsOperator, esri/geometry/operators/polygonOverlayOperator, esri/geometry/operators/polygonSlicerOperator, esri/geometry/operators/proximityOperator, esri/geometry/operators/relateOperator, esri/geometry/operators/reshapeOperator, esri/geometry/operators/simplifyOperator, esri/geometry/operators/symmetricDifferenceOperator, esri/geometry/operators/touchesOperator, esri/geometry/operators/unionOperator, esri/geometry/operators/withinOperatorCurves - Added property:
curve
to esri/geometry/PolylinePaths - Added property:
display
to esri/layers/catalog/CatalogFootprintLayer, esri/layers/CatalogLayer, esri/layers/CSVLayer, esri/layers/FeatureLayer, esri/layers/GeoJSONLayer, esri/layers/knowledgeGraph/KnowledgeGraphSublayer, esri/layers/OGCFeatureLayer, esri/layers/OrientedImageryLayer, esri/layers/StreamLayer, esri/layers/SubtypeGroupLayer, esri/layers/WFSLayer, esri/views/LinkChartView, esri/views/MapView, esri/views/SceneView, esri/views/View, esri/views/View2DFilter Enabled - Added property:
display
to esri/layers/catalog/CatalogFootprintLayer, esri/layers/CatalogLayer, esri/layers/CSVLayer, esri/layers/FeatureLayer, esri/layers/GeoJSONLayer, esri/layers/knowledgeGraph/KnowledgeGraphSublayer, esri/layers/OGCFeatureLayer, esri/layers/OrientedImageryLayer, esri/layers/StreamLayer, esri/layers/SubtypeGroupLayer, esri/layers/WFSLayerFilter Info - Added property:
capabilities.attachment
to esri/layers/CSVLayer, esri/layers/GeoJSONLayer, esri/layers/support/Sublayer, esri/layers/WFSLayer - Added property:
capabilities.attachment.supports
to esri/layers/CSVLayer, esri/layers/GeoJSONLayer, esri/layers/support/Sublayer, esri/layers/WFSLayerResize - Added property:
capabilities.query.supports
to esri/layers/CSVLayer, esri/layers/GeoJSONLayer, esri/layers/ImageryLayer, esri/layers/WFSLayerTrue Curve - Added property:
track
to esri/layers/CSVLayer, esri/layers/FeatureLayer, esri/layers/GeoJSONLayer, esri/layers/OGCFeatureLayer, esri/layers/StreamLayer, esri/layers/WFSLayerInfo - Added property:
capabilities.export
to esri/layers/MapImageLayer, esri/layers/TileLayerMap.supports Sublayer Order By - Added property:
order
to esri/popup/content/AttachmentsContent, esri/rest/support/AttachmentQuery, esri/widgets/Attachments/AttachmentsViewModelBy Fields - Added property:
display
to esri/popup/content/UtilityNetworkAssociationsContentCount - Added property:
provenance
to esri/rest/knowledgeGraph/DataModelSource Type Values - Added property:
return
to esri/rest/support/QueryTrue Curves - Added property:
highlights
to esri/views/LinkChartView, esri/views/MapView, esri/views/SceneView, esri/views/View, esri/views/View2D - Added property:
ready
to esri/views/LinkChartView, esri/views/MapView, esri/views/SceneView, esri/views/View, esri/views/View2DState - Added property:
action
to esri/views/navigation/NavigationMap - Added property:
positioning
to esri/webdoc/IPSInfoService - Added property:
elements
to esri/webscene/Slide - Added property:
snapping
to esri/widgets/AreaMeasurement2D, esri/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel, esri/widgets/DistanceMeasurement2D, esri/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModelOptions - Added property:
active
to esri/widgets/BasemapGallery/BasemapGalleryViewModelBasemap Index - Added property:
filter
to esri/widgets/CatalogLayerList, esri/widgets/LayerList, esri/widgets/TableListPredicate - Added property:
list
to esri/widgets/CatalogLayerList/CatalogLayerListViewModel, esri/widgets/TableList/ListItemMode Disabled - Added property:
view
to esri/widgets/DirectionalPad/DirectionalPadViewModel - Added property:
auto
to esri/widgets/Directions/DirectionsViewModelSolve - Added property:
full
to esri/widgets/Editor/CreateFeaturesWorkflowDataTemplate - Added property:
focus
to esri/widgets/ExpandTrap Disabled - Added property:
initial
to esri/widgets/Features, esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup, esri/widgets/Popup/PopupViewModelDisplay Mode - Added property:
selected
to esri/widgets/Features, esri/widgets/PopupDrill In Feature - Added property:
active
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelFeature - Added property:
feature
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelMenu Open - Added property:
feature
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelMenu Title - Added property:
feature
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelPage - Added property:
screen
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelLocation - Added property:
screen
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelLocation Enabled - Added property:
selected
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelFeature View Model - Added property:
update
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelLocation Enabled - Added property:
waiting
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelFor Contents - Added property:
hidden
to esri/widgets/FeatureTable/FieldColumn, esri/widgets/FeatureTable/Grid/Column, esri/widgets/FeatureTable/Grid/GroupColumn - Added property:
icon
to esri/widgets/FeatureTable/FieldColumn, esri/widgets/FeatureTable/Grid/Column, esri/widgets/FeatureTable/Grid/GroupColumn, esri/widgets/FeatureTable/support/ColumnTemplate, esri/widgets/FeatureTable/support/ColumnTemplateBase, esri/widgets/FeatureTable/support/FieldColumnTemplate, esri/widgets/FeatureTable/support/GroupColumnTemplateText - Added property:
incompatible
to esri/widgets/LayerList/ListItem - Added property:
include
to esri/widgets/PrintOrganization Templates - Added method:
query
to esri/layers/CSVLayer, esri/layers/FeatureLayer, esri/views/layers/CatalogFootprintLayerView, esri/views/layers/CSVLayerView, esri/views/layers/FeatureLayerView, esri/views/layers/GeoJSONLayerView, esri/views/layers/OGCFeatureLayerView, esri/views/layers/WFSLayerViewAttribute Bins - Added method:
is
to esri/networks/UtilityNetworkUtility Layer - Added method:
clone
to esri/popup/content/AttachmentsContent, esri/popup/support/UtilityNetworkAssociationType - Added method:
fetch
to esri/portal/PortalClassification Schema - Added method:
get
to esri/views/layers/ImageryLayerViewSource Scale - Added method:
emit
to esri/widgets/BasemapLayerList/BasemapLayerListViewModel, esri/widgets/Bookmarks/BookmarksViewModel, esri/widgets/CatalogLayerList/CatalogLayerListViewModel, esri/widgets/LayerList/LayerListViewModel, esri/widgets/TableList/TableListViewModel - Added method:
has
to esri/widgets/BasemapLayerList/BasemapLayerListViewModel, esri/widgets/Bookmarks/BookmarksViewModel, esri/widgets/CatalogLayerList/CatalogLayerListViewModel, esri/widgets/LayerList/LayerListViewModel, esri/widgets/TableList/TableListViewModelEvent Listener - Added method:
on
to esri/widgets/BasemapLayerList/BasemapLayerListViewModel, esri/widgets/Bookmarks/BookmarksViewModel, esri/widgets/CatalogLayerList/CatalogLayerListViewModel, esri/widgets/LayerList/LayerListViewModel, esri/widgets/TableList/TableListViewModel - Added method:
delete
to esri/widgets/Editor, esri/widgets/Editor/EditorViewModelAssociation From Workflow - Added method:
zoom
to esri/widgets/Features/FeaturesViewModel, esri/widgets/Popup/PopupViewModelTo - Added method:
sync
to esri/widgets/FeatureTable/FeatureTableViewModelAttribute Table Template - Added method:
select
to esri/widgets/Search/SearchViewModel - Added method:
update
to esri/widgets/smartMapping/ClassedSizeSliderFrom Renderer Result
Deprecations
Core API deprecations
- The code for Norwegian locale has changed from
nb
tono
. The oldnb
code is being aliased so will still work for now, but is deprecated and will be removed in a future release. See the Localization guide page for more information.
The following are deprecated and will be removed in a future release:
- Accessor.watch deprecated since version 4.32. Use reactiveUtils instead.
- BasemapGallery deprecated since 4.32. Use the Basemap Gallery component instead. For more information on widget deprecation, read more about Esri's move to web components.
- BasemapToggle deprecated since 4.32. Use the Basemap Toggle component instead. For more information on widget deprecation, read more about Esri's move to web components.
- ButtonMenu deprecated since version 4.30, use TableMenuConfig, Calcite components - Dropdown, Calcite components - List, or Calcite components - Menu web components instead.
- ButtonMenuItem deprecated since version 4.30, use TableMenuItemConfig instead.
- ButtonMenuViewModel deprecated since version 4.30, use TableMenuConfig, Calcite components - Dropdown, Calcite components - List, or Calcite components - Menu web components instead.
- Compass deprecated since 4.32. Use the Compass component instead. For more information on widget deprecation, read more about Esri's move to web components.
- DirectionalPad deprecated since 4.32. Use the Directional Pad component instead. For more information on widget deprecation, read more about Esri's move to web components.
- FeatureTable.clearSelectionFilter deprecated since version 4.30. Use
filter
orBy Selection Enabled object
instead.Ids - FeatureTable.filterBySelection deprecated since version 4.30. Use
filter
orBy Selection Enabled object
instead.Ids - FeatureTableViewModel.clearSelectionFilter deprecated since version 4.30. Use
filter
orBy Selection Enabled object
instead.Ids() - FeatureTableViewModel.filterBySelection deprecated since version 4.30. Use
filter
orBy Selection Enabled object
instead.Ids - FieldColumn.name deprecated since version 4.30, use FieldColumn.fieldName instead.
- Fullscreen deprecated since 4.32. Use the Fullscreen component instead. For more information on widget deprecation, read more about Esri's move to web components.
- GeographicTransformation deprecated since version 4.32. Use GeographicTransformation instead.
- GeographicTransformationStep deprecated since version 4.32. Use GeographicTransformationStep instead.
- geometry deprecated since version 4.32. Use unionTypes to import union types, or individual modules to import classes.
- geometryEngine deprecated since version 4.32. Use geometry operators instead.
- geometryEngineAsync deprecated since version 4.32. Use geometry operators instead. You can use the web workers to perform geometry operations in a separate thread, which can improve the performance. Options include using the SDK's worker utility, creating a custom worker, or using a helper library such as Comlink.
- Home deprecated since 4.32. Use the Home component instead. For more information on widget deprecation, read more about Esri's move to web components.
- LinkChartView.highlightOptions deprecated since version 4.32. Use the highlights property instead.
- ListItemPanel.className deprecated since version 4.30. Use icon
- ListItemPanel.className deprecated since version 4.30. Use icon
- Locate deprecated since 4.32. Use the Locate component instead. For more information on widget deprecation, read more about Esri's move to web components.
- MapView.highlightOptions deprecated since version 4.32. Use the highlights property instead.
- meshUtils.georeference deprecated since version 4.30. Use
convert
instead.Vertex Space - meshUtils.ungeoreference deprecated since version 4.30. Use
convert
instead.Vertex Space - Navigation.mouseWheelZoomEnabled deprecated since version 4.32. Use actionMap.mouseWheel instead.
- NavigationToggle deprecated since 4.32. Use the Navigation Toggle component instead. For more information on widget deprecation, read more about Esri's move to web components.
- pointCloudRenderers deprecated since version 4.32. Use unionTypes to import union types, or individual modules to import classes.
- projection deprecated since version 4.32. Use the projectOperator instead.
- rasterRenderers deprecated since version 4.32. Use unionTypes to import union types, or individual modules to import classes.
- RasterStretchRenderer.statistics deprecated since version 4.31. Use customStatistics instead.
- renderers deprecated since version 4.32. Use unionTypes to import union types, or individual modules to import classes.
- ScaleBar deprecated since 4.32. Use the Scale Bar component instead. For more information on widget deprecation, read more about Esri's move to web components.
- SceneView.highlightOptions deprecated since version 4.32. Use the highlights property instead.
- Swipe deprecated since 4.32. Use the Swipe component instead. For more information on widget deprecation, read more about Esri's move to web components.
- symbols deprecated since version 4.32. Use unionTypes to import union types, or individual modules to import classes.
- The
"connectivity"
possible value for QueryAssociationsParameters.types is deprecated at 4.29. Please use"junction-junction-connectivity"
instead. - TimeExtent deprecated since version 4.31. Use TimeExtent instead.
- TimeInterval deprecated since version 4.31. Use TimeInterval instead.
- Track deprecated since 4.32. Use the Track component instead. For more information on widget deprecation, read more about Esri's move to web components.
- UtilityNetworkTrace.gdbVersion deprecated since version 4.31, gdbVersion will be removed and the gdbVersion of the UtilityNetwork will be consumed directly.
- UtilityNetworkTraceViewModel.gdbVersion deprecated since version 4.31, gdbVersion will be removed and the gdbVersion of the UtilityNetwork will be consumed directly.
- VersionManagementViewModel.versionIdentifierLookup deprecated since version 4.30. Use VersioningState instead.
- VersionManagementViewModel.versionInfoLookup deprecated since version 4.30. Use VersioningState instead.
- VersionManagementViewModel.versionManagementServiceLookup deprecated since version 4.30. Use VersioningState instead.
- View2D.highlightOptions deprecated since version 4.32. Use the highlights property instead.
- Zoom deprecated since 4.32. Use the Zoom component instead. For more information on widget deprecation, read more about Esri's move to web components.
Map components deprecations
- The function
set
is deprecated and will be removed in version 4.34. To set the asset path forArcgis Asset Path @arcgis/map-components
and@arcgis/coding-components
, useset
instead. For example, importAsset Path set
fromAsset Path "@arcgis/map-components"
instead of"@arcgis/map-components/dist/components"
. Refer to the Get started with npm page for more information. - In HTML, the presence of a boolean attribute means it is true, and its absence means it is false. The properties related to visible elements have been replaced with clearer and more concise names on the following components:
arcgis-table-list
- For example, replacedvisible
withElements Close Button show
Collapse Button arcgis-utility-network-associations
- For example, replacedvisible
withElements Connectivity Associations Settings Arrows Toggle show
Connectivity Associations Settings Arrows Toggle
Breaking changes
Core API breaking changes
- The v1 Basemap styles were deprecated at 4.28 and removed from the documentation at 4.30. The underlying services are no longer available, and we have removed the IDs from the API source code. Use v2 Basemap styles instead or see other basemap options.
- The places service was updated in February 2025, which only affected the categoryIds. Please reference the Places category finder for the updated values.
- By default, typings now include
null
andundefined
where appropriate. This enhances type safety and makes them compatible with projects wherestrict
orstrict
are enabled.Null Checks - Installations using local npm builds with the stand-alone rollup module bundler will need to modify the rollup configuration file in order to eliminate runtime errors. More information is available in the rollup sample's README.
- The
open
property was removed from the UtilityNetworkAssociationType. This property is no longer needed to display associations in popups. - For AreaMeasurement2D and DistanceMeasurement2D snapping behavior is now disabled by default. See AreaMeasurement2DViewModel.snappingOptions and DistanceMeasurement2DViewModel.snappingOptions to enable snapping.
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/Event | Alternate option | Version deprecated |
---|---|---|
Area | How area and perimeter are computed depends on the map's spatial reference. See more in the Area description. | 4.29 |
Basemap | Use visibleElements.editTitleButton, dragEnabled and selectionMode instead | 4.29 |
Basemap | Use selectionMode instead | 4.29 |
Bookmarks.editing | Use visible , visible , and drag instead | 4.29 |
Bookmarks.visible | Use visible instead | 4.29 |
Button | Use the TableMenuItemConfig's icon property instead | 4.27 |
Button | Use the TableMenuItemConfig's icon property instead | 4.27 |
Create | Use the Create option instead | 4.29 |
Create | Use the Create option instead | 4.29 |
Create | Use the Create option instead | 4.29 |
Create | Use the Create option instead | 4.29 |
Create | Use the Create option instead | 4.29 |
Distance | How distance is computed depends on the map's spatial reference. See more in the Distance description. | 4.29 |
Editor.allowed | Use Editor.visible and Editor.visible instead | 4.29 |
Editor | Use Editor.visible and Editor.visible instead | 4.29 |
Editor | Use Editor instead | 4.29 |
Elevation | How distances are computed depends on the map's spatial reference. See more in the Elevation description. | 4.29 |
Elevation | How distances are computed depends on the map's spatial reference. See more in the Elevation description. | 4.29 |
external | Use Render instead. | 4.29 |
Imagery | Use ImageryTileLayer.serviceRasterInfo instead. | 4.29 |
Layer | Use selectionMode instead | 4.29 |
Layer | Use dragEnabled and selectionMode instead | 4.29 |
Locate.rotation | Use Track.rotation instead | 4.29 |
Mesh.create | Use Scene instead | 4.29 |
Popup.collapse | Use Visible instead | 4.29 |
Popup.spinner | Use Visible instead | 4.29 |
Table | Use selectionMode instead | 4.29 |
Table | Use dragEnabled and selectionMode instead | 4.29 |
Time | Use timeUtils.getTimeSliderSettingsFromWebDocument instead. | 4.29 |
time | Use timeUtils.getTimeSliderSettingsFromWebDocument instead. | 4.30 |
WCS | Use WCSLayer.serviceRasterInfo instead. | 4.29 |
Map components breaking changes
- The arcgis-map and arcgis-scene components are no longer created with a default basemap. Use the
basemap
oritem-id
attribute to set the basemap on the component, or set theMap
in JavaScript. Settingbasemap="none"
is no longer valid; to create a map without a basemap simply avoid setting thebasemap
attribute. Note that if you don't assign a basemap, thearcgis
event will not fire until the map's properties are updated.View Ready Change - The Swipe component
drag-label
attribute was removed. Uselabel
instead. arcgis-sketch.update
was removed. Usearcgis-sketch.trigger
instead.Update - The default position of the Navigation Toggle component was changed to
"top-left"
to align with the default position of Zoom and Compass components.
Charts components breaking changes
- Replaced all existing charts components with the
arcgis-chart
component.- HTML tag names need to be updated from
arcgis-charts-bar-chart
toarcgis-chart
. - Class references need to be updated from
Arcgis
toCharts Bar Chart Arcgis
.Chart - Typings need to be updated from
HTML
toArcgis Charts Bar Chart Element HTML
.Arcgis Chart Element config
property is nowmodel
.
- HTML tag names need to be updated from
- Changed event payloads for
arcgis
,Data Process Complete arcgis
,Legend Item Visibility Change arcgis
,Series Color Change arcgis
andSelection Complete arcgis
.Axes Min Max Change - Renamed
action
toBar Hide Actions Props hidden
for theActions arcgis-charts-action-bar
component.- The type
Action
is nowBar Hide Actions Props Default
.Chart Actions[]
- The type
- Removed the following interfaces:
Web
,Chart Probability Plot Series Web
, andChart Profile Graph Series Web
.Chart Probability Plot Kinds - Removed
order
fromBy Fields Web
, useChart Series Query order
instead.Options - Updated
set
toCategory() set
when settingX Axis Field() X
properties in the bar chart model.
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-000110267: Fixed an issue where the Legend widget displayed graduated colors and sizes in descending order instead of the specified ascending order.
- BUG-000155205: Fixed an issue where the renderer for a MapImageLayer sublayer was not persisted when saving the layer in a web map.
- BUG-000158844: Fixes incorrect visibility state of WMSLayer inside a group layer during SceneView initialization.
- BUG-000167787: Fixed an issue in SceneView where camera navigation using the
w
key gets stuck at horizon, or flips the camera. - BUG-000169891: Fixed an issue where the Search dropdown suggestions would not be displayed properly within an Expand widget in
drawer
mode. - BUG-000171677: Fixed an issue where FeatureLayer.applyEdits with high intensity makes MapView slow and leaves residual graphics when zooming in and out.
- BUG-000171971: Fixed an issue with the label property on the Search widget where it did not affect the default
aria-label
. - BUG-000172167: Fixed an issue with the 'Template' option in Print where it could not be selected using Shift+Tab.
- BUG-000172607: Fixed an issue where TileLayer was not resampling correctly in version 4.31.
- BUG-000172940: Fixed a significant performance drop for large point datasets with callouts since 4.30 in SceneView.
- BUG-000172950: Added a new
data-action-id
attribute to style Popup and Features widget actions. - BUG-000172981: Fixed an issue where the APP-6(D) DictionaryRenderer was not correctly drawing symbols with a dashed frame.
- BUG-000173056: Fixed an issue with Print where northArrowEnabled was not being honored.
- BUG-000173073: Fixed an issue with Print where the format was not populated with the print service format choice.
- BUG-000173088: Fixed an issue where calling MapView.hitTest() on an SVG graphic resulted an error.
- BUG-000173269: Fixed an issue where WMSLayer was not recognizing
"true"
and"false"
as valid values of thequeryable
parameter in WMS services. - BUG-000173522: Fixed an issue where secure VectorTileLayers were prompting for login when the portal's authMode was set to
anonymous
. - BUG-000173687: Fixed an issue with Print where the title was not populated with the layout title.
- BUG-000174087: Fixed an issue with AreaMeasurement2D and DistanceMeasurement2D sending too many queries by disabling snapping behavior by default.
- Esri Community - 1572781: Fixed memory leak caused by calling
Layer
whenView.highlight() Layer
isView.updating false
. - Esri Community - 1575012: Fixed an issue where ImageryLayer.computeHistograms drops the layer's rasterFunction when this parameter is autocasted.
- Fixed an issue where active action styles were not correctly applied in the LayerList.
- Fixed an issue with Directions where the locale of
zh-
is requesting driving directions from a route service inHK zh-
.CN - ENH-000126767: Added the capability of "Drag to change route" functionality to Directions.
- ENH-000154864: SceneLayer Pop-up show domain field description when subtypes are defined.
- ENH-000169598: Enhanced MapImageLayer sublayer popups to honor the order that features are drawn. If
order
is set on the service, the popups will be ordered accordingly.By - ENH-000169600: Enhanced
Map
Sublayer.orderBy to configure the feature display order.Image Layer - ENH-000171372: Added default thumbnails for basemaps created from a BasemapStyle.
- Added
rotate
to CIMSymbolAnimationRotation.Clockwise - CIM Symbol animations are no longer in beta.
- Enhanced printing to now send metadata (credits/attribution) for layers/items to print service.
- Enhanced printing to support Sublayer.orderBy.
- Enhanced printing to support DisplayFilters.
- Enhanced printing to support printing WFSLayer via layer instead of via screenshot, with ArcGIS Server version 11.5.0 or later.
- Enhanced the Legend to use the calcite design system.
- Enhanced validation in WebScene.save() and WebScene.saveAs() to be more compliant with the Web Scene Specification standards.
- If a FeatureTable layer's attachments supportsResize, they will now display as a thumbnail in the
Attachments
.Column - Setting FeatureTable.view is no longer required when rendering the related records UI/UX, even if a MapView are not provided.
- The
raster
class is out of beta.Function Utils - The createFromGLTF and toBinaryGLTF methods on the Mesh class now correctly convert vertex colors between linear (glTF) and sRGB (Mesh) color spaces. Previously, imported glTF models using vertex colors would appear darker than in other viewers.
Map components enhancements
- Importing components from
/dist
is no longer necessary, but is backward compatible. For example, useimport "@arcgis/map-components/components/arcgis-map"
instead ofimport "@arcgis/map-components/dist/components/arcgis-map"
. - The
component
function creates a promise that resolves once a component is fully loaded. This includes the function resolving once all of its child components have finished loading too. ForOn Ready() @arcgis/map-components
, this can be useful for verifying that the Map component is ready when thebasemap
attribute is set to"none"
because thearcgis
event will not fire.View Ready Change - Stylesheet link tags for
@arcgis/map-components
,@arcgis/coding-components
, and the component packages they depend on, such as@esri/calcite-components
, are no longer necessary to manually include in vanilla JavaScript apps that consume these components via the CDN, but remains backward compatible. - Function
set
has been updated to work with relative paths.Asset Path @arcgis/map-components
now have a stylesheet that must be included in built ESM applications. Refer to the Get started with npm page for more information.
Additional packages
Version 4.32 of the ArcGIS Maps SDK for JavaScript uses ArcGIS Arcade 1.30 (since 4.32).
Version 4.32 of the ArcGIS Maps SDK for JavaScript uses Calcite Design System, version 3.0.3. In your application, we recommend using the same version or any minor version greater than ^
3.0.3.
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
- Version 4.31 - November 2024
- Version 4.30 - June 2024
- Version 4.29 - February 2024
- Version 4.28 - October 2023
- Version 4.27 - June 2023
- Version 4.26 - February 2023
- Version 4.25 - November 2022
- Version 4.24 - June 2022
- Version 4.23 - March 2022
- Version 4.22 - December 2021