Skip to content

Releases: opengeos/GeoLibre

v2.1.0

Choose a tag to compare

@giswqs giswqs released this 14 Jul 03:08
e5c9456

What's Changed

  • chore(processing): regenerate Whitebox menu catalog for geolibre-wasm 0.6.0 by @giswqs in #1181
  • feat(docker): optional HTTP Basic Auth for the web container by @giswqs in #1184
  • fix(security): harden sidecar auth, path sandboxing, plugin trust, and AI code exec by @giswqs in #1182
  • fix(diagnostics): suppress benign three.js multiple-instances warning by @giswqs in #1187
  • feat(route-animation): animate a marker along a line layer by @giswqs in #1185
  • chore: bump maplibre-gl-basemap-control to ^0.12.0 by @giswqs in #1190
  • feat(route-animation): export the animation as an MP4 video by @giswqs in #1189
  • feat(record): record the map canvas or a drawn bbox to video by @giswqs in #1191
  • feat(knowledge-cards): Wikipedia place info card from the map by @giswqs in #1192
  • feat(add-data): GEBCO ocean bathymetry WMS sample with attribution by @giswqs in #1193
  • chore: bump maplibre-gl-raster to ^0.10.1 and cog-tiler-wasm to ^0.2.5 by @giswqs in #1194
  • feat(planetary): USGS basemaps for nine more celestial bodies by @giswqs in #1196
  • refactor(add-data): shared applyServiceEntry dispatcher + layer builders by @giswqs in #1199
  • feat(browser): Browser (Data Source Manager) panel — Services + Recent by @giswqs in #1200
  • feat(browser): translate section labels; Layout toggle re-opens collapsed by @giswqs in #1201
  • fix(browser): share one useProjectFileActions instance with the toolbar by @giswqs in #1202
  • feat(browser): "New connection" action per service kind by @giswqs in #1203
  • fix(effects): draw the atmospheric halo on Earth only by @giswqs in #1207
  • ci(tiles): auto-deploy tiles worker on workers/tiles changes by @giswqs in #1206
  • feat(browser): Databases section — browse PostGIS schemas & tables by @giswqs in #1204
  • feat(plugins): add OpenAerialMap imagery search plugin by @giswqs in #1198
  • feat(browser): Local files in the Browser panel (Phase 3) by @giswqs in #1208
  • feat(browser): Favorites section (Phase 4) by @giswqs in #1209
  • feat(browser): keyboard navigation (Phase 5 · Polish) by @giswqs in #1212
  • fix(pwa): exclude bundled drop-in plugins from the SW precache by @giswqs in #1217
  • feat(plugins): bundled drop-in activeByDefault + deployment welcome opt-out by @giswqs in #1218
  • feat(route-animation): follow 3D tracks and add camera controls by @giswqs in #1214
  • feat(photos): true native-resolution geotagged photo viewer by @giswqs in #1222
  • fix(desktop): resolve bundled Jupyter sidecar in installed builds by @giswqs in #1224
  • feat(processing): populate subset bbox from the map view by @giswqs in #1221
  • feat(processing): make the Whitebox toolbox a floating panel by @giswqs in #1226
  • feat(detection): in-browser ONNX/YOLO object detection (#902) by @giswqs in #905
  • feat(map): switch scale bar between metric, imperial, and nautical units by @giswqs in #1228
  • feat(ui): default to Advanced interface and skip the welcome dialog by @giswqs in #1229
  • chore(release): v2.1.0 by @giswqs in #1230

Full Changelog: v2.0.0...v2.1.0

v2.0.0

Choose a tag to compare

@giswqs giswqs released this 11 Jul 03:44
40afc03

What's Changed

  • fix(desktop): drop in-app updater from the Microsoft Store build by @giswqs in #1078
  • fix(whitebox): honor output extension and render expression fields for WASM tools by @giswqs in #1077
  • fix(wms): honor WMS 1.3.0 in GetMap requests for 1.3.0-only servers by @giswqs in #1079
  • feat(symbology): export vector layer symbology to Mapbox GL style JSON by @giswqs in #1071
  • feat(editing): write vector layer edits back to GeoPackage/GeoJSON source files by @giswqs in #1072
  • feat(editing): PostGIS write-back for editable database layers by @giswqs in #1080
  • feat(symbology): import vector layer symbology from Mapbox GL style JSON by @giswqs in #1081
  • fix(postgis): follow-ups from the final review round of #1080 by @giswqs in #1082
  • feat(symbology): import/export vector layer symbology as OGC SLD by @giswqs in #1083
  • feat(symbology): import/export vector layer symbology as QGIS QML by @giswqs in #1084
  • fix(desktop): only disable WebKitGTK DMABUF renderer on old WebKitGTK by @giswqs in #1085
  • test(ci): dependency audits, coverage floors, and E2E panel/theme/error specs by @giswqs in #1086
  • chore(deps): bump cloudflare/wrangler-action from 3 to 4 by @dependabot[bot] in #1096
  • chore(deps): bump the cargo-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #1087
  • chore(deps): bump rusqlite from 0.32.1 to 0.40.1 in /apps/geolibre-desktop/src-tauri by @dependabot[bot] in #1088
  • chore(deps): bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #1091
  • chore(deps): bump actions/cache from 4 to 6 by @dependabot[bot] in #1092
  • chore(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #1093
  • chore(deps): bump docker/login-action from 3 to 4 by @dependabot[bot] in #1094
  • chore(deps): bump actions/github-script from 7 to 9 by @dependabot[bot] in #1095
  • chore(deps-dev): bump @cloudflare/workers-types from 4.20260624.1 to 5.20260707.1 by @dependabot[bot] in #1101
  • chore(deps-dev): bump @types/node from 22.19.21 to 26.1.0 by @dependabot[bot] in #1099
  • chore(deps): bump apache-arrow from 17.0.0 to 21.1.0 by @dependabot[bot] in #1103
  • chore(deps): bump @google/genai from 1.52.0 to 2.10.0 by @dependabot[bot] in #1104
  • chore(deps): bump i18next from 25.10.10 to 26.3.4 by @dependabot[bot] in #1102
  • chore(deps): bump @duckdb/duckdb-wasm from 1.33.1-dev45.0 to 1.33.1-dev57.0 by @dependabot[bot] in #1100
  • fix: parse 3D tile content on main thread to avoid CDN worker by @giswqs in #1105
  • feat: import delimited text (CSV) without coordinates as an attribute table by @giswqs in #1107
  • chore(deps): bump zip from 2.4.2 to 6.0.0 in /apps/geolibre-desktop/src-tauri by @dependabot[bot] in #1090
  • chore(deps): bump react-i18next from 16.6.6 to 17.0.8 by @dependabot[bot] in #1098
  • fix: route share.geolibre.app through native HTTP on desktop by @giswqs in #1109
  • chore(deps): bump the npm-minor-patch group across 1 directory with 47 updates by @dependabot[bot] in #1097
  • chore(deps): bump getrandom from 0.2.17 to 0.4.2 in /apps/geolibre-desktop/src-tauri by @dependabot[bot] in #1089
  • feat(raster): normalized-difference index builder for any HTTP COG by @giswqs in #1112
  • fix(set-view): surface smart-paste behind a labeled toggle button by @giswqs in #1113
  • feat(basemaps): Layers-panel toggle + dark-mode theming by @giswqs in #1115
  • feat(terrain): double-click terrain control for vertical exaggeration by @giswqs in #1116
  • feat(sun): Google Earth-style sun position simulation by @giswqs in #1117
  • feat(view): View in Google Maps / Google Earth actions by @giswqs in #1118
  • feat(basemaps): expand EOX Maps layers (annual s2cloudless + overlay/terrain) by @giswqs in #1127
  • fix(gpx): import track points and route points as separate layers by @giswqs in #1123
  • feat(style): render vector layers with Z coordinates in true 3D by @giswqs in #1124
  • feat(kml): render KML/KMZ GroundOverlay images as map overlays by @giswqs in #1125
  • fix(vector): load macOS-zipped and 3D MultiPatch shapefiles in the vector panel by @giswqs in #1129
  • feat(layers): add a GeoEditor toggle button to the Layers panel header by @giswqs in #1132
  • feat(basemaps): per-project ellipsoid + Mars/Moon basemaps by @giswqs in #1133
  • fix(vector): load TIN/MultiPatch 3D shapefiles by @giswqs in #1126
  • fix(controls): recover when the component-controls chunk fails to load by @giswqs in #1134
  • feat(terrain): add Elevation Profile as a built-in plugin by @giswqs in #1137
  • feat(kml): render KML/KMZ Collada (.dae) 3D models by @giswqs in #1131
  • feat(kml): animate time-tagged KML/KMZ GroundOverlays via the Time Slider by @giswqs in #1135
  • feat(controls): add a Clouds overlay to the Controls menu by @giswqs in #1140
  • feat(map): add CesiumJS 3D-globe view (split-pane, camera + layer sync) by @giswqs in #1139
  • refactor(3d-tiles): dedupe Google X-GOOG-API-KEY resolution into @geolibre/core by @giswqs in #1144
  • feat(shortcuts): add Google Earth-style camera-reset keyboard shortcuts by @giswqs in #1146
  • feat(assistant): read AI API keys from OS environment variables by @giswqs in #1143
  • feat(i18n): complete all 13 locale catalogs + migrate hardcoded panel/dialog strings by @giswqs in #1147
  • feat(weather): Weather menu with Clouds + Precipitation (RainViewer radar) by @giswqs in #1145
  • fix(vector): reproject projected-CRS shapefiles on import (#1148) by @giswqs in #1150
  • fix(deck): share one interleaved deck overlay so 3D Tiles, 3D Z vectors, and COG rasters coexist by @giswqs in #1151
  • fix(deck): render 3D Z points as solid icons by @giswqs in #1153
  • fix(terrain): unclamp map center while terrain is on to stop zoom snapping over steep relief by @giswqs in #1156
  • fix(wfs): retry alternate GeoJSON output formats so ArcGIS WFS loads (#1160) by @giswqs in #1161
  • feat(basemaps): replace planetary basemaps with the OpenPlanetaryMap set by @giswqs in #1162
  • feat(basemaps): add a planet switcher to the Layers panel by @giswqs in #1164
  • feat(raster): extract COG/WMS/XYZ bbox subsets in the browser by @giswqs in #1163
  • feat(attribute-table): calculate geometry length and area in the Field Calculator by @giswqs in #1168
  • feat(plugins): Historical Imagery plugin — theme-aware panel and vendor-neutral WMTS sample by @giswqs in #1169
  • feat(attribute-table): select multiple rows with Ctrl and Shift by @giswqs in #1172
  • feat(map-tour): add support for generating tour keyframes from path layers by @giswqs in #1157
  • feat(plugins): UTM easting/northing grid mode for the Gridlines overlay by @giswqs in #1174
  • feat(diagnostics): capture native Tauri HTTP requests in the network log; classify failed fetch() errors by @giswqs in #1176
  • feat(plugins): add Mapillary coverage and street-level viewer plugin by @giswqs in #1173
  • docs: add Terms of Service page for Earth Engine OAuth verification by @giswqs in #1177
  • ci: bake Mapillary access token into web/container builds by @giswqs in https://github.com/opengeos/GeoLibre/p...
Read more

v1.10.0

Choose a tag to compare

@giswqs giswqs released this 06 Jul 01:29
70125de

What's Changed

  • fix(sql): recover the SQL Workspace from a poisoned remote-read state by @giswqs in #1042
  • fix(msix): use full Partner Center identity for Store submission by @giswqs in #1044
  • fix(sql): self-heal a failed DuckDB build instead of caching the rejection by @giswqs in #1045
  • Add Google Photorealistic 3D Tiles support by @giswqs in #1046
  • fix(processing): reproject_vector (and other WASM tools) fail with wrong parameter names by @giswqs in #1048
  • feat(add-data): support OGC API vector tiles as a remote source by @giswqs in #1051
  • fix(zarr): live colormap/clim for NetCDF/Zarr layers (maplibre-gl-components 0.25.4) by @giswqs in #1054
  • feat(geo-editor): load current-view vector features into the GeoEditor by @giswqs in #1055
  • feat(netcdf): add local HDF5/NetCDF-4 file loading by @giswqs in #1052
  • feat(3d-tiles): ArcGIS I3S scene layer support (deck.gl Tile3DLayer + I3SLoader) by @giswqs in #1057
  • fix(geocoding): route desktop geocoding through native HTTP to bypass CORS by @giswqs in #1058
  • ci: harden Claude Code workflow trigger and token permissions by @giswqs in #1063
  • fix(plugins): gate project-supplied plugin URLs behind an explicit trust prompt by @giswqs in #1064
  • chore(release): v1.10.0 by @giswqs in #1067

Full Changelog: v1.9.0...v1.10.0

v1.9.0

Choose a tag to compare

@giswqs giswqs released this 01 Jul 17:07
364f755

What's Changed

  • fix(settings): editable hex input for the custom accent color by @giswqs in #914
  • feat(tour): per-keyframe hold/transition controls and named setup save by @giswqs in #909
  • feat(sql): dock SQL Workspace as a resizable panel with autocomplete by @giswqs in #910
  • docs: rename Live Demo to Launch GeoLibre Web; make Getting Started user-focused by @giswqs in #920
  • fix(storymap): export globe + 3D extrusion, scroll/exit/resize fixes, name prompt by @giswqs in #922
  • fix(raster): offer convert-to-COG for striped GeoTIFFs loaded from a URL by @giswqs in #924
  • fix(3d-tiles): panel fills form content on resize (#923) by @giswqs in #925
  • fix(basemap): apply resolved provider style URL and recover from failed basemaps by @giswqs in #927
  • fix(map): sync layer control style editor with the Style sidebar (#912) by @giswqs in #926
  • docs: fix home page title and bump status to 1.8 by @giswqs in #928
  • chore: move web viewer to web.geolibre.app by @giswqs in #929
  • fix(viewer): keep viewer.geolibre.app as a worker route by @giswqs in #930
  • feat(style): add transparent fill/outline option to color picker by @giswqs in #938
  • fix(storymap): hide faded point outlines and render plugin basemaps in HTML export by @giswqs in #941
  • feat(help): add Website and GitHub links to Help menu by @giswqs in #943
  • fix(graticule): release focus when pressing Enter in numeric inputs by @giswqs in #945
  • fix(processing): drop reserved OGC_FID property before ST_Read (#944) by @giswqs in #946
  • docs: add Troubleshooting page for browser/Safari cache issues by @giswqs in #947
  • docs: simplify Homebrew install (official cask merged) by @giswqs in #948
  • fix: exported story basemap + collapse plugin panels on project load by @giswqs in #953
  • fix(graticule): disable interval input when spacing is Auto by @giswqs in #955
  • feat(add-data): Add CAD (DXF/DWG) Layer source with layer picker and CRS by @giswqs in #957
  • feat(conversion): add generic Vector to Vector tool (any format by extension) by @giswqs in #959
  • fix(geoagent): custom provider, model loading, and commit-based key save by @giswqs in #949
  • fix(vector): load desktop files with native DuckDB by @giswqs in #963
  • fix(desktop): shrink default DuckDB build by @giswqs in #967
  • fix(planetary): restore saved raster layers by @giswqs in #966
  • fix(add-data): relabel "Insert before" to "Insert below" (#973) by @giswqs in #975
  • Show video layer metadata in layer info by @giswqs in #976
  • Fix Deck.gl example data flow by @giswqs in #978
  • Add directions route metrics by @giswqs in #977
  • Update vector sample loading workflow by @giswqs in #979
  • Update raster plugin for issue 969 by @giswqs in #980
  • Fix globe popup occlusion by @giswqs in #981
  • Address globe popup review follow-up by @giswqs in #982
  • Tighten popup zero opacity handling by @giswqs in #983
  • Fix GeoParquet files with base64 WKB geometry by @giswqs in #987
  • Update MapLibre plugin dependencies by @giswqs in #988
  • Show external plugin load failures by @giswqs in #989
  • fix(pyodide-console): load pyodide.asm.js via blob so a self-hosted mirror works under CSP by @giswqs in #1002
  • fix(usgs-lidar): disambiguate Clear labels and lock Search Map Extent while drawing by @giswqs in #1004
  • Fix OAuth popup new-window panic by @giswqs in #1003
  • chore(deps): clear npm audit vulnerabilities and deprecation warnings via overrides by @giswqs in #1005
  • fix(new-project): prompt to save unsaved changes before the new-project form (#990) by @giswqs in #1007
  • Prompt for HTML export name and skip onboarding in embeds (#991) by @giswqs in #1006
  • Fix offline download count, completion state, and cache-limit gating by @giswqs in #1008
  • fix: numerical angle input for the GeoEditor Rotate tool by @giswqs in #1010
  • feat(storymap): hide-itinerary toggle, handout subtitle/byline, start/closing slides by @giswqs in #1009
  • feat(plugins): expose maplibre-gl-raster and projection control to plugins by @giswqs in #1011
  • fix: load GeoPackages via Add Vector Layer without hanging by @giswqs in #1018
  • fix(geo-editor): keep edit overlay at the edited layer's z-position (#1015) by @giswqs in #1017
  • feat(map): exclude plugin-internal style layers from the layer control by @giswqs in #1012
  • fix(geo-editor): dead first click when switching between draw tools (#889) by @giswqs in #1020
  • feat(raster): populate Legend from a paletted raster's color table by @giswqs in #1019
  • fix: exclude Vantor internal helper layers from Layer Swipe by @giswqs in #1021
  • feat(add-data): retrieve layers/types for WMS and WFS from GetCapabilities by @giswqs in #1039
  • chore(release): v1.9.0 by @giswqs in #1040
  • fix(msix): default PublisherDisplayName to the registered Store name by @giswqs in #1043

Full Changelog: v1.8.0...v1.9.0

v1.8.0

Choose a tag to compare

@giswqs giswqs released this 26 Jun 01:50
7436225

What's Changed

  • Update README and documentation to include additional video tutorials for GeoLibre by @giswqs in #782
  • feat(basemaps): add Openbasiskaart Netherlands basemap by @giswqs in #785
  • feat(graticule): coordinate grid overlay with edge labels by @giswqs in #768
  • feat(packaging): add Windows portable zip by @giswqs in #787
  • feat(plugins): shared-rail (replace-style) right-panel dock mode by @giswqs in #769
  • feat(annotations): add map annotation layer (text, arrows, highlights) by @giswqs in #770
  • fix(plugins): revalidate external-plugin manifest and entry to avoid stale-cache version skew by @giswqs in #786
  • fix(controls): disable Atmospheric Effects submenu outside globe view (#783) by @giswqs in #791
  • feat(add-data): add GeoRSS feed support (URL + file) by @giswqs in #790
  • fix(raster): handle striped (non-tiled) GeoTIFFs with auto COG conversion by @giswqs in #792
  • feat(print): add Copy to Clipboard to Print Layout (#773) by @giswqs in #795
  • fix(bookmarks): clearer bookmark panel UX (#794) by @giswqs in #796
  • fix(measure): smoother measure-tool workflow and neutral guidance styling by @giswqs in #799
  • feat(controls): persistent mode banner for Directions and Reverse Geocode (#784) by @giswqs in #798
  • fix(segmentation): hide desktop-only config form in the web build by @giswqs in #797
  • fix(controls): auto-fit + resizable HTML control panel by @giswqs in #800
  • feat(settings): dedicated AI Providers section with provider dropdowns (#778) by @giswqs in #801
  • fix(python-console): recoverable error state and right-side editor split by @giswqs in #802
  • feat(storymap): compose chapters on the live map (#775) by @giswqs in #804
  • feat(bookmarks): organize bookmarks into folders (#794) by @giswqs in #805
  • feat(collab): per-participant permissions and in-app chat (#754) by @giswqs in #806
  • fix(collab): keep chat draft on dropped send; validate stored chat records by @giswqs in #807
  • fix(ci,backend): run the full backend suite, harden Whitebox runner, patch deps by @giswqs in #810
  • fix(vector): 3D extrusion for Add Vector Layer polygons by @giswqs in #817
  • fix(controls): refine Minimap and View State panel UX by @giswqs in #816
  • chore(processing): bump geolibre-wasm to 0.5.0 by @giswqs in #827
  • feat(project): browse and open shared projects from a gallery by @giswqs in #825
  • feat(project): export project to standalone interactive HTML (#821) by @giswqs in #823
  • feat(controls): record an animated camera tour to video (#818) by @giswqs in #822
  • feat(add-data): import geotagged photos as a point layer (EXIF GPS) by @giswqs in #824
  • feat(style): greyscale toggle, reset, and numeric input for raster paint controls by @giswqs in #836
  • feat(plugins): expose native raster/tile layer registration to the plugin API (#845) by @giswqs in #846
  • fix(whitebox): read locally loaded rasters in the WASM runner regardless of load path by @giswqs in #848
  • feat(map): right-click context menu for coordinates and quick actions (#829) by @giswqs in #847
  • feat(layers): inline opacity numeric input and fixed-name notice on Background (#838) by @giswqs in #849
  • feat(style): info icons for layer zoom-visibility controls by @giswqs in #850
  • fix(style): hide basemap layers behind advanced toggle in Insert before by @giswqs in #851
  • fix(view): make Layer Swipe and split view mutually exclusive (#844) by @giswqs in #852
  • fix(view): collapse split-view grid only after swipe activation succeeds by @giswqs in #854
  • feat(time-slider): pixel time-series chart for raster stacks by @giswqs in #826
  • fix(swipe): list only visible layers in the Layer Swipe panel (#843) by @giswqs in #857
  • fix(basemaps): rework provider-credential UX in the Basemaps panel by @giswqs in #855
  • feat(set-view): clearer coordinate input workflow and DDM support (#828) by @giswqs in #853
  • fix(geolocate): reset control when the browser permission prompt is dismissed by @giswqs in #858
  • fix(swipe): correct layer order, basemap label, and pause behavior (#842) by @giswqs in #859
  • fix(geolocate): guard permission query against synchronous throws by @giswqs in #861
  • feat(storymap): PDF handout generator for the Story Map plugin by @giswqs in #856
  • fix(swipe): localize the base-layer label in the Layer Swipe panel (#860) by @giswqs in #862
  • fix(add-data): reposition sample-data dropdown and raise Cancel button contrast (#863) by @giswqs in #864
  • fix(split-view): use real checkboxes in the secondary pane layer menu (#840) by @giswqs in #865
  • fix(arcgis): load feature layers as GeoJSON so labels can be styled by @giswqs in #868
  • feat(basemaps): add EOX Sentinel-2 cloudless satellite imagery by @giswqs in #869
  • fix(toolbar): make the top menu bar horizontally scrollable on tablets by @giswqs in #879
  • fix(record-tour): make the Record Map Tour close button work (#876) by @giswqs in #878
  • feat(controls): rename "Graticule" to "Gridlines" (#872) by @giswqs in #885
  • fix(lidar): re-stream COPC point clouds when a saved project is reopened by @giswqs in #877
  • feat(record-tour): clearer keyframe layout, recapture, and two-step save by @giswqs in #886
  • fix(project): reload file-referenced local layers on reopen (#880) by @giswqs in #883
  • fix(geocoding): resolve contradictory Nominatim contact email helper text by @giswqs in #895
  • feat(record-tour): save and load tour setup as a JSON file by @giswqs in #898
  • fix(layers): friendlier empty-state hint for the Beginner profile by @giswqs in #900
  • feat(issues): add GitHub issue forms and triage labels by @giswqs in #903
  • feat(colorbar): stack-order fix, stacking direction, and resizable panel (#884) by @giswqs in #901
  • feat(photos): manual placement and drag for non-geotagged photos by @giswqs in #899
  • chore(release): v1.8.0 by @giswqs in #904

Full Changelog: v1.7.0...v1.8.0

v1.7.0

Choose a tag to compare

@giswqs giswqs released this 23 Jun 05:01
50c1c46

What's Changed

  • docs(downloads): improve Linux install section, add Flatpak (FlatPark) by @jing2uo in #703
  • docs: add a How to Cite page with DOI and citation formats by @giswqs in #704
  • fix(ui): refine collaboration, save, view, settings, and field collection dialogs by @giswqs in #720
  • feat(plugins): plugin UI host API — right sidebar, toolbar menus, floating panels by @giswqs in #705
  • fix(ui): five UX fixes for the settings, set view, diagnostics, controls, and dashboard by @giswqs in #727
  • fix(vector): show labels for Add Vector Layer layers (#709) by @giswqs in #737
  • fix(dashboard): resize chart contents to the panel height (#728) by @giswqs in #735
  • feat(style): colormap preview picker and richer vector label options by @giswqs in #700
  • feat(onboarding): suppress welcome wizard for embeds (?url= deep links and ?welcome=0) by @giswqs in #738
  • fix(processing): hide Start/Stop server buttons in the web Whitebox toolbox by @giswqs in #740
  • fix(attribute-table): place collapse icon next to the close icon by @giswqs in #741
  • fix(map): move bounds-locked badge to bottom-left to clear toolbar by @giswqs in #747
  • fix(project-url): add context to failed project-load notifications (#734) by @giswqs in #746
  • feat(plugins): move external plugin toolbar menus after the Help menu by @giswqs in #752
  • docs: add Microsoft Store install option and distribution badges by @giswqs in #758
  • fix(offline): bound the offline zoom range to the map's real max zoom by @giswqs in #756
  • fix(collab): streamline the Collaborate dialog for invited users by @giswqs in #755
  • fix(print-layout): scale feedback, customizable map frame, and dropdown polish by @giswqs in #757
  • fix(share): guide users to set a username when sharing fails by @giswqs in #760
  • feat(raster): show color ramp gradient swatches in the Styles panel by @giswqs in #762
  • feat(collab): session-status badge, roster, and wizard dismissal by @giswqs in #761
  • feat(processing): browse Whitebox tools by category in the Processing menu by @giswqs in #763
  • chore(release): v1.7.0 by @giswqs in #764

New Contributors

Full Changelog: v1.6.0...v1.7.0

v1.6.0

Choose a tag to compare

@giswqs giswqs released this 22 Jun 05:36
de14289

What's Changed

  • fix(packaging): emit depends_on :macos in official cask by @giswqs in #597
  • fix(toolbar): deactivate Navigation control by default for new projects by @giswqs in #598
  • feat(plugins): sort the Manage Plugins list alphabetically (#589) by @giswqs in #601
  • feat(style): label vector features by attribute (label engine) by @giswqs in #584
  • fix(settings): remove redundant project status indicators (#590) by @giswqs in #600
  • fix(data): keep large OSM PBF extracts from freezing the app by @giswqs in #602
  • feat(symbology): rule-based renderer, proportional symbols, fill patterns, and marker library by @giswqs in #585
  • feat(plugins): install external plugins from an uploaded zip (desktop + web) by @giswqs in #604
  • feat(map): add multi-map grid with synchronized views by @giswqs in #603
  • fix(raster): render COGs in projections written only as an ESRI PE string (#610) by @giswqs in #613
  • feat(updates): update status color fix, guided workflow, startup check, and preferences by @giswqs in #607
  • fix(map): maximize the whole workspace on fullscreen so panels don't overlap the map by @giswqs in #614
  • fix(new-project): correct title, drop phantom Protomaps mention, make custom URL exclusive by @giswqs in #618
  • fix(settings): restructure the Map constraints panel (#591) by @giswqs in #620
  • feat(processing): interactive sidecar help banner for the Whitebox toolbox by @giswqs in #617
  • feat(share): progressive setup with separate website/local token steps (#587) by @giswqs in #621
  • fix(attribute-table): make collapse, close, and clear selection controls match expectations by @giswqs in #628
  • fix(settings): make the Custom interface profile clickable with a clear active state by @giswqs in #625
  • fix(diagnostics): consistent filter buttons in the Diagnostics panel by @giswqs in #627
  • feat(segmentation): interactive sidecar help banner on server start failure by @giswqs in #629
  • fix(i18n): drop inaccurate "public" wording from Open Project from URL dialog by @giswqs in #635
  • ci: add Cloudflare Pages PR deploy previews by @giswqs in #638
  • feat(appearance): add accent color schemes beyond light/dark by @giswqs in #636
  • feat(basemap): swap the core basemap via double-click in the layer panel by @giswqs in #637
  • fix(overture): dynamic zoom hint instead of a persistent warning by @giswqs in #639
  • fix(geoagent): show real configuration state instead of always-Ready badge by @giswqs in #642
  • fix(offline): disable controls and surface a remediation link when caching is unsupported by @giswqs in #640
  • ci(aur): publish geolibre-bin to the AUR on each release by @giswqs in #645
  • feat(storymap): Reset button + auto-collapse side panels while presenting by @giswqs in #644
  • fix(geoagent): stop data loss when a plugin chunk fails to load by @giswqs in #641
  • fix(swipe): bump maplibre-gl-swipe to 0.9.1 to fix Layer Swipe under globe by @giswqs in #647
  • fix(swipe): pre-select visible layers and grow the panel to fit (#616) by @giswqs in #643
  • ci(copr): publish geolibre to Fedora COPR + add AppStream metainfo by @giswqs in #646
  • feat(flatpak): add Flathub packaging (app.geolibre.GeoLibre) by @giswqs in #648
  • feat(winget): add Windows Package Manager packaging (OpenGeos.GeoLibre) by @giswqs in #651
  • revert(flatpak): remove Flathub packaging by @giswqs in #652
  • fix(plugins): distinct icon for the NASA Earthdata control by @giswqs in #649
  • feat(processing): movement, space-time and cell-coverage vector tools (#595) by @giswqs in #650
  • fix(msix): declare a language and allow Store identity overrides by @giswqs in #653
  • docs(msix): placeholder publisher GUID and tighten language pattern by @giswqs in #655
  • docs: add privacy policy page by @giswqs in #654
  • docs: add CITATION.cff with Zenodo concept DOI by @giswqs in #660
  • fix(vector): optional sample-data dropdown and resizable Add Vector Layer dialog by @giswqs in #670
  • feat(add-data): standardize sample loading across Add Data dialogs by @giswqs in #671
  • fix(raster): optional sample-data dropdown in the Add Raster Layer dialog by @giswqs in #677
  • fix(layout): widen default side panel and raise resize cap (#682) by @giswqs in #684
  • fix(layers): dismiss layer actions menu after "New group from layer" by @giswqs in #676
  • fix(desktop): tidy About dialog layout and update-error view by @giswqs in #675
  • feat(drop): explain global file drop and name the added layer (#666) by @giswqs in #674
  • fix(desktop): downgrade benign Tauri startup fetch failures in diagnostics by @giswqs in #673
  • fix(set-view): unblock prefilled zoom + add DD/DMS entry and segmented layout (#669) by @giswqs in #672
  • fix(network): clarify routing privacy notice and endpoint guidance (#681) by @giswqs in #687
  • fix(vector): load loose shapefiles (maplibre-gl-vector 0.5.1) + desktop sidecar auto-discovery (#680) by @giswqs in #686
  • fix(statistics): disable Run until required fields set, add asterisk legend by @giswqs in #688
  • feat(add-data): sample-data dropdowns for all upstream-backed panels by @giswqs in #678
  • fix(vector): restore local-file Add Vector Layer layers on project reopen by @giswqs in #689
  • fix(vector): embed path-less Add Vector Layer layers in "Save file references" by @giswqs in #692
  • feat(layers): add Search places box to the Layers panel footer by @giswqs in #694
  • fix(plugins): keep external native layer style over default-seeded style by @giswqs in #693
  • feat(time-slider): default an unspecified end date to the current date by @giswqs in #695
  • chore(release): v1.6.0 by @giswqs in #698

Full Changelog: v1.5.0...v1.6.0

v1.5.0

Choose a tag to compare

@giswqs giswqs released this 20 Jun 06:13
5b89731

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 https://github.com/opengeos/GeoLibre/pull...
Read more

v1.4.0

Choose a tag to compare

@giswqs giswqs released this 16 Jun 02:39
6f5e9ff

What's Changed

  • ci(android): attach release-signed APKs to GitHub Release by @giswqs in #383
  • feat(field-collection): capture point observations with a custom form by @giswqs in #384
  • fix(docker): allow local HTTP data sources in browser-build CSP by @giswqs in #388
  • chore(docker): cross-reference Tauri CSP and warn about localhost allowances by @giswqs in #389
  • feat: allow runtime env overrides for Pyodide and DuckDB Spatial URLs by @Ryanphoenix in #391
  • feat(georeferencer): pin an image to the map with ground control points by @giswqs in #386
  • feat(raster): add Spectral Index toolbox (NDVI, NDWI, EVI, …) by @giswqs in #392
  • fix: render RTL basemap labels (Arabic, Hebrew) correctly by @giswqs in #396
  • feat(notebook): run Jupyter beside the map (JupyterLite + desktop JupyterLab) by @giswqs in #395
  • fix(vector): render GeoPackages without GDAL's WASM thread crash (#393) by @giswqs in #394
  • fix(ci): build JupyterLite for the GitHub Pages demo by @giswqs in #397
  • fix(notebook): let %pip install work in the desktop kernel by @giswqs in #398
  • chore(release): v1.4.0 - version bump and docs update by @giswqs in #399

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@giswqs giswqs released this 15 Jun 05:50
4b76ba6

What's Changed

  • feat(processing): add Reproject, Explode, Aggregate vector tools (#283) by @giswqs in #290
  • feat(macos): Homebrew Cask packaging for macOS by @giswqs in #294
  • fix(macos): update Homebrew docs for tap trust and removed --no-quarantine by @giswqs in #295
  • feat(processing): add Smooth, Regular grid, Voronoi/Delaunay vector tools by @giswqs in #293
  • feat(processing): add IDW / kriging interpolation (point → raster surface) (#283) by @giswqs in #296
  • feat(processing): add zonal stats, raster calculator, reclassify, mosaic, focal by @giswqs in #300
  • feat(processing): add attribute (table) join vector tool by @giswqs in #314
  • feat(attribute-table): add field statistics summary panel by @giswqs in #315
  • feat(storymaps): scroll-driven story map builder, presenter, and HTML export by @giswqs in #299
  • test(storymaps): add e2e regression test for story map persistence by @giswqs in #317
  • feat(layout): user-editable legend for print layout (#303) by @giswqs in #316
  • feat(geocoding): add batch geocoding and reverse geocoding tools by @giswqs in #318
  • feat(export): add Shapefile and GeoPackage export (#310) by @giswqs in #322
  • fix(storymaps): present bundled story on load and fix nav rotation by @giswqs in #320
  • feat(raster): single-band pseudocolor + classification and RGB band combination (#305) by @giswqs in #319
  • refactor: extract URL validation and make basemape registry immutable by @slowy07 in #326
  • feat(layers): collapsible layer groups/folders in the layer panel (#311) by @giswqs in #323
  • feat: add transparent rewrite support for public S3, GCS, and Azure cloud storage URLs in SQL queries (closes #313) by @Ka-iPy in #321
  • feat(network): isochrones, service areas, and OD cost matrices (#308) by @giswqs in #324
  • feat(layers): add glTF/GLB 3D model layer (#306) by @giswqs in #325
  • fix(pwa): stop the web demo from auto-refreshing itself by @giswqs in #328
  • feat(scripting): Python automation API + in-app Python Console by @giswqs in #327
  • feat(collab): real-time multi-user collaboration MVP (#307) by @giswqs in #329
  • fix(collab): render plugin layer types (raster/LiDAR/3D-tiles) on collaborators by @giswqs in #330
  • fix(desktop): silence benign Tauri IPC startup transients in console (#332) by @giswqs in #334
  • fix(parquet): load Parquet with non-standard WKB geometry column (#336) by @giswqs in #337
  • feat(assistant): natural-language GIS assistant (Strands agent) by @giswqs in #331
  • perf(attribute-table): virtualize rows for large layers (#338) by @giswqs in #354
  • feat(sql): add Apache Sedona as an additional SQL Workspace engine (#335) by @giswqs in #353
  • feat(ml): AI segmentation toolbox via SamGeo/SAM3 (#301) by @giswqs in #355
  • feat(ingestion): warn before loading very large vector files (#339) by @giswqs in #357
  • feat(map): client-side vector tiling for large local vector layers by @giswqs in #356
  • perf(history): bound undo memory for large vector layers (#341) by @giswqs in #358
  • feat(python): local raster, marker/cluster, and choropleth APIs (#348) by @giswqs in #360
  • feat(geocoding): multi-provider geocoding abstraction (#346) by @giswqs in #361
  • feat(raster): client-side raster processing fallback (no sidecar) by @giswqs in #359
  • feat(geocoding): surface Google CORS hint and broaden API-key warning by @giswqs in #363
  • feat(processing): add Spatial Statistics toolbox (#342) by @giswqs in #362
  • feat(python): typed read-back of selected/drawn features and to_html export by @giswqs in #365
  • test(map): add unit tests for MapController layer reconciliation by @giswqs in #364
  • feat(processing): batch run and model/pipeline chaining (#344) by @giswqs in #367
  • feat(python): split_map, add_legend, and add_colorbar helpers (#347) by @giswqs in #366
  • fix(python): address review feedback on split_map/add_legend/add_colorbar by @giswqs in #369
  • test(processing): shared golden fixtures for the vector engines (#352) by @giswqs in #368
  • refactor(add-data): split AddDataDialog into per-source components (#350) by @giswqs in #371
  • refactor(desktop): split TopToolbar god-component into menus and hooks (#350) by @giswqs in #372
  • test(pwa): raise per-test timeout for offline shell boot by @giswqs in #370
  • chore(release): v1.3.0 — version bump and docs update by @giswqs in #373
  • chore(deps): bump maplibre-gl-streetview to ^0.6.0 by @giswqs in #374
  • chore: coverage reporting + backend CRS-logging and type hardening by @giswqs in #375
  • feat(desktop): make attribute table on-demand, hidden by default by @giswqs in #378
  • feat(android,pwa): native Android build + offline caching + region download by @giswqs in #377
  • chore(deps): bump maplibre-gl-3d-tiles to ^0.5.1 by @giswqs in #380
  • fix: resolve raster blob fetch, gpkg thread crash, and invisible non-Web-Mercator COGs (#376) by @giswqs in #379
  • perf(desktop): CDN-load the CereusDB wasm to shrink the build by ~9 MB by @giswqs in #381
  • fix(gpkg): repair case-mismatched and non-ASCII gpkg_ogr_contents rows (#376 follow-up) by @giswqs in #382

New Contributors

Full Changelog: v1.2.0...v1.3.0