A new minor release with some fixes, many improvements to the internals and a few new features!
🌳 New
- You can now use `m.add_colorbar(layer=..)` to override the layer at which the colorbar is plotted
- There is a new method `m.set_shade_dpi(...)` to override the dpi used by shade-shapes.
(Useful to fix data aggregation resolution for high-dpi exports or to adjust resolution to better suit data density)
🌦️ Changes
- Grid-snapping of the `LayoutEditor` now snaps to **all** edges of the axes
(Useful in case the axis-size is not a multiple of the grid-spacing)
- If multiple axes are moved, the first selected object acts as anchor
- ❗ The default matplotlib keymap `p : "toggle pan/zoom tool"` is now active again
🌩️ Internals (no effects on the public API)
- Unit-tests now use image-comparison to ensure stable image export results
- ❗ The `Maps` class has been refactored (`Maps` and `MapsBase`) to make the code more accessible and easier to handle.
🔨 Fixes
- fix handling of axes on combined layers in the LayoutEditor
- allow custom scatter_points marker shapes for "mark" callback
- fix issues with identification of grid-label position with projections that create non-intersecting grid-lines
- always print basic exception info on issue during layer-change action
- make sure to trigger a figure-update after adding a scalebar
- address pyproj warnings for pyproj>=3.5