Skip to content

Latest commit

Β 

History

History
287 lines (206 loc) Β· 14.4 KB

HISTORY.md

File metadata and controls

287 lines (206 loc) Β· 14.4 KB

Release History

0.9.0a0 (2024-10-17)

Highlights

This small pre-release fixes a bug in the RasterLayer rendering and deprecated the old GeoJupyterViz, in favor of the new SolaraViz.

What's Changed

πŸ› Bugs fixed

  • fix raster layer rendering in solaraviz by @wang-boyu in #254

πŸ“œ Documentation improvements

  • Deprecate geojupyterviz and update intro tutorial by @wang-boyu in #255

Full Changelog: https://github.com/projectmesa/mesa-geo/compare/v0.9.0a0...v0.9.0a1

0.9.0a0 (2024-09-27)

Highlights

The Mesa-geo v0.9.0a0 pre-release is the first Mesa-geo version compatible with Mesa 3.0.

One of the most notable changes is the automatic assignment of unique IDs to agents. This eliminates the need for manual ID specification, simplifying agent creation. For example, where you previously might have initialized an agent with:

agent = MyGeoAgent(unique_id=1, model=model, geometry=point, crs="EPSG:4326")

You now simply omit the unique_id:

agent = MyGeoAgent(model=model, geometry=point, crs="EPSG:4326")

Mesa-geo can now directly use Mesa 3.0's SolaraViz visualisation, with an additional make_geospace_leaflet method to support geospaces. The new visualization can be used like:

from mesa.visualization import SolaraViz
import mesa_geo.visualization as mgv

model = GeoSIR()
SolaraViz(
    model,
    name="GeoSIR",
    components=[
        mgv.make_geospace_leaflet(SIR_draw, zoom=12, scroll_wheel_zoom=False),
        mesa.visualization.make_plot_measure(["infected", "susceptible", "recovered", "dead"]),
        mesa.visualization.make_plot_measure(["safe", "hotspot"]),
    ]
)

The v0.9.0a0 pre-release is a snapshot release to allow starting testing against Mesa 3.0, and might introduce new breaking changes in upcoming (pre-)releases.

What's Changed

⚠️ Breaking changes

  • Require Mesa 3.0 by @EwoutH in #244
  • Automatically assign unique_id's by @EwoutH in #248

πŸ›  Enhancements made

  • add method to make geospace as a solara component by @wang-boyu in #246

πŸ› Bugs fixed

  • raster_layer: Don't pass unique_id to Agent in Cell by @EwoutH in #249

πŸ“œ Documentation improvements

  • Readthedocs: Don't let notebook failures pass silently by @EwoutH in #250
  • intro tutorial: Remove unique_id from Agent init by @EwoutH in #251

Full Changelog: https://github.com/projectmesa/mesa-geo/compare/v0.8.1...v0.9.0a0

0.8.1 (2024-09-03)

Highlights

Mesa-Geo 0.8.1 is a small patch release containing a single feature, a documentation update and a bug fixed.

