ArcGIS API for JavaScript 4.12 and 3.29

07-02-2019 05:43 PM
Esri Regular Contributor
1 7 3,273

Today, we are pleased to release versions 4.12 and 3.29 of the ArcGIS API for JavaScript. Here are some of the 4.12 highlights (please refer to the 3.29 link at the end for 3.x updates).


The Stats

We added 42 new classes, 11 new widgets, and fixed 34 bugs. Also, 93% of the codebase is now written in TypeScript.




Time is a key component of this release. We added a TimeInterval class to describe a length of time in different temporal units, a TimeSlider widget to simplify time manipulation in your application, and a timeExtent property in 2D MapViews and 3D SceneViews to easily update all time aware layers.



Loading, rendering, fetching, drawing, all these verbal nouns saw significant improvements with this release. Parallelization of requests. Tile processing optimizations. We’re talking revamped tessellators folks. Who wouldn’t want the new I3S specification version 1.7 to make your scene layers load 2x faster? Or how about pure client-side queries in 3D that don't require a round-trip to the server?



We take major strides to modernize our API at every release. This modernization allows our API to play nicer with others (e.g. other frameworks, native browser methods, and 3rd party APIs). This time around we made the BeforeInterceptorCallback function asynchronous, so it can now also return a promise. In fact, most asynchronous methods in the API now support an optional abort signal parameter, so they can be canceled and return a promise that will be rejected with an error. Lastly, there is a new has flag available to enable native JavaScript promises. Look out for an upcoming blog post to discuss this further.



Note: we’re talking widgets, not small hamburgers. We added a slew of new slider widgets to help you interact with any kind of user input involving numbers or a range of values. You already met the TimeSlider, but we have several more Slider widgets that might interest you, including a base Slider widget, which is a great starting point if you want to make your own customized slider experience.


And More...

There’s so much more to cover. Realistic water rendering with the new WaterSymbol3DLayer. New 2D WebStyleSymbols (used to be only available in 3D)! Scale-dependent visualizations for smart mapping. Even better labeling options and behaviors??


It’s been a great release, and we are excited to share it with you. If we don’t see you at the UC in San Diego next week, please feel free to let us know how we’re doing via email/GeoNet/social media. Couple more links to share:


Release Blog


Video: What's new with the ArcGIS API for JavaScript 4.12


4.12 Release Notes


4.12 Samples


3.29 What’s New

About the Author
Noah Sager is a Product Engineer on the ArcGIS Maps SDK for JavaScript team at Esri. Prior to joining Esri, he mapped utility lines around Appalachia, investigated public restroom access in Chicago, and studied foraging behavior in squirrels in Canada.