github opengeos/GeoLibre v3.1.0

latest releases: v3.7.0, v3.6.1, v3.6.0...
one month ago

What's Changed

  • fix: support Add Vector Layer on Cesium by @giswqs in #2382
  • feat: add getLayers/onLayersChanged to GeoLibreAppAPI by @Phichak-Kamin in #2386
  • feat(style-import): paste a style from the layer menu and the Style panel by @clintonlunn in #2385
  • Add optional Mapbox rendering engine by @giswqs in #2389
  • fix(style-import): stop a hidden style layer deciding how the layer is drawn by @clintonlunn in #2388
  • fix: render vector and raster plugins correctly in Mapbox by @giswqs in #2390
  • fix: share basemap control with Mapbox and default to Streets by @giswqs in #2391
  • fix: improve Add Data compatibility with Mapbox by @giswqs in #2392
  • feat: support PMTiles, LiDAR and 3D Tiles on Mapbox by @giswqs in #2393
  • chore(deps): bump anthropics/claude-code-action from 1.0.216 to 1.0.223 in the actions-minor-patch group by @dependabot[bot] in #2394
  • chore(deps): bump the npm-minor-patch group with 33 updates by @dependabot[bot] in #2395
  • fix(assistant): return the SQL table name from list_layers and key it by layer id by @giswqs in #2402
  • fix(assistant): document add_geojson data-first in the run_python tool description by @giswqs in #2401
  • fix(earthdata): make plainText() linear on whitespace runs and unclosed tags by @giswqs in #2403
  • feat(assistant): explicit class breaks for apply_symbology, and report the stops applied by @giswqs in #2405
  • feat: let plugins contribute guidance to the assistant system prompt by @giswqs in #2404
  • feat(map): host the layer control on the Mapbox renderer by @giswqs in #2408
  • Fix/stac paginated collections by @cedricbouffard in #2407
  • feat(map): give the Mapbox renderer MapLibre's default controls by @giswqs in #2409
  • feat(mapbox): host Deck.gl Layer, 3D Model and DuckDB on the Mapbox renderer by @giswqs in #2412
  • chore(deps): bump geolibre-wasm to 1.5.3 for the big-endian GeoTIFF fix by @giswqs in #2416
  • feat(mapbox): host Zarr layers on the Mapbox renderer by @giswqs in #2414
  • fix(kml): stop time-animated KMZ placemarks from freezing the app by @giswqs in #2415
  • chore(deps): patch npm audit advisories by @giswqs in #2417
  • fix(add-data): enable KML / KMZ on the MapLibre and Mapbox renderers by @giswqs in #2418
  • feat(mapbox): enable the Plugins menu on the Mapbox renderer by @giswqs in #2419
  • feat(geo-editor): run the Geo Editor on the Mapbox renderer by @giswqs in #2422
  • feat(overture): run Overture Maps on the Mapbox renderer by @giswqs in #2424
  • feat(arcgis): add the ArcGIS Maps SDK for JavaScript as an optional CDN-loaded rendering engine by @giswqs in #2423
  • feat(arcgis): add 3D scenes, terrain and extrusion to the ArcGIS renderer by @giswqs in #2429
  • feat(flight-simulator): fly the Mapbox renderer's free camera by @giswqs in #2425
  • feat(streetview): run Street View on the Mapbox renderer by @giswqs in #2426
  • feat(swipe): run Layer Swipe on the Mapbox renderer by @giswqs in #2427
  • feat(geoagent): run GeoAgent on the Mapbox renderer by @giswqs in #2428
  • fix(swipe): stop a Mapbox basemap change orphaning the comparison pane by @giswqs in #2433
  • test(e2e): stop the Mapbox DuckDB spec blocking on a WebGL context teardown by @giswqs in #2436
  • test(e2e): budget the renderer swap so the DuckDB spec passes first try by @giswqs in #2437
  • fix(mapbox): drop empty geometry layers and keep swipe sides across basemap changes by @giswqs in #2435
  • fix(attribute-table): commit unsaved table drafts before saving edits to the source by @giswqs in #2441
  • feat(vector): let the Buffer tool dissolve its result by @giswqs in #2440
  • test(e2e): split the Playwright suite into a core gate and a nightly suite by @giswqs in #2442
  • fix(search): navigate ArcGIS and Mapbox search results by @giswqs in #2443
  • Add ArcGIS basemap picker and native layer control by @giswqs in #2444
  • Support native ArcGIS heatmaps, clusters, patterns and feature altitude by @giswqs in #2445
  • Render custom COG terrain in ArcGIS scenes by @giswqs in #2446
  • Render COG imagery on ArcGIS maps and scenes by @giswqs in #2447
  • Host deck.gl visualizations on ArcGIS maps and local scenes by @giswqs in #2449
  • feat: render PMTiles and MBTiles archives with ArcGIS by @giswqs in #2451
  • feat: render Zarr and NetCDF grids with ArcGIS by @giswqs in #2452
  • feat: adapt data plugin controls to ArcGIS by @giswqs in #2458
  • fix: preserve ArcGIS projects when the CDN is unavailable by @giswqs in #2459
  • fix: preserve fieldwork controls and export point coordinates by @giswqs in #2461
  • Add WCS 1.0 coverage discovery and numerical raster subsets by @giswqs in #2460
  • feat(services): add a runtime-configured deployment service library (#2457) by @deniial00 in #2463
  • feat: import raster TileJSON metadata through XYZ sources by @JPPereira93 in #2456
  • feat: add OSM downloader web service by @giswqs in #2465
  • fix(storymap): make handout HTML stripping linear by @giswqs in #2468
  • fix: update GeoLibre Web launch link in mkdocs.yml by @giswqs in #2469
  • refactor: clarify SQL table name sanitization by @giswqs in #2470
  • docs: add rendering engines guide and renderer references by @giswqs in #2471
  • chore: use native DGGS cellToParent by @thangqd in #2473
  • feat(geolens): remember and auto-connect server by @giswqs in #2472
  • fix: select and group GeoPackage layers on import by @giswqs in #2474
  • fix: support story maps on Mapbox by @giswqs in #2478
  • fix: restore raster layers on Mapbox by @giswqs in #2479
  • fix: enable feature selection on Mapbox by @giswqs in #2480
  • fix: defer Mapbox vector sources until materialized by @giswqs in #2481
  • fix: support field collection on Mapbox by @giswqs in #2482
  • Fix Mapbox engine parity gaps by @giswqs in #2483
  • Fix map context menu across renderers by @giswqs in #2484
  • Fix Mapbox status and diagnostics parity by @giswqs in #2485
  • fix: gate MapLibre-only controls by renderer by @giswqs in #2486
  • Fix Mapbox embed and notebook bridge events by @giswqs in #2487
  • Fix Mapbox collaboration overlays by @giswqs in #2490
  • Add multiple WFS and OGC API feature layers by @giswqs in #2491
  • fix(map): align Mapbox identify popups with the shared popup module (#2475) by @giswqs in #2493
  • Add native LandXML import by @giswqs in #2492
  • refactor(map): share selection highlighting across engines (#2475) by @giswqs in #2494
  • fix(map): keep Identify cursor consistent across renderers by @giswqs in #2495
  • refactor(map): extract identify popup lifecycle into a shared module (#2475) by @giswqs in #2496
  • fix(map): restore MapLibre identify selection on popup dismissal (#2475) by @giswqs in #2498
  • fix(toolbar): one scrollable menu row on small screens by @giswqs in #2501
  • fit(map): honor metadata/source bounds and guard fitBounds on Mapbox by @giswqs in #2503
  • ci(review): allow a claude-review label to trigger a review by @giswqs in #2508
  • fix(3d-tiles): add 3D Tiles from the panel on the Cesium globe (#2505) by @giswqs in #2506
  • docs(comparison): add Google Earth and Google Earth Pro by @giswqs in #2509
  • feat(plugins): God's Eye View — USGS earthquakes + CelesTrak satellites as live CZML (issue #2462) by @giswqs in #2504
  • feat(map): remember the last rendering engine across launches by @giswqs in #2510
  • feat(plugins): IGN LiDAR HD Plugin by @semehdi in #2507
  • feat(basemap): offer Cesium and Mapbox basemaps in the picker by @giswqs in #2511
  • Complete God's Eye View Tier A feeds by @giswqs in #2512
  • Refactor God's Eye View feed registry by @giswqs in #2515
  • Add global God's Eye View feeds by @giswqs in #2516
  • Add viewport-aware God's Eye View feeds by @giswqs in #2517
  • God's Eye View: add live flight feeds by @giswqs in #2518
  • feat(gods-eye-view): add public CCTV snapshots by @giswqs in #2519
  • feat(gods-eye-view): add Ontario and DriveBC cameras by @giswqs in #2520
  • feat(gods-eye-view): add Live Traffic NSW cameras by @giswqs in #2521
  • feat(cctv): add Austin traffic cameras by @giswqs in #2522
  • fix(project): stop counting God's Eye View feed toggles as credentials by @giswqs in #2523
  • test(e2e): give the a11y sweep headroom over its own timeout by @giswqs in #2524
  • feat(gods-eye-view): add live Entur transit by @giswqs in #2525
  • fix(cesium): keep a refused Ion basemap from blanking the globe by @giswqs in #2526
  • feat(gods-eye-view): add remaining transit providers by @giswqs in #2527
  • Add Caltrans cameras to God's Eye View by @giswqs in #2528
  • Restore compile-time exhaustiveness in the CCTV catalog proxy by @giswqs in #2529
  • fix(lidar): stop point clouds from covering map control panels by @giswqs in #2532
  • feat(raster): add opacity classes to continuous color ramps by @JPPereira93 in #2531
  • perf(landxml): import TIN surfaces as one MultiPolygon and reproject by vertex by @giswqs in #2535
  • feat(add-data): fill the OGC API - Features bbox from the map view by @giswqs in #2534
  • feat(popup): configurable popup width and image height by @giswqs in #2537
  • fix(lidar): restore auto-zoom on load and draw measure lines over point clouds by @giswqs in #2536
  • fix(mapbox): inline live layer sources in story exports and fade chapters over their duration by @giswqs in #2539
  • test(e2e): pin identify-restore camera suppression in the core suite (#2500) by @giswqs in #2538
  • chore(deps): bump tauri-plugin-http from 2.6.0 to 2.6.1 in /apps/geolibre-desktop/src-tauri in the cargo-minor-patch group by @dependabot[bot] in #2541
  • chore(deps): bump the actions-minor-patch group with 2 updates by @dependabot[bot] in #2542
  • fix(mapbox): draw the extract box, offer Print Layout in the palette, gate terrain source and effects by @giswqs in #2540
  • chore(deps): bump satellite.js from 6.0.2 to 7.1.0 by @dependabot[bot] in #2544
  • chore(deps): bump the npm-minor-patch group across 1 directory with 23 updates by @dependabot[bot] in #2543
  • fix(extent): draw the native rectangle when the SVG overlay opts out of a wide box by @giswqs in #2546
  • chore(deps): bump geotiff-geokeys-to-proj4 from 2024.4.13 to 2026.8.16 by @dependabot[bot] in #2545
  • fix: unbreak the nightly E2E full suite (Overture release discovery + Cesium token hint) by @giswqs in #2548
  • fix(raster): require an explicit Load for sample datasets; drop the Mapbox corner patches by @giswqs in #2549
  • feat(cesium): add Google Photorealistic 3D Tiles and Asset Depot samples to the Ion quick picks by @giswqs in #2551
  • feat(assistant): voice command mode for the AI Assistant by @giswqs in #2550
  • feat(plugins): expose moveLayerGroupToGroup and listLayerGroups on the plugin API by @giswqs in #2554
  • fix(geolens): keep the partition suffix out of the vector-tile URL path by @giswqs in #2557
  • feat(assistant): sub-second fast path for simple map commands via TypeSafe by @giswqs in #2556
  • feat: draw WMS tiles from servers without EPSG:3857 in the desktop app by @aborruso in #2562
  • feat(cad): render DXF/DWG coordinate Z values in 3D by @giswqs in #2567
  • feat(assistant): semantic catalog selection for the Whitebox tool search by @giswqs in #2564
  • fix: load and render 3D Tiles from tilesets like 3DBAG by @giswqs in #2568
  • feat(processing): rank exact tool names first and search the Whitebox catalog by meaning by @giswqs in #2569
  • feat(server-api): add scoped and expiring personal tokens by @deniial00 in #2565
  • fix(3d-tiles): keep Google 3D Tiles detail when zooming in by @giswqs in #2571
  • feat(data-url): open LiDAR point clouds from the ?data= deep link by @giswqs in #2570
  • feat(mapbox): draw heatmap and cluster point renderers, name unported style settings by @giswqs in #2572
  • feat(mapbox): group every visible layer's hits in Identify All by @giswqs in #2573
  • fix(cesium): parity fixes for map preferences, tile templates, extrusion colors, and camera altitude (#2476) by @RohithPariki in #2497
  • feat(mapbox): mount the map-area overlays on every renderer by @giswqs in #2575
  • feat(mapbox): port label de-duplication and data-defined label overrides by @giswqs in #2574
  • feat(mapbox): identify WMS, pixel and DuckDB layers; hover tips and photo popups by @giswqs in #2576
  • feat(mapbox): enable the Print Layout atlas on the Mapbox renderer by @giswqs in #2578
  • feat(mapbox): port marker icons, fill patterns, inverted fill, decorations and generators by @giswqs in #2579
  • fix: keep the Time Slider and the map through a renderer swap by @giswqs in #2577
  • fix(core): reject a non-raster type in addTileLayer by @giswqs in #2590
  • fix(assistant): list a layer's fields when apply_symbology misses one by @giswqs in #2591
  • fix(duckdb): decode DECIMAL cells into numbers by @giswqs in #2592
  • fix(assistant): block whole-map mutations in run_maplibre_js by @giswqs in #2593
  • fix(assistant): flag run_sql layers built from literal geometry by @giswqs in #2594
  • feat(gods-eye-view): add keyless NASA FIRMS active fires by @giswqs in #2596
  • feat(assistant): load plugin tools on demand past 12 of them by @giswqs in #2595
  • fix(storymap): keep COG layers, markers, and popups in the HTML export by @giswqs in #2598
  • feat(layers): sort a group's contents A to Z or Z to A by @giswqs in #2601
  • chore(deps): bump cog-tiler-wasm to 0.3.8 by @giswqs in #2604
  • feat(python): arm Identify, toggle controls, and set projection from Python by @giswqs in #2603
  • chore(deps): bump cog-tiler-wasm to 0.4.0, whitebox-wasm to 0.6.0, maplibre-gl-raster to 0.14.15 by @giswqs in #2605
  • chore(deps): bump maplibre-gl-raster to 0.14.15 by @giswqs in #2608
  • feat(plugins): add a Satellite Embeddings plugin by @giswqs in #2602
  • feat(server-api): add OAuth Authorization Code with S256 PKCE (stack 2/4) by @deniial00 in #2580
  • feat(i18n): add Hebrew (he) locale by @reuvenc2121 in #2609
  • feat(plugins): add a Fields of the World plugin by @giswqs in #2612
  • Improve hover tooltip wrapping and width by @amit-spatial in #2611
  • fix(3d-tiles): place 3D BAG on its footprint, keep it visible at pitch 0, add it as a sample by @giswqs in #2613
  • fix(vector): guard voronoi envelope against antimeridian crossings and clamp to WGS84 bounds by @Wukeeeeee in #2614
  • fix(arcgis): fix the likely bugs from the ArcGIS parity tracker (#2477) by @giswqs in #2615
  • feat(arcgis): raster effects, blend modes and plugin gating (#2477) by @giswqs in #2616
  • feat(arcgis): selection, facade events, story fades and more parity (#2477) by @giswqs in #2617
  • feat(arcgis): identify popups, text markers and styled service layers (#2477) by @giswqs in #2618
  • feat: GPS, comments, georeferencing and sample markers on every renderer (#2477) by @giswqs in #2619
  • fix(desktop): allow plain-HTTP connections to local-network hosts by @giswqs in #2623
  • feat(arcgis): icons, patterns and labels on vector tiles by @giswqs in #2625
  • feat(arcgis): inverted fills, geometry generators, line decorations and label overrides by @giswqs in #2622
  • feat(arcgis): scene zoom and bounds limits and a nautical scale bar by @giswqs in #2624
  • feat(arcgis): Print Layout atlas on the ArcGIS renderer by @giswqs in #2626
  • feat(arcgis): hover map tips and geotagged-photo popups by @giswqs in #2627
  • perf(arcgis): index the synchronous feature pick used by hover tips by @giswqs in #2630
  • feat(gods-eye-view): API key entry, TomTom live flow and AIS vessels by @giswqs in #2631
  • feat(i18n): fill 224 missing keys across every locale by @giswqs in #2632
  • fix(vector): guard simplify tolerance and empty-bounds in bounding_box, centroids, and buffer by @Wukeeeeee in #2628
  • feat(web): OAuth sign-in for project Share and Gallery (stack 3/4) by @deniial00 in #2607
  • feat(share): add access roles (view, comment, edit), link expiry, password protection, and share revocation (#1527) by @AyushDubey23 in #1534
  • Add organization and group sharing with shared-update support by @HarshShinde0 in #1990
  • perf(build): keep Cesium and MapLibre plugins off the boot path by @giswqs in #2634
  • chore(tooling): fast type check, web CI gate and contributor files by @giswqs in #2637
  • chore(lint): type-aware lint rules with a warning ratchet by @giswqs in #2640
  • perf(ui): narrow layer subscriptions so layer edits stop re-rendering the app by @giswqs in #2639
  • perf(build): stop plugin chunks from dragging shared libraries into boot by @giswqs in #2635
  • refactor(desktop): split tauri-io into focused modules by @giswqs in #2641
  • perf(project): reuse per-layer text when autosaving by @giswqs in #2636
  • refactor(plugins): split maplibre-components into per-control modules by @giswqs in #2642
  • refactor(shell): move DesktopShell effects into named hooks by @giswqs in #2648
  • refactor(map): classify layer types once for all four renderers by @giswqs in #2638
  • refactor(print): move PrintLayoutDialog to a reducer and per-element editors by @giswqs in #2649
  • test(desktop): add a component test harness and panel tests by @giswqs in #2644
  • refactor(style): split StylePanel into renderer sections by @giswqs in #2645
  • refactor(layers): split LayerPanel into rows, actions and dialogs by @giswqs in #2647
  • refactor(core): split the app store into slices by @giswqs in #2651
  • chore(lint): add two eslint-plugin-jsx-a11y rules to the ratchet by @giswqs in #2652
  • perf(build): lazy-load the remaining plugin libraries at startup by @giswqs in #2646
  • refactor(map): break up the large layer-sync functions by @giswqs in #2650
  • feat(assistant): add OpenRouter provider by @deniial00 in #2655
  • fix(wcs): let WCS layers request EPSG:3857 and stop pre-rejecting CRSes by @giswqs in #2658
  • feat(desktop): OAuth sign-in and session management (stack 4/4) by @deniial00 in #2653
  • fix(zarr): keep Zarr request headers out of saved projects and reject failed NetCDF adds by @giswqs in #2660
  • fix(file-io): settle cancelled file pickers, handle POSIX backslashes and Android photo picks by @giswqs in #2661
  • fix(panels): open the Expression Builder for 3D tilesets and keep layer metadata live by @giswqs in #2662
  • fix(map): stop KML circle churn on sync and report Cesium imagery failures by @giswqs in #2663
  • fix(plugins): restore saved splats, apply STAC COG nodata, drop the dead COG add path by @giswqs in #2664
  • fix(desktop): claim the OAuth callback scheme on Linux by @giswqs in #2669
  • feat(stac): open a STAC catalog or API collection from a ?stac= link by @giswqs in #2668
  • feat(assistant): discover models live for Google, Anthropic, OpenAI and Bedrock by @giswqs in #2659
  • fix(planetary): load collections and search despite missing STAC CORS by @giswqs in #2674
  • fix(desktop): open .geolibre files from a Linux file manager by @giswqs in #2672
  • chore(deps): bump geolibre-wasm to 1.5.4 for the tool summary fixes by @giswqs in #2675
  • feat(cesium): render Zarr layers on the 3D globe with zarr-cesium by @giswqs in #2673
  • fix(raster): scale terrain gradients to metres for geographic-CRS DEMs by @Wukeeeeee in #2670
  • perf(web): minify worker bundles and defer lazy dialogs until opened by @giswqs in #2676
  • fix(desktop): drain Martin's output so large schemas can start by @giswqs in #2678
  • feat(i18n): fill 127 missing sharing, OAuth and session keys across every locale by @giswqs in #2679
  • chore(release): v3.1.0 by @giswqs in #2680

New Contributors

Full Changelog: v3.0.0...v3.1.0

Don't miss a new GeoLibre release

NewReleases is sending notifications on new releases.