9.0.0 (2025-01-24)
⚠ BREAKING CHANGES
- updates several major dependencies
The following major dependencies have been updated
- @terrestris/react-geo from version 23 to 25
- antd from 4 to 5
- react from version 17 to 18
- ol from version 7 to 10
- geostyler from 12 to 15
In addition webpack has been replaced by rspack.
Dependencies
- add a watch:buildto npm script entry (18d5500)
- ignore test-results in subpaths (6eb402c)
- latest updates especially shogun-util and module federation (46a950a)
- merge branch 'next' into reloadFeatureFix (810521e)
- release: 9.0.0-next.1 [skip ci] (ec4134d)
- release: 9.0.0-next.2 [skip ci] (d75d3d4), closes #1762
- release: 9.0.0-next.3 [skip ci] (5814db4)
- release: 9.0.0-next.4 [skip ci] (ce722d3), closes #1785
- release: 9.0.0-next.5 [skip ci] (aa8af34), closes #1784
- release: 9.0.0-next.6 [skip ci] (f44f9f3), closes #1791
- remove non-working update-coverage workflow (18956c6)
- resolve merge conflicts (e2e534d)
- resolve merge conflicts for merge into main (91e9bc2)
- try to fix coverage pipeline (6cc0789)
- update dependencies (7f91b84)
- update dependencies (74460e9)
- update dependencies (e7fc751)
- update react-geo (c278008)
Changes in configuration
- define MULTI_LINES_TEXT (f5ba097)
- ensure proper formatting (8b89ca4)
- fix end of file (07e397f)
- fix multiline handling (d6dc266)
- properly escape echo command (4ef7c94)
- store and pass multiple-files-input correctly (9a7cb97)
Features
- add XYZ and Stamen/Stadia serializers (a0141cf)
- adds a configuration in the ToolConfig in order to customise display of layer-icons per app (2f6538f)
- adds icon to indicate searchable, hoverable and/or editable layer (25ef26a)
- adds Map Toolbar to the gis-client (#1784) (6159ce8)
- adds reroute link from error page to login (133c46c)
- adds tooltips to layertree icons (#1785) (05cf7ea)
- include wfs search and refactor MultiSearch (ada52b2)
- init ImportDataModal (and fix minor styling issues) (08b1016)
- introduces the new api endpoint applicationName (#1791) (3d07d57)
- parse map interactions (4525420)
- remove static loading text, add loading indicator and minor css cleanup (92b0ec7)
- update all dependencies to their latest versions (3cfe3b3)
- update react-geo (d51a10b)
Bugfixes
- add layer to target group before adding it to the map (4279c64)
- add missing fields due to dependency update (d623c5a)
- add missing keys in list (9719761)
- check condition for icon display and styling (bc33a7e)
- condition checks and css (87a1114)
- coverage comment (f43c290)
- coverage comment (use printf) (3c0cab7)
- create deep clone from state value (66dcc10)
- cursor jumps on keystroke (691fe6f)
- drag and drop in nodeTitleRenderer (a9264f2)
- fix client with terrestris dependencies update (984dc23)
- geometry edit tools and styling (#1762) (1b6b833)
- layertree checkbox css (c008409)
- layout and styling (b8ee0df)
- layout fixes (3312620)
- make gfi edit button work in all scenarios (96560c6)
- make metadata configurable (e8b5d3a)
- padding and extend link to the text (038f251)
- padding in header (3ed6ee5)
- prevent unnecessary rerenders of the Legend (8219f57)
- reactivate drill down feature info requests (0058b88)
- readd support for a custom favicon path (7bd4bf4)
- reloadFeature (703b34f)
- remove empty element and add check (a06b8ee)
- restore the initial value (a73e05b)
- rewording of translation text (f76cf95)
- set correct translation key (f06f46b)
- show legend for WMS layers only (26dc9ee)
- styling (553d512)
- update feature info to changes in react-geo (35e8ab1)
- white space (080d582)
Migration Guide: Upgrading Plugins to SHOGun GIS Client v9.0.0
With the release of shogun-gis-client v9.0.0, the build system has migrated from webpack to rspack. If your plugin is intended to be compatible with the latest version, follow this guide to update your configuration accordingly.
Key Changes
- Migration from webpack to rspack
- Upgrade to ModuleFederationPlugin v2
- Replacement of moment with Dayjs
- Adjustments in build configurations (common, dev, and prod)
- Dependencies updates in package.json
Configuration File Changes
Updating webpack.common.js
to rspack.common.js
Before (webpack.common.js):
const ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin');
After (rspack.common.js):
const { ModuleFederationPlugin } = require('@module-federation/enhanced/rspack');
Additional changes:
resolve.fullySpecified: false
may need to be added tomodule.exports.module.rules.resolve
when importing ESM modules that do not have the.js
file extension explicitly specified in the import path. This helps avoid module resolution issues in rspack.- Module rules and loader configurations must match rspack syntax.
Updating webpack.dev.js
to rspack.dev.js
Before:
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
After:
const ReactRefreshPlugin = require('@rspack/plugin-react-refresh');
Other changes:
- Update the reference to
common
(webpack.common.js
→rspack.common.js
). - Add
new ReactRefreshPlugin()
in the plugins array.
Migrating webpack.prod.js
to rspack.prod.js
Key adjustments of webpack.prod.js
include:
- Use of
rspack.CssExtractRspackPlugin.loader
instead ofmini-css-extract-plugin
. - Replacement of
copy-webpack-plugin
withrspack.CopyRspackPlugin
. - Ensure
output.publicPath
is set toauto
.
Updating package.json
Ensure @terrestris/shogun-gis-client
is at least v9.0.0
"@terrestris/shogun-gis-client": "^9.0.0"
Install Required Packages
npm install --save-dev @module-federation/enhanced @rspack/cli @rspack/core @rspack/plugin-react-refresh
Remove Deprecated Webpack Packages
npm uninstall webpack webpack-bundle-analyzer webpack-dev-server webpack-cli copy-webpack-plugin css-minimizer-webpack-plugin mini-css-extract-plugin terser-webpack-plugin
Remove any other unused or unsupported webpack packages. Refer to the official rspack documentation for details: Rspack Webpack Compatibility
Update scripts
Section in package.json
Before:
"build": "webpack --config webpack.prod.js",
"start": "webpack serve --config webpack.dev.js"
After:
"build": "rspack --config rspack.prod.js",
"start": "rspack serve --config rspack.dev.js"
Final Steps
- Verify that all dependencies are updated.
- Test your plugin with
shogun-gis-client v9.0.0
. - Refer to the official Rspack documentation for further configuration adjustments.
- See the example configuration in the shogun-gis-client-example-plugin.