TerriaJS Release Notes 8.11.1: Support for Google 2D Tiles Shipped

Our team and the TerriaJS community worked hard to deliver new capabilities, and we are thrilled to announce the next release, 8.11.1, which includes many advanced features and dependency upgrades.

Google Maps 2D Tiles as a basemap.

New Version of CesiumJS and Google 2D Tiles Support

Even though we have just upgraded the version of CesiumJS used in TerriaJS and TerriaMap, this is arguably the most exciting news for our users, as it enables the support for the Google 2D Tiles standard, recently announced by Google and implemented promptly by Cesium. To enable Google 2D tiles, users must provide a Cesium ION access token and ensure their data usage complies with Cesium’s and Google’s terms and conditions.

Tile Map Service (TMS) imagery tilesets

Tile Map Service (TMS) is a map tiling specification proposed by OSGeo. It is an older standard widely adopted by many service providers and server and client applications. TerriaJS implements TileMapServiceCatalogItem based on CesiumJS’s TileMapServiceImageryProvider. This addition will further enhance the interoperability of TerriaJS-based map viewers with other systems and catalogue services. It’s worth noting that TerriaJS uses an adapter that allows leveraging Cesium’s providers in both 2D (Leaflet-based) and 3D modes of the viewer.

Natural Earth II as a TMS item.

MapBox Search Enhancements

The MapboxSearchProvider now includes an option to display the exact coordinate location at the top of reverse-geocoding results. This improvement ensures that users searching by coordinates can always find the precise point they entered, even when no nearby address exists.

Previously, reverse geocoding would return only the nearest known address, which was often not helpful for workflows that require precise positioning—such as locating assets or points of interest in remote areas.

This behaviour is controlled by a new trait, showCoordinatesInReverseGeocodeResult, enabled by default. When active, it adds the coordinate result alongside, or instead of, address matches, giving users more predictable, accurate search results.

MapBox coordinates search result.

Fixed Zooming in Charts

A tricky bug slipped in during recent refactoring, but with the support of active users, we successfully identified and resolved it. Shhhh, this was related to a complex interaction between React and D3.js, which was quite hard to debug and understand, but now it's all done.

Zooming a chart with the mouse wheel.

Data size warning for stories 

We tackled an edge case where the story exceeds a size that is processable on the server side. To address this, we added a new configuration setting that displays a warning to the user if the data to be shared when creating a share URL exceeds the server's limit. Earlier, this capability was added to terriajs-server.


Breaking Change: SVG Sprite Loader

We continually monitor the building blocks used by TerriaJS, and if any become unmaintained, we strive to replace them with better-maintained, more reliable alternatives. With the present release, we replaced the svg-sprite-loader because it had several vulnerable dependencies that appeared in audit reports. We replaced it with our custom SvgSprite plugin for Webpack, based on the svg-sprite package. This may break customisations our users have added to their instances of TerriaMap, so please be aware.

Dependency Upgrades

In this release, we’ve replaced several core dependencies, including Babel, TypeScript, MobX, and CesiumJS (via the terriajs-cesium and terriajs-cesium-widgets packages). These upgrades provide improved performance, enhanced compatibility with modern JavaScript features, and increased stability for 3D visualisation and reactive data handling.

As part of this update, outdated or unmaintained packages, such as webpack-dev-server and @mapbox/geojson-merge, have been removed or replaced with lighter, actively maintained alternatives, reducing build complexity and improving long-term maintainability.

😍 What’s Coming Up Next

❤️ We’re continuing to strengthen TerriaJS by improving documentation, enhancing the developer experience, and expanding automated tests.

❤️ Expect more updates soon as we refine workflows, modernise our tooling, and make contributing even easier for the open-source community.

📌 Join the Community & Explore the Details

🔹 Dive into the full changelog on GitHub: CHANGES.md.

🔹 Have ideas or questions? Start a thread in our Discussions.

🔹 Interested in contributing? Visit our developer guide to see how you can get involved.


 

About Terria

Terria makes it easy to build advanced maps and digital twins, so you can see the bigger picture. Our digital maps and spatial digital twin technology make it easy for you to unlock the full potential of your data, enabling faster, smarter decision-making. We help you transform complex data into clear, actionable insights, so you can tackle real-world challenges with confidence and precision.

At Terria, we believe that data transparency has the power to transform how businesses operate, make decisions, and engage with stakeholders—ultimately leading to better outcomes for all. Find out more here https://terria.io/about

To stay updated on all Terria Community activity, follow us on LinkedIn and


Yuri Vyatkin

Software engineer building web applications for data visualisation and geospatial data analysis.

Next
Next

Terria to support delivery of Western Australia’s Digital Twin