ArcGIS API for JavaScript 4.20 and 3.37

06-30-2021 02:22 PM
Esri Contributor
2 4 1,112

“A jack of all trades is a master of none, but oftentimes better than a master of one.”,_master_of_none

Welcome to the 4.20 “jack of all trades” release.

We fixed 45 bugs. Created or updated 10+ samples. Added new layers, updated and added some widgets, and made so many more enhancements.


Lay-er it on me

Making its ArcGIS API for JavaScript 4x debut is the WFSLayer. This layer allows you to create layers from an OGC Web Feature Service.

The WFSLayer sample allows you to browse FeatureTypes on the WFS service.The WFSLayer sample allows you to browse FeatureTypes on the WFS service.


Measuring in 3D got enhanced with the new DirectLineMeasurementLayer and AreaMeasurementLayer. These layers display measurement results and allow for programmatic entry of measurement points. - analysis-layers-beta


The SubtypeGroupLayer and SubtypeSublayer make it easier to work with feature layers with many subtypes, such as layers used with utility networks. Speaking of utility networks, we will be adding support for the utility network over the next couple of releases. In this release, we added initial support for the utility network and simple network tracing. - utility network

The SubtypeGroupLayer allows you to define a renderer and labels on each sublayer.The SubtypeGroupLayer allows you to define a renderer and labels on each sublayer.

Let’s keep it going. The FeatureLayer supports querying for top features with a variety of new methods. The OGCFeatureLayer can be saved in a WebMap. The WMSLayer and WMSSublayer support time dimensions. And the applyEdits() method can now edit features associated with multiple layer or tables. And more! - layer-updates


Squeaky widget gets the grease

All widgets now have a visible property to allow or prevent rendering. Many widgets now have a headingLevel property to allow changes to the level of the heading elements. For 2D point geometries, snapping is available in the Editor and Sketch widgets. The TimeSlider widget has a visual cue when the time settings are not valid. The CoordinateConversion widget now uses sessionStorage instead of localStorage. The ElevationProfile widget now has the ability to clear a drawn line with the click of the trash icon. And more! - widget-updates


More cowbell 3D Updates

A new ShadowAccumulation widget, besides looking beautiful, also provides different visualization types for a selected time range and date. We now can provide a tabular view for the features of a SceneLayer using the FeatureTable widget. And now Polygon edges and Polyline segments can be offset using the SketchViewModel. - 3d-updates

The new Shadow Accumulation widget in 3D.The new Shadow Accumulation widget in 3D.

API Keys are key

More better support for API keys shouldn’t surprise you. We added initial support for API keys at version 4.18. Now at 4.20, we added fine-grained control of API keys for FeatureLayer, SceneLayer, TileLayer, BuildingSceneLayer, IntegratedMeshLayer, and PointCloudLayer. We also improved support for API keys in the Directions and Search widgets. Now, both the routing and geocoding components default to the appropriate URL if an API key is defined. - api-keys


Rest up with fewer tasks

At version 4.19, we ported the majority of Task functionality to simple functional rest modules. This made it easier to incorporate into a more modular app design, and also reduced unnecessary dependencies. At 4.20, we ported the remainder classes to rest modules and deprecated the Task and Task support classes. - rest-modules


Please sir,  I want some more

Smart mapping updates. Slider enhancements. MapView constraint upgrades. We have a lot more to give you. Check out the release notes and release blog to master all this great new stuff today.



Release Blog

4.20 Release Notes

4.20 Samples

3.37 What’s New

Breaking Changes across all 4x releases


This blog was written in collaboration with @Noah-Sager