diff --git a/CHANGES.md b/CHANGES.md
index 10f527d672d..2e43a9182d1 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,10 +1,15 @@
# Change Log
-#### next release (8.3.10)
+#### next release (8.4.1)
+- [The next improvement]
+
+#### 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.
-- [The next improvement]
#### 8.3.9 - 2023-11-24
diff --git a/doc/connecting-to-data/customizing-data-appearance/feature-info-template.md b/doc/connecting-to-data/customizing-data-appearance/feature-info-template.md
index 8ecc4553955..70b6b24ae16 100644
--- a/doc/connecting-to-data/customizing-data-appearance/feature-info-template.md
+++ b/doc/connecting-to-data/customizing-data-appearance/feature-info-template.md
@@ -30,11 +30,11 @@ The template will replace all occurrences of `{{property}}` with the value of th
The result is:
-
+
instead of:
-
+
You can provide a template to use for the name of the collapsible section (eg. to replace `RGB` in the example above), like so:
@@ -150,7 +150,7 @@ If `{{Pixel Value}}` equals to `150` and `{{feature.data.layerId}}` to `2`, the
For features with time-varying table-based data structures (eg. CSV, SOS2, SDMX-JSON, if there is a time column), the feature info panel also includes a chart of the data over time, eg.
-
+
You can place this chart in your template using `{{terria.timeSeries.chart}}`. Alternatively, you can access the following component information:
diff --git a/doc/contributing/problems-and-solutions.md b/doc/contributing/problems-and-solutions.md
index f389e97ef33..002ae4db8fb 100644
--- a/doc/contributing/problems-and-solutions.md
+++ b/doc/contributing/problems-and-solutions.md
@@ -79,24 +79,3 @@ Then run the following to install NodeJS v16 and use it:
nvm install 16
nvm use 16
```
-
----
-
-### Problem
-
-Python errors when building NodeJS dependencies (eg `node-sass`). This is common on M1/M2 macs.
-
-### Solution
-
-You may need to install Python2 to build NodeJS dependencies (like `node-sass`)
-
-We recommend using [`pyenv`](https://github.com/pyenv/pyenv#installation) to install Python2.
-
-Follow installation instructions [here](https://github.com/pyenv/pyenv#installation).
-
-Then run the following to install Python 2.7.18 and use it:
-
-```bash
-pyenv install 2.7.18
-pyenv shell 2.7.18
-```
diff --git a/lib/ReactViews/Analytics/invoke-function.scss b/lib/ReactViews/Analytics/invoke-function.scss
index 8e3cb5b6c11..f95e59ea42b 100644
--- a/lib/ReactViews/Analytics/invoke-function.scss
+++ b/lib/ReactViews/Analytics/invoke-function.scss
@@ -31,7 +31,9 @@
}
}
-@include empty-module("description") .btn {
+@include empty-module("description");
+
+.btn {
composes: btn from "../../Sass/common/_buttons.scss";
composes: btn-primary from "../../Sass/common/_buttons.scss";
}
diff --git a/lib/ReactViews/DataCatalog/data-catalog-group.scss b/lib/ReactViews/DataCatalog/data-catalog-group.scss
index 8ffeaf20eb1..b7cb3e0a226 100644
--- a/lib/ReactViews/DataCatalog/data-catalog-group.scss
+++ b/lib/ReactViews/DataCatalog/data-catalog-group.scss
@@ -112,7 +112,7 @@
.catalog-group {
composes: list-reset from "../../Sass/common/_base.scss";
padding-left: $padding;
- padding-top: $padding / 2;
+ padding-top: calc($padding / 2);
&--lower-level {
margin-left: 20px;
border-left: 1px solid $grey-lighter;
diff --git a/lib/ReactViews/Mobile/mobile-header.scss b/lib/ReactViews/Mobile/mobile-header.scss
index d536a6607c4..faa0eb31ed3 100644
--- a/lib/ReactViews/Mobile/mobile-header.scss
+++ b/lib/ReactViews/Mobile/mobile-header.scss
@@ -47,7 +47,7 @@
svg {
position: absolute;
top: $padding;
- left: $padding/2;
+ left: calc($padding / 2);
fill: #ffffff;
}
}
diff --git a/lib/ReactViews/StandardUserInterface/standard-user-interface.scss b/lib/ReactViews/StandardUserInterface/standard-user-interface.scss
index 660037e054a..e8c8a154c58 100644
--- a/lib/ReactViews/StandardUserInterface/standard-user-interface.scss
+++ b/lib/ReactViews/StandardUserInterface/standard-user-interface.scss
@@ -80,8 +80,12 @@
// On small screens (mobile), it make be up to 90% of the screen.
// In between, it may be up to 90% of the largest mobile screen ($sm), minus a bit to leave room
// for the map controls on the right. This is computed in $feature-info-medium-max-size.
- $feature-info-medium-max-size: $sm * 0.9 - $feature-info-right-margin * 0.5;
- $feature-info-forty-percent-size: $feature-info-medium-max-size * 100 / 40;
+ $feature-info-medium-max-size: calc(
+ $sm * 0.9 - $feature-info-right-margin * 0.5
+ );
+ $feature-info-forty-percent-size: calc(
+ $feature-info-medium-max-size * 100 / 40
+ );
z-index: $front-component-z-index - 20;
position: absolute;
diff --git a/lib/Sass/common/_variables.scss b/lib/Sass/common/_variables.scss
index a69b1182cf9..26a01198883 100644
--- a/lib/Sass/common/_variables.scss
+++ b/lib/Sass/common/_variables.scss
@@ -182,7 +182,7 @@ $splitter-thumb-width: 40px;
// Generated legends
$legend-item-width: 30px;
$legend-item-height: 16px;
-$legend-padding: $legend-item-height / 2;
-$legend-spacer-height: $legend-padding / 2;
+$legend-padding: calc($legend-item-height / 2);
+$legend-spacer-height: calc($legend-padding / 2);
$tool-primary-color: $color-primary;
diff --git a/package.json b/package.json
index e81c7cfd621..8cc0a7d79cd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "terriajs",
- "version": "8.3.9",
+ "version": "8.4.0",
"description": "Geospatial data visualization platform.",
"license": "Apache-2.0",
"engines": {
@@ -217,13 +217,13 @@
"klaw-sync": "^4.0.0",
"minimist": "^1.2.8",
"node-notifier": "^5.1.2",
- "node-sass": "^6.0.1",
"plugin-error": "^1.0.1",
"prettier": "2.7.1",
"pretty-quick": "^1.10.0",
"react-shallow-testutils": "^3.0.0",
"react-test-renderer": "^16.3.2",
"regenerator-runtime": "^0.13.2",
+ "sass": "^1.66.1",
"terriajs-server": "^4.0.0",
"yaml": "^1.10.0"
},