{"id":1760672,"date":"2022-11-09T21:14:01","date_gmt":"2022-11-10T05:14:01","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1760672"},"modified":"2024-04-12T03:26:19","modified_gmt":"2024-04-12T10:26:19","slug":"whats-new-in-arcgis-api-for-javascript-v4-25","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25","title":{"rendered":"What&#8217;s new in ArcGIS API for JavaScript (v4.25)"},"author":4271,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[26751,24921,767662,23221,767002],"industry":[],"product":[761642,36831,36601],"class_list":["post-1760672","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-clustering","tag-javascript","tag-related-records","tag-web-mapping","tag-whats-new-november-2022","product-platform","product-js-api-arcgis","product-developers"],"acf":{"short_description":"The JavaScript API was updated with related records in popups, the ability to customize cluster symbols, dimensioning in 3D, and much more. ","flexible_content":[{"acf_fc_layout":"content","content":"<p>Version 4.25 is out and we&#8217;re excited to share all of the powerful new capabilities and improvements that the team has been working on! Read on to learn about some of the highlights in the release&#8230;<\/p>\n<h2>Related records in popups<\/h2>\n<p>We added support for displaying related records in popups using the new\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-popup-content-RelationshipContent.html\">RelationshipContent<\/a>\u00a0content type\u00a0in\u00a0the popup template. You can design your popup in the same way that you\u2019ve done before with other types such as pie charts and text \u2013 either authored in the Map Viewer and saved to a web map or layer or defined in your code. The related layer or table must be added to the map. We will be adding support for <em>editing<\/em> related records in an upcoming release.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760702,"id":1760702,"title":"relationship-content-sample","filename":"relationship-content-sample.png","filesize":31357,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/relationship-content-sample","alt":"","author":"4271","description":"","caption":"","name":"relationship-content-sample","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 19:52:52","modified":"2022-11-05 19:52:52","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/relationship-content-sample.png","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/popuptemplate-browse-related-records\/"},{"acf_fc_layout":"content","content":"<h2>Custom cluster styles<\/h2>\n<p>By default, clusters are styled based on the underlying layer&#8217;s renderer so that the cluster symbol either represents the average value of the features in the cluster, or the most common category. You can now override the default style of the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionCluster.html\">FeatureReductionCluster<\/a> using either a unique cluster symbol or a renderer.<\/p>\n<p><strong>Unique cluster symbol: <\/strong>Define a unique cluster symbol while retaining the symbology of individual points defined in the layer&#8217;s renderer.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760712,"id":1760712,"title":"cluster-symbol","filename":"cluster-symbol.png","filesize":8719,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/cluster-symbol","alt":"","author":"4271","description":"","caption":"","name":"cluster-symbol","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 19:53:47","modified":"2022-11-05 19:53:47","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":400,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","medium-width":464,"medium-height":232,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","medium_large-width":768,"medium_large-height":384,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","large-width":800,"large-height":400,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","1536x1536-width":800,"1536x1536-height":400,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","2048x2048-width":800,"2048x2048-height":400,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","card_image-width":800,"card_image-height":400,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-symbol.png","wide_image-width":800,"wide_image-height":400}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-cluster-symbol\/"},{"acf_fc_layout":"content","content":"<p><strong>Cluster renderer:<\/strong> Rather than define a single cluster symbol, you can create a custom cluster <em>renderer<\/em> based on\u00a0an aggregation of the underlying data, such as the sum or average of a given field. See the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-cluster-aggregate-fields\/\">Clustering with aggregate fields<\/a>\u00a0and the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-cluster-renderer-sum\/\">Cluster based on the sum of a field<\/a>\u00a0samples to learn how to do this.<\/p>\n<p>One option you have for the renderer is a pie chart, which is a great way to see a breakdown of the data that the cluster represents. See the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-cluster-pie-charts\/\">Clusters as pie charts<\/a>\u00a0sample to learn more.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760722,"id":1760722,"title":"cluster-piecharts","filename":"cluster-piecharts.jpg","filesize":43970,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/cluster-piecharts","alt":"","author":"4271","description":"","caption":"","name":"cluster-piecharts","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 19:54:35","modified":"2022-11-05 19:54:35","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":796,"height":320,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","medium-width":464,"medium-height":187,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","medium_large-width":768,"medium_large-height":309,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","large-width":796,"large-height":320,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","1536x1536-width":796,"1536x1536-height":320,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","2048x2048-width":796,"2048x2048-height":320,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","card_image-width":796,"card_image-height":320,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/cluster-piecharts.jpg","wide_image-width":796,"wide_image-height":320}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-cluster-pie-charts\/"},{"acf_fc_layout":"content","content":"<h2>Cloud Optimized GeoTiff (COG) support<\/h2>\n<p>This release adds\u00a0support for adding Cloud Optimized GeoTiff (COG) files to imagery tile layers via the URL property (released in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/faq\/#what-does-the-beta-tag-mean\">beta<\/a>). COG files can take advantage of all the capabilities of imagery tile layers.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1762562,"id":1762562,"title":"imagery-cog","filename":"imagery-cog.png","filesize":195857,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/imagery-cog","alt":"","author":"4271","description":"","caption":"","name":"imagery-cog","status":"inherit","uploaded_to":1760672,"date":"2022-11-07 22:37:27","modified":"2022-11-07 22:37:27","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/imagery-cog.png","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-imagerytilelayer-cog\/"},{"acf_fc_layout":"content","content":"<h2>Full 3D snapping<\/h2>\n<p>Snapping in 3D scenes has been enhanced with the ability to snap in all three dimensions to derive complete x, y and z coordinates from existing features. In addition to feature layers, you can snap to features in 3D Object and Building Scene Layers.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760732,"id":1760732,"title":"3d-snapping","filename":"3d-snapping.gif","filesize":631712,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/3d-snapping-2","alt":"","author":"4271","description":"","caption":"","name":"3d-snapping-2","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 19:55:28","modified":"2022-11-05 19:55:28","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-snapping.gif","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-editor-3d\/"},{"acf_fc_layout":"content","content":"<h2>Length dimensioning in 3D scenes<\/h2>\n<p>A new capability called dimensioning allows you to display length or distance measurements between two points in a 3D scene. This can be done programmatically &#8211; for example if you want to show measurements of geometries from another layer \u2013 or by allowing the user to interactively manipulate the dimensions associated with a layer. Users can easily dimension existing features through 3D snapping. The dimensions are represented in a new layer type called <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-DimensionLayer.html\" target=\"_blank\" rel=\"noopener\">DimensionLayer<\/a> which will be included in the legend and layer list widgets just as any other layer and can be saved to and loaded from a WebScene. The dimensions can be used in slides to share with stakeholders, such as for existing and proposed developments.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760742,"id":1760742,"title":"3d-dimensioning","filename":"3d-dimensioning.gif","filesize":648971,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/3d-dimensioning","alt":"","author":"4271","description":"","caption":"","name":"3d-dimensioning","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 19:57:52","modified":"2022-11-05 19:57:52","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-dimensioning.gif","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-dimension\/"},{"acf_fc_layout":"content","content":"<h2>Terrain shading<\/h2>\n<p>We\u2019ve made it easier to perceive structure and shape of the ground in 3D scenes by incorporating a dynamically shaded relief based on sun position. If you are using a vector basemap that doesn\u2019t incorporate a hill shade (like the topographic basemap does) the terrain shading can be a huge improvement to the aesthetic of the scene.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760752,"id":1760752,"title":"3d-terrain-shading","filename":"3d-terrain-shading.gif","filesize":881173,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/3d-terrain-shading","alt":"","author":"4271","description":"","caption":"","name":"3d-terrain-shading","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 19:58:46","modified":"2022-11-05 19:58:46","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":801,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","medium_large-width":768,"medium_large-height":431,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","large-width":801,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","1536x1536-width":801,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","2048x2048-width":801,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","card_image-width":801,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-terrain-shading.gif","wide_image-width":801,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Voxel Layer updates<\/h2>\n<p>Drill deeper into the rich data of <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-VoxelLayer.html\" target=\"_blank\" rel=\"noopener\">voxel layers<\/a> by exploring isosurfaces and dynamically examining horizontal and vertical slices of the 3D volume. There are two approaches to display different isosurfaces:<\/p>\n<ul>\n<li>For continuous variables, you can define a transfer function to apply normalized color or transparency stops.<\/li>\n<li>For discrete variables, you can set a color for each variable.<\/li>\n<\/ul>\n<p>To look inside your data, you can cut vertically through the volumes and slices to carve up the cuboid volume into convex shells.<\/p>\n<p>Try out all those new capabilities in the <a href=\"https:\/\/geoxc-apps4.bd.esri.com\/atmospheric-measurements\/\">visualizing atmospheric measurements<\/a> demo app.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760772,"id":1760772,"title":"3d-voxel-layer","filename":"3d-voxel-layer.gif","filesize":1206238,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/3d-voxel-layer-3","alt":"","author":"4271","description":"","caption":"","name":"3d-voxel-layer-3","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 20:10:18","modified":"2022-11-05 20:10:18","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/3d-voxel-layer.gif","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/geoxc-apps4.bd.esri.com\/atmospheric-measurements\/"},{"acf_fc_layout":"content","content":"<h2>Editing improvements<\/h2>\n<p>The editing experience is constantly evolving as we work to maximize end user productivity, data quality, and powerful editing capabilities in your applications. Here are some of the updates made in this release:<\/p>\n<p><strong>Use data from other layers: <\/strong>Calculate values for fields in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-FeatureForm.html\" target=\"_blank\" rel=\"noopener\">feature form<\/a> and editor widgets using data from other layers in your Arcade expressions. This means you can derive values based on another layer. For example, calculate fields in a point layer based on values from an intersecting feature in a polygon layer, including layers not part of the map.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760782,"id":1760782,"title":"async-form","filename":"async-form.gif","filesize":328726,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/async-form","alt":"","author":"4271","description":"","caption":"","name":"async-form","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 20:11:46","modified":"2022-11-05 20:11:46","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/async-form.gif","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-featureform-async\/"},{"acf_fc_layout":"content","content":"<p><strong>2D <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-interactive-sketch-SketchTooltipOptions.html\" target=\"_blank\" rel=\"noopener\">tooltips<\/a> while drawing<\/strong>: Use tooltips to display total length of polylines and area of polygons while drawing new features and updating existing features. While already possible in 3D, this release adds support for 2D.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760792,"id":1760792,"title":"tooltips","filename":"tooltips.jpg","filesize":14080,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/tooltips-3","alt":"","author":"4271","description":"","caption":"","name":"tooltips-3","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 20:12:41","modified":"2022-11-05 20:12:41","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":589,"height":251,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","medium-width":464,"medium-height":198,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","medium_large-width":589,"medium_large-height":251,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","large-width":589,"large-height":251,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","1536x1536-width":589,"1536x1536-height":251,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","2048x2048-width":589,"2048x2048-height":251,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","card_image-width":589,"card_image-height":251,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/tooltips.jpg","wide_image-width":589,"wide_image-height":251}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>Delete features in the Feature Table widget<\/strong>: The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-FeatureTable.html\" target=\"_blank\" rel=\"noopener\">Feature Table widget<\/a> now supports deleting selected features.<\/p>\n<p><strong>Restrict editing capabilities: <\/strong>Support for app-level restrictions on attribute or geometry updates. This provides further refinement of editing capabilities that are defined in the service. The UI will automatically update based the editing capabilities allowed \u2013 whether they were defined in the service or via code.<\/p>\n<h2>Media layers: position, skew, and transform<\/h2>\n<p>If you are overlaying images or videos on the map, control points enable you to georeference specific locations of the media to position, skew and transform it on the map. In an upcoming release, there will be a widget enabling the end user to interactively adjust the media.<\/p>\n<p>Check out the new\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-medialayer-control-points\/\">MediaLayer with control points<\/a>\u00a0sample to see the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-ControlPointsGeoreference.html\">ControlPointsGeoreference<\/a>\u00a0in use.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1760802,"id":1760802,"title":"ml-control-point","filename":"ml-control-point.gif","filesize":952748,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\/ml-control-point","alt":"","author":"4271","description":"","caption":"","name":"ml-control-point","status":"inherit","uploaded_to":1760672,"date":"2022-11-05 20:14:00","modified":"2022-11-05 20:14:00","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":400,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","medium-width":464,"medium-height":232,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","medium_large-width":768,"medium_large-height":384,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","large-width":800,"large-height":400,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","1536x1536-width":800,"1536x1536-height":400,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","2048x2048-width":800,"2048x2048-height":400,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","card_image-width":800,"card_image-height":400,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/ml-control-point.gif","wide_image-width":800,"wide_image-height":400}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-medialayer-control-points\/"},{"acf_fc_layout":"content","content":"<h2>Working with multidimensional data<\/h2>\n<p>Multidimensional imagery data is commonly used in the scientific community to store atmospheric, oceanographic, and earth science data. The information is stored as slices, where the service has a slice for each unique combination of dimension values and variable names. You can visualize and perform analysis on this data on the client using the imagery layer and imagery tiled layer. We have enhanced these layers with the following capabilities:<\/p>\n<p><strong>Set display criteria:<\/strong> Expose only a subset of dimensional slices that meet your criteria. For example you may have a dataset containing soil temperature and moisture, and you can choose to expose only a subset of the data, like the soil temperature at a specific elevation range. Check out the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-imagery-multidimensional\/\">Multidimensional ImageryTileLayer<\/a>\u00a0sample to learn more.<\/p>\n<p><strong>Work with transposed data:<\/strong> The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-ImageryTileLayer.html#identify\">identify()<\/a> method was enhanced to return pixel values for all (or just the dimensional definitions that you specify) dimensional slices associated with a transposed multidimensional tiled image service. These services are created for optimizing performance while accessing pixel values across all multidimensional slices.<\/p>\n<p>To learn more about working with multidimensional imagery, see the new documentation added to <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-ImageryLayer.html#multidimensionaldata\">ImageryLayer<\/a>\u00a0and\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-ImageryTileLayer.html#multidimensionaldata\">ImageryTileLayer<\/a>.<\/p>\n<h2>Notable updates in ArcGIS Online for Developers<\/h2>\n<p>The November update of ArcGIS Online includes many improvements that are based on capabilities in the JavaScript API. Map Viewer and Scene Viewer provide a great way to explore your data and new styling options, and easily bring them into your app using the saved web map, web scene or layer. Here are a few example updates to check out:<\/p>\n<ul>\n<li>(Map Viewer) Binning: there is a new aggregation option to use binning. Bin size, fields, labels, and pop-ups can also be configured.<\/li>\n<li>(Map Viewer) Set the cluster symbol or renderer, including using the pie chart style.<\/li>\n<li>(Map Viewer) Settings for point and line animated symbols (published via ArcGIS Pro) have been enhanced to allow you to toggle animations on or off, change symbol size, reverse the animation direction, and control speed, looping, and duration<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":1760602,"id":1760602,"title":"nov22-21","filename":"nov22-21-1.gif","filesize":786563,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/announcements\/whats-new-arcgis-online-november-2022\/nov22-21-2","alt":"Animations","author":"7641","description":"","caption":"","name":"nov22-21-2","status":"inherit","uploaded_to":1732112,"date":"2022-11-04 23:54:46","modified":"2022-11-04 23:55:02","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":518,"height":250,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","medium-width":464,"medium-height":224,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","medium_large-width":518,"medium_large-height":250,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","large-width":518,"large-height":250,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","1536x1536-width":518,"1536x1536-height":250,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","2048x2048-width":518,"2048x2048-height":250,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","card_image-width":518,"card_image-height":250,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/nov22-21-1.gif","wide_image-width":518,"wide_image-height":250}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ul>\n<li>(Scene Viewer) The new <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/add-layers-to-scene.htm#ESRI_SECTION1_2A151B06FE344B2E86085CCDFC89AF84\" target=\"_blank\" rel=\"noopener\">Dimensions tool<\/a> let&#8217;s you interactively create dimensions with labels which display either the horizontal, vertical, or diagonal distance between the points. Using the tool you can group the dimensions into themes, with different colors and sizes for the lines and labels for each layer.<\/li>\n<\/ul>\n<h2>Accessibility<\/h2>\n<p>For increased accessibility, we made many improvements for better color contrasts in\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/styling\/#themes\">CSS themes<\/a>, better use of ARIA roles and attributes, and various other changes. This makes both for a better experience with screen readers, but also for users in general. Accessibility is a requirement with high importance and will continue to incrementally improve across releases.<\/p>\n<h2>Changes to be aware of<\/h2>\n<p>We have made the following changes to the experience within widgets to improve the user experience:<\/p>\n<ul>\n<li>We updated the loading indicator in the Layer List, Basemap Layer List, and Table List widgets from a blue line to a less distracting blue circle that will display while the layer is loading.<\/li>\n<li>We integrated performance improvements in the search widget, which introduces in a change to the search results and suggestions.\u00a0(This only applies when the searching against a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Search-LayerSearchSource.html\">layer-based source<\/a>.) Learn more in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#search-performance-improvements\">release notes<\/a>.<\/li>\n<\/ul>\n<p>We also removed non-esri packages from the CDN. This will only affect you if your code uses these packages directly and has no effect if you are simply using the API. Packages include: dgrid, dijit, dojo, dojox, dstore, and tslib. API versions 4.24 and earlier will continue to include the packages. The Dojo loader will continue to be included, to allow for AMD support in the browser.<\/p>\n<h2>Learn More<\/h2>\n<p>This blog explores many of the 4.25 updates, but there are even more in the release. For example, you can:<\/p>\n<ul>\n<li>Make a connection to a stream service web socket without having to add the stream layer to the map.<\/li>\n<li>Group unique values to a single symbol and categorize groups of symbols under headings.<\/li>\n<li>Access and control which features are currently selected in the feature table and subsequently highlighted within the map.<\/li>\n<\/ul>\n<p>To get the full scoop, check out the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/\">release notes<\/a>, and play around with the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?tagged=4.25\">new samples<\/a>.<\/p>\n<h2>Let&#8217;s talk about the release!<\/h2>\n<p>Learn about the new features added at version 4.25 of the ArcGIS API for JavaScript, directly from the product team! We are hosting a <a href=\"https:\/\/links.esri.com\/WhatsNewJSAPI425\">livestream<\/a> on <span style=\"text-decoration: underline;\">November 29<sup>th<\/sup>, 9:00am PST<\/span>. \u00a0This will be an informal setting for the JavaScript API product team to demo new features and answer questions from the audience. We hope to see you there!<\/p>\n<p><strong>What\u2019s New with the ArcGIS API for JavaScript v4.25:<\/strong> <a href=\"https:\/\/links.esri.com\/WhatsNewJSAPI425\">https:\/\/links.esri.com\/WhatsNewJSAPI425<\/a><\/p>\n"}],"authors":[{"ID":4271,"user_firstname":"Julie","user_lastname":"Powell","nickname":"Julie Powell","user_nicename":"julie-powell","display_name":"Julie Powell","user_email":"julie_powell@esri.com","user_url":"","user_registered":"2018-03-02 00:15:51","user_description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. \r\nJulie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":4811,"user_firstname":"Bjorn","user_lastname":"Svensson","nickname":"bjorn","user_nicename":"bjorn","display_name":"Bj\u00f6rn Svensson","user_email":"bsvensson@esri.com","user_url":"https:\/\/developers.arcgis.com\/javascript\/","user_registered":"2018-03-02 00:16:26","user_description":"20+ years of experience with web mapping. Currently lead project engineer for the ArcGIS Maps SDK for JavaScript development team at Esri.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Bjorn_Svensson_beard_squarish_2000.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":1773562,"post_author":"10062","post_date":"2022-11-17 15:40:10","post_date_gmt":"2022-11-17 23:40:10","post_content":"","post_title":"Join us for a live discussion: What's new in the ArcGIS API for JavaScript, v4.25","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"4-25-livestream","to_ping":"","pinged":"","post_modified":"2024-04-12 03:24:06","post_modified_gmt":"2024-04-12 10:24:06","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1773562","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"1","filter":"raw"},{"ID":1615042,"post_author":"4271","post_date":"2022-06-23 13:03:29","post_date_gmt":"2022-06-23 20:03:29","post_content":"","post_title":"What's new in ArcGIS API for JavaScript (version 4.24)","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"whats-new-in-arcgis-api-for-javascript-version-4-24","to_ping":"","pinged":"","post_modified":"2022-11-21 01:46:11","post_modified_gmt":"2022-11-21 09:46:11","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1615042","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":1519642,"post_author":"4271","post_date":"2022-03-23 10:10:51","post_date_gmt":"2022-03-23 17:10:51","post_content":"","post_title":"What's new in ArcGIS API for JavaScript (4.23)","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"whats-new-in-arcgis-api-for-javascript-4-23","to_ping":"","pinged":"","post_modified":"2022-11-21 01:48:30","post_modified_gmt":"2022-11-21 09:48:30","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1519642","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/banner5.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What&#039;s new in ArcGIS API for JavaScript (v4.25)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s new in ArcGIS API for JavaScript (v4.25)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T10:26:19+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\"},\"author\":{\"name\":\"Julie Powell\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88\"},\"headline\":\"What&#8217;s new in ArcGIS API for JavaScript (v4.25)\",\"datePublished\":\"2022-11-10T05:14:01+00:00\",\"dateModified\":\"2024-04-12T10:26:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"clustering\",\"JavaScript\",\"related records\",\"Web Mapping\",\"what's new november 2022\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\",\"name\":\"What's new in ArcGIS API for JavaScript (v4.25)\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2022-11-10T05:14:01+00:00\",\"dateModified\":\"2024-04-12T10:26:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What&#8217;s new in ArcGIS API for JavaScript (v4.25)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88\",\"name\":\"Julie Powell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"caption\":\"Julie Powell\"},\"description\":\"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. Julie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.\",\"sameAs\":[\"https:\/\/x.com\/JuliePowellGIS\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What's new in ArcGIS API for JavaScript (v4.25)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25","og_locale":"en_US","og_type":"article","og_title":"What's new in ArcGIS API for JavaScript (v4.25)","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2024-04-12T10:26:19+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25"},"author":{"name":"Julie Powell","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88"},"headline":"What&#8217;s new in ArcGIS API for JavaScript (v4.25)","datePublished":"2022-11-10T05:14:01+00:00","dateModified":"2024-04-12T10:26:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["clustering","JavaScript","related records","Web Mapping","what's new november 2022"],"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25","name":"What's new in ArcGIS API for JavaScript (v4.25)","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2022-11-10T05:14:01+00:00","dateModified":"2024-04-12T10:26:19+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"What&#8217;s new in ArcGIS API for JavaScript (v4.25)"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88","name":"Julie Powell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","caption":"Julie Powell"},"description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. Julie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","sameAs":["https:\/\/x.com\/JuliePowellGIS"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell"}]}},"text_date":"November 9, 2022","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/whats-new-in-arcgis-api-for-javascript-v4-25","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/11\/banner5.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":26751,"name":"clustering","slug":"clustering","term_group":0,"term_taxonomy_id":26751,"taxonomy":"post_tag","description":"","parent":0,"count":23,"filter":"raw"},{"term_id":24921,"name":"JavaScript","slug":"javascript","term_group":0,"term_taxonomy_id":24921,"taxonomy":"post_tag","description":"","parent":0,"count":151,"filter":"raw"},{"term_id":767662,"name":"related records","slug":"related-records","term_group":0,"term_taxonomy_id":767662,"taxonomy":"post_tag","description":"","parent":0,"count":6,"filter":"raw"},{"term_id":23221,"name":"Web Mapping","slug":"web-mapping","term_group":0,"term_taxonomy_id":23221,"taxonomy":"post_tag","description":"","parent":0,"count":28,"filter":"raw"},{"term_id":767002,"name":"what's new november 2022","slug":"whats-new-november-2022","term_group":0,"term_taxonomy_id":767002,"taxonomy":"post_tag","description":"","parent":0,"count":25,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":426,"filter":"raw"}],"product_data":[{"term_id":761642,"name":"ArcGIS Location Platform","slug":"platform","term_group":0,"term_taxonomy_id":761642,"taxonomy":"product","description":"","parent":36601,"count":215,"filter":"raw"},{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":363,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":765,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1760672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/4271"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=1760672"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1760672\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1760672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1760672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1760672"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1760672"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1760672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}