|
4 | 4 |
|
5 | 5 | _TBD_ |
6 | 6 |
|
| 7 | +## 4.2.34 |
| 8 | + |
| 9 | +_April 2, 2026_ |
| 10 | + |
| 11 | +#### Summary |
| 12 | + |
| 13 | +This release introduces beta CesiumJS integration as an alternative 3D globe renderer, a new Plugin Components system for extensible UI behaviors, and a Playwright-based end-to-end testing framework. The DrawTool gains DynamicExtent for viewport-based feature loading and a new Point template type. AnimationTool receives multiple improvements and STAC URL fixes. TimeControl is promoted to core infrastructure under Basics. New API callbacks and events expand extensibility (newActiveFeature, layersToolHeaderStateChange, madeLegendTool, viewer_open). Mobile mode sees significant improvements including configurable initial zoom, layout fixes, and a responsive login page. Security hardening includes adjacent servers placed behind authentication, npm audit fixes, and multiple vulnerability patches. The codebase is cleaned up with D3 largely removed, legacy scripts and files pruned, and an improved Dockerfile. Two new open-source components are released: AnalysisTool and OperationsClock. |
| 14 | + |
| 15 | +#### Added |
| 16 | + |
| 17 | +- Beta CesiumJS integration as an alternative 3D globe renderer (#810) |
| 18 | +- Plugin Components system for lightweight, extensible UI behaviors (#849) |
| 19 | +- AnalysisTool and OperationsClock released as open-source components (#904) |
| 20 | +- Playwright end-to-end testing framework (#216) |
| 21 | +- DrawTool DynamicExtent for viewport-based feature loading (#852) |
| 22 | +- DrawTool Template for Point type (#843) |
| 23 | +- DrawTool endpoint support via long-term tokens (#841) |
| 24 | +- TiTiler layer support in Cesium Globe (#898) |
| 25 | +- External MMGIS STAC catalog linking (#863) |
| 26 | +- viewer_open as a new layer Kind (#855) |
| 27 | +- Configurable initial zoom for mobile mode (#866) |
| 28 | +- Latitude/Longitude option in coordinates display (#905) |
| 29 | +- Callback for layersToolHeaderStateChange (#846) |
| 30 | +- Callback for madeLegendTool (#858) |
| 31 | +- Additional newActiveFeature events (#845) |
| 32 | +- Font types as webpack assets (#874) |
| 33 | +- AGENTS.md and spec-kit for AI development (#828) |
| 34 | +- .gitattributes file (#901) |
| 35 | + |
7 | 36 | #### Changed |
8 | 37 |
|
9 | | -- Moved TimeControl from `Ancillary/` to `Basics/TimeControl_/` to reflect its role as core infrastructure (#835) |
10 | | - - TimeControl and TimeUI now located in `src/essence/Basics/TimeControl_/` |
11 | | - - Updated import paths across 19 files |
12 | | - - **Breaking change for external plugins**: Import path changed from `'Ancillary/TimeControl'` to `'Basics/TimeControl_/TimeControl'` |
13 | | -- Moved admin login assets from `config/login/` to `public/` directory |
14 | | - - `adminlogin.js` and `adminlogin.css` now served from `/public` |
| 38 | +- Moved TimeControl from Ancillary/ to Basics/TimeControl\_/ to reflect its role as core infrastructure (#835) |
| 39 | +- Breaking change for external plugins: Import path changed from 'Ancillary/TimeControl' to 'Basics/TimeControl\_/TimeControl' |
| 40 | +- Removed D3 dependency (mostly) (#826) |
| 41 | +- Improved Dockerfile with multi-stage build and reduced image size (#868) |
| 42 | +- Upgraded all adjacent servers and sample ENVs (#897) |
| 43 | +- Updated time and timetype metaconfigurations (#891) |
| 44 | +- Removed redundant urlencoded middleware (#888) |
| 45 | +- AnimationTool improvements including playback and UI enhancements (#856) |
| 46 | +- Updated GitHub workflow: docker-build.yml (#917) |
| 47 | +- Updated README.md (#913) |
| 48 | + |
| 49 | +#### Fixed |
| 50 | + |
| 51 | +- LegendTool overflow (#848) |
| 52 | +- Viewer and globe splitter icons (#850) |
| 53 | +- Time and Refresh Interval enabled layers incorrectly set to layernotfound (#853) |
| 54 | +- AnimationTool STAC URLs (#860, #861, #867) |
| 55 | +- Return value for layersToolHeaderStateChange event (#862) |
| 56 | +- Bug in viewer_open kind (#865, #882) |
| 57 | +- titiler-pgstac performance issue (#870) |
| 58 | +- DynamicExtent + Threshold layers not properly updating (#871) |
| 59 | +- Multiple mobile mode layout and interaction issues (#875, #878) |
| 60 | +- Login page layout on smaller screens (#883) |
| 61 | +- Initial Start and End Time configuration parameters (#886) |
| 62 | +- Time Type = Local and Refresh Interval not working together (#889) |
| 63 | +- queryTilesetTimes not updating on layer toggles (#892) |
| 64 | +- DrawTool bugs: template field naming, not-null advanced filters (#895) |
| 65 | +- DrawTool Templated Point origin point getting stuck (#909) |
| 66 | +- updateClampedRasterForLayer is not a function error (#907) |
| 67 | +- Image loading in OpenSeadragon (#899) |
| 68 | +- Missions middleware (#914) |
| 69 | +- Hover Feature Label and Layer Tags wrongly assigned (#915) |
| 70 | +- Critical security vulnerabilities (#880, #884) |
15 | 71 |
|
16 | 72 | #### Removed |
17 | 73 |
|
18 | | -- Legacy jQuery/Materialize configure page and `/configure-legacy` route (#830) |
19 | | - - Removed entire `config/` directory (css, js, fonts, pre, login subdirectories) |
20 | | - - Removed `views/configure.pug` template |
21 | | - - Use `/configure` for React-based configure interface |
22 | | -- `database/` directory - Old Docker Postgres migration/upgrade scripts |
23 | | -- `src/essence/Tools/_OLD/` directory (Distance, FileManager, Query, Search, Sketch tools) |
24 | | -- `Dockerfile.legacy` (superseded by main Dockerfile) |
| 74 | +- Legacy jQuery/Materialize configure page and /configure-legacy route (#830) |
| 75 | +- database/ directory containing old Docker Postgres migration scripts (#830) |
| 76 | +- src/essence/Tools/\_OLD/ directory (#830) |
| 77 | +- Dockerfile.legacy (#830) |
| 78 | + |
| 79 | +#### Security |
| 80 | + |
| 81 | +- npm audit fix (unforced) (#832) |
| 82 | +- Adjacent servers placed behind authentication (#911) |
25 | 83 |
|
26 | 84 | ## 4.1.0 |
27 | 85 |
|
|
0 commit comments