Release Notes 4.19

What’s New

Innovations for 3D scenes

This release introduces numerous new features and improvements for 3D scenes, detailed in the following.

New layer types

Three new layer types are now available for visualization in 3D scenes:

All these layer types enhance the flexibility and capabilities when working with 3D scenes.

Search and selection in scene layers

Starting with this version, scene layers can be used for search and selection. This allows, for example, direct navigation to a specific building or 3D object. In addition, attributes of multiple objects can be selected simultaneously and displayed in the Result Center.

Environmental variables

By setting environmental variables, you can customize the appearance of a 3D scene. This includes options to:

  • Define weather conditions such as rain or cloud cover.

  • Adjust background colors to individualize the visual presentation of the scene.

Additional improvements

  • Navigation in 3D views has been optimized. It is now possible to use tools for navigating to the previous and next views.

  • The Table of Contents (TOC) now correctly displays warning indicators for scale-dependent layer views in 3D scenes.

  • map.apps supports the viewingMode of a 3D scene.

Improved switch between 2D and 3D

This release simplifies the switch between 2D and 3D views with the following innovations:

  • Specific layers or basemaps can be hidden for either the 2D or 3D view.

  • The Table of Contents (TOC) provides hints for content that cannot be displayed in 2D view mode.

ArcGIS Location Platform

  • Support for the Basemap Styles Service V2 has been introduced.

  • A global API key configuration option has been added, enabling access to specific ArcGIS resources without requiring individual user authentication.

  • The ArcGIS Locator now fully supports the use of ArcGIS API keys.

App Editor

  • The App Editor now provides suggestions for the configuration of 3D basemaps.

  • Improved support for basemap configuration and validation, minimizing errors during setup.

Additional Innovations

  • The technical foundation of map.apps has been updated to ArcGIS Maps SDK for JavaScript Version 4.31. This brings numerous enhancements and bug fixes to the core technology.

  • The MapDraw API has been extended, now offering options for freehand and hybrid drawing.

  • The Table of Contents (TOC) hides the transparency slider for layers that do not support varying opacity.

  • Layers without a legend no longer display an expand arrow in the TOC.

  • The Result UI now allows the addition of custom icons in row and bulk actions.

  • The legend and TOC now support the new property respectLayerDefinitionExpression, which ensures better representation and filtering.

Update Notes

If you skip several versions during the update, please also follow all update notes of the intervening versions.

Support for sensitive data in a separate file (secrets.properties)

This release introduces the possibility to move sensitive data from the application.properties file to a separate file called secrets.properties. If the file is viewed by several people (for example in a screen sharing) or you send the configuration file application.properties to our support or others, the sensitive data is no longer visible.

We recommend that you check your configuration and move sensitive data, such as passwords, to a secrets.properties file to increase security.

Example configuration

The file application.properties refers to the file secrets.properties, which contains sensitive data:

# Load secrets from separate file
include=./secrets.properties

# Admin user definition
security.user.admin.pw=${secret.admin.pw}

The actual sensitive data, such as passwords, are then defined in the secrets.properties file:

secret.admin.pw=fill-with-password

Further information can be found in the documentation.

Compatibility with map.apps SDI

If you use the extension map.apps SDI, you must update it to version 5.6.4.

Changes to the configuration (application.properties)

  • The property proxy.allowedSSLDNs was removed. If this property is set in your application.properties file, remove the property.

  • The property analytics.gelf.identifier was renamed to analytics.identifier. If you have modified this value, please correct the property name.

  • The default value of the property printtask.service.url has been removed. It is now necessary to configure the explicit URL of an ArcGIS Server Print Task before the printing feature can be used. We recommend using a print service hosted by one of your organization’s ArcGIS Servers.

    Example: https://example.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task

Bundle property changes

  • The property ensureGeometryInMapSRS was removed from the parametersearch bundle’s Config component. If you explicitly specified this property in your app configuration, you can safely remove the property.

Changes in the configuration of the basemapswitcher bundle

Starting with this version, the basemapswitcher bundle requires a configuration of a basemap with a matching ID via the map-init bundle.

