Skip to content

v3.3.0

Latest

Choose a tag to compare

@giswqs giswqs released this 05 Oct 04:06
· 24 commits to main since this release
c2a74d5

What's Changed

  • feat(server-api): per-org security policy (1/3) by @deniial00 in #2788
  • plugins: move Hugging Face, Mapillary and God's Eye View tokens to app.credentials by @deniial00 in #2793
  • feat: load deployment.json before first paint (#2783 part 2) by @deniial00 in #2795
  • docs: list S3 Browser deep link; ci: allowlist unpatched node-forge advisory by @giswqs in #2798
  • fix(processing): open the file picker for LiDAR tool inputs by @giswqs in #2799
  • feat: add a Map Preferences option to disable zoom to new layers by @giswqs in #2800
  • feat(server-api): per-org OIDC federation and trusted-header proxy sign-in (2/3) by @deniial00 in #2796
  • feat(plugins): add USGS Elevation (DEM) plugin by @andyrich in #2797
  • feat(docker): generate validated deployment.json at boot (#2783 part 3) by @deniial00 in #2801
  • fix(share): copied feedback and Open button on Active Shares rows by @deniial00 in #2806
  • feat(server-api): add /api/shares with link role, expiry, and password by @deniial00 in #2807
  • feat(desktop): config-dir deployment.json delivery (#2783 part 4) by @deniial00 in #2811
  • fix(desktop): ask before closing a window with unsaved changes by @giswqs in #2812
  • feat(server-api): SCIM 2.0 user and group provisioning (3/3) by @deniial00 in #2810
  • feat(plugins): dock USGS LiDAR panel under Web Services by @giswqs in #2813
  • feat(plugins): dock Historical Imagery, Timelapse, Overture, Basemaps panels by @giswqs in #2814
  • feat(plugins): drop Time Slider submenu, list Web Services above Basemaps by @giswqs in #2815
  • feat(controls): move Layer Control to top of Controls menu by @giswqs in #2816
  • feat(docker): enforce sidecar and AI deployment policy (Part 5) by @deniial00 in #2817
  • feat(plugins): expose host proj4 to external plugins by @deniial00 in #2824
  • fix: use MapLibre's built-in RTL shaping for Kurdish labels by @giswqs in #2827
  • fix(desktop): save projects with a reopenable extension and clarify the read error by @giswqs in #2828
  • fix(plugins): keep docked plugins active across a renderer swap by @giswqs in #2832
  • feat(plugins): let ?plugin= open registry plugins behind a trust prompt by @giswqs in #2831
  • fix(plugins): offer a registry release as an update instead of failing the pinned plugin by @giswqs in #2835
  • feat(plugins): let registry plugins keep project state through credential stripping by @giswqs in #2836
  • Fix desktop layer reordering with pointer capture by @deniial00 in #2839
  • feat(plugins): dock GeoAgent in the side panel and follow the dark theme by @giswqs in #2841
  • feat(export): export 3D-extruded layers as glTF, OBJ, or STL models by @giswqs in #2838
  • feat(python): drive the open desktop map from geolibre-mcp by @Amanpatni211 in #2829
  • fix(basemaps): dark-theme dropdowns and "All categories" label by @giswqs in #2842
  • feat(plugins): enforce deployment plugin policy (Part 6) by @deniial00 in #2818
  • fix(plugins): report the native fetch error instead of the webview's by @giswqs in #2843
  • fix(deps): patch brace-expansion, fast-uri and ip-address advisories by @giswqs in #2844
  • feat: expose WFS layer API to plugins by @deniial00 in #2826
  • feat(plugins): dock Layer Swipe in the side panel and follow the dark theme by @giswqs in #2845
  • feat(plugins): sort the Web Services submenu alphabetically by @giswqs in #2846
  • feat(plugins): dock the Elevation Profile in the side panel by @giswqs in #2847
  • feat(plugins): group submenu plugins above Basemaps in the Plugins menu by @giswqs in #2849
  • feat(plugins): give desktop plugins a native fetch with a cookie jar by @giswqs in #2848
  • feat(plugins): group external plugins in a Plugins → Installed submenu by @giswqs in #2851
  • feat(plugins): let plugins add items to the built-in toolbar menus by @giswqs in #2852
  • feat(plugins): let users move a plugin's menu out of the toolbar by @giswqs in #2853
  • feat(layers): show a service layer's source in its Metadata dialog, and let plugins add metadata by @giswqs in #2856
  • ci: add job timeouts and split the CI gate into parallel jobs by @giswqs in #2859
  • fix(plugins): close credential-store reads before external plugins load by @giswqs in #2861
  • feat(history): show when autosave is paused for a large project by @giswqs in #2860
  • ci: type-check the test suite with an error-count ratchet by @giswqs in #2862
  • feat(plugins): verify registry installs and updates against the published bundle hash by @giswqs in #2857
  • refactor(processing): extract and test ProcessingDialog parameter helpers by @giswqs in #2863
  • refactor(plugins): build the six DGGS grid plugins from one factory by @giswqs in #2865
  • refactor(settings): split SettingsDialog into per-section components by @giswqs in #2866
  • refactor(plugins): move the plugin app API out of usePlugins.ts by @giswqs in #2864
  • refactor(map): move shared engine helpers into neutral modules and lint the boundary by @giswqs in #2868
  • test: contract tests for hand-mirrored upstream internals by @giswqs in #2867
  • feat(raster): interactive histogram for the display stretch by @giswqs in #2871
  • refactor(map): gate UI on engine capabilities, not renderer names by @giswqs in #2874
  • fix(desktop): pin the CSP's jsDelivr script-src to versioned paths by @giswqs in #2875
  • feat(coordinates): MGRS/USNG and any-EPSG coordinate readouts, grid-reference search by @giswqs in #2872
  • build: ship h5wasm once and report bundle sizes in CI by @giswqs in #2870
  • refactor(toolbar): split TopToolbar state into hooks and lazy dialogs by @giswqs in #2877
  • test(e2e): fix the blend-modes flake and widen the per-commit gate by @giswqs in #2876
  • ci(coverage): ratchet large modules that no test loads; lower lint cap to 242 by @giswqs in #2880
  • refactor(map): declare each engine's supported layer kinds by @giswqs in #2881
  • feat: color vision preview and starter projects in New Project by @giswqs in #2884
  • feat(history): compare project snapshots and restore single layers by @giswqs in #2882
  • feat(app): unified notify() toasts with Report issue by @giswqs in #2885
  • feat(palette): reach individual tools and simplify the interface by @giswqs in #2883
  • fix(identify): send WMS GetFeatureInfo in the layer's CRS by @aborruso in #2889
  • feat(plugins): honor the plugin registry's blocklist by @giswqs in #2873
  • feat(i18n): complete the catalogs and let plugins ship translations by @giswqs in #2893
  • fix(a11y): un-nest layer rows and broaden the axe sweep by @giswqs in #2895
  • feat(analysis): interactive line of sight between two map points by @giswqs in #2894
  • perf(processing): move GeoJSON materialization and Turf tools off the main thread by @giswqs in #2897
  • docs: generated plugin reference and deeper user guide pages by @giswqs in #2891
  • feat(python): author filters, labels, plugin state and story maps; live processing in MCP by @giswqs in #2892
  • fix(i18n): report missing translations instead of failing by @giswqs in #2901
  • feat(identify): skip WMS layers marked queryable="0", show WMS exceptions as errors by @aborruso in #2890
  • feat(identify): read WMS GetFeatureInfo HTML tables into fields by @aborruso in #2896
  • fix(netcdf): place 0-360 grids and keep a local time axis selectable by @giswqs in #2909
  • refactor(sidecar): extract shared database helpers by @deniial00 in #2903
  • fix(processing): correct path, filter, output-name and LAZ heuristics by @giswqs in #2905
  • chore: pin the web CSP's jsDelivr paths and tighten loose types by @giswqs in #2906
  • feat(graticule): MGRS/USNG grid overlay and grid references in Set View by @giswqs in #2907
  • fix(map): grid label font, Overture backfill on Mapbox, Maptoolkit logo by @giswqs in #2910
  • feat(notify): layer failure toasts on Cesium/ArcGIS, tile health, and notify follow-ups by @giswqs in #2911
  • perf(processing,map): cancel vector tool runs, slimmer warm Turf worker, tile large layers on a worker by @giswqs in #2912
  • fix(app): app-UI follow-ups (language-pack race, palette memo/commands, vector panel race, focus, autosave indicator) by @giswqs in #2908
  • feat(layers): editable layer metadata with STAC Item export by @giswqs in #2904
  • docs: document deployment policy cutover by @deniial00 in #2900
  • docs(privacy): describe the plugin registry's anonymous usage counts by @giswqs in #2915
  • fix(web): ship a null deployment.json stub so static hosts don't 404 by @giswqs in #2917
  • fix(plugins): activate installed registry plugins from ?plugin= in layout=viewer by @deniial00 in #2914
  • feat(sidecar): editable SQL Server / Azure SQL data source by @deniial00 in #2913
  • test(e2e): move four feature specs and registry deep-link flows to nightly by @giswqs in #2918
  • fix(web): read BASE_URL inline so subpath builds fetch deployment.json by @giswqs in #2919
  • ci(preview): smoke-test each deployed PR preview for a clean console by @giswqs in #2922
  • fix(web): Open Recent for saved projects by @deniial00 in #2924
  • feat(desktop): SQL Server / Azure SQL Add Data source (part 3a, #2802) by @deniial00 in #2920
  • ci: consolidate PR checks behind a single "CI passed" gate by @giswqs in #2927
  • fix(map): keep the Identify crosshair on the canvas container after camera moves by @giswqs in #2933
  • fix: cross-cutting review findings (proxy IP, OIDC, GML, S3, antimeridian, EE OAuth) by @deniial00 in #2926
  • fix(cesium): stop terrain correction pulling flights back to the seed view by @giswqs in #2931
  • feat(desktop): SQL Server save-back and Browser panel (part 3b, #2802) by @deniial00 in #2928
  • test(e2e): unload map pages before disposing each test's context (#2879) by @giswqs in #2937
  • fix: UTM grid zone exceptions, grid redraw after basemap swap, metadata discard prompt, chunked autosave by @giswqs in #2938
  • feat(identify): Edit geometry and Edit attributes on Identify results by @giswqs in #2935
  • feat(s3): open projects from the S3 browser by @giswqs in #2939
  • feat(s3): keep the S3 Browser open across project loads, open it at startup by @giswqs in #2941
  • i18n: fill missing keys in all locale catalogs by @giswqs in #2940
  • chore(release): v3.3.0 by @giswqs in #2942

New Contributors

Full Changelog: v3.2.0...v3.3.0