All notable changes to this project will be documented in this file.
- Fix issue with the
actionproperty of theEditControlnot firering #265, thereby resolving #264 - Fix spiderfy function not working in some cases #267, thereby resolving #266
- Relax (minimum) Python version requirement from
3.12to3.11
- Update
geobuf/protobufdependency version pins
- Update dependency to Dash 3.0.0
- Fix issue with
TileLayercomponent on non-integer zoom update #236 - Fix issue with extra Dash props making it into
WMSTileLayercomponent #225 - Update build system to use uv
- Propagate pane information to
GeoJSONobject, thereby fixing #221
- Viewport tracking logic changed to use delta updates, which combined with a delay fixes #211
- Re-enable the ability to set
zoom/centerprops (due to many user requests)
- Bugfix in
GeoJSONcomponent correcting wrong behavior when changing clustered data dynamically - Correct
GeoJSONcomponent data type definition (remove string as allowed type)
- Publishing to npm added to CICD pipeline
- Extend
viewportproperty to supportboundsmanipulation
- Add
viewportproperty for theMapcomponent to enable easy manipulation of the viewport (i.e. zoom/center)
- Add support for
flatgeobuffile format, including bounding box filtering - Add extra optional options (
svg,geobuf,all)
- Restored support for
geobuffile format
- When clustering is enabled, the
GeoJSONcomponent now performs delta updates, i.e. features that remain within the viewport are no longer redraw on pan/zoom. Fixes #180 - The map viewport is now tracked (through the
zoom,center, andboundsproperties) unlesstrackViewportit set toFalse. Fixes #194
- Add option to specify custom units in the
MeasureControl. Fixes #130 - Add
invalidateSizeoption to the map component. Fixes #73
- The
GeoJSONcomponent now supports single features (in addition to feature collections). Fixes #160
- New event handling system, allowing much greater flexibility
- Basic unit tests for all components (rendering or better)
- Added (separate)
Attributioncomponent
- Library completely rewritten in TypeScript based on React Leaflet v4
- Dependencies updated (incl. React version bump), npm now reports 0 vulnerabilities
- Various fixes, incl. but not limited to #193, #192, #189, #184, #178
- The
GeoJSONcomponent is now loaded async, bringing the main asset < 300 kB
- Dropped
Minichartcomponent. The underlying library is not maintained, and the current version in incompatible with newer versions of Leaflet - Dropped
MarkerClusterGroupcomponent due to performance issues. Please use theGeoJSONinstead - Dropped
GeoTIFFOverlaycomponent. This (highly custom) component has long been deprecated, and I decided now was the time to drop it completely
- Added leaflet source maps
- Modified ImageOverlay
loadedproperty to include more information
- Added ImageOverlay
loadedproperty, which is set totruewhen the image has finished loading
- Leaflet and react-leaflet are now bundled with dash-leaflet. This structure enables development of plugins as external packages.
- Various dependency updates.
- Changed loading of js chunks so that a chunk is only loaded when actually needed.
- Added
Minichart component.
- The following components are now loaded async:
EditControl,GeoTIFFOverlay,LocateControl,MeasureControl,MarkerClusterGroup. As a result, the main bundle size has been reduced to about half (< 500 kB). - Update to Dash 2.0.
- Prop validation of
GeoJSONcomponenthideoutprop relaxed. - Prop validation of
Polygoncomponentpositionsprop relaxed.
- Added
drawToolbarandeditToolbarprops toEditControlcomponent.
- Polygons collected into the
geojsonprop of theEditControlcomponent are now closed.
- New
FeatureGroupcomponent.
- Fixed bug in
GeoJSONcomponent arising when all features are filtered out andzoomToBounds=True.
- Dropped bundled js functions (previously located in
express.js).
- Added
extraPropsprop toWMSTileLayercomponent as per request.
- Added
layersprop toLayersControlcomponent. - Added
FullscreenControlas per request.
- Regression (bounds passed from Dash not applied) due to fix in 0.1.11 fixed
- New attempt at fixing a bug typically seen with multiple maps in multiple tabs.
- Breaking syntax changes in functional properties.
- Fixed a bug typically seen with multiple maps in multiple tabs.
- Added MeasureControl.
- Added EasyButton component.
- Added tracking of map bounds.
- The LayersControl has (finally) been added.
- Minor changes to GeoJSON standard functions adding support for discrete/continuous color scales for both scatter and choropleth
- The map now supports different CRS.
- The GeoJSON component now supports custom panes.
- The GeoJSON now supports changing style dynamically.
- The MarkerClusterGroup is again included for backwards compatibility
- Per default, the GeoJSON now renders tooltip/popup if a
tooltip/popupproperty is available on the feature - The GeoJSON example functions (scatter, choropleth) have been moved from Python to JavaScript thus eliminating the dash-transcrypt dependency
- New geojson subpackage. It contains modules with examples of python function definitions to ease the transition to functional props
- The GeoJSON has been completely rewritten to support a wider range of use cases. It now uses functional props
- The SuperCluster component has been removed. The GeoJSON component now handles marker clustering
- Supercluster: spiderfy bug fixed, added automatic maxZoom detection
- Added Supercluter component.
- Added tracking of map zoom and center.
- Added tracking marker position.
- Added build instructions to readme.
- Added some build automation (github actions).
- Fix of bug in Polygon prop validation.
- Added DivMarker component.
- Pane component bug fixed.
- Verification of scrollWheelZoom type corrected.
- Pane component added.
- PolylineDecorator component properties "positions" and "children" changed to dynamic.
- PolylineDecorator component added.
- Options property added to MarkerClusterGroup.
- Property added to GeoJSON object (n_click).
- Link added to heroku documentation.
- GeoJSON object added.
- Support of multiple urls for VideoOverlay
- ScaleControl object added.
- Property added to Map to signal location change (location_lat_lon_acc)
- CircleMarker changed to use n_clicks like Marker
- New options added to LocateControl
- LocationControl object added.
- MarkerClusterGroup object added.
- Click event for Marker object change from yielding (lat, lon) to n_clicks to ensure that the event fires on each click.
- Click event for Marker object added.