December 2020
ES modules (beta)
We’ve released a beta build for ES modules to make it easier to integrate the API with third party frameworks and build tools. They are available for installation as a new NPM package @arcgis/core. Once installed, you can use native imports like this:
import WebMap from "@arcgis/core/WebMap";
import MapView from "@arcgis/core/views/MapView";The benefits of this approach include:
- Simplified code
- Native support in the browser
- Minimal configuration
- Seamless integration with all modern frameworks and build tools.
Visit Introduction to tooling to learn how to use the new modules and learn whether you should migrate. We also provide sample apps that demonstrate the basic concepts.
Elevation profile widget (beta)
Create elevation profile charts using the ElevationProfile widget, available in both MapView and SceneView. Interactively draw or select existing lines in your map or scene to compare heights for terrain but also 3D objects such as buildings. The chart is computed using the Ground's elevation and provides additional statistics along the line.
Query clustered features
You can query features from clusters with the aggregateIds option on the Query object. This gives you the flexibility to do the following:
Display the visible extent of a cluster's features.
Calculate and display the convex hull for clustered features.
Display the features belonging to a cluster.
Query statistics for clustered features.
3D updates
Context-aware navigation
Interactive zooming, panning and rotating in underground scenes or viewpoints with large tilt has greatly improved. A new context-aware navigation takes visible objects into account to better predict an area of interest. You will notice a steadier navigation experience, especially when moving around or towards data visualizing subsurface pipelines and earthquakes for example, but also thin structures such as vegetation or power lines made up of point cloud data.
Scene layer attributes editing
Update the attributes of a 3D object SceneLayer using existing Editor widget workflows or a new method apply. Edits are applied to the associated feature layer but taken into account and rendered by the API until the I3S cache is updated.
See how updates to a scene layer representing apartments are immediately reflected in a new attribute editing sample.
Self snapping
The latest release introduces beta support for self snapping when creating or updating line- and polygon features in 3D. Interactively create geometries that have parallel lines and right angles which are essential for features representing building footprints or line networks. You can enable self snapping through a new property Sketch and toggle it during a draw operation.
Try out snapping in the Sketch in 3D and Edit features in 3D samples.
Order-Independent transparency
Multiple overlapping transparent features are rendered independently of the camera position. The new order-independent transparency (OIT) blends all transparent surfaces together, where the previous approach assured that the front-most is rendered. Visualizing large volumetric symbology covering other transparent features in your scene, but also semi-transparent 3D WebStyles or transparent icon symbology like Firefly style benefit from the visual improvements.
Mars and Moon support
Skip the seven month journey to Mars by visiting our red neighbor with the ArcGIS Maps SDK for JavaScript. The latest release adds experimental support for Moon and Mars coordinate systems to SceneView. Visualize imagery- and elevation layers but also feature layers containing mapped information about the astronomical bodies. Atmosphere and globe diameter are automatically adjusted when loading a layer with a supported Mars or Moon coordinate system.
Custom coordinate systems
Local scenes can now load and visualize more datasets by supporting additional custom coordinate systems defined by a Well-Known Text (WKT) string.
Layer updates
Layer effects
You can now apply Effects to all layers in 2D MapViews. This powerful capability allows you to apply css filter-like functions to layers to enhance the cartographic quality of your maps. This is done by applying the desired effect to the layer's effect property.
We added support for three new effects: bloom, drop-shadow, and blur.
Since some effects like drop-shadow and blur are sensitive to scale, we enhanced the Effect API to make effects scale-dependent. You can set effects at different scales to fine tune the look and feel of the map. Check out the samples that take advantage of this powerful functionality.
In the following screenshot, we see the result of applying drop-shadow to features that intersect boundaries of London boroughs while applying blur and brightness effects to features do not meet from the filter criteria.
Effects could be applied to filtered features via FeatureEffect since version 4.11. FeatureEffect applies effects to features included and excluded from a filter in a LayerView. Version 4.18 ensures the features included in the filter are drawn on top of all excluded features.
LayerView transitions
We continued our work from 4.17 to add default fade-in and out transitions to layer views for the following layers: MapImageLayer, WMSLayer, ImageryLayer, and BaseDynamicLayer. These transitions occur when a user toggles the layer's visibility is on/off, zooms in/out in the view, or changes the layer configuration. This is only supported in 2D MapViews.
VectorTileLayer
We added helper methods that will simplify the process of updating a style loaded with a VectorTileLayer. With these methods, you will be able to add, remove or re-order style layers. You can also modify any of the properties of a style layer with one call, without reloading the layer. Check out the VectorTileLayer - update style layers sample to see this in action.
StreamLayer
StreamLayer can consume custom stream services that are pushed via websocket in 3D SceneView. To do this, set the webSocketUrl property of the StreamLayer to point to your custom service. See the Reference a custom stream service for more information.
We added the updateInterval property to StreamLayer to control the rate features are updated in the layer. This can help improve app performance.
ImageryLayer
We added methods to ImageryLayer for computing statistics and histograms for a given extent. ImageryLayer now has support for identifying content.
Widget updates
Sketch
The graphic selection symbols were enhanced in the Sketch widget for better visualization. The update event's tool parameter now provides more information when the user selects or deselects graphics using Shift+. The defaultCreateOptions.mode property is now click instead of hybrid to better handle snapping.
The Sketch widget also automatically includes two new selection tools within visibleElements: rectangle-selection and lasso-selection. These elements can be removed as needed.
FeatureForm
The FeatureForm widget's UI has been updated when showing grouped fields. If its groupDisplay property is not set to sequential, the grouped fields now display with the option to collapse. The following shows the difference in UI between 4.17 and 4.18.
| 4.17 | 4.18 |
|---|---|
|
|
Popup
A new property, returnGeometry was added to the PopupTemplate and indicates whether to include the feature's geometry for use by the template. This property should be set to true if you need to access the selected feature's geometry. The geometry should be accessed via the returned graphic from the popup's selectedFeatureWidget. This is needed since the geometry is not automatically queried and returned in the popup's selected feature.
Print
The Print widget was enhanced to support reading custom print templates defined in a portal. To accomplish this we added a new class, CustomTemplate, which defines the custom layout template options used by the Print widget to generate the print page. We also added two new properties to the Print widget: includeDefaultTemplates and portal. If the portal property is defined, the end-user will see a new Select template button in the Print widget UI.
Search
We enhanced the Search widget to work with standalone tables associated with a webmap. This allows users to search for specific records, based on a field value, within configured tables. We also added a findTableById() method that returns a table based on the given table ID.
CIM Symbol Builder
We introduced a new app this release - the CIM Symbol Builder! This app provides an environment where you can design CIM symbols with a simple user interface, copy the JSON of the symbol, and use it in a web application built with the ArcGIS Maps SDK for JavaScript.
Smart mapping size themes
We introduced size themes to Smart Mapping size renderer creator functions. You can now create size visualizations with above, below, and above-and-below themes. These themes are well suited for data variables that show a change over time, such as change in population between two years. The above-and-below theme can help communicate how far above or below a data value is relative to a meaningful inflection point.
Iterate through a collection
You can iterate through the items of a Collection using for...of. Prior to 4.18, this was not possible. The following patterns are now supported.
// iterate through each item
for (const item of collection) {
//...
}
// create an array from a collection
const array = Array.from(collection);
// create a set from a collection
const set = new Set(...collection);Prior to 4.18, you had to do the following (these patterns are still supported).
// iteration
collection.forEach((item) => { ... })
// creating an array from a collection
collection.toArray();
// create a set from a collection
const set = new Set();
collection.forEach((item) => set.add(item));Internationalization
Additional methods were added to the intl class to aid in creating, registering, and fetching message bundles used for widget strings. This can be helpful for developers needing control over how their custom widgets work with translation strings.
IdentityManager
The IdentityManager modal dialog now captures and traps focus when shown. Prior to this version, no elements would display focused upon opening.
End of IE11/Edge Legacy support
Support for Internet Explorer 11 and Edge Legacy for use with the ArcGIS Maps SDK for JavaScript was deprecated as of version 4.16. Version 4.17 was the last release with support for these browsers. This means that apps built with 4.18 (and beyond) will not function in IE11/Edge Legacy. See our updated System Requirements page and the Why is Esri ending support for Internet Explorer 11? blog to learn more.
Added classes, properties, methods, events
- esri/core/units
- esri/tasks/ImageIdentifyTask
- esri/tasks/support/ImageHistogramParameters
- esri/tasks/support/ImageIdentifyParameters
- esri/tasks/support/ImageIdentifyResult
- esri/webdoc/applicationProperties/SearchTable
- esri/webdoc/applicationProperties/SearchTableField
- esri/widgets/ElevationProfile
- esri/widgets/ElevationProfile/ElevationProfileLine
- esri/widgets/ElevationProfile/ElevationProfileLineGround
- esri/widgets/ElevationProfile/ElevationProfileLineInput
- esri/widgets/ElevationProfile/ElevationProfileLineQuery
- esri/widgets/ElevationProfile/ElevationProfileLineView
- esri/widgets/ElevationProfile/ElevationProfileViewModel
- esri/widgets/Print/CustomTemplate
- esri/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel
esri/config- Added properties: apiKey, assetsPath
esri/identity/O Auth Info - Added properties: forceUserId, userId
esri/intlesri/layers/Feature Layer - Added properties: customParameters, editingEnabled, effect
esri/layers/Geo RSS Layer - Added properties: effect, legendEnabled
esri/layers/Group Layer - Added property: effect to
esri/layers/Group Layer - Added method: findTableById to
esri/layers/Group Layer
- Added property: effect to
esri/layers/Imagery Layer - Added property: effect to
esri/layers/Imagery Layer - Added methods: computeHistograms, computeStatisticsHistograms, identify, queryRasters
- Added property: effect to
esri/layers/Map Image Layer - Added properties: customParameters, effect
esri/layers/Scene Layer - Added property: capabilities to
esri/layers/Scene Layer - Added method: applyEdits to
esri/layers/Scene Layer
- Added property: capabilities to
esri/layers/Stream Layer - Added properties: effect, updateInterval
esri/layers/Tile Layer - Added properties: customParameters, effect
esri/layers/Vector Tile Layer - Added property: effect to
esri/layers/Vector Tile Layer - Added methods: deleteStyleLayer, getStyleLayer, getStyleLayerIndex, getStyleLayerVisibility, setStyleLayer, setStyleLayerVisibility
- Added property: effect to
esri/renderers/support/Authoring Info - Added properties: statistics, univariateSymbolStyle, univariateTheme
esri/Time Extent esri/widgets/Bookmarks - Added properties: defaultCreateOptions, defaultEditOptions
esri/widgets/Bookmarks/ Bookmarks View Model - Added properties: defaultCreateOptions, defaultEditOptions
esri/widgets/Print - Added properties: includeDefaultTemplates, portal
esri/widgets/Print/ Print View Model - Added properties: defaultTemplates, effectivePrintServiceUrl, includeDefaultTemplates, portal
- Added method: get to
esri/widgets/Print/ Print View Model
esri/widgets/smartMapping/ Color Size Slider - Added properties: handlesSyncedToPrimary, primaryHandleEnabled
- Added method: updateRenderer to
esri/widgets/smartMapping/ Color Size Slider
esri/widgets/smartMapping/ Color Size Slider/ Color Size Slider View Model - Added properties: handlesSyncedToPrimary, primaryHandleEnabled
esri/widgets/smartMapping/ Size Slider - Added properties: handlesSyncedToPrimary, primaryHandleEnabled
esri/widgets/smartMapping/ Size Slider/ Size Slider View Model - Added properties: handlesSyncedToPrimary, primaryHandleEnabled
- Added property:
apito esri/configKey - Added property:
assetsto esri/configPath - Added property:
isto esri/GraphicAggregate - Added property:
forceto esri/identity/OAuthInfoUser Id - Added property:
userto esri/identity/OAuthInfoId - Added property:
effectto esri/layers/BaseDynamicLayer, esri/layers/BaseTileLayer, esri/layers/BingMapsLayer, esri/layers/CSVLayer, esri/layers/FeatureLayer, esri/layers/GeoJSONLayer, esri/layers/GeoRSSLayer, esri/layers/GraphicsLayer, esri/layers/GroupLayer, esri/layers/ImageryLayer, esri/layers/ImageryTileLayer, esri/layers/KMLLayer, esri/layers/MapImageLayer, esri/layers/MapNotesLayer, esri/layers/OGCFeatureLayer, esri/layers/OpenStreetMapLayer, esri/layers/StreamLayer, esri/layers/TileLayer, esri/layers/VectorTileLayer, esri/layers/WebTileLayer, esri/layers/WMSLayer, esri/layers/WMTSLayer - Added property:
customto esri/layers/FeatureLayer, esri/layers/MapImageLayer, esri/layers/TileLayerParameters - Added property:
editingto esri/layers/FeatureLayerEnabled - Added property:
legendto esri/layers/GeoRSSLayerEnabled - Added property:
capabilitiesto esri/layers/SceneLayer - Added property:
updateto esri/layers/StreamLayerInterval - Added property:
returnto esri/PopupTemplateGeometry - Added property:
statisticsto esri/renderers/support/AuthoringInfo - Added property:
univariateto esri/renderers/support/AuthoringInfoSymbol Style - Added property:
univariateto esri/renderers/support/AuthoringInfoTheme - Added property:
aggregateto esri/tasks/support/QueryIds - Added property:
filterto esri/views/layers/BuildingComponentSublayerView - Added property:
tablesto esri/webdoc/applicationProperties/Search - Added property:
defaultto esri/widgets/Bookmarks, esri/widgets/Bookmarks/BookmarksViewModelCreate Options - Added property:
defaultto esri/widgets/Bookmarks, esri/widgets/Bookmarks/BookmarksViewModelEdit Options - Added property:
includeto esri/widgets/Print, esri/widgets/Print/PrintViewModelDefault Templates - Added property:
portalto esri/widgets/Print, esri/widgets/Print/PrintViewModel - Added property:
defaultto esri/widgets/Print/PrintViewModelTemplates - Added property:
effectiveto esri/widgets/Print/PrintViewModelPrint Service Url - Added property:
visibleto esri/widgets/SketchElements - Added property:
snappingto esri/widgets/Sketch/SketchViewModelOptions - Added property:
handlesto esri/widgets/smartMapping/ColorSizeSlider, esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel, esri/widgets/smartMapping/SizeSlider, esri/widgets/smartMapping/SizeSlider/SizeSliderViewModelSynced To Primary - Added property:
primaryto esri/widgets/smartMapping/ColorSizeSlider, esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel, esri/widgets/smartMapping/SizeSlider, esri/widgets/smartMapping/SizeSlider/SizeSliderViewModelHandle Enabled - Added method:
createto esri/intlJSON Loader - Added method:
fetchto esri/intlMessage Bundle - Added method:
normalizeto esri/intlMessage Bundle Locale - Added method:
registerto esri/intlMessage Bundle Loader - Added method:
findto esri/layers/GroupLayer, esri/Map, esri/WebMap, esri/WebSceneTable By Id - Added method:
computeto esri/layers/ImageryLayerHistograms - Added method:
computeto esri/layers/ImageryLayerStatistics Histograms - Added method:
identifyto esri/layers/ImageryLayer - Added method:
queryto esri/layers/ImageryLayerRasters - Added method:
applyto esri/layers/SceneLayerEdits - Added method:
deleteto esri/layers/VectorTileLayerStyle Layer - Added method:
getto esri/layers/VectorTileLayerStyle Layer - Added method:
getto esri/layers/VectorTileLayerStyle Layer Index - Added method:
getto esri/layers/VectorTileLayerStyle Layer Visibility - Added method:
setto esri/layers/VectorTileLayerStyle Layer - Added method:
setto esri/layers/VectorTileLayerStyle Layer Visibility - Added method:
expandto esri/TimeExtentTo - Added method:
unionto esri/TimeExtent - Added method:
getto esri/widgets/Print/PrintViewModel - Added method:
updateto esri/widgets/smartMapping/ColorSizeSliderRenderer - Added method:
messageto esri/widgets/support/widgetBundle - Added method:
updateto esri/widgets/TimeSlider, esri/widgets/TimeSlider/TimeSliderViewModelWeb Document - Added property:
selectionto FeatureTable.visibleElementsColumn - Added property:
titleto LabelClass.labelExpressionInfo - Added parameter:
colorto createContinuousRenderer() in esri/smartMapping/renderers/univariateColorSizeOptions.is Continuous - Added parameter:
symbolto createContinuousRenderer() in esri/smartMapping/renderers/univariateColorSizeOptions - Added parameter:
themeto createAgeRenderer(), createContinuousRenderer(), and createVisualVariables() in esri/smartMapping/renderers/size - Added parameter:
themeto createContinuousRenderer(), and createVisualVariables() in esri/smartMapping/renderers/univariateColorSize
Deprecated classes, properties, methods, events
The following are deprecated and will be removed in a future release:
- decorators.declared deprecated since version 4.16.
declared()is not needed to extend Accessor anymore. See Implementing Accessor for updated information. - projection.isSupported deprecated since version 4.18.
- ChartMediaInfoValueSeries.x deprecated since version 4.17. Use value instead.
- ChartMediaInfoValueSeries.y deprecated since version 4.17. Use tooltip instead.
- SizeVariable.expression deprecated since version 4.2. Use SizeVariable.valueExpression instead.
- PathSymbol3DLayer.size deprecated since version 4.12. Use PathSymbol3DLayer.width or PathSymbol3DLayer.height instead.
- symbolPreview deprecated since version 4.11. Use symbolUtils instead.
- symbolPreview.renderPreviewHTML deprecated since version 4.11. Use symbolUtils.renderPreviewHTML instead.
- ImageServiceIdentifyTask deprecated since version 4.18. Use ImageIdentifyTask instead.
- ImageServiceIdentifyParameters deprecated since version 4.18. Use ImageIdentifyParameters instead.
- ImageServiceIdentifyResult deprecated since version 4.18. Use ImageIdentifyResult instead.
- PrintTemplate.preserveScale deprecated since version 4.16. Use PrintTemplate.scalePreserved instead.
- ProjectParameters.outSR deprecated since version 4.4. Use ProjectParameters.outSpatialReference instead.
- Bookmark.extent deprecated since 4.17. Use viewpoint instead.
- AreaMeasurement2DViewModel.clearMeasurement deprecated since version 4.16. Use clear instead.
- AreaMeasurement2DViewModel.newMeasurement deprecated since version 4.16. Use start instead.
- AreaMeasurement3DViewModel.clearMeasurement deprecated since version 4.16. Use clear instead.
- AreaMeasurement3DViewModel.newMeasurement deprecated since version 4.16. Use start instead.
- BasemapLayerList.statusIndicatorsVisible deprecated since version 4.15. Use BasemapLayerList.visibleElements.statusIndicators instead.
- BasemapToggle.titleVisible deprecated since version 4.15. Use BasemapToggle.visibleElements.title instead.
- Bookmarks.bookmarkCreationOptions deprecated since 4.18. Use
defaultinstead.Create Options - Bookmarks.select-bookmark deprecated since version 4.17. Use bookmark-select instead.
- DirectLineMeasurement3DViewModel.clearMeasurement deprecated since version 4.16. Use clear instead.
- DirectLineMeasurement3DViewModel.newMeasurement deprecated since version 4.16. Use start instead.
- DistanceMeasurement2DViewModel.clearMeasurement deprecated since version 4.16. Use clear instead.
- DistanceMeasurement2DViewModel.newMeasurement deprecated since version 4.16. Use start instead.
- FeatureForm.fieldConfig deprecated since version 4.16. Use FieldElement and/or GroupElement instead.
- FeatureFormViewModel.fieldConfig deprecated since version 4.16. Use FieldElement and/or GroupElement instead.
- FeatureTemplates.filterEnabled deprecated since version 4.15. Use FeatureTemplates.visibleElements.filter instead.
- LayerList.statusIndicatorsVisible deprecated since version 4.15. Use LayerList.visibleElements.statusIndicators instead.
- Popup.featureNavigationEnabled deprecated since version 4.15. Use Popup.visibleElements.featureNavigation instead.
- SliceViewModel.clearSlice deprecated since version 4.16. Use clear instead.
- SliceViewModel.newSlice deprecated since version 4.16. Use start instead.
- Slider.labelsVisible deprecated since version 4.15. Use Slider.visibleElements.labels instead.
- Slider.rangeLabelsVisible deprecated since version 4.15. Use Slider.visibleElements.rangeLabels instead.
- BookmarksViewModel.BookmarkCreationOptions.captureExtent deprecated since version 4.17. Use
captureinstead.Viewpoint - decorators.cast(classFunction) deprecated since version 4.14. Parameter decorators won't be supported by JavaScript decorators.
- LabelClass.labelExpressionInfo.value deprecated since version 4.5. Use expression instead.
- SceneView.constraints.collision deprecated since version 4.8. Use Ground.navigationConstraint instead.
Smartdeprecated since version 4.13. UseMapping.params.basemap viewinstead.
Breaking changes
- No support for IE11/Edge Legacy. Support for Internet Explorer 11 and Edge Legacy was deprecated at version 4.16, and ends at version 4.18. See our updated System Requirements page and the Why is Esri ending support for Internet Explorer 11? blog to learn more.
- The default format for the
takemethod on MapView and SceneView has changed toScreenshot() pnginstead ofjpg. - The
mediaproperty was removed from OGCFeatureLayer. All requests for metadata and data content will be made with theType "f=json"url parameter. - FeatureForm.getValues() will now always return an Object with updated attributes. Prior to this, it would return
nullif there was no feature provided. - FeatureForm.getValues() will return
undefinedif there is no existing attribute on the edit feature. This is meant to distinguish from validnullvalues. - The FeatureTable widget no longer uses the layer's maxRecordCount to determine pagination size. It automatically defaults to
50records unless the layer contains less than this. If so, it will take this count and set the pagination to it. - Updated the callback for intl.onLocalChange() to return a LocaleChangeCallback instead of a
Function. - The default mode for the defaultCreateOptions on the Sketch widget has changed to
clickinstead ofhybrid. - The
Routeproperty has been removed. It was deprecated as of version 4.11. Use pointBarriers, polygonBarriers, and/or polylineBarriers instead.Parameters.barriers
Please refer to the Breaking changes guide topic for a complete list of breaking changes across all releases of the 4x API.
Bug fixes and enhancements
- BUG-000126854: Fixed an issue where the MapView is panned when trying to move a selected graphic with the Sketch widget.
- BUG-000127699: Fixed an issue where a Graphic with a long TextSymbol or a Multipoint geometry would get cut off when moved across tile boundaries.
- BUG-000129795: Fixed an issue where the
impedanceset in ServiceAreaParameters was not properly passed into theAttribute solverequest.Service Area - BUG-000130487: Fixed an issue when using a Deck.gl layer, and adding padding to the MapView, the trip line and street background of the Deck.gl layer are not properly aligned.
- BUG-000132412: Fixed an issue where a WMTSLayer was rendered with incorrect levels of detail (LOD) after zooming in and out multiple times.
- BUG-000132880: Fixed an issue where visibility layout property of style layers in a VectorTileLayer was not honored when zooming in and out.
- BUG-000133609: Fixed an issue where a WMTSLayer failed to load if the serviceMode was
", but was not defined in the constructor.KV P" - BUG-000133696: Fixed an issue where the CSVLayer is converting last column int values to dates when The CSV data file has Windows (CR LF).
- BUG-000133980: Fixed an issue where the Sketch widget update event failed to trigger after deselection of a Graphic.
- BUG-000134238: Fixed an issue where a WMSLayer would get slightly offset if the screen resolution was higher the maxWidth or maxHeight of the layer.
- BUG-000134595: Fixed an issue where HeatmapStatistics fail when using a spatial reference other than Web Mercator (102100).
- BUG-000134662: Fixed an issue where a ImageryTileLayer was displayed in all black or green on some Android mobile browsers.
- BUG-000134722: Fixed an issue where memory usage increasing when constantly adding and deleting features from a FeatureLayer by calling applyEdits.
- BUG-000134757: Fixed an issue with opacity on a polygon MapImageLayer published with marker symbols, after its popup has been opened, panning or zooming will remove the markers.
- BUG-000134784: Fixed an issue where clustering with FeatureReductionCluster differed, depending on the map interaction.
- BUG-000134786: Fixed an issue where SVG symbols were not printed correctly when rendered with UniqueValueRenderer.
- BUG-000134849: Removed unnecessary
bower.jsonfiles from local API build output. - BUG-000135212: Fixed a bug where graphics are displayed in wrong z-order at initial load.
- GEONET-261976: Fixed an issue where near simultaneous calls to FeatureLayer.applyEdits were not working as expected.
- GEONET-622683: Fixed an issue FeatureLayerView.queryExtent is returning 0,0 for xmin and ymin values.
- GEONET-958751: Fixed an issue where the Search widget would throw an error message in the browser console when
Search.locationis set to false.Enabled - GEONET-959033: Fixed the
Invalid time valueerror message that gets thrown when there is a date FieldInfo specified at the PopupTemplate and rendered within the popup. - Fixed an issue with the Search widget input boxes with Safari on iOS devices.
- Fixed an issue with the alignment of CoordinateConversion widget components when using right-to-left (RTL).
- Fixed as issue with the labeling deconfliction strategy when using multiple LabelClasses.
- ENH-000124689: The request class is now used for legend graphic requests on WMSLayers to allow for request interception.
- ENH-000134640: The StreamLayer now has updateInterval property that can be used to configure the minimum rate at which the StreamLayer is updated.
- GEONET-418997: Enhanced the KMLLayer.MapImage to display when the spatial reference is not WGS84 (wkid: 4326).
- Added additional options to the
symbolproperty of symbolUtils.renderPreviewHTML()Config - Enhanced Popup so that the focus shifts to the first focusable element of the popup.
- Enhanced UniqueValueInfo.value to accept
numbervalues as unique values in addition to strings. Previously, numbers were autocast tostrings. - Enhanced accessibility on the LayerList widget when actions are defined.
- Enhanced the Directions widget by cleaning-up the UI graphics for a more consistent experience.
- Features of a SceneLayer - such as buildings and 3D objects - now fade-in while they are being loaded from the service.
- SceneLayer and BuildingSceneLayer popups now show attribute values coming from related feature tables.
- BuildingComponentSublayerView can now apply client-side spatial and attribute filters to individual features of a BIM model.
Additional packages
Version 4.18 of the ArcGIS Maps SDK for JavaScript uses ArcGIS Arcade 1.12 (since 4.18).
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.33 - June 2025
- Version 4.32 - February 2025
- 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