Built-in feature updates
The following updates apply to the built-in builder and widgets that ship with ArcGIS Experience Builder. They are available in both ArcGIS Experience Builder online and Developer Edition.
Builder
ArcGIS Experience Builder 1.21 includes several new features and enhancements as listed below:
- Accessibility — You can assign Accessible Rich Internet Application (ARIA) landmark roles to certain app elements and widgets to allow assistive technologies, like screen readers, to easily identify important parts of an app such as banners, primary page content, navigation menus, search tools, and more. The new ARIA landmark role setting appears in the Accessibility settings section for pages (if the header or footer is enabled), blocks, screen groups, Map widgets, Menu widgets, Search widgets, Section widgets, Views Navigation widgets, and all layout widgets except the Placeholder widget. Additionally, the Sidebar widget supports adding tooltip text for the expand and collapse buttons. That tooltip text also functions as aria-label values, so you can use the tooltips to give the buttons accessible names. Screen readers can announce page changes when you switch pages with the Menu widget. The Language Switcher widget supports accessibility features. The Timeline and Comparatist default templates are optimized for accessibility.
- Actions — You can configure message actions for data sources. In addition to widget settings, you can now configure message actions in data source settings. Data sources support the Data filtering changes and Record selection changes triggers. These triggers can occur if the data state is modified directly, meaning the user filters or selects data by interacting with a widget, or indirectly, meaning another configured message action causes a filtering change or selection change. There are two new message actions, Clear data selection and Clear data filters. The Clear data filters action removes any filters applied to the target data source at run time. The Clear data selection action clears the selection in the target data source. You can use these two new message actions when you configure the Button click trigger and choose Data as the target. Additionally, this update introduces safeguards that protect you from accidentally creating infinite loops with message actions. If you set up certain trigger, target, and action combinations, settings that would cause infinite loops become unavailable. The Location change trigger now supports targeting the Widget Controller widget with the Open widget action.
- Arcade — In layer settings, you can use Arcade expressions to create new information or alter information from existing layer attribute fields. For example, you can create an expression that converts values from feet to meters, converts text from all uppercase to sentence case, or dynamically creates a URL based on feature attributes. You can then display Arcade expressions as dynamic content in widgets, as if they were attribute fields. Arcade expressions appear at the end of the attribute list in widget settings where you can configure dynamic content by attribute. This includes Button, Embed, Image, Search, Table, and Text widget settings. You can also use Arcade expressions to add dynamic style with conditions in Button, List, and Text widgets.
- Data — Experience Builder supports knowledge graph layers.
- Login — If your authentication expires while you are editing an app, you are notified and given the option to renew authentication so you do not lose your changes. There are clearer warning messages to inform you about issues that might affect your work, such as network outages, failed server connections, permission changes, and deleted items.
- Translation — This update provides a new system for making apps multilingual. In general settings, you can open the new Manage translations panel, where you can add and manage translations of app text content. You can choose from a list of fully supported and partially supported languages and provide translations for any app text content that you enter manually. This includes, but is not limited to, Text widget text, Button widget text, widget names, page names, and Image widget alt text. When you use fully supported languages and switch the app language, Esri-provided interface text is also translated along with custom text that you enter in the app. When you use partially supported languages, only text that you enter in the app is translated. You can enter translations manually or use the translation assistant. The translation assistant uses artificial intelligence (AI) to generate translations for app text. You can import and export translations. At run time, you can use URL parameters and the new Language Switcher widget to switch the app language.
- Templates — Adds the Keystone full-screen page template.
- Theme settings — You can save a new theme. When you customize a default theme, your custom version is automatically saved as a new theme. When you open the Theme panel after customizing a theme, your custom theme appears in a list under Your themes. The default themes retain their original settings. You can rename and delete custom themes.
Widgets
Other improvements include the following new and updated widgets:
- Image Change Detection widget (new) — Compute the difference between two input imagery layers and generate a new imagery layer containing the change information. Change detection is the comparison of multiple imagery layers, typically collected for one area at different times, to determine the type, magnitude, and location of change. You can use the widget to analyze images using three change detection methods—spectral change, image index change, and pixel value change. You can use remote sensing indices to assess changes in plant health, water content in surface water, burn severity, and built-up areas.
- Language Switcher widget (new) — Switch the app language with a drop-down menu. Translation settings are also new with this Experience Builder update. You can provide translations of app text in multiple languages, and you can use the Language Switcher widget to switch between those languages at run time.
- QuickCapture widget (new) — The QuickCapture widget integrates with ArcGIS QuickCapture and allows you to add a field data collection tool to an app. The widget is designed for situations where you need to rapidly collect data, such as from moving vehicles. It is appropriate for making incident report forms that are quick and easy to submit. The widget uses a big-button interface where users choose from a series of large buttons that typically represent features such as trees, potholes, or powerlines. You can use the widget to capture location data, attributes, and photos. The widget adds captured data to a target feature layer.
- 3D Toolbox widget — You can choose a method for setting the default time zone, date, and time for the daylight and shadow cast tools. You can use the default date, time, and time zone of the 3D scene in the connected Map widget, use the app time zone settings for the time zone and the user's operating system information for the date and time, use the user's operating system information for all three, or select a specific time zone, date, and time from drop-down menus.
- Add Data widget — When you add a Web Map Tile Service (WMTS) service by URL, you can select a sublayer and a tile matrix. Additionally, if you are using the widget while not signed in, you can browse public organization content if the organization administrator enables anonymous access to their organization website in organization settings. If an administrator does not allow access to their organization website, anonymous users can still access public organization content that is available in the ArcGIS Online and ArcGIS Living Atlas of the World categories.
- Analysis widget — Adds six new built-in analysis tools—80-20 Analysis, Detect Image Anomalies, Detect Target Using Spectra, Geomorphon Landforms, Resample Library Spectra, and Summarize Categorical Raster.
- Business Analyst widget — In Preset mode, you can cache an infographic. Caching an infographic creates a static version of it. Caching costs 10 credits, but unlike with regular infographics there is no additional credit cost associated with viewing a cached infographic. If you have an infographic that you do not need to update often, consider caching it. Additionally, in Workflow mode, you can choose to allow users to export up to five infographics at a time to PDF, Excel, or HTML without viewing them first. Also in Workflow mode, you can choose to allow users to view an infographic in the widget panel rather than in full screen at run time.
- Chart widget — Adds support for combo charts, which combine bar and line series in a single chart. Combo charts can have two or more series and one or two value axes. You can configure style settings separately for the series in a combo chart. For single-series column and bar charts, you can choose to style all columns or bars with a single color, or you can assign unique colors and labels to every column or bar. Additionally, you can choose to include null values in their own category. You can use date only fields and time only fields as category fields.
- Coordinates widget — You can override the general display options and set unique display options for each individual coordinate system.
- Date Filter widget — The widget supports message actions, which you can configure on the Action tab of the widget's settings. The widget can be the source of the Data filtering changes trigger. In the Date Filter widget's settings, you can configure message actions that target data and the Map widget.
- Edit widget — Batch editing is now always available in Interact with a Map widget mode. In Attribute only mode, it is still a setting that you can choose to turn on or off. Additionally, you can use segment labels, which indicate the length of each line segment while creating or editing features, while editing in web maps. Previously, you could only use them with web scenes.
- Grid widget — You can add headers to grid items. You can change the header background color and foreground color. You can also choose to override the header setting in the Style settings of individual widgets nested in a Grid widget. This is useful if you want to have headers appear on some grid items but not others. These enhancements also apply to grid pages.
- List widget — For a row list that uses one of the Flow templates, you can set the list item's height to Auto. If you do, the list item's height matches the height of the tallest Image, Text, or Button widget in the row.
- Map widget — A loading indicator appears at the bottom right corner of the map to communicate if map data is updating or the extent is changing.
- Near Me widget — This update provides a new user interface for adding analyses in express mode. When you open the Add Analysis window while in express mode, a table of layers and supported analyses appears. You can use the check boxes in the table to select layers to analyze and to add analyses. You can use the check boxes in the table header to batch select layers and batch add analyses. Some advanced features that are available in full mode, such as multi-level grouping and clipping, are not available in express mode. In express mode and full mode, users can enter input text in multiple languages.
- Oriented Imagery Viewer widget — You can use the new Superimposed view tool to overlay an image in the viewer directly over a 3D scene. The imagery is applied as a texture to a mesh positioned within the scene. This new tool allows you to visualize the image in the spatial context in which it was originally captured. Additionally, the Sequential navigation tool now supports multi-field sorting. Sorting fields are defined as an ordered array. Fields are processed from first to last and any field without an explicit direction is sorted in ascending order by default. The Image overlays capability now supports layers containing video content.
- Print widget — You can use the Custom Layout Printing premium print service to print custom layouts. The service is one of the default utility services that you can connect to the widget in the widget's settings. Printing with the premium printing service costs five credits per print job. If you are signed in with an ArcGIS account, you can save print results as items. Optionally, you can specify a datum transformation by entering one or multiple valid WKIDs.
- Section widget — You can set any view as the default view. The default view appears when the Section widget first loads. If you target the Section widget with the Open view message action, you can turn on Return to default view when the selection is cleared. If you do, the Section widget automatically returns to the default view once you remove the selection.
- Share widget — You can choose whether to include the Short link tool in the widget panel at run time.
- Sidebar widget — If you target the Sidebar widget with the Record selection changes trigger and Open sidebar message action, you can turn on Close sidebar when selection is cleared. If you do, the Sidebar widget automatically closes once you remove the selection. Additionally, you can change the tooltips that appear when the cursor hovers over the collapse button in the expanded and collapsed states.
- Swipe widget — You can change the labels that appear above the leading layers and trailing layers.
- Table widget — You can allow users to save edits to multiple records at a time. If you do, Save and Reset buttons appear in the widget panel when the user edits at least one record. Highlights appear in the table to indicate which cells have unsaved changes. Edits save when the user clicks Save. Users can click Reset to revert all changes made since the previous save.
Developer Edition updates
The following changes are specific to ArcGIS Experience Builder Developer Edition and affect custom widget and theme development.
- Added a new topic, Multi-language support, which describes how custom widgets can support multi-language configuration.
- Added a new topic, Use MapView and SceneView in a widget, which describes the new pattern for accessing map views and scene views in your widgets after the migration to ArcGIS Maps SDK for JavaScript web components. This is a breaking change for custom widgets that previously used the
Jimuproperty to access the underlying map view. You will need to update your code to use theMap View.view Jimuproperty instead.Map View.map Component - Added a new topic, Customize the documentation URL for builder, which describes how to point the Help links in the builder environment to a custom documentation URL for offline or internal deployments.
- Added a new sample widget, Resource management, which demonstrates how to manage widget resources (uploaded files) via
Appin Experience Builder and how to correctly consume those resources in your runtime widget.Resource Manager - A data source now can publish
DataandRecords Selection Change Message Datawhen its selection or filter changes, and message actions in a widget can listen to these messages. Note that messages published by data sources include theSource Filter Change Message dataproperty, whereas messages published by widgets include theSource Id widgetproperty.Id - Because you can now add a message action at the data source level, take care not to introduce a potential infinite message/action loop in your custom widgets. For example, if your widget has a select or filter operations and the data source has a message action set, the action would trigger the data source's selection change or filter change message.
Breaking changes
Installation
- Migrate to
pnpm. So, instead of runningnpm ci, please usepnpm cifor 1.21 or newer. Check out Installation guide.
jimu-arcgis
- JimuMapView
- We have migrated from the
Mapclasses to theView/ Scene View <arcgis-map/> <arcgis-sceneweb components. The> jimuis still accessible, but a new propertyMap View.view jimuhas been added, which references the underlyingMap View.map Component <arcgis-mapor> <arcgis-sceneweb component.> - When using map components (such as
<arcgis-layer-list,> <arcgis-sketch, etc.), the value of> component.referenceshould be set toElement jimu. Assigning values toMap View.map Component component.viewis no longer recommended. - The Popup widget was migrated to the
<arcgis-popupweb component. As a result,> jimuis no longer available and should be accessed viaMap View.view.popup jimu. To listen for popup property changes, useMap View.map Component.popup Element popup. UseElement.add Event Listener() jimuandMap View.map Component.open Popup() closeto open/close it.Popup() jimureturns an array ofMap View.get Jimu Tables() JimuThe data format ofTable. Jimuhas been upgraded from a plain objectTable {jimuto aTable Id, table} Jimuclass instance.Table
- We have migrated from the
jimu-ui
Nav- The default nav item role has changed from
buttontolink.
- The default nav item role has changed from
New ESLint rules:
Previous releases
- Version 1.20 March 2026
- Version 1.19 November 2025
- Version 1.18 July 2025
- Version 1.17 March 2025
- Version 1.16 December 2024
- Version 1.15 July 2024
- Version 1.14 March 2024
- Version 1.13 November 2023
- Version 1.12 July 2023
- Version 1.11 March 2023
- Version 1.10 November 2022
- Version 1.9 June 2022
- Version 1.8 April 2022
- Version 1.7 January 2022
- Version 1.6 October 2021
- Version 1.5 July 2021
- Version 1.4 May 2021
- Version 1.3 January 2021
- Version 1.2 November 2020
- Version 1.1 July 2020