The real novelty is that from now on, all GIS examples on Mesa-examples are tested in CI against Mesa-Geo. We fixed 16 bugs in the 7 GIS example models (mesa-examples#172), which are now available on two branches:

  • On the main branch GIS examples can be found will keep being updated for the latest Mesa and Mesa-Geo versions.
  • On the mesa-2.x branch GIS examples examples can be found that keep working with Mesa 2.x and Mesa-Geo 0.8.x.

The Mesa-Geo 0.8.x. series is compatible with Mesa 2.3.x. The next Mesa-Geo release series, 0.9.x, will be compatible with with Mesa 3.0.

What's Changed

πŸŽ‰ New features added

  • Expose rasterio's opener argument in Rasterlayer.from_file by @EwoutH in #237

πŸ› Bugs fixed

  • add model parameter in RasterLayer class method by @wang-boyu in #240

πŸ“œ Documentation improvements

  • Update intro_tutorial.ipynb by @tpike3 in #234

πŸ”§ Maintenance

  • Add test script for GIS examples and run that in CI by @EwoutH in #241

Full Changelog: https://github.com/projectmesa/mesa-geo/compare/v0.8.0...v0.8.1

0.8.0 (2024-08-21)

Highlights

  • The Tornado visualization server is removed and replaced with SolaraViz, which also works within Jupyter notebooks (#212). This is in line with Mesa's recent changes to use Solara for visualization.
  • The Introductory Tutorial has been fully rewritten for Mesa-Geo 0.8.0
  • The 0.8.x series are the releases compatible with Mesa 2.3.x. The next major release will be compatible with Mesa 3.0+.

πŸŽ‰ New features added

  • Update mesa-geo to sync with mesa >=2.3.0 by @tpike3 in #212

πŸ›  Enhancements made

  • Update tutorial and viz by @tpike3 in #217

πŸ“œ Documentation improvements

  • fix links and installation instructions in README file by @wang-boyu in #213
  • .readthedocs.yaml: Use latest Ubuntu and Python versions by @EwoutH in #221
  • docs: update conf.py to be in sync with mesa by @wang-boyu in #223
  • docs: remove api docs entry for removed visualization module by @wang-boyu in #224
  • Fix kernel issue by @tpike3 in #229
  • Remove cell output by @tpike3 in #231

πŸ”§ Maintenance

  • Update configuration, metadata and tests by @tpike3 in #208
  • fix: Use correct package name for Pip by @rht in #214
  • pyproject.toml: Always use latest ruff by @EwoutH in #219
  • pyproject.toml: Use mesa version smaller than 3 for now by @EwoutH in #220
  • CI: Add job to test with pre-release dependencies, including Mesa by @EwoutH in #218

Full Changelog: https://github.com/projectmesa/mesa-geo/compare/v0.7.1...v0.8.0

0.7.1 (2024-03-27)

πŸ› Bugs fixed

  • fix: remove old map layers before rendering new layers by @wang-boyu in #194 (thanks @rw73mg for reporting)

Full Changelog: https://github.com/projectmesa/mesa-geo/compare/v0.7.0...v0.7.1

0.7.0 (2024-01-17)

Special Notes

  • Update Mesa dependency to v2.2
  • The pinning of Mesa is now on the major version, instead of the minor version. This means that Mesa-Geo v0.7.0 will work with Mesa v2.2, v2.3, v2.4, etc. but not with Mesa v3.0 or later.

πŸ›  Enhancements made

  • create and update rtree spatial index only when needed by @wang-boyu in #179

πŸ”§ Maintenance

  • fix link to examples by @wang-boyu in #167
  • Correct link to GeoSchelling example and update copyright string by @Holzhauer in #175
  • fix rtd build error and upgrade to python 3.9 by @wang-boyu in #176
  • update pre-commit and ga workflows to be consistent with mesa by @wang-boyu in #181
  • add config file to automatically generate release notes by @wang-boyu in #184
  • update ga workflows to be consistent with mesa by @wang-boyu in #185

New Contributors

  • @Holzhauer made their first contribution in #175

Full Changelog: https://github.com/projectmesa/mesa-geo/compare/v0.6.0...v0.7.0

0.6.0 (2023-09-13)

Special Notes

  • update mesa dependency to v2.1

Improvements

  • use Pathlib #149 (thanks @catherinedevlin for contributing)

  • Docs updates

    • docs: use pydata theme #152
    • docs: use myst-nb to compile notebooks at build time #159
  • Example updates

    • remove examples and their tests #163

Fixes

  • fix AttributeError in GeoSpace.agents_at() #165 (thanks @SongshGeo for reporting)

0.5.0 (2023-03-09)

Improvements

  • Docs updates

    • add citation information about mesa-geo #117
    • add citation info to readthedocs #118
    • docs: update docstrings on how to use providers requiring registration #141
  • Front-end updates

    • add scale to Leaflet map #123
    • allow basemap tiles configuration #127
  • CI updates

    • add testing for python 3.11 #122
    • ci: replace flake8 with ruff #132
    • ci: update os, python versions, and dependabot configurations #142
    • ci: pin ruff version to v0.0.254 #144

Fixes

  • fix WMSWebTile.to_dict() method #140

0.4.0 (2022-10-18)

Improvements

  • export geoagents and raster cells #98

  • use ModularServer from Mesa #109

  • implement simpler Mesa-Geo namespace #115

  • Docs updates

    • create Read the Docs #99
    • update README with badges and matrix chat link #100
  • Front-end updates

    • auto zoom to geospace when view & zoom are missing #103
  • CI updates

    • add pre-commit config and run it on all files #107
  • Example updates

    • link example models to readthedocs #101
    • fix spatial variation of water level in rainfall example #108
    • fix youtube links in geo_schelling examples #113

Fixes

  • replace BuildCommand & DevelopCommand with BuildPyCommand during setup #106

0.3.0 (2022-07-27)

Special Notes

  • BREAKING: rename model.grid to model.space #40
  • BREAKING: rename GeoAgent's shape attribute to geometry #57

Improvements

  • feat/crs #58

    • add GeoAgent.crs attribute
    • update GeoSpace with GeoAgent.crs
  • extract an _AgentLayer from GeoSpace #62

  • add layers into geospace #67

  • implement RasterLayer #75

  • create raster layer from file #92

  • Front-end updates

    • implement LeafletPortrayal dataclass for GeoAgent portrayal #84
  • CI updates

    • ci: Replace Travis with GH Actions #47
    • ci: Disable PyPy tests for now #56
  • Dependency updates

    • Frontend dependencies #54
      • remove all frontend dependencies available from mesa
      • create setup.cfg and pyproject.toml from setup.py
    • download leaflet during install #59
    • remove version number from leaflet filenames #61
    • update for Mesa v1.0.0 #78
      • specify mesa 1.x dependency
      • update for mesa css includes
      • remove jQuery usage in MapModule.js
      • use Slider instead of UserSettableParameter in examples
  • Example updates

    • update examples #74
      • change examples folder structure
      • add test for examples
      • add geo_schelling_points example
    • add rainfall and urban growth examples #80
    • add uganda example #90
  • Other improvements

    • add github issue templates #38
    • apply Black to all Python files #50
    • add code of conduct and contributing guide #69
    • update license with year and contributors #86
    • rename master branch to main #89

Fixes

  • fix remove_agent in GeoSpace #34
  • remove deprecated skip_equivalent from pyproj #43
  • flake8: Fix errors #51
  • rename InstallCommand to BuildCommand #55
  • fix codecov and README.md #71
  • use shape.centroid instead of shape.center() #73
  • fix unique id exception for raster cells #83
  • fix total_bounds check in GeoSpace #88