v1.5.0
What's Changed
- docs(architecture): note WebKitGTK map render limits on Linux by @giswqs in #400
- feat: add a column explorer to the attribute table by @giswqs in #402
- docs: even out the homepage feature card lengths by @giswqs in #404
- feat(dashboard): add a Dashboard panel of chart widgets (#401) by @giswqs in #405
- feat(vector): honor embedded KML/KMZ symbology by @giswqs in #407
- fix(print-layout): exclude control colorbar canvases from map capture by @giswqs in #412
- feat(raster): reverse + custom ramps, and the full colormap list (maplibre-gl-raster 0.3.0) by @giswqs in #411
- feat(whitebox): in-browser WASM runtime with raster I/O by @giswqs in #413
- chore(deps): bump maplibre-gl-components to 0.20.5 by @giswqs in #418
- fix(pyodide-console): honor custom VITE_PYODIDE_INDEX_URL via blob URL by @giswqs in #421
- fix: legend/colorbar config panels auto-fit viewport (no forced scrollbar) by @giswqs in #429
- chore(deps): bump maplibre-gl-esri-wayback to 0.1.1 by @giswqs in #432
- feat(add-data): saved service library for web-service layers by @giswqs in #423
- chore(deps): bump maplibre-gl-layer-control to 0.15.1 by @giswqs in #431
- feat(layers): grey out layer names hidden by group visibility by @giswqs in #434
- feat(layer-control): save & reuse basemap element visibility presets by @giswqs in #435
- feat(style): scale-proportional (meters) stroke width unit by @giswqs in #433
- feat(basemaps): support stacking multiple raster basemaps by @giswqs in #436
- fix(layer-control): consistent 'basemap' terminology in layer panel by @giswqs in #439
- feat(add-data): internationalize the Add Data dialog (#427) by @giswqs in #438
- refactor(maplibre-effects): render atmosphere behind the globe by @giswqs in #440
- docs: migrate documentation build from MkDocs to Zensical by @giswqs in #442
- chore(deps): bump maplibre-gl-raster to ^0.3.1 (fixes COG rendering #444) by @giswqs in #447
- fix(vector): forward offline spatial-extension path to the Add Vector panel by @giswqs in #446
- fix(project): prompt for a file name on Save As in browsers without the save picker by @giswqs in #458
- feat(dashboard): make the dashboard panel collapsible (#459) by @giswqs in #463
- chore(deps): bump maplibre-gl-layer-control to ^0.17.3 by @giswqs in #456
- fix(layout): keep confirmation dialogs above map-control panels (#451) by @giswqs in #461
- fix(toolbar): commit project name on Enter key by @giswqs in #473
- fix(map): sync basemap visibility/opacity from the layer control to the store by @giswqs in #464
- fix(basemap): let the resized basemap panel grow past the default size caps (#452) by @giswqs in #474
- fix(add-data): simplify the "Insert before" menu (#453) by @giswqs in #476
- feat(bookmark): capture layers, selectable export, resizable/reorderable panel, save-as name prompt by @giswqs in #475
- feat(globe): customizable atmosphere halo and space colors by @giswqs in #477
- fix(geoagent): keep panel open on provider change, inset EE Sign in button by @giswqs in #478
- chore(deps): bump maplibre-gl-raster to 0.4.0 by @giswqs in #479
- feat(esri-wayback): add 'only versions with local changes' filter by @giswqs in #487
- chore(deps): bump maplibre-gl-raster to 0.5.0 by @giswqs in #488
- docs: add Acknowledgements page by @giswqs in #490
- fix(style): add screen eyedropper to color fields (#489) by @giswqs in #491
- fix(style): hide Circle radius for the GeoEditor Sketches layer by @giswqs in #494
- fix(map): render generic external raster tile layers from plugins by @giswqs in #495
- feat(raster): reopen styling panel from layer actions; unify floating-panel icon behavior by @giswqs in #493
- fix: GeoEditor polygon can't be closed (#481) by @giswqs in #496
- feat(notebook): split workspace 50/50 with map and collapse Style panel by @giswqs in #497
- feat(basemap): add Protomaps basemaps to New map dialog by @giswqs in #498
- fix(sql): resolve SQL Workspace/AI Assistant duplicate OGC_FID Binder Error (#499) by @giswqs in #502
- fix(assistant): clarify the no-LLM placeholder and fix the settings path by @giswqs in #503
- feat(map): add lock-icon indicator when map bounds are restricted (#504) by @giswqs in #506
- feat(settings): warn about Globe drift before Use Current View (#505) by @giswqs in #507
- feat(map): refine default top-right map controls (#512) by @giswqs in #513
- fix(toolbar): keep Redo shortcut on one line in Edit menu (#511) by @giswqs in #514
- feat(settings): customizable UI profiles / data source filtering (#500) by @giswqs in #509
- feat(toolbar): add View menu with viewport history navigation (#510) by @giswqs in #515
- feat(map): add reset pitch & bearing control with rotation indicator by @giswqs in #516
- feat(controls): add Spinning Globe panel under Atmospheric Effects by @giswqs in #517
- feat(plugins): replace LiDAR Viewer with USGS LiDAR plugin by @giswqs in #518
- feat(map): replace ambiguous compass icon with a distinct north arrow by @giswqs in #539
- fix(wayback): bump esri-wayback to 0.2.1 so metadata panel scrolls by @giswqs in #550
- fix(wayback): grow the Esri Wayback panel into available map height by @giswqs in #552
- fix(toolbar): remove non-functional Layers icon from header by @giswqs in #553
- fix(add-data): clarify Saved services bar and basemap toggle by @giswqs in #554
- fix(offline): clarify zoom-level controls and warning text (#519, #538) by @giswqs in #556
- fix(settings): tailor Settings visibility and copy for Beginner/Intermediate profiles by @giswqs in #555
- fix(basemaps): confirm before a style basemap clears stacked basemaps and surface actionable credential errors by @giswqs in #557
- fix(settings): follow-up review fixes for the Beginner/Intermediate profile PR by @giswqs in #561
- fix(geocode): clearer Geocode Addresses dialog copy and contextual API key hint by @giswqs in #558
- feat(add-data): accept comma decimals and drag-drop CSV files (#527) by @giswqs in #560
- feat(print-layout): fix preview rendering and add size/title/footer controls by @giswqs in #543
- fix(interface): replace Simplify toggle with a 4-state profile selector by @giswqs in #559
- fix(streetview): surface credential errors and guard premature map clicks (#562, #563) by @giswqs in #568
- fix(segmentation): replace premature HTTP error with neutral status notice by @giswqs in #566
- feat(processing): add sequential route (directions) network tool by @giswqs in #569
- fix(assistant): sequential onboarding for the AI Assistant when no provider is configured by @giswqs in #567
- docs: reduce sidebar navigation spacing by @giswqs in #572
- processing: use geolibre-wasm 0.3.0 for the in-browser tool runner by @giswqs in #574
- feat(time-slider): bind existing vector layers to the timeline (#570) by @giswqs in #573
- fix(offline): conditional failure text + retry action for failed offline tiles by @giswqs in #565
- fix(parquet): warm up read_parquet before LOAD spatial on drag and drop by @giswqs in #575
- feat(print-layout): explicit scale input, title block, and custom print extent by @giswqs in #571
- feat(layers): inspect COG pixel values from the Identify icon by @giswqs in #576
- ci(macos): Developer ID sign and notarize release DMGs by @giswqs in #577
- docs(macos): drop quarantine workaround now that DMGs are notarized by @giswqs in #579
- feat(processing): surface GeoLibre WASM tools in the Whitebox toolbox by @giswqs in #578
- feat(packaging): add official homebrew/cask cask generator by @giswqs in #580
- chore(release): v1.5.0 by @giswqs in #581
Special thanks to @renevandervelde @Ryanphoenix @AltheaL55 for their great contributions to the project!
Full Changelog: v1.4.0...v1.5.0