Skip to content

v0.64.3

Latest

Choose a tag to compare

@giswqs giswqs released this 05 Nov 23:59
6af9e80

Patch release with ~60 bug fixes from a codebase-wide review and refreshed documentation.

Highlights

  • Security: download_folder no longer disables TLS certificate verification. Arguments to gdown are now passed by keyword; they were passed by position, which put remaining_ok into gdown's verify slot.
  • Float rasters are no longer truncated: array_to_image and array_to_memory_file keep float data as float for GeoTIFF/COG output. Previously, data such as NDVI in [-1, 1] was narrowed to integers and written as all zeros.
  • Features that were broken now work:
    • the toolbar split-basemap tool and split_map() with its default arguments
    • OpenStreetMap functions with osmnx 2.x (osmnx 1.x still works)
    • MapLibre add_vector_tile
    • MapLibre layers added twice under the same name
    • folium colormap_name and categorical colormaps such as NLCD
    • deck.gl basemaps from xyzservices
  • pandas 3, shapely 2 and Python 3.9 compatibility:
    • datetime columns in any time unit
    • string dtypes in classify and color_code_dataframe
    • the removed applymap
    • single Polygon and MultiLineString geometries in get_geometry_coords
    • leafmap.cli and leafmap.download import again on Python 3.9
  • Docs:
    • rewritten Installation, Get Started and FAQ pages
    • a new Command Line page for view-raster and view-vector
    • API pages for the cli, mapbox and report modules

Behavior changes

  • When dtype is not given, float arrays written to GeoTIFF/COG by array_to_image and array_to_memory_file stay float32/float64. The old range-based integer narrowing still applies to PNG/JPEG output and when a colormap is written.
  • MapLibre add_date_filter_widget now defaults to startDatetime/endDatetime. These are the columns the widget always read, because it used to ignore its column parameters. A missing column now raises a clear ValueError.
  • MapLibre add_layer returns the name the layer was added under. When that name was already taken, the layer is added as name_1, and its layer id is renamed to match.
  • USE_MESSAGE_QUEUE is parsed as a boolean. Only 1, true, yes, y and on enable the queue; previously any non-empty value did, including False.
  • clip_raster raises ValueError for geometry inputs without a CRS, unless they are GeoJSON dicts (assumed EPSG:4326) or geom_crs is given.
  • download_with_progress raises on HTTP errors instead of saving the error page as data.

What's Changed

  • Improve installation, getting started, FAQ and CLI docs by @giswqs in #1403
  • Fix bugs found in a codebase-wide review by @giswqs in #1402
  • Bump version: 0.64.2 → 0.64.3 by @giswqs in #1404

Full Changelog: v0.64.2...v0.64.3