The following example shows the necessary configuration:

"basemapswitcher": {
    "Config": {
        "nextBasemap": "esri-basemap-1"
    }
},
"map-init": {
    "Config": {
        "basemaps": [
            {
                "id": "esri-basemap-1",
                "basemap": {
                    "style": {
                        "id": "arcgis/streets"
                    }
                }
            }
        ]
    }
}

If the basemapswitcher bundle cannot find a matching basemap, the widget is hidden.

Change to the autofocus property in the window system

With this release, the autofocus property in the window system has been extended and a new value has been introduced.

The following values are now available for the autofocus property:

  • false → No automatic focus change

  • true → Focus switches to the first focusable content element (or alternatively to the window itself). This value is retained for reasons of backwards compatibility and for specific use cases (e.g. windows with forms).

  • window → The focus is always set directly on the window. This is the new default value, so it is applied if no explicit value is configured.

To restore the old behaviour, meaning to keep the focus on the first focusable content element, set autofocus: true explicitly in your configuration.

Discontinued Features

  • The bundle omnisearch-portalitem and share-link-shim have been removed.

  • The username widget of the authentication/UsernameWidget module has been removed. Instead, use the authenticationInfo widget of the authentication/AuthenticationInfoWidget module.
    map.apps uses the authenticationInfo widget in its default seasons template for some time, already. You only need to adopt this change if you explicitly use the username widget in your apps.

  • Support for app.jsp files for role-based filtering of app.json files has been removed.

Deprecated Features

The following are deprecated and will be removed in a future release. Also note the additional information in the system requirements.

  • map.apps Manager and app configuration:

    • Live configuration is no longer being developed and will be removed in an upcoming release. Instead, use the app-editor to configure apps. You can already hide the live configuration for your users by setting the configuration option manager.config.editor.showLiveConfigButton to false.

  • Bundles:

    • The omnisearch bundle is no longer developed. The bundle will be removed from the product in the middle of 2025. Use the search-ui bundle instead.

    • The resultcenter and selection-resultcenter bundles are no longer developed. The bundles will be removed from the product in the middle of 2025. Use the result-ui bundle instead.

  • Development:

    • The support for JavaScript modules test-utils/later and test-utils/waitForProperty will be removed soon. Instead, use the new module test-utils/waitFor (available from 4.18.3).

    • Support for module.exports in JavaScript files will be removed soon. Use the ECMAScript keywords export or export default instead.

    • To simplify a future migration from AMD to another module system, JavaScript files should be written as ECMAScript modules only, if possible, and then transpiled.

    • Support for cancel in return values of store queries (QueryResult) will be removed soon. The goal is to simplify the store-api.Store interface. Please use a AbortController , described in Usage of an AsyncStore to cancel pending queries.

      const aborter = new AbortController();
      store.query({name: "Test"}, { signal: aborter.signal })
          .then((resultItems)=>{
           ...
          }, (e)=>{
            if (e.name === "AbortError"){
                // aborted
            }
      })
      // trigger abort
      aborter.abort();
    • The following classes will be removed in one of the next releases:

      Deprecated class Alternative

      ct/array

      native JavaScript functions

      ct/async

      apprt-core/async

      ct/_when

      apprt-core/when

      ct/_compare

      apprt-core/comparators

Known Limitations

MAPAPPS-5654

[Map] Zoom via mousewheel does not allow to zoom to the full max or min extent in some situations

MAPAPPS-6377

[Printing] Printing of line measurement not possible with PrintTask published from ArcMap

Dependencies

  • Esri ArcGIS Maps SDK for JavaScript 4.31.6

  • ArcGIS Arcade 1.28

  • JasperReports 6.21.3

  • Moment.js 2.29.4

  • Vue.js 2.7.16

  • Vuetify.js 1.5.24 (with custom patches, tracked as 1.5.30)

Changelog

4.19.0

New Features

MAPAPPS-5126

[SceneView] Set environment properties for scene views

MAPAPPS-5263

[Map] Support BuildingSceneLayer

MAPAPPS-5268

[Map] Support PointCloudLayer

MAPAPPS-5765

[Search] Search in scene layer

