Skip to content

Changelog

[0.13.0] - 2025-11-05

New Features ✨

Performance improvements ⚡

  • perf: use ThreadPoolExecutor for Parquet serialization and bounds computation by @kylebarron in !902
  • perf: Define top-level earcut worker pool by @kylebarron in !954
  • perf: Call np.mean once across axis instead of once per column by @kylebarron in !995
  • perf: Remove typedArrayManager settings override by @kylebarron in !1003
  • perf: Avoid generating str repr of table during rendering by @kylebarron in !1015

Bug fixes 🐛

  • fix: Fix HeatmapLayer by bumping deck.gl to 9.2 by @kylebarron in !910
  • fix: Add pyarrow to geopandas extra in pyproject.toml by @kylebarron in !970
  • fix: Fix "fuzziness" of path layers by removing useDevicePixels default by @kylebarron in !969
  • fix: Ensure that the default value of Map.basemap is MaplibreBasemap if no value of basemap was passed. by @kylebarron in !963
  • fix: Restore DataFilterExtension functionality with vectorized accessor input by @kylebarron in !977
  • fix: Fix ArcLayer with numpy coords input by @kylebarron in !989
  • fix: Ensure view state is updated in Python with a maplibre map renderer by @kylebarron in !1017
  • fix: Hack a react re-render on canvas resize by @kylebarron in !1022

Documentation 📖

Breaking changes 🔨

Other changes

Full Changelog: github.com/developmentseed/lonboard/compare/v0.12.1...v0.13.0

[0.12.1] - 2025-09-18

New Features ✨

Bug fixes 🐛

  • fix: Fix rendering Arrow input with string view/binary view column by @kylebarron in !872
  • fix: Add __all__ declarations to modules to fix pylance warnings by @kylebarron in !876
  • feat: Support struct GeoArrow input for ArcLayer positions by @kylebarron in !877

Documentation 📖

Full Changelog: github.com/developmentseed/lonboard/compare/v0.12.0...v0.12.1

[0.12.0] - 2025-09-13

New Features ✨

  • feat: Add new example notebook on accessing spatially-partitioned Overture GeoParquet datasets by @kylebarron in !832
  • feat: Allow passing GeoArrow arrays and chunked arrays directly to layer constructors by @kylebarron in !828
  • feat: Support parsing geoarrow.geometry input; read WKB/WKT without shapely dep by @kylebarron in !846
  • feat: Use 100% as default CSS height by @ATL2001 in !835
  • feat: Migrate notebook examples to dependency management using juv by @kylebarron in !821

Breaking changes 🔨

Bug fixes 🐛

  • fix(arc-layer): Fix migration example by @kylebarron in !830
  • fix: Bump geoarrow-rust-core to fix handling of geoarrow geometry by @kylebarron in !864

Other changes

  • perf: Avoid numpy memory copy when shapely-produced offsets are already int32 by @kylebarron in !845
  • chore: Suggest shallow clone of repo in DEVELOP.md by @kylebarron in !825
  • chore: Fix mypy lint errors by @kylebarron in !826
  • ci: Add CI test for Python 3.13 by @kylebarron in !844
  • chore: Cleaner handling of chunked array input into BaseArrowLayer.init by @kylebarron in !855

Full Changelog: github.com/developmentseed/lonboard/compare/v0.11.1...v0.12.0

[0.11.1] - 2025-06-18

Bug fixes 🐛

Full Changelog: github.com/developmentseed/lonboard/compare/v0.11.0...v0.11.1

[0.11.0] - 2025-06-17

Breaking changes 🔨

New features ✨

  • feat: Reinstate tooltip by @vgeorge in !736. You can now turn on the tooltip by passing show_tooltip=True to Map. You may also want to pass show_side_panel=False to disable the side panel.
  • Clicked point to Lonboard map by @ATL2001 in !671
  • feat: Support geoarrow.box arrays from GeoArrow 0.2 spec by @kylebarron in !793
  • feat: Allow passing Arrow table as positional argument to layer constructors by @kylebarron in !795
  • Switch to the DuckDB Expression API to mitigate sql injection risk by @danielsparing in !777

Visual changes 🎨

Bug fixes 🐛

Documentation 📖

Internal changes 🔧

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.10.3...v0.11.0

[0.10.3] - 2024-10-15

Fixes 🐛

  • Downgrade minimum traitlets version to fix use with Colab. !687

[0.10.2] - 2024-10-10

Fixes 🐛

  • Fix using TripsLayer.from_movingpandas with numpy v2.

[0.10.1] - 2024-10-08

Fixes 🐛

  • Fix import when pandas not installed.

[0.10.0] - 2024-10-07

New! ✨

  • New TripsLayer for animating moving objects, which integrates with MovingPandas. See the Air Traffic Control example and the MovingPandas integration example.
  • New ColumnLayer for rendering extruded cylinders. See the new ColumnLayer example.
  • Removed required dependencies! geopandas, pandas, shapely, pyarrow, matplotlib, and palettable are now optional dependencies. Lonboard will still work out of the box with them, but they aren't required to use Lonboard. This gives Lonboard a smaller footprint and makes it easier to use in environments such as Pyodide.
  • You can now draw bounding boxes on the map. This is exposed as the selected_bounds attribute on the Map object, stored as a two-dimensional bounding box (minx, miny, maxx, maxy).
  • Improved documentation
  • How to use Lonboard in pyodide, a Python environment that is fully running in your browser.
  • Add linked maps example by @ATL2001 in !655
  • Add troubleshooting doc by @kylebarron in !654
  • Add longraph to showcase by @kylebarron in !595
  • New Map.add_layer method for easily adding more layer(s) to an existing Map instance.
  • Add highlight_color to change the color of auto_highlight by @kylebarron in !666
  • Use deterministic colors in viz by @kylebarron in !621
  • Categorical data filtering. The DataFilterExtension now has a filter_categories attribute that lets you filter categorical data on the map. by @kylebarron in !609

