Skip to content

Changelog

0.1.5 (2026-04-23)

Features

  • Global dataset pipeline: weekly Europe-only extraction replaced with a monthly global extraction split across 16 regions (src/osm_powerplants/regions.py). Matrix CI job per region uploads artifacts; a merge job concatenates into osm_global.csv + osm_global_rejected_plants.csv + osm_global_rejected_plants.geojson at the repo root, with per-region outputs preserved under datasets/.
  • scripts/extract_region.py replaces scripts/extract_europe.py: parallelizes countries with fallback Overpass endpoints and writes the rejection report in both CSV and GeoJSON form per region.
  • scripts/merge_global.py combines regional outputs into global ones.
  • evaluation/: reviewer bundle (report, PPM matching + evaluation scripts, recommended PPM overlay) used to decide which countries should have OSM fully included in PPM.
  • process_units(..., rejected_output_path=...) writes the dropped-plant rejection report (CSV + sibling GeoJSON) so users can diagnose why a country returned fewer plants than overpass-turbo. README gains a "Why some plants are excluded" section (PR #8, issue #5).

Bug Fixes

  • Send an explicit osm-powerplants/<version> User-Agent on every Overpass request — public Overpass instances reject the default python-requests/X UA with HTTP 406 (PR #7, issue #5).
  • Regional download path now reads overpass_api.api_url from config instead of the wrong key url, so user overrides reach the client (PR #7, issue #5).
  • Sync __version__ in osm_powerplants/__init__.py with pyproject.toml (was 0.1.3 vs 0.1.4).

Changes

  • Default config.yaml now enables missing_technology_allowed, adds a Battery mapping, extends CSP technology patterns, and points to the overpass.private.coffee endpoint with a longer timeout/retry — absorbed from the previous sibling config.global.yaml.
  • Legacy root osm_europe.csv is frozen and retained for back-compat with the current PPM config; it will be removed once the PPM PR that re-points to osm_global.csv merges.

0.1.4 (2026-04-15)

Features

  • Use alternative Overpass endpoint (overpass.private.coffee) for improved availability
  • Workshop notebook with Colab launch button

Bug Fixes

  • Detect Overpass resource-limit errors disguised as HTTP 200 responses (PR #4)
  • Raise OverpassAPIError on exhausted retries instead of returning a silent empty response (PR #4)

Changes

  • Demo country switched from Malta to Colombia
  • Tests no longer pin hardcoded version strings

0.1.3 (2026-01-02)

Bug Fixes

  • CLI --version now uses dynamic version from __version__

0.1.2 (2026-01-02)

Bug Fixes

  • Sync __version__ with pyproject.toml

0.1.1 (2026-01-02)

Changes

  • Simplified CI workflow - removed Release Please, single main branch
  • Skip slow integration tests by default (require external Overpass API)
  • Added manual PyPI publish workflow

0.1.0 (2025-12-16)

Features

Bug Fixes

  • add .nojekyll to disable Jekyll processing (1650831)
  • force-add osm_europe.csv to bypass .gitignore in CI (871556d)
  • page url with underscore (724b218)
  • update repo URLs from osm-powerplants to osm_powerplants (a154ee4)

Documentation

  • add PyPI publishing instructions to contributing guide (f3910af)
  • update URLs to use hyphenated repo name (osm-powerplants) (9f4619b)

0.1.0 (2024-12-15)

Initial public release.

Features

  • CLI with process and info commands
  • Multi-level caching (CSV, Units, API)
  • Plant reconstruction from orphaned generators
  • Generator clustering for solar/wind farms
  • Cross-platform paths via platformdirs
  • Rejection tracking with 27 categorized reasons
  • GeoJSON export for JOSM/iD editor integration