MAPAPPS-7133

[search-api] Provide query event

MAPAPPS-7139

[System] Update ArcGIS Maps SDK for JavaScript to version 4.31

MAPAPPS-7156

Replace apprt-request with apprt-fetch in BaseRestStore

MAPAPPS-7163

Support readonly report mounts

MAPAPPS-7167

[Map] Support Basemap styles service v2

MAPAPPS-7168

[App properties] Allow to define global API key

MAPAPPS-7194

[Measurement 2D] Provide API for access to ViewModel

MAPAPPS-7218

[mapdraw-api] Freehand and hybrid drawing options

MAPAPPS-7222

[ArcGIS Locator] Ensure correct support for ArcGIS API Key

MAPAPPS-7224

[TOC] Show hints for content that cannot be shown in 2D view mode

MAPAPPS-7225

[App Editor] Support for 3d basemaps

MAPAPPS-7227

[App Editor] Improve support for basemap configuration and validation

MAPAPPS-7228

[TOC] Hide transparency slider for layers without opacity property

MAPAPPS-7230

[TOC] Hide expand-arrow for layers without a legend

MAPAPPS-7243

[Measurement] Migrate bundles to typescript

MAPAPPS-7252

[Map Navigation] Allow to use previous and next view tools in 3D views

MAPAPPS-7254

[TOC] Show correct warning indicator for scale dependant layer views in 3D scenes

MAPAPPS-7263

[Selection] Select objects in scene layer

MAPAPPS-7265

[Measurement 3D] Provide API for access to ViewModel

MAPAPPS-7273

Drop support of "proxy.allowedSSLDNs" from application.properties

MAPAPPS-7276

[Map] Hide specific layers in 2D or 3D view

MAPAPPS-7277

[Map] Hide specific basemaps in 2D or 3D view

MAPAPPS-7280

[Configuration] Make use of "file:" prefix optional to include files via absolute paths in application.properties

MAPAPPS-7281

[Map] Support VoxelLayer

MAPAPPS-7282

[result-ui] Allow possibility to add custom icons in row- and bulk-actions

MAPAPPS-7284

[Legend] Support new legend property "respectLayerDefinitionExpression"

MAPAPPS-7287

[apprt-fetch] Disable switching from GET to POST by default

MAPAPPS-7291

[TOC] Support new legend property "respectLayerDefinitionExpression" for TOC items

MAPAPPS-7295

[basemapswitcher] Support only referenced basemaps from basemaps model

MAPAPPS-7309

Update vue to version 2.7.16

MAPAPPS-7310

[App Editor] Update monaco-editor to version 0.52.2

MAPAPPS-7311

Update @terraformer to latest version (@terraformer/wkt 2.2.1, @terraformer/spatial 2.2.1)

MAPAPPS-7312

Update proj4 lib in coordinatetranformer to 2.15.0

Fixed Security Issues

MAPAPPS-7278

Fix CVE-2024-47535

Fixed Issues

MAPAPPS-7217

[Editing] Update feature button not using hover color from theme

MAPAPPS-7221

[Accessibility] Inconsistent behavior when opening windows via keyboard control

MAPAPPS-7247

[MS SQL] Error during pre-compression

MAPAPPS-7248

[measurement-2d] showIntro property does not work

MAPAPPS-7253

[Coordinate Viewer] In 3D views an empty scale is shown

MAPAPPS-7255

[Sketching] Sketching not working after view mode is switched

MAPAPPS-7264

[mapdraw API] Drawing cannot be canceled by pressing ESC button

MAPAPPS-7268

[apprt_request] Proxy fallback incorrect for multiple identical simultaneously requests

MAPAPPS-7271

[Global configuration] Property "manager.config.viewbundles" cannot start or end with double quotes

MAPAPPS-7290

[Map Navigation] Restore initial view does not work when switching view modes

MAPAPPS-7307

[search-ui] SearchUIService.reset() does not work during app start

MAPAPPS-7313

[Documentation] Wrong link to security.oauth.provider.arcgis.roles

MAPAPPS-7328

[result-api] renderType only applied on fields with expression info