Breaking Changes 🔨

  • The tooltip shown on hover was replaced with a side panel. You now must click on a geometry to view its attributes. By @vgeorge in !636

Fixes 🐛

  • We've switched from storing list objects to storing tuple objects (e.g. the list of layers in a Map). The immutability of the tuple ensures that a any changes in the sequence of layers will be propagated to the frontend.Fixed in !620
  • A class of bugs was fixed when using Arrow input, where the chunking structure of the main table did not match the chunking of accessors. Fixed in !644
  • Fix reading from DuckDB with only geometry column by @kylebarron in !625
  • Fix attribution by @vgeorge in !561

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.9.3...v0.10.0

[0.9.3] - 2024-05-27

Fixes 🐛

Full Changelog: github.com/developmentseed/lonboard/compare/v0.9.2...v0.9.3

[0.9.2] - 2024-05-14

Fixes 🐛

  • Reverse the layer order for automatically split geometry by @RaczeQ in !516

What's Changed

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.9.1...v0.9.2

[0.9.1] - 2024-05-07

Fixes 🐛

Full Changelog: github.com/developmentseed/lonboard/compare/v0.9.0...v0.9.1

[0.9.0] - 2024-05-06

New! ✨

Fixes 🐛

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.8.0...v0.9.0

[0.8.0] - 2024-04-05

New! ✨

Fixes 🐛

Full Changelog: github.com/developmentseed/lonboard/compare/v0.7.1...v0.8.0

[0.7.1] - 2024-03-22

Fixes 🐛

Full Changelog: github.com/developmentseed/lonboard/compare/v0.7.0...v0.7.1

[0.7.0] - 2024-03-21

New! ✨

  • There's a new command-line interface (CLI)! Use the lonboard command to quickly visualize one or more data files readable by GDAL! For example: lonboard admins.geojson features.gpkg. By @kylebarron in !379
  • Type hinting for constructors and from_geopandas method. This should make it easier to pass the correct parameters into layers. This has been tested to work in IDEs like VSCode, but unfortunately appears not to work in JupyterLab. By @kylebarron in !399

Type hints are now supported in constructors.

Fixes 🐛

Other changes

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.6.0...v0.7.0

[0.6.0] - 2024-02-13

New! ✨

Fixes 🐛

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.5.0...v0.6.0

[0.5.0] - 2023-12-01

New Features

Full Changelog: github.com/developmentseed/lonboard/compare/v0.4.2...v0.5.0

[0.4.2] - 2023-11-13

Fixed

Full Changelog: github.com/developmentseed/lonboard/compare/v0.4.1...v0.4.2

[0.4.1] - 2023-11-13

Fixed

Full Changelog: github.com/developmentseed/lonboard/compare/v0.4.0...v0.4.1

[0.4.0] - 2023-11-10

New Features

  • New HeatmapLayer
  • New experimental module, with new layers (ArcLayer, TextLayer) and "layer extensions" (BrushingExtension, CollisionFilterExtension).
  • New "migration" notebook using the experimental ArcLayer.

Fixed

This should error when the JS files have not been included when packaging.

Full Changelog: github.com/developmentseed/lonboard/compare/v0.3.0...v0.4.0

[0.3.0] - 2023-11-07

New Features

  • Save widget to standalone HTML file by @kylebarron in !199
  • Support for rendering inside Visual Studio Code
  • Allow customized picking radius by @kylebarron in !212
  • New example notebooks
  • Automatically downcast data types in from_geopandas by @kylebarron in !195

Fixed

  • Allow pandas series as accessor to FloatAccessor by @kylebarron in !208
  • Raise error when creating class with unknown keyword argument by @kylebarron in !209
  • fix tooltip rendering when not hovering over an object by @kylebarron in !215

Full Changelog: github.com/developmentseed/lonboard/compare/v0.2.0...v0.3.0

[0.2.0] - 2023-11-01

Breaking Changes

  • Layers no longer render a map object. Instead, pass one or more layer instances into a lonboard.Map and display that.

New Features

  • Support multiple layers on a single map.
  • Tooltip with data information on hover.
  • Allow hex string color input to ColorAccessor.
  • Versioned documentation website
  • New examples
  • Experimental API to change map height

Fixed

New Contributors

Full Changelog: github.com/developmentseed/lonboard/compare/v0.1.2...v0.2.0

[0.1.2] - 2023-10-24

  • Actually update @geoarrow/deck.gl-layers to version 0.2.0, whoops 😅

[0.1.1] - 2023-10-23

  • Updates to @geoarrow/deck.gl-layers version 0.2.0:
  • Fixed MultiPolygon rendering
  • Fixed rendering of polygons with holes.
  • Polygon rendering is roughly 35% faster.

[0.1.0] - 2023-10-17

  • Initial public release.
  • Initial support for ScatterplotLayer, PathLayer, and SolidPolygonLayer.