terriajs
Version:
Geospatial data visualization platform.
770 lines (633 loc) • 290 kB
Markdown
# Change Log
#### next release (8.12.3)
- [The next improvement]
#### 8.12.2 - 2026-03-27
- Update attributions to make publish workflow pass.
#### 8.12.1 - 2026-03-27
- Fix `npm-publish.yml` workflow.
#### 8.12.0 - 2026-03-27
- Update prettier to v3.
- When merging the changes make sure to use pre-prettier-v3 and post-prettier-v3 tags to make merging easier. You can follow the guide for prettier v2 update https://github.com/TerriaJS/terriajs/discussions/6517.
- Test environment modernization:
- Refactor tests to use @testing-library/react instead of react-test-renderer and react-shallow-testutils, and remove deprecated libraries.(#7755, #7763)
- Replace jasmine-ajax and fetch-mock with `msw` for mocking API requests in tests. (#7766, #7767, #7795, #7796, #7797, #7801)
- Replace karma test runner with jasmine-browser-runner and upgrade jasmine to v6. (#7807)
- Test runner is now exposed at port so to run tests in the browser, run `yarn gulp dev` and open `http://localhost:9876` in the browser.
- If you have custom tests this might require significant changes to your tests, so please reach out if you need help with this.
- Capture default timeline state in share links including current time,
playback etc.
- Added support for draping imagery on 3D tilesets. This can be enabled per-tileset by setting the [drapeImagery](https://github.com/TerriaJS/terriajs/blob/23a2bb2b9c1058e1c7141b5e678de51af58da82b/lib/Traits/TraitsClasses/Cesium3dTilesTraits.ts#L195-L201) trait to `true`. Then from the workbench, drag the imagery layers that need to be draped, above the tileset item.
- Underline text buttons
- Replace node-fetch with node native fetch.
- TSify most of `lib/Core`. [#7417](https://github.com/TerriaJS/terriajs/pull/7417/)
- Update gulpfile.js to gulp V4 syntax, which provides task descriptions in `yarn gulp --tasks`.
- Fix splitter failing for local file catalog items by storing file data as blob URLs in the `url` trait instead of private instance fields, ensuring `duplicateModel()` preserves the data. [#7762](https://github.com/TerriaJS/terriajs/pull/7762)
- Replace react-uid with react useId hook for generating unique ids.
- Remove ts-essentials dependency and replace with custom type utility.
- Remove fs-extra dependency and replace with native fs.
- Convert test `done` callbacks to async/await for modern test patterns.
- Update Checkbox component icon and remove unused indeterminate prop.
- Story Panel and Share Panel UX improvements:
- Update Share Panel layout
- Remove light theme variant of Clipboard
- Simplify Clipboard component and add success message.
- Add Story Builder instructions behind a config parameter.
- Fix Scene capture popup z-index appearing underneath the workbench.
- Upgraded `terriajs-cesium` to `23.0.2` and `terriajs-cesium-widgets` to `14.4.2`.
#### 8.11.3 - 2026-02-02
- Change to OIDC publishing to npm
#### 8.11.2 - 2026-01-15
- Add `token` to `ArcGisMapServerCatalogItem`, `ArcGisMapServerCatalogGroup`, `ArcGisFeatureServerCatalogItem`, `ArcGisFeatureServerCatalogGroup`, `ArcGisImageServerCatalogItem`, `I3SCatalogItem` and `ArcGisCatalogGroup` - if defined, it will be added to the `token` parameter for all ArcGIS Rest API requests.
- Added `tokenUrl` to `ArcGisImageServerCatalogItem`, and tweaked behaviour in `ArcGisMapServerCatalogItem` and `ArcGisImageServerCatalogItem` so that if both `token` and `tokenUrl` are defined, then `tokenUrl` will be used. This allows the token to be refreshed if needed.
- WMTS read URL from operations metadata #7371
- Add `workbenchControlFlags` trait to all catalog members for enabling or disabling workbench controls.
- Add `<settingspanel>` custom component to open Map settings panel from template code (like short report, feature info etc).
- Add UI to show toast messages.
- Fix "Add data" button width for some languages #7726.
- Make `<StoryPanel>` draggable
#### 8.11.1 - 2025-12-04
- ##### Security fixes
- Upgrades terriajs-server to v4.0.3. See [terriajs-server changes](https://github.com/TerriaJS/terriajs-server/blob/master/CHANGES.md#security-fixes).
- Fix translations key typo "zoomCotrol".
- Update docs for Client-side config: change `searchBar` parameter to `searchBarConfig`
- Fix to show preview map when used outside the explorer panel.
- Update `csv-geo-au` support to include the latest Australian Government regions.
- Add `backgroundColor` trait to base maps for changing the map container background in 2D/Leaflet mode ([7718](https://github.com/TerriaJS/terriajs/pull/7718))
- Keep camera steady when switching between viewer modes.
- Fix sharing when using initfile.
- Fix a bug where some georeferenced tiles where incorrectly positioned in Terria.
#### 8.11.0 - 2025-10-09
- **Breaking changes:**
- Replace unmaintained `svg-sprite-loader` with custom implementation of SvgSprite plugin based on `svg-sprite` package.
- New implementation consists of svg sprite loader that loads svgs and svg webpack plugin that compiles them into a single sprite file.
- Fix app crash when switching back and forth between 3D and 2D mode with clipping box enabled.
- Fix app crash when encountering unsupported WPS input types.
- Warn the user when the story causes shareData size exceed the limit set on the server as `shareMaxRequestSize`. #7636
- Adds new `TileMapServiceCatalogItem` for loading Tile Map Service (TMS) imagery tilesets.
- Add coordinate position to MapboxSearchProvider results when using reverse geocoder functionality (configurable).
- Removes webpack-dev-server from dependencies as it is no longer used.
- Upgrade babel to the latest version 7.27/7.28
- Fix analytics tracking for the MapboxSearchProvider.
- Remove unmaintained @mapbox/geojson-merge dependency and replace it with a simple merge function.
- Upgrade Typescript to `^5.9.2`. Also switched the `target` in `tsconfig.json` to `esnext`.
- Upgrade `mobx` to version `^6.13.7`.
- Upgraded `terriajs-cesium` to `21.0.0` and `terriajs-cesium-widgets` to `13.2.0`.
- Fix zooming by mouse wheel in charts #7654
#### 8.10.0 - 2025-07-08
- **Breaking changes:**
- Update `protomaps-leafet` package to 5.0.1 which only support protomaps basempap tileset >v4.0
- See [protomaps leaflet CHANGELOG](https://github.com/protomaps/protomaps-leaflet/blob/main/CHANGELOG.md#500).
- Update react and react-dom to version 18
- Update mobx-react to version 9
- It no longer convert props automatically to observable in class components. See [MobX React v9 class components guide](https://github.com/mobxjs/mobx/blob/mobx-react%409.2.0/packages/mobx-react/README.md#class-components) for more details on how to migrate
- Fix a bug where `.pmtiles` urls with a query string at the end was not being rendered as PMTILES.
- Add internationalization support to tinymce editor used in story editor
- Add `MapboxSearchProvider` for geocoding using Mapbox.
- Upgrade yarn to 1.22.22
- Fix `ApiTableCatalogItem` to add `queryParameters` and `updateQueryParameters` to the API requests. These were previously being ignored.
- Apply clipping rectangle for `ArcGisFeatureServerCatalogItem` reducing the number of requests made to server in tiled mode.
#### 8.9.5 - 2025-06-03
- Upgrade terriajs-server to version 4.0.2
#### 8.9.4 - 2025-06-03
- Remove regenerator-runtime polyfill as generators are now widely supported. #7615
- Remove direct usage of core-js polyfills. #7615
- TSify `ChartPanel` and convert to a functional component #7581
- Convert `Chart` component of `FeatureInfoPanelChart` to functional component. #7598
- TSify `DataCatalogGroup` and convert to a functional component. #7575
- TSify `BottomDockChart`, `ChartPanel`, `LineAndPointChart`, `LineChart`, `MomentLinesChart`, `MomentPointsChart`, `Chart Tooltip` to typescript and convert to functional components. #7617
- Upgrade mkdocs to 1.6.1
- Refactor the `DateTimePicker` component and split it into multiple components. #7585
- Update data-attribution and terms of conditions links to point to terria.io. #7627
- Hide the related maps button. #7627
- Change `BingMapSearchProvider` to correctly logs bing search action. #7601
- fix `MapboxStyleCatalogItem` scaleFactor bug where tiles are always scaled-up in Cesium. #7639
#### 8.9.3 - 2025-04-24
- Remove unused d3-array dependency.
- Update to plugin-error 2.0.1
- TSify `MenuButton` and convert it to functional component. #7576
- Convert `WorkbenchItem` to functional component #7564
- Remove BrowserStack and SauceLabs gulp tasks.
- Remove `test-travis` gulp task.
- Allow to modify `lookupCookie` for i18next
- TSify dropdown and convert it to a functional component. #7577
- Convert SettingPanel to a functional component. #7589
- Update html-to-react to 1.7.0
- Pass explicit refs to css transition component to avoid findDomNode usage. #7590
- TSify FadeIn component. #7590
- Convert `ViewingControls` to a functional component. #7574
- DOMPurify updated to 3.2.5 to fix CVE-2025-26791.
- Fix pmtiles rendering issue. #7607
- Remove unused types/rbush dependency.
#### 8.9.2 - 2025-03-31
- Replace clipboardjs with native browser clipboard
- Update react-swipeable to v7. #7542
- Use theme.dark for bottomBar background
- Remove interactjs dependency #7544
- Rewrite drag-wrapper to use terriajs dragging implementation #7544
- TSify `SearchBoxAndResults` and convert to a functional component #7477
- Convert `DragDropFile` to functional component and styled-components. #7563
- Remove `viewState.lastUploadedFiles` and replace with `DragDropFile` local state. #7563
- TSify `DragDropNotification` and convert to functional component and styled-components. #7563
- TSify `DataCatalogTab` and convert it to functional component #7476
- Update to shpjs 6.1.0.
- Enable `noUncheckedSideEffectImports` in `tsconfig.json` to get errors from tsc when non-existent modules are imported for side effects.
- Return lat/lon as numbers from `geoJsonGeometryFromGeoRssSimpleGeometry` and `geoJsonGeometryFromW3cGeometry`.
- Remove unused babel/parser dependency.
#### 8.9.1 - 2025-03-24
- Tweak `ArcGisFeatureServerCatalogItem.imageryProvider` to return undefined until metadata has finished loading
- Fix scss theming regression by restoring webpack alias
#### 8.9.0 - 2025-03-17
- **Breaking changes:**
- Major changes to UI
- Changed workbench and bottom dock to absolute positioned over map with transparent background
- Generally increase padding and font sizes to improve readability
- Generally use a darker default theme
- Increases logo size, redesign of collapsed workbench panel
- Update help text for empty workbench
- Decrease border radii
- Changed workbench and bottom dock to absolute positioned over map with transparent background
- Generally increase padding and font sizes to improve readability
- Generally use a darker default theme
- Increases logo size, redesign of collapsed workbench panel
- Update help text for empty workbench
- Decrease border radii
- Introduce `blur`, `dark-transparent`, `dark-alpha`, `scrollbar-color` and `scrollbar-track-color` theme variables
- Add `keepCatalogOpen` config option
- Add enable / disable all button to workbench
- Add tiling support to `ArcGisFeatureServerCatalogItem` - this will be enabled by default if the server supports tiling and unsupported marker/point styles aren't used. See `ArcGisFeatureServerCatalogTraits` `tileRequests`. When enabled, `pbf` tiles will be fetched and drawn using `ProtomapsImageryProvider`
- This can be disabled by setting `tileRequests` to `false`
- For point features, only the following `PointSymbolTraits` are available - fill, stroke, height (which sets circle radius). Custom markers (markers other than `point` or `circle`) are not supported.
- Add `request` parameter to `ArcGisImageServerImageryProvider.buildImageResource` - this enables Cesium to manage requests
- Decrease protomaps tile buffer to 32 pixels (from 64) to increase performance
- Change `ProtomapsImageryProvider` to use a "soft" minimum level, so no tiles will be created below the `minimumZoom` provided.
- Move `ProtomapsImageryProvider.pickFeatures` GeoJSON logic to inside `ProtomapsGeojsonSource.pickFeatures`.
- Fix `FeatureInfoUrlTemplateMixin` reactivity warnings
- Move `GeojsonMixin` protomaps paint/label rules to `tableStyleToProtomaps`.
- Also create `getStyleReactiveDependencies` that can be used to track (and react to) table styling traits
- Add `dash` to `OutlineStyleTraits` (only supported by line features), and `outlineStyle` to `LegendTraits`.
- Add `MinMaxLevelMixin` to `ArcGisFeatureServerCatalogItem` - only applied when tiling requests
- Tweaked `TableStyleMap` and `TableColorMap` conditions to handle empty `TableColumns` (to support styling `ArcGisFeatureServerCatalogItem` when tiling requests)
- Fix bug with expanding "Developer Details" in the error modal
- Fix regression bug from https://github.com/TerriaJS/terriajs/pull/7144, GeoJson `MultiPolygon`, `Polygon` and `Line` features were being dropped
- Move GeoJSON helper functions (`isFeatureCollection` etc) to `lib/Core/GeoJson.ts`
- Split up `ArcGisFeatureServerCatalogItem` into `ArcGisFeatureServerStratum` and `esriStyleToTableStyle`
- Remove unused pmtiles dependency.
- Update data styling docs
- Remove unused babel/eslint-parser dependency.
- Hide 'Story' button in mobile view if story panel is active.
- Update empty workbench help text
- Remove unused `arraysAreEqual`, `autoUpdate`, `flattenNested`, `freezeInDebug`, `isPromise`, `loadJsonp`, `OrUndefined`, and `superGet` files from lib/Core.
- Update to react-virtual 2.10.4.
- Update types/file-saver to 2.0.7.
- Remove `request` dependency from CI scripts
- Fix basemaps order to follow the order given by `enabledBaseMaps` setting. #7537
- Modified DiffTool UI to use `WorkflowPanel` instead of floating side panel.
#### 8.8.1 - 2025-02-27
- Expose the `lightColor` setting for 3D Tilesets in Cesium3dTilesCatalogItem.
- Fix GeoJSON regression bug (from 8.8.0) - multi-polygons, polygons and line features weren't being rendered through `ProtomapsImageryProvider`.
- Remove unused klaw-sync dependency.
- Remove unused hammerjs dependency.
- Remove unused turf/meta dependency.
#### 8.8.0 - 2025-02-18
- **Breaking changes:**
- Upgrade Webpack to version 5
- Converted remaining CJS style modules and `require()` calls to ESM and `import` statements.
- Removed babel transformation to CJS for default build (we still use it for nodejs).
- Removed several other babel transforms (for JS features that should now be widely supported).
- Refactor and clean up configureWebpack.js. `configureWebpack()` now accepts a single object parameter.
- Removed code for hot reloading
- Upgraded `sass` to version 1.80+
- Migrated SASS files to use `modern` API (by running the `sass-migrator` script)
- Replaced webpack aliases `~terriajs-variables` and `~terriajs-mixins` with respective relative path. This was necessary to run the migrator. It also results in simpler webpack configuration.
- Remove `MapboxImageryProvider`, `createRegionMappedImageryProvider` now uses `ProtomapsImageryProvider`.
- Update `protomaps` to `protomaps-leaflet`. This fixes the 5400 vertex limit in a single tile.
- The very basic support of mvt style spec is now handled by Terria in [`lib/Map/Vector/mapboxStyleJsonToProtomaps.ts`](lib/Map/Vector/mapboxStyleJsonToProtomaps.ts)
- Move `GeojsonSource` to new file `lib/Map/Vector/ProtomapsGeojsonSource.ts`.
- support URL parameters in a GetLegendGraphic request for a layer without a style configured
- Enhanced error processing for obtaining user location
#### 8.7.11 - 2024-12-18
- Explicitly set prettier tab-width
- Move release guide from README.md to RELEASE_GUIDE.md
- Add `clampToGround` to `KmlCatalogItemTraits` (defaults to `true`) - this is now passed to `KmlDataSource.load`. Terria no longer clamps polygon geometries to terrain manually. All clamping logic is now handled by Cesium.
- Add `dataSourceUri` to `KmlCatalogItemTraits` - Overrides the url to use for resolving relative links and other KML network features
#### 8.7.10 - 2024-11-29
- Add OpenStreetMap as a basemap option.
- Update to node-notifier 10.0.1 to fix security vulnerabilities.
- Remove unused ts-loader dependency.
- Remove unused class-list dependency.
- TSify `ConsoleAnalytics` module.
- Update to gulp 5.0 to fix security vulnerabilities.
- Gulp 5 defaults to encoding copied files as utf-8, had turn off encoding by setting `encoding: false` to correctly copy binary assets from dependencies.
- Update to dompurify 2.5.7 to fix security vulnerabilities.
- Update to @mapbox/togeojson 0.16.2 to fix security vulnerabilities.
- Remove unused simple-statistics dependency.
- Update to pretty-quick 4.0.0 to fix security vulnerabilities.
#### 8.7.9 - 2024-11-22
- Add "searchBarConfig.showSearchInCatalog" to configParameters so that the link in location search results can be disabled.
- Properly initialize react ref in functional components
- Add NominatimSearchProvider.
- Removed the basemaps - positron, darkmatter and black-marble - from the default settings. The Carto ones are no longer free and requires an [Enterprise or Grantee license](https://carto.com/basemaps). If you have the appropriate license you can add them via your [initialization file](https://docs.terria.io/guide/customizing/initialization-files/#basemaps). [Example configuration](https://gist.github.com/na9da/ef7871afee7cbe3d0a95e5b6351834c9).
- Restrict mobx version to '< 6.13.0' to avoid tsc errors because mobx now uses iterator helper types introduced in TypeScript 5.6.
- Remove unused ts-node dependency.
#### 8.7.8 - 2024-11-01
- Fix the layout of the story builder and the item search tool.
- Add support for Cloud Optimised Geotiff (cog) in Cesium mode. Currently supports EPSG 4326 and 3857. There is experimental support for other projections but performance might suffer and there could be other issues.
- Fix `Workbench.collapseAll()` and `Workbench.expandAll()` for References.
- Add to the "doZoomTo" function the case of an imagery layer with imageryProvider.rectangle
- Add "leafletMaxZoom" to configParameters so that the maxZoom of the Leaflet viewer can be changed.
- Restrict `sass` version to `< 1.80`- to avoid deprecations.
#### 8.7.7 - 2024-10-01
- **Breaking changes:**
- Remove RollbarErrorServiceProvder
- Error services now instantiated externally to terriajs
- Fix remaining lint warnings
- Augment cesium types and start using import instead of require in ts files
- Update to sass 1.79.1
- Add option to import assets from Cesium ion through the Add data panel. Use map config parameter "cesiumIonOAuth2ApplicationID" to enable the feature.
#### 8.7.6 - 2024-08-22
- Add I3SCatalogItem
- getFeaturesFromPickResult now async to handle I3SNode.loadFields()
- extract common style logic to new Cesium3dTilesStyleMixin.ts
- Set default value for date and datetime WPS fields only when the field is marked as required.
- Fix Sass deprecation warnings (declarations after nested blocks)
- Fix legend shown for WMS difference output item
- Add `diffItemProperties` trait to override properties of WSM difference output item. Useful for customizing feature info template strings etc.
- Add Proj4 definition for EPSG:8059
- Upgrade to terriajs-cesium 8.0.1.
- Re-enable terrain splitting.
- Add support for ArcGis ImageServer - this includes
- Support for "dynamic" `exportImage` endpoint (using `102100` wkid)
- Support for web mercator and wgs84 precached tiles
- Basic support for raster functions - a dropdown is rendered in the workbench for custom raster functions
- Traits to configure `bandIds` and `renderingRule`
- Increase `maxRefreshIntervals` from 1000 to 10000 for `WebMapServiceCatalogItem` and `ArcGisMapServerCatalogItem`.
- Add `nextDiscreteJulianDate` helper computed value to `DiscretelyTimeVaryingMixin`
- Add `EPSG:7899` to `Proj4Definitions`
#### 8.7.5 - 2024-06-26
- Add clustering trait to GeoJson (and consequently to WFS, ...) using Cesium as viewer.
- TSify some `js` and `jsx` files and provide `.d.ts` ambient type files for a few others. This is so that running `tsc` on an external project that imports Terria code will typecheck successfully.
- Upgraded a bunch of d3 dependencies for fixing security errors.
- Show rectangle selector for WPS bounding box parameter
- Fix `store` and `status` values send in WPS Execute request.
- Add docs for `modelDimensions`
#### 8.7.4 - 2024-06-07
- Fix position of draggable point after moving.
- Fix `getFeatureProperties` (in `FeatureInfoSection`) failing due to bad JSON parsing of nested strings.
- The `TableFeatureInfoStratum` default `featureInfoTemplate` will now not show `_id_` (internal Terria feature ID) in feature info
- Fix bug in FilterSection
#### 8.7.3 - 2024-05-28
- Fix broken chart selector
- Feature info template `<chart>` definition now accepts a `y-column` attribute to set the y-column that should be rendered in the feature info panel chart.
- Upgrade `thredds-catalog-crawler` to `v0.0.7` which makes a few security upgrades.
- Fix bug with broken datetime after that Timeline has been closed once.
- Fix WPS date time widget reset bug
- Set default date for WPS date time widget on load
- Add NumberParameterEditor to enable WPS AllowedValues Ranges to be set and use DefaultValue
#### 8.7.2 - 2024-05-14
- Add NumberParameterEditor to enable WPS AllowedValues Ranges to be set and use DefaultValue
- Feature info template has access to activeStyle of item having TableTraits.
- Updated a few dependencies to fix security warnings: `underscore`, `visx`, `shpjs`, `resolve-uri-loader`, `svg-sprite-loader`
- Allow related maps UI strings to be translated. Translation support for related maps content is not included.
#### 8.7.1 - 2024-04-16
- Upgraded to TerriajS Cesium 1.115.0
- Fix `PointStyleTraits.marker` bug where URLs were not being used.
- Fixed a bug with passing a relative baseUrl to Cesium >= 1.113.0 when `document.baseURI` is different to its `location`.
- Fix node v18 compatibility by forcing `webpack-terser-plugin` version resolution and fixing new type errors
- Reduce log noise in `MagdaReference`.
#### 8.7.0 - 2024-03-22
- **Breaking changes:**
- `generateCatalogIndex` now uses `commander` to parse arguments. Run `node ./build/generateCatalogIndex.js --help` for more information.
- Fixed exception thrown from `objectArrayTrait` when a model has 0 strata and a `MergeStrategy` of `topStratum`.
- Fix `generateCatalogIndex` after `searchProvider` changes
- Fix bug with relative URLs being ignored in `generateCatalogIndex`
- Fix bug with ArcGisMapServerImageryProvider not correctly identifying if the `tile` endpoint can be used
#### 8.6.1 - 2024-03-14
- Fix SDMX `featureInfoTemplate` `<chart>` bug not showing correct `yColumn`
#### 8.6.0 - 2024-03-12
- **Breaking changes:**
- Add `MergeStrategy` to `objectArrayTrait` - this includes a new `topStratum` strategy - similar to `Merge.All` (the default behaviour), but only elements that exist in the top-most strata will be merged with lower strata. Elements that only exist in lower strata will be removed.
- **Note** the only trait with `MergeStrategy` set to `topStratum` is `lines` in `TableChartStyleTraits`.
- Fix `y-column` in `FeatureInfoPanelChart` (`<chart>`)
#### 8.5.2 - 2024-03-07
- Add `usePreCachedTilesIfAvailable` to `ArcGisMapServerCatalogItemTraits`.
- Improved `ChartableMixin.isMixedInto` to ensure there are no false positive matches when testing References.
- Fixed a bug in `MagdaReference` where members of a group would not be updated/created correctly when a group is reloaded.
#### 8.5.1 - 2024-02-23
- Added highly experimental CatalogProvider, intended to encapsulate functionality related to the entire catalog, or large subtrees of it, that doesn't fit into individual catalog member models.
- `BingMapsCatalogItem` now supports Bing's `culture` parameter.
- Update a prompt text in DataPreview.
#### 8.5.0 - 2024-02-07
- **Breaking changes:**
- Upgrade TypeScript to 5.2
- Switch Babel configuration to new JSX transform
- Improve tsconfig files
- Remove deprecated default `relatedMaps`
- Update `thredds-catalog-crawler` to `0.0.6`
- `WebMapServiceCatalogItem` will drop problematic query parameters from `url` when calling `GetCapabilities` (eg `"styles","srs","crs","format"`)
- Fixed regression causing explorer window not to display instructions when first opened.
- Enable eslint for typescript: plugin:@typescript-eslint/eslint-recommended
- Fixed a bug where the search box was missing for small screen devices.
- Prevent user adding empty web url
- Fix bug where search results shown in `My Data` tab
- Fix bug in function createDiscreteTimesFromIsoSegments where it might create duplicate timestamps.
- Add option to enable/disable shortening share URLs via InitSourceData.
- Fix bug in ArcGisMapServerCatalogItem.
- Add examples.
- Upgraded Cesium to 1.113.0 (i.e. `terriajs-cesium@6.2.0` & `terriajs-cesium-widgets@4.4.0`).
#### 8.4.1 - 2023-12-08
- Temporary UX fixes for clipping box:
- An option to zoom to clipping box
- An option to re-position the clipping box
- Trigger repositioning of clipping box when the user enables clipping box for the first time
- Cursor and scale point handle changes (makes it much easier to grasp)
- More robust interaction with the box
- Fix a bug where `DragPoints` was interfering with pedstrian mode mouse movements.
- Update `webpack` to `4.47.0` to support Node >= 18 without extra command line parameters.
- Add support for multiple `urls` for `GeoJsonCatalogItem`.
- Automatically explode GeoJSON `MultiPoint` features to `Point` features.
- Add new table styling traits - `scaleByDistance` and `disableDepthTestDistance`.
- Add support for `LineString` and `MultiLineString` when using `GeoJsonCatalogItem` in `CZML` mode.
#### 8.4.0 - 2023-12-01
- **Breaking change:** Replaced `node-sass` with (dart) `sass`
- You will need to update your `TerriaMap` to use `sass` instead of `node-sass`.
- Added `apiColumns` to `ApiTableCatalogItem` - this can now be used to specify `responseDataPath` per table column.
- `ArcGisMapServerCatalogItem` will now use "pre-cached tiles" if available if no (or all) `layers` are specified.
#### 8.3.9 - 2023-11-24
- **Breaking change:** new Search Provider model
- Added SearchProviderMixin to connect searchProviders with a model system
- Created a simple base Mixin (`SearchProviderMixin`) to attach SearchProviders to the Model system and enable easier creation of new search providers.
- Made SearchProviders configurable from `config.json`.
- See [0011-configurable-search-providers ADR](./architecture/0011-configurable-search-providers.md) and [Search providers customization](./doc/customizing/search-providers.md) for more details
- Make all icons in `CatalogGroup` black by default and white when a catalog group is focused, selected or hovered over. Improve lock icon position in workbench.
#### 8.3.8 - 2023-11-15
- Fix maximum call stack size exceeded on Math.min/max when creating Charts
- Fix boolean flag in `MyDataTab` displaying number
- Remove `jsx-control-statements` dependency
- Fix WMS nested group IDs - nested groups with the same name were not being created
- WMS `isEsri` default value will now check for case-insensitive `mapserver/wmsserver` (instead of `MapServer/WMSServer`)
- Tweak ArcGis MapServer WMS `GetFeatureInfo` default behaviour
- Add `application/geo+json` and `application/vnd.geo+json` default `GetFeatureInfo` (after `application/json` in priority list)
- Add `application/xml` default `GetFeatureInfo`. (if `isEsri` is true, then this will be used before `text/html`)
- Added many remaining ASGS 2021 region types to region mapping (STE_2021,ILOC_2021,IARE_2021,IREG_2021,RA_2021,SAL_2021,ADD_2021,DZN_2021,LGA_2022,LGA_2023,SED_2021,SED_2022,
CED_2021,POA_2021,TR_2021,SUA_2021,UCL_2021,SOS_2021,SOSR_2021).
- See [ASGS 2021](https://www.abs.gov.au/statistics/standards/australian-statistical-geography-standard-asgs-edition-3/jul2021-jun2026/access-and-downloads/digital-boundary-files)
- Added [Melbourne CLUE blocks](https://data.melbourne.vic.gov.au/pages/clue/) to region mapping.
- Fix WMS `GetMap`/`GetFeatureInfo` requests not having `styles` parameter (will use empty string instead of `undefined`)
- Add CesiumIon geocoder
- `CatalogGroup` will now not show members until loaded
- Add `GetTimeseries` support to `WebMapServiceCatalogItem`. This adds a new `supportsGetTimeseries` trait, which when true will replace `GetFeatureInfo` with `GetTimeseries` requests. It will also change `info_format` to `text/csv`, and show a chart in the feature info panel. Servers which advertise `GetTimeseries` capability will have this trait set to true by default. `GetTimeseries` requests will have `time = ""`.
#### 8.3.7 - 2023-10-26
- Fix `WebMapServiceCatalogItem` `allowFeaturePicking`
- Allow translation of TableStylingWorkflow.
- Fix "Remove all" not removing selected/picked features
- Fix crash on empty GeoJSON features
- Add `tableFeatureInfoContext` support to `GeoJsonMixin.createProtomapsImageryProvider`
- Fix `GeoJsonMixin` timeline animation for lines/polygons
- Fix bug in mismatched GeoJSON Feature `_id_` and TableMixin `rowId` - this was causing incorrect styling when using `filterByProperties` or features had `null` geometry
- Fix splitter for `GeoJsonMixin` (lines and polygon features only)
- Fix share links with picked features from `ProtomapsImageryProvider`
- Added on screen attribution and Google logo for Google Photorealistic 3D Tiles.
- Add `hideDefaultDescription` to `CatalogMemberTraits` - if true, then no generic default description will be shown when `description` is empty.
- Add `hideDefaultDescription` to `CatalogMemberTraits` - if true, then no generic default description will be shown when `description` is empty.
- Add `clampPolygonsToGround` to `KmlCatalogItemTraits` (defaults to true`)
- Added on screen attribution and Google logo for Google Photorealistic 3D Tiles.
- Add `hideDefaultDescription` to `CatalogMemberTraits` - if true, then no generic default description will be shown when `description` is empty.
#### 8.3.6 - 2023-10-03
- Fixed a bug where incorrect "Remove all" icon is shown when the trait `displayGroup` of some group types (e.g.`wms-group`) is set to `true` but the members have not been populated yet.
- Fix regression in `excludeMembers`, `id` and `name` should be lower-case for comparing.
#### 8.3.5 - 2023-09-26
- Allow a story to use iframe tag if the source is youtube, youtube-nocookie or vimeo.
- Add `includeMembersRegex` to `GroupTraits`. This can be used to filter group members by id/name using a regular expression.
#### 8.3.4 - 2023-09-15
- Add `timeWindowDuration`, `timeWindowUnit` and `isForwardTimeWindow` traits to esri-mapServer type to support time window query.
- Move map credits to map column so it don't get hidden by chart panel
- TSify `MapColumn` module and reorganize components directory structure.
- Add null check to `WebMapServiceCatalogItem` `rectangle` calculation - and now we ascend tree of WMS `Layers` until we find a rectangle.
- Fix multi level nesting in ArcGIS Mapserver.
#### 8.3.3 - 2023-09-07
- Fixed broken point dragging interaction for user drawing in 3D mode.
- Fixed rectangle drawing in 2D mode.
- Added EPSG:7855 to `Proj4Definitions`.
#### 8.3.2 - 2023-08-11
- Fixed a bug when restoring timefilter from a share link having more than one imagery item with the same base URL (but different layer names).
- Fix WPS duplicate display of analysis results when loaded through a share URL
- Upgraded babel packages.
#### 8.3.1 - 2023-06-29
- **Breaking changes:**
- Switched GoogleAnalytics to use Google Analytics 4 properties. Google's Universal properties no longer accept data from 01/07/2023, so migration is necessary anyway.
- Fix error when adding deeply nested references in search results.
- Add new option `focusWorkbenchItems` to `initialCamera` setting to focus the camera on workbench items when the app loads.
- Fixed bug where sharelinks created with no visible horizon would default to homeCamera view
- Improved calculation of 2D view from 3D view when no horizon visible
- Improve WMS and WFS error messages when requested layer names or type names are not present in GetCapabilities.
#### 8.3.0 - 2023-05-22
- **Breaking changes:**
- **Upgraded Mobx to version 6.7.x**
- **Upgraded Typescript to version 4.9.x**
- See https://github.com/TerriaJS/terriajs/discussions/6787 for how to upgrade your map
#### 8.2.29 - 2023-05-18
- Fix app crash when rendering feature info with a custom title.
- Added new `CkanCatalogGroup` traits `resourceIdTemplate` and `restrictResourceIdTemplateToOrgsWithNames` to generate custom resource IDs for CKAN resources with unstable IDs.
- Fix `acessType` resolution for `MagdaReference` so that it uses the default terria resolution strategy when `magdaRecord` is not defined.
#### 8.2.28 - 2023-04-28
- Refactored TerriaViewer to expose a promise `terriaViewer.viewerLoadPromise` for async loading of viewers.
- Fix location point ideal zoom bug in 3D mode map.
- Add `EPSG:7844` to `Proj4Definitions`.
- TSify `Proj4Definitions` and `Reproject` modules.
- Update the docs for `excludeMembers`: mention the group/item id support
- Simplified `MapToolbar` API.
#### 8.2.27 - 2023-04-05
- Change icon used for display group remove button
- Make access control UI compatible to Magda v1 and v2 with v2 overriding v1.
- Remove karma-sauce-launcher dependency
- Add method `addFileDragDropListener` for receiving callbacks when user drags-n-drops a file.
- Improve `BoxDrawing` drag interaction.
- Fix a bug where `BoxDrawing` sometimes causes the map to loose pan and zoom interactivity.
- Optimize `LocationBar` component to reduce number of renders on mouse move.
- Optimize `Compass` component to reduce renders on each frame.
- Add `children` optional property to StandardUserInterfaceProps interface
- Add support for ArcGis MapServer with `TileOnly` capability - for example layers served from ArcGis Online. This is supported through `ArcGisMapServerCatalogItem`, `ArcGisMapServerCatalogGroup` and `ArcGisCatalogGroup`.
#### 8.2.26 - 2023-03-21
- Upgraded to terriajs-server 4.0.0.
- Added new `gulp dev` task that runs terriajs-server and `gulp watch` (incremental specs build) at the same time.
#### 8.2.25 - 2023-03-20
- Export `registerUrlHandlerForCatalogMemberType` for registering new url handler for catalog types.
- BoxDrawing changes:
- Adds a new option called disableVerticalMovement to BoxDrawing which if set to true disables up/down motion of the box when dragging the top/bottom sides of the box.
- Keeps height (mostly) steady when moving the box laterally on the map. Previously the height of the box used to change wrt to the ellipsoid/surface.
- Fixes a bug that caused map panning and zooming to break when interacting with multiple active BoxDrawings.
- Removed some code that was causing too much drift between mouse cursor and model when moving the model laterally on the map.
- Replaces addRemoteUploadType and addLocalUploadType with addOrReplaceRemoteFileUploadType and addOrReplaceLocalFileUploadType.
#### 8.2.24 - 2023-03-06
- Reimplement error message and default to 3d smooth mode when Cesium Ion Access Token is invalid.
- Layers shown via a share URL are now logged as a Google Analytics event
- Show an Add All / Remove All button for catalog groups when an optional `displayGroup` trait is true
- Rename the Map Settings "Raster Map Quality" slider to be just "Map Quality" as it also affects other things than raster data.
- Dragn-n-drop should respect disableZoomTo setting
- Fixed #6702 Terrain Hides Underground Features not working
- Add className prop for MyData tab so that it can be styled externally
#### 8.2.23 - 2023-01-06
- Only add groups to `CatalogIndex` if they aren't empty
- `BoxDrawing` improvements:
- Added option `drawNonUniformScaleGrips` to enable/disable uniform-scaling
- Set limit on the size of scaling grips relative to the size of the box
- Small improvement to move interaction that prevents the box from locking up when trying to move at a camera angle parallel to the ground
- Restore modified map state to the previous setting when interaction stops
- Fix bug in Cesium and Leaflet maps that resulted in `DataSource`s getting rendered even after their parent items are removed from the workbench.
- GltfMixin changes:
- Refactors code to use stable `DataSource` and `Entity` values instead of re-creating them everytime `mapItems` is recomputed.
- Disable zoom to for the item when position is unknown.
- Add `UploadDataTypes` API for extending the supported local and remote upload data types.
- Add option to upload terria web data (via url to json file/service)
- Refactor `Cesium3dTileMixin`.
- Updated related maps to fit mobile screens.
- Extend `responseDataPath` trait of `ApiTableCatalogItem` with support for mapping over arrays and collecting nested object values.
- Add `MapToolbar.addToolButton()` API for adding a tool button to the map navigation menu.
- Add `ActionBar` component for showing a floating menu bar at the bottom of the map.
#### 8.2.22 - 2022-12-02
- Protomaps Polygon features now only use `PolygonSymbolizer` (instead of `PolygonSymbolizer` and `LineSymbolizer`)
- Add `horizontalOrigin` and `verticalOrigin` to `TableLabelTraits`
- `TableStylingWorkflow` improvements:
- Add more options to advanced mode (style title, hide style, long/lat column, time properties)
- "Style" dropdown now shows `TableStyles` instead of `TableColumns`
- Show "Variable" in "Fill color" if color column name doesn't match style name (eg style isn't generated by `TableAutomaticStylesStratum`)
- Add symbology dropdown to advanced mode (was only showing in basic mode)
- Add label and trail styling
- When creating a new `bin` or `enum` value, the `null` ("default") values will be copied across.
- Move all Table related Traits to `lib/Traits/TraitsClasses/Table/` directory
- Handle errors thrown in `Cesium._attachProviderCoordHooks`. This fixes a bug where some WMTS layers break feature picking.
- Fix `Legend` outline bug - where invalid `boxStyle` meant old legend styles may be visible
- Fix `baseMapContrastColor` reactivity in `GeojsonMixin` - mvt was not updating when the basemap changes
- Add `SelectableDimensionMultiEnum` - A enum SelectableDimension that allows multiple values to be selected
- Fix `SelectableDimensionNumeric` handling of invalid values
- `ColorStyleLegend` will use `colorColumn` title by default. It will fallback to `TableStyle.title`
- Add `children` optional property to StandardUserInterfaceProps interface
- Fix `MapboxVectorTileCatalogItem` feature highlighting - this requires use of `idProperty` trait (also added `idProperty` to `ProtomapsImageryProvider`)
- Fix `MapboxVectorTileCatalogItem` `fillColor` also applying to Line features
- Add `maximumNativeZoom` to `ProtomapsImageryProvider`
- Fix image markers (eg `marker = "data:image/png;base64,..."`)
- Fix `AssimpCatalogItem` to correctly handle zip archives that contain files inside a root folder.
#### 8.2.21 - 2022-11-10
- Add check for WFS `layer.OtherSRS` in `buildSrsNameObject`
- Add `overridesBaseUrl` to `LanguageOptions`. This can be used to set the base URL for language override namespace translation files (see [client-side-config.md#LanguageConfiguration](./doc/customizing/client-side-config.md#LanguageConfiguration))
- Add `aboutButtonHrefUrl` to `configParameters`. Defaults to `"about.html"`. If set to `null`, then the About button will not be shown.
- Add `refreshIntervalTemplate` to `OpenDataSoftCatalogItemTraits` - this can be used to set `refreshInterval` using Mustache template rendered on ODS Dataset JSON object
- Add `plugins` property to `ConfigParameters` type
- Add more supported 4326 and 3857 CRS strings for WFS (eg `"urn:ogc:def:crs:EPSG::3857"` and `"urn:x-ogc:def:crs:EPSG:3857"`)
#### 8.2.20 - 2022-10-20
- Handle errors thrown in `ImageryProviderLeafletTileLayer.pickFeatures`. This fixes a bug where some WMTS layers break feature picking (in Leaflet/2D mode)
#### 8.2.19 - 2022-10-20
- Handle errors thrown in `Cesium._attachProviderCoordHooks`. This fixes a bug where some WMTS layers break feature picking.
#### 8.2.18 - 2022-10-19
- Fix `RelatedMaps` default broken URLs
- Add `mergeGroupsByName` trait to `GroupTraits` - this will merge all group members with the same name
- Fix bug with "propagate `knownContainerUniqueIds` across references and their target" - missing `runInAction`
- Add Carto v3 Maps API support for `table` and `query` endpoint (only GeoJSON - not MVT yet)
- Moved `activeStyle` default from `TableMixin` to `TableAutomaticStyleStratum`. The default `activeStyle` will now not pick a `hidden` `TableStyle`.
- Pin `flexsearch` version to `0.7.21` - as incorrect types are shipped in version `0.7.31`
- Only preload next timestep of timeseries rasters (WMS & ArcGIS MapServer) when animating the item on the map.
- Added error message if cesium stops rendering
- Add `enabled` to `TableStyleMapTraits` - which defaults to `true`
- Add `TableLabelStyleTraits` - this can be used to add `LabelGraphics` to point features (table or geojson)
- Add `TableTrailStyleTraits` - this can be used to add `PathGraphics` to time-series point features (table or geojson)
- Added missing `proxyCatalogItemUrl` to GeoJson, Shapefile, Gltf and AssImp catalog items.
- Added support for `OpenDataSoftCatalogGroup` with more than 100 datasets.
- Added `refreshIntervalTemplate` to `OpenDataSoftCatalogItemTraits` - this can be used to set `refreshInterval` using Mustache template rendered on ODS Dataset JSON object.
- Performance optimisation for time-series `TableMixin`
- Tweak `generateCatalogIndex` to use less memory. (+ add `diffCatalogIndex.js` script to show added/removed members between two catalog index files)
- Migrated `/#tools=1` to version 8.
- Removed dummy function `Terria.getUserProperty`.
- Removed unused version 7 React components.
- Fix Cesium `stoppedRenderingMessage`
#### 8.2.17 - 2022-09-23
- Fix region mapping feature `rowIds` incorrect type.
#### 8.2.16 - 2022-09-23
- Make srsName and outputFormat for WFS requests dynamic
- Added `excludeInactiveDatasets` to `CkanCatalogGroup` (`true` by default). This will filter out CKAN Datasets which have `state` or `data_state` (data.gov.au specific) **not** set to `"active"`.
- Fix `isTerriaFeatureData` bug - not checking `isJsonObject`
- Add `.logError()` to all usage of `updateModelFromJson` where the `Result` object is ignored
- Move `RelatedMaps` to terriajs. They are now generated from `configParameters` (see [`doc/customizing/client-side-config.md`](./doc/customizing/client-side-config.md#relatedmap))
#### 8.2.15 - 2022-09-16
- Fix bug with "propagate `knownContainerUniqueIds` across references and their target" - missing `runInAction`
#### 8.2.14 - 2022-09-15
- Moved map credits to map column so it don't get hidden by chart panel.
- TSified `FeatureInfo*.tsx`
- `describeFromProperties` is now `generateCesiumInfoHTMLFromProperties`
- `FeatureInfoSection` has been split up into `FeatureInfoSection.tsx`, `getFeatureProperties`, `mustacheExpressions` and `generateCesiumInfoHTMLFromProperties`
- Fix `{{terria.currentTime}}` in feature info template
- Add `{{terria.rawDataTable}}` in feature info template - to show raw data HTML table
- Added `TableFeatureInfoStratum` - which adds default feature info template to `TableMixin`
- Add `FeatureInfoContext` - used to inject properties into `FeatureInfoSections` context. These properties will be accessible from `featureInfoTemplate` mustache template.
- `tableFeatureInfoContext` adds time series chart properties using `FeatureInfoContext` (`getChartDetails` has been removed)
- Move `maximumShownFeatureInfos` from `WebMapServiceCatalogItemTraits` to `MappableTraits`
- Remove `featureInfoUrlTemplate` from `OpenDataSoftCatalogItem` - as it is incompatible with time varying datasets
- Removed `formatNumberForLocale` - we now use `Number.toLocaleString`
- Rename `Feature` to `TerriaFeature` - improve typing and usage across code-base
- Added `data: TerriaFeatureData` - which is used to pass Terria-specific properties around (eg `rowIds`)
- Added `loadingFeatureInfoUrl` to `FeatureInfoUrlTemplateMixin`
- Move `Cesium.ts` `ImageryLayer` feature picking to `cesium.pickImageryLayerFeatures()`
- Move `lib/Core/propertyGetTimeValues.js` into `lib/ReactViews/FeatureInfo/getFeatureProperties.ts`
- Add `showFeatureInfoDownloadWithTemplate` to `FeatureInfoTraits` - Toggle to show feature info download **if** a `template` has been provided. If no `template` is provided, then download will always show.
- Fix support for `initUrls` in `startData.initSources`
- Propagate `knownContainerUniqueIds` across references and their target.
- Show scrollbar for story content in Safari iOS.
- Use `document.baseURI` for building share links instead of `window.location`.
#### 8.2.13 - 2022-09-01
- Fix pedestrian drop behaviour so that the camera heading stays unchanged even after the drop
- Fixed a bug causing incorrect loading of EPSG:4326 layers in WMS v1.3.0 by sending wrong `bbox` in GetMap requests.
- Improve the CKAN model robustness by removing leading and trailing spaces in wms layer names.
- Load all `InitSources` sequentially instead of asyncronosly
- Fix `DOMPurify.sanitize` call in `PrintView`
- Fix warning for WFS item exceeding max displayable features
- Upgrade prettier to version 2.7.1
#### 8.2.12 - 2022-08-10
- Dropped "optional" from the prompt text in file upload modal for both local and web data.
- Changed the text for the first file upload option from "Auto-detect (recommended)" to simply "File type" for local files and "File or web service type" for web urls.
- Automatically suffix supported extension list to the entries in file type dropdown to improve clarity.
- Removed IFC from upload file type (until further testing).
- Move `CkanCatalogGroup` "ungrouped" group to end of members
#### 8.2.11 - 2022-08-08
- Add ability to customise the getting started video in the StoryBuilder panel
- Set cesium base URL by default so that cesium assets are resolved correctly
- Add `cesiumBaseUrl` to `TerriaOptions` for overriding the default cesium base url setting
- Fix broken Bing map logo in attributions
- Added ability to customise the getting started video in the StoryBuilder panel.
- Fixed a bug where menu items were rendered in the wrong style if the window was resized from small to large, or large to small.
- Strongly type `item` in WorkbenchItem and remove `show` toggle for non `Mappable` items.
- Add `configParameters.regionMappingDefinitionsUrls` - to support multiple URLs for region mapping definitions - if multiple provided then the first matching region will be used (in order of URLs)
- `configParameters.regionMappingDefinitionsUrl` still exists but is deprecated - if defined it will override `regionMappingDefinitionsUrls`
- `TableMixin.matchRegionProvider` now returns `RegionProvider` instead of `string` region type. (which exists at `regionProvider.regionType`)
- Fix `shouldShorten` property in catalog and story `ShareUrl`
- Fix `shortenShareUrls` user property
- Add `videoCoverImageOpacity` option to `HelpContentItem` so that we can fade the background of help video panels.
- Fix a bug where all `HelpVideoPanel`s were being rendered resulting in autoplayed videos playing at random.
- Add `getFeatureInfoUrl` and `getFeatureInfoParameters` to `WebMapServiceCatalogItemTraits`
- Fix `SearchBoxAndResults` Trans values
- Fix `generateCatalogIndex` for nested references
- Fix `SearchBox` handling of `searchWithDebounce` when `debounceDuration` prop changes. It now fushes instead of cancels.
#### 8.2.10 - 2022-08-02
- **Breaking changes:**
- **Minimum NodeJS version is now 14**
- Consolidate `HasLocalData` interface
- Add `GlTf` type definition (v2)
- Add `gltfModelUrl` to `GltfMixin` - this must be implemented by Models which use `GltfMixin`
- Moved `GltfCatalogItem` to `lib/Models/Catalog/Gltf/GltfCatalogItem.ts`
- Add experimental client-side 3D file conversion using [`assimpjs`](https://github.com/kovacsv/assimpjs) ([emscripten](https://emscripten.org) interface for the [assimp](https://github.com/assimp/assimp) library)
- This supports `zip` files and `HasLocalData` - but is not in `getDataType` as the scene editor (closed source) is required to geo-reference
- Supports over 40 formats - including Collada, obj, Blender, DXF - [full list](https://github.com/assimp/assimp/blob/master/doc/Fileformats.md)
- Add `description` to `getDataType` - this will be displayed between Step 1 and Step 2
- Add warning message to `GltfMixin` when showing in 2D mode (Leaflet)
- Upgrade `husky` to `^8.0.1`
- Prevent looping when navigating between scenes in StoryPanel using keyboard arrows
- Fix bug where StoryPanel keyboard navigation persists after closing StoryPanel
- Fix select when clicking on multiple features in 2D (#5660)
- Implemented support for `featureInfoUrlTemplate` on 2D vector features (#5660)
- Implemented FeatureInfoMixin in GeojsonMixin (#5660)
- `GpxCatalogItem` now use `GeojsonMixin` for loading data. (#5660)
- `GeoRssCatalogItem` now use `GeojsonMixin` for loading data. (#5660)
- Upgrade i18next to `v21`
- Limit workbench item title to 2 lines and show overflow: ellipsis after.
- Add `allowFeaturePicking` trait to Cesium3dTileMixin.
- Feature Info now hidden on Cesium3dTiles items if `allowFeaturePicking` set to false. Default is true.
- Add `initFragmentPaths` support for hostnames different to `configUrl`/`applicationUrl`
- Add DOMPurify to