4x!
The first 2024 release of the ArcGIS Maps SDK for JavaScript is here. Version 4.29 is being widely heralded as the best and/or most recent 4x release in ever. Critics are raving about components, and can’t wait to check out the new functionality and updated documentation.
https://developers.arcgis.com/javascript/latest/release-notes/
3x!
We are also releasing version 3.46 of the ArcGIS API for JavaScript. This will be the last version of 3x. On July 1st, 2024, all 3x versions will be retired. On a personal note, I greatly enjoyed working with many 3x versions over the past 11 years, and will remember it fondly.
Dev Summit
That’s right, the first JavaScript Maps SDK release of the year happens just before our annual Developer Summit. If you’re reading this blog, and/or enjoy working with our technology, then we hope you’ll join us in Palm Springs, March 12 – 15.
https://www.esri.com/en-us/about/events/devsummit/overview
Minimalism code
The component library currently consists of 3 packages: Map components, Chart components, and Coding components. They now have more properties, more events, and improvements to the documentation and samples. Components are still in beta, which means now is an excellent time to learn about them and test them out, but keep your eyes peeled (this expression is possibly referring to the taste of certain fruits or vegetables being improved if peeled, e.g. bananas) for updates when they come out of beta in the near future.
https://developers.arcgis.com/avascript/latest/release-notes/#maps-sdk-components-beta
It’s a hit!
HitTest() got better in MapView (respects drawing order of features!) and now works with VectorTileLayer. The MapView improvements also improved the Popup and Features widget behaviors.
https://developers.arcgis.com/javascript/latest/release-notes/#mapview-hittest-improvements
Notes to the Editor
The Editor widget got some more love at 4.29, with updated constraints and capabilities. Alongside this is the new Directional Pad widget, which can be super useful if you need to move the map while making edits (currently only supported in 2D). What about OrientedImageryLayer? Yes, at 4.29, you can now edit that layer too. Editor also added support for utility network rule-based snapping.
https://developers.arcgis.com/javascript/latest/release-notes/#editing-updates
More dates and better times
The FeatureTable and Directions widgets were enhanced with better support for dates, times, and time zones. With 2024 being a leap year (also known as an intercalary year), now is a great time to update to ensure the most accurate user experience.
https://developers.arcgis.com/javascript/latest/release-notes/#directions---time-zone-support
https://en.wikipedia.org/wiki/Leap_year
ES in the browser?
ES module samples have had to be downloaded locally to enjoy. Now, with the power of the internet and the ArcGIS Maps SDK for JavaScript version 4.29, these samples run live in the browser using the StackBlitz environment. To try it out, search for samples with the ESM tag, and click the “Open ESM sample (StackBlitz)” button.
https://developers.arcgis.com/javascript/latest/release-notes/#run-es-module-samples-in-the-browser
Realism meets elevation (in a geospatial context)
The new IntegratedMesh3DTilesLayer (IM3DTL for short) keeps it real by loading integrated mesh data based on a hierarchical data structure defined by the 3D Tiles specification.
But if that’s not real enough, check out our new custom render nodes. Render nodes are an evolution of the external renderer that can offer advanced flexibility. Custom render nodes allow WebGL level access to the render pipeline of the SceneView to create cool custom visualizations and effects. These tasks can range from rendering objects to applying postprocessing effects.
But if that’s too real, then the SceneView has the capability to render a 2D sub-region of the camera (good for context). The Scalable GIS Renderer project on GitHub uses this to implement a sample application for viewing 3D ArcGIS online web scenes on a wicked cool display.
https://developers.arcgis.com/javascript/latest/release-notes/#3d-updates
Upgrade the UN
While the United Nations may be outside the scope of this blog, the Utility Network (UN) got some legit enhancements at this release. SubtypeGroupLayer added support for Arcade, and can now be utilized when configuring popups, renderers, and labels. Editor added support for utility network rule-based snapping with the SubtypeGroupLayer. Now, the snapping rules configured in a utility network will be respected when creating or updating features while snapping is enabled, and the utility network is loaded on the map. Lastly, you can now edit utility network Associations.
https://developers.arcgis.com/javascript/latest/release-notes/#utility-network
Does it Print?
We added some really neat functionality to printing. First, we enhanced the Print widget with Calcite, so it looks much cooler now. Second, if you’re working with a federated Portal, you can create print layouts in ArcGIS Pro, upload them to Portal, and configure them to work with your existing Print service without having to republish the entire Print service! Lastly, if you’re working with a FeatureLayer, we can now print highlighted features too.
https://developers.arcgis.com/javascript/latest/release-notes/#printing
Bells and whistles
These aren’t actual bells and whistles, or literal bells and whistles, but there are still a lot of important updates that you should know about. Whether it’s the places basemaps, updated UI of LayerList / BasemapLayerList / TableList, or a plethora of raster updates, I highly recommend checking out the full Release Notes and official Release Blog to learn more.
Latest Version (High Hopes parody)
Disclaimer: The views and opinions expressed in the below song parody are those of the author and do not necessarily reflect the official policy or position of Esri, or any of its affiliates. Any rebroadcast, retransmission, or recounting of this song, without the express written consent of Esri, is prohibited.
Had to update to the latest version,
Good thing the release notes are worth immersion,
Downloads don’t affect my introversion,
Always latest version
Had to update to the latest version,
Didn’t know how because I’m a shy person,
At least 3x stopped carrying this burden,
Always latest version
Components said,
Minimal coding,
Be something greater,
Forget the legacy,
Maps SDK,
Back in 3x days,
AMD everything, AMD everything
Components said,
Widget and layer upgrades,
Better date and time displays,
ES apps in the browser plays,
Raster function victories,
Back in 3x days,
AMD everything, AMD everything
Components said,
Come to Dev Summit,
I know I’m still in beta,
Frameworks are waiting,
No more complaining,
And I hate to see you not upgrading
Had to update to the latest version,
Good thing the release notes are worth immersion,
Downloads don’t affect my introversion,
Always latest version
Had to update to the latest version,
Glad I did ‘cause I’m a Portal printing person,
At least Calcite can carry any burden,
Always latest version
Components said,
It’s time for version management,
3D tile support,
Custom render node rapport,
Time to change,
AMD everything, AMD everything
Stay up on smart mapping,
Stay up on smart mapping,
And never downgrade, oh
Stay up on smart mapping,
Stay up on smart mapping,
And never downgrade
Components said,
Come to Dev Summit,
I know I’m still in beta,
Frameworks are waiting,
No more complaining,
And I hate to see you not upgrading,
They say it’s already in Pro but they haven’t tested the best Maps SDK,
Kay-kay-kay
So I got another update and it’s gonna make your day,
Day-day-day
Had to update to the latest version,
Good thing the release notes are worth immersion,
Downloads don’t affect my introversion,
Always latest version
Had to update to the latest version,
Didn’t know how because I’m a shy person,
At least 3x stopped carrying this burden,
Always latest version
References
Release Blog
4.29 Release Notes
https://developers.arcgis.com/javascript/latest/guide/release-notes/index.html
4.29 Samples
https://developers.arcgis.com/javascript/latest/sample-code/?tagged=4.29
Breaking Changes across all 4x releases
https://developers.arcgis.com/javascript/latest/guide/breaking-changes/index.html
Song inspiration
https://www.youtube.com/watch?v=fH_OnJk6QqU
Fair use and Parody law
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.