Release notes for 4.18
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:
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 applyEdits()
. 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 SketchViewModel.snappingOptions
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 API 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 toolEventInfo
parameter now provides more information when the user selects or deselects graphics using Shift+Left-click
. 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.
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 API 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.
Prior to 4.18, you had to do the following (these patterns are still supported).
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 API 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.
Support for Slovak locale
Version 4.18 adds support for the Slovak (sk) locale. See Localization topic for more information about using different locales.
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/OAuthInfo
- Added properties: forceUserId, userId
esri/intl
esri/layers/FeatureLayer
- Added properties: customParameters, editingEnabled, effect
esri/layers/GeoRSSLayer
- Added properties: effect, legendEnabled
esri/layers/GroupLayer
- Added property: effect to
esri/layers/GroupLayer
- Added method: findTableById to
esri/layers/GroupLayer
- Added property: effect to
esri/layers/ImageryLayer
- Added property: effect to
esri/layers/ImageryLayer
- Added methods: computeHistograms, computeStatisticsHistograms, identify, queryRasters
- Added property: effect to
esri/layers/MapImageLayer
- Added properties: customParameters, effect
esri/layers/SceneLayer
- Added property: capabilities to
esri/layers/SceneLayer
- Added method: applyEdits to
esri/layers/SceneLayer
- Added property: capabilities to
esri/layers/StreamLayer
- Added properties: effect, updateInterval
esri/layers/TileLayer
- Added properties: customParameters, effect
esri/layers/VectorTileLayer
- Added property: effect to
esri/layers/VectorTileLayer
- Added methods: deleteStyleLayer, getStyleLayer, getStyleLayerIndex, getStyleLayerVisibility, setStyleLayer, setStyleLayerVisibility
- Added property: effect to
esri/renderers/support/AuthoringInfo
- Added properties: statistics, univariateSymbolStyle, univariateTheme
esri/TimeExtent
esri/widgets/Bookmarks
- Added properties: defaultCreateOptions, defaultEditOptions
esri/widgets/Bookmarks/BookmarksViewModel
- Added properties: defaultCreateOptions, defaultEditOptions
esri/widgets/Print
- Added properties: includeDefaultTemplates, portal
esri/widgets/Print/PrintViewModel
- Added properties: defaultTemplates, effectivePrintServiceUrl, includeDefaultTemplates, portal
- Added method: get to
esri/widgets/Print/PrintViewModel
esri/widgets/smartMapping/ColorSizeSlider
- Added properties: handlesSyncedToPrimary, primaryHandleEnabled
- Added method: updateRenderer to
esri/widgets/smartMapping/ColorSizeSlider
esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel
- Added properties: handlesSyncedToPrimary, primaryHandleEnabled
esri/widgets/smartMapping/SizeSlider
- Added properties: handlesSyncedToPrimary, primaryHandleEnabled
esri/widgets/smartMapping/SizeSlider/SizeSliderViewModel
- Added properties: handlesSyncedToPrimary, primaryHandleEnabled
- Added property:
apiKey
to esri/config - Added property:
assetsPath
to esri/config - Added property:
isAggregate
to esri/Graphic - Added property:
forceUserId
to esri/identity/OAuthInfo - Added property:
userId
to esri/identity/OAuthInfo - Added property:
effect
to 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:
customParameters
to esri/layers/FeatureLayer, esri/layers/MapImageLayer, esri/layers/TileLayer - Added property:
editingEnabled
to esri/layers/FeatureLayer - Added property:
legendEnabled
to esri/layers/GeoRSSLayer - Added property:
capabilities
to esri/layers/SceneLayer - Added property:
updateInterval
to esri/layers/StreamLayer - Added property:
returnGeometry
to esri/PopupTemplate - Added property:
statistics
to esri/renderers/support/AuthoringInfo - Added property:
univariateSymbolStyle
to esri/renderers/support/AuthoringInfo - Added property:
univariateTheme
to esri/renderers/support/AuthoringInfo - Added property:
aggregateIds
to esri/tasks/support/Query - Added property:
filter
to esri/views/layers/BuildingComponentSublayerView - Added property:
tables
to esri/webdoc/applicationProperties/Search - Added property:
defaultCreateOptions
to esri/widgets/Bookmarks, esri/widgets/Bookmarks/BookmarksViewModel - Added property:
defaultEditOptions
to esri/widgets/Bookmarks, esri/widgets/Bookmarks/BookmarksViewModel - Added property:
includeDefaultTemplates
to esri/widgets/Print, esri/widgets/Print/PrintViewModel - Added property:
portal
to esri/widgets/Print, esri/widgets/Print/PrintViewModel - Added property:
defaultTemplates
to esri/widgets/Print/PrintViewModel - Added property:
effectivePrintServiceUrl
to esri/widgets/Print/PrintViewModel - Added property:
visibleElements
to esri/widgets/Sketch - Added property:
snappingOptions
to esri/widgets/Sketch/SketchViewModel - Added property:
handlesSyncedToPrimary
to esri/widgets/smartMapping/ColorSizeSlider, esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel, esri/widgets/smartMapping/SizeSlider, esri/widgets/smartMapping/SizeSlider/SizeSliderViewModel - Added property:
primaryHandleEnabled
to esri/widgets/smartMapping/ColorSizeSlider, esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel, esri/widgets/smartMapping/SizeSlider, esri/widgets/smartMapping/SizeSlider/SizeSliderViewModel - Added method:
createJSONLoader
to esri/intl - Added method:
fetchMessageBundle
to esri/intl - Added method:
normalizeMessageBundleLocale
to esri/intl - Added method:
registerMessageBundleLoader
to esri/intl - Added method:
findTableById
to esri/layers/GroupLayer, esri/Map, esri/WebMap, esri/WebScene - Added method:
computeHistograms
to esri/layers/ImageryLayer - Added method:
computeStatisticsHistograms
to esri/layers/ImageryLayer - Added method:
identify
to esri/layers/ImageryLayer - Added method:
queryRasters
to esri/layers/ImageryLayer - Added method:
applyEdits
to esri/layers/SceneLayer - Added method:
deleteStyleLayer
to esri/layers/VectorTileLayer - Added method:
getStyleLayer
to esri/layers/VectorTileLayer - Added method:
getStyleLayerIndex
to esri/layers/VectorTileLayer - Added method:
getStyleLayerVisibility
to esri/layers/VectorTileLayer - Added method:
setStyleLayer
to esri/layers/VectorTileLayer - Added method:
setStyleLayerVisibility
to esri/layers/VectorTileLayer - Added method:
expandTo
to esri/TimeExtent - Added method:
union
to esri/TimeExtent - Added method:
get
to esri/widgets/Print/PrintViewModel - Added method:
updateRenderer
to esri/widgets/smartMapping/ColorSizeSlider - Added method:
messageBundle
to esri/widgets/support/widget - Added method:
updateWebDocument
to esri/widgets/TimeSlider, esri/widgets/TimeSlider/TimeSliderViewModel - Added property:
selectionColumn
to FeatureTable.visibleElements - Added property:
title
to LabelClass.labelExpressionInfo - Added parameter:
colorOptions.isContinuous
to createContinuousRenderer() in esri/smartMapping/renderers/univariateColorSize - Added parameter:
symbolOptions
to createContinuousRenderer() in esri/smartMapping/renderers/univariateColorSize - Added parameter:
theme
to createAgeRenderer(), createContinuousRenderer(), and createVisualVariables() in esri/smartMapping/renderers/size - Added parameter:
theme
to 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
defaultCreateOptions
instead. - 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
captureViewpoint
instead. - 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.
SmartMapping.params.basemap
deprecated since version 4.13. Useview
instead.
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
takeScreenshot()
method on MapView and SceneView has changed topng
instead ofjpg
. - The
mediaType
property was removed from OGCFeatureLayer. All requests for metadata and data content will be made with the"f=json"
url parameter. - FeatureForm.getValues() will now always return an Object with updated attributes. Prior to this, it would return
null
if there was no feature provided. - FeatureForm.getValues() will return
undefined
if there is no existing attribute on the edit feature. This is meant to distinguish from validnull
values. - The FeatureTable widget no longer uses the layer's maxRecordCount to determine pagination size. It automatically defaults to
50
records 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
click
instead ofhybrid
. - The
RouteParameters.barriers
property has been removed. It was deprecated as of version 4.11. Use pointBarriers, polygonBarriers, and/or polylineBarriers instead.
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
impedanceAttribute
set in ServiceAreaParameters was not properly passed into thesolveServiceArea
request. - 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
"KVP"
, but was not defined in the constructor. - 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.json
files 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.locationEnabled
is set to false. - GEONET-959033: Fixed the
Invalid time value
error 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
symbolConfig
property of symbolUtils.renderPreviewHTML() - Enhanced Popup so that the focus shifts to the first focusable element of the popup.
- Enhanced UniqueValueInfo.value to accept
number
values 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 API for JavaScript uses ArcGIS Arcade 1.12 (since 4.18).
Previous Releases
- Version 4.17 - October 2020
- Version 4.16 - July 2020
- Version 4.15 - April 2020
- Version 4.14 - December 2019
- Version 4.13 - October 2019
- Version 4.12 - June 2019
- Version 4.11 - March 2019
- Version 4.10 - December 2018
- Version 4.9 - September 2018
- Version 4.8 - July 2018
- Version 4.7 - April 2018
- Version 4.6 - December 2017
- Version 4.5 - September 2017
- Version 4.4 - July 2017
- Version 4.3 - March 2017
- Version 4.2 - December 2016
- Version 4.1 - September 2016
- Version 4.0 - May 2016