|
1 | 1 | --- |
2 | 2 | title: Release History |
3 | 3 | --- |
| 4 | +# 2.3.0-rc1 (2024-04-18) |
| 5 | +## Highlights |
| 6 | +The 2.3.0-rc1 release is our first release candidate pre-release, meant to test all the new features and enhancement for the upcoming 2.3.0 release. |
| 7 | + |
| 8 | +There are two main new features: |
| 9 | +- The experimental cell-centric discrete spaces, as added in #1994. It allows having cells with not only properties but also active behaviors: the `CellAgent`. Its inspired by NetLogo's [patches](https://ccl.northwestern.edu/netlogo/bind/primitive/patches.html) but extend and generalize this concept further. |
| 10 | +- Full support for discrete event scheduling, as added in #2066. It allows scheduling events (like Agent actions) at any time, including non-integer timesteps. |
| 11 | + |
| 12 | +There are a lot of other features: The Jupyter visualisation now supports sliders, `NetworkGrid.get_neighbors()` supports a radius, `AgentSet.get()` can retrieve multiple attributes and there are now benchmarks to track Mesa performance during development. |
| 13 | + |
| 14 | +Finally, 2.3.0 stabilizes the `AgentSet` (including `model.agents`), making it the first experimental Mesa feature that is taken out of it's experimental phase. |
| 15 | + |
| 16 | +Install this pre-release with: |
| 17 | +``` |
| 18 | +pip install --pre mesa |
| 19 | +``` |
| 20 | +We would love feedback before we release 2.3.0 stable in ~1 week. |
| 21 | + |
| 22 | +## What's Changed |
| 23 | +### 🧪 Experimental features |
| 24 | +* Add cell-centric discrete spaces (experimental) by @Corvince in https://github.com/projectmesa/mesa/pull/1994 |
| 25 | +### 🎉 New features added |
| 26 | +* Add performance benchmarking scripts by @EwoutH in https://github.com/projectmesa/mesa/pull/1979 |
| 27 | +* feat: Implement Slider class for JupyterViz by @rht in https://github.com/projectmesa/mesa/pull/1972 |
| 28 | +* Stabilize AgentSet by @EwoutH in https://github.com/projectmesa/mesa/pull/2065 |
| 29 | +* Support discrete event scheduling by @quaquel in https://github.com/projectmesa/mesa/pull/2066 |
| 30 | +### 🛠 Enhancements made |
| 31 | +* JupyterViz: Automatically deduce display name from model class by @rht in https://github.com/projectmesa/mesa/pull/1975 |
| 32 | +* Add radius argument to NetworkGrid.get_neighbors() by @EwoutH in https://github.com/projectmesa/mesa/pull/1973 |
| 33 | +* Speedup of Agentset.shuffle by @quaquel in https://github.com/projectmesa/mesa/pull/2010 |
| 34 | +* feat: Let mesa runserver detect server.py as fallback by @rht in https://github.com/projectmesa/mesa/pull/2015 |
| 35 | +* JupyterViz: {Convert make_plot & prepare ColorCard} to become Solara component by @rht in https://github.com/projectmesa/mesa/pull/2020 |
| 36 | +* new feature: AgentSet.get can retrieve one or more then one attribute by @quaquel in https://github.com/projectmesa/mesa/pull/2044 |
| 37 | +* Update CODE_OF_CONDUCT.md to version 2+ of contrib convenant by @jackiekazil in https://github.com/projectmesa/mesa/pull/2052 |
| 38 | +* Improve flocking benchmark by @coderbeta1 in https://github.com/projectmesa/mesa/pull/2054 |
| 39 | +* Remove JupyterViz Altair marker overlap for huge grid size by @rht in https://github.com/projectmesa/mesa/pull/2062 |
| 40 | +* Add tooltip option to Altair chart by @FoFFolo in https://github.com/projectmesa/mesa/pull/2082 |
| 41 | +* feat: Display model seed & allow user to specify it in JupyterViz by @rht in https://github.com/projectmesa/mesa/pull/2069 |
| 42 | +* warn if placing already placed agent by @puer-robustus in https://github.com/projectmesa/mesa/pull/2083 |
| 43 | +### 🐛 Bugs fixed |
| 44 | +* fix: Apply default value to slider by @rht in https://github.com/projectmesa/mesa/pull/2016 |
| 45 | +* fix: Initialize model _steps and _time during __new__ by @rht in https://github.com/projectmesa/mesa/pull/2026 |
| 46 | +* fix: Use model.schedule only when it is not None by @rht in https://github.com/projectmesa/mesa/pull/2050 |
| 47 | +* fix: Remove JupyterViz grid marker overlap for huge grid size by @rht in https://github.com/projectmesa/mesa/pull/2049 |
| 48 | +### 📜 Documentation improvements |
| 49 | +* Improve readability of badges by @rht in https://github.com/projectmesa/mesa/pull/2009 |
| 50 | +* More pythonic implementation of wolf sheep by @quaquel in https://github.com/projectmesa/mesa/pull/2011 |
| 51 | +* Adding super().__init__() to MoneyModel tutorial by @sw23 in https://github.com/projectmesa/mesa/pull/2025 |
| 52 | +* docs: Convert howto.rst -> howto.md via rst2myst by @rht in https://github.com/projectmesa/mesa/pull/2033 |
| 53 | +* docs: Convert best-practices,overview,packages,mesa,index to .md via rst2myst by @rht in https://github.com/projectmesa/mesa/pull/2034 |
| 54 | +* docs: Convert api/*.rst -> api/*.md via rst2myst by @rht in https://github.com/projectmesa/mesa/pull/2035 |
| 55 | +* docs: Rewrite howto.md using ChatGPT for clarity and conciseness by @rht in https://github.com/projectmesa/mesa/pull/2037 |
| 56 | +* docs: Corrected Contributing Guide Link to Ensure Accessibility by @sahusiddharth in https://github.com/projectmesa/mesa/pull/2057 |
| 57 | +* Rename links to internal .rst files to .md by @rht in https://github.com/projectmesa/mesa/pull/2058 |
| 58 | +* docs: improve introductory tutorial by @puer-robustus in https://github.com/projectmesa/mesa/pull/2087 |
| 59 | +### 🔧 Maintenance |
| 60 | +* Quality of Life: Make codecov less meticulous by @Corvince in https://github.com/projectmesa/mesa/pull/1966 |
| 61 | +* Add CI workflow for performance benchmarks by @EwoutH in https://github.com/projectmesa/mesa/pull/1983 |
| 62 | +* tests: Resolve warnings by defining PropertyLayer dtypes by @EwoutH in https://github.com/projectmesa/mesa/pull/1987 |
| 63 | +* benchmarks.yml: Fix PR branch checkout when triggered by comment by @EwoutH in https://github.com/projectmesa/mesa/pull/1998 |
| 64 | +* Quality of life: automatically fix ruff errors by @Corvince in https://github.com/projectmesa/mesa/pull/2004 |
| 65 | +* benchmarks.yml: Run on addition of label instead of comment by @EwoutH in https://github.com/projectmesa/mesa/pull/2002 |
| 66 | +* ci: Move codespell to pre-commit by @rht in https://github.com/projectmesa/mesa/pull/2040 |
| 67 | +* Schelling by @coderbeta1 in https://github.com/projectmesa/mesa/pull/2053 |
| 68 | +* Move ruff lint settings into dedicated section by @Corvince in https://github.com/projectmesa/mesa/pull/2073 |
| 69 | +* ci: Use uv pip for faster build by @rht in https://github.com/projectmesa/mesa/pull/2038 |
| 70 | +* test: Remove place_agent duplicate warnings by @rht in https://github.com/projectmesa/mesa/pull/2086 |
| 71 | +### Other changes |
| 72 | +* Minor edits to benchmarking code by @quaquel in https://github.com/projectmesa/mesa/pull/1985 |
| 73 | +* build(deps): bump codecov/codecov-action from 3 to 4 by @dependabot in https://github.com/projectmesa/mesa/pull/2030 |
| 74 | +* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/projectmesa/mesa/pull/2029 |
| 75 | +* tests: Speed up test_batch_run by @rht in https://github.com/projectmesa/mesa/pull/2039 |
| 76 | +* Update benchmarks.yml by @Corvince in https://github.com/projectmesa/mesa/pull/2043 |
| 77 | +* docs: Convert visualization .rst -> .md via rst2myst by @rht in https://github.com/projectmesa/mesa/pull/2036 |
| 78 | +* docs: Convert CONTRIBUTING .rst -> .md via rst2myst by @rht in https://github.com/projectmesa/mesa/pull/2041 |
| 79 | +* Correct wolf energy gained from eating sheep by @JackAtOmenApps in https://github.com/projectmesa/mesa/pull/2048 |
| 80 | +* feat: Implement Altair version of grid visualization by @rht in https://github.com/projectmesa/mesa/pull/1991 |
| 81 | + |
| 82 | +## New Contributors |
| 83 | +* @sw23 made their first contribution in https://github.com/projectmesa/mesa/pull/2025 |
| 84 | +* @JackAtOmenApps made their first contribution in https://github.com/projectmesa/mesa/pull/2048 |
| 85 | +* @coderbeta1 made their first contribution in https://github.com/projectmesa/mesa/pull/2054 |
| 86 | +* @sahusiddharth made their first contribution in https://github.com/projectmesa/mesa/pull/2057 |
| 87 | +* @FoFFolo made their first contribution in https://github.com/projectmesa/mesa/pull/2082 |
| 88 | +* @puer-robustus made their first contribution in https://github.com/projectmesa/mesa/pull/2083 |
| 89 | + |
| 90 | +**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.2.4...2.3.0-rc1 |
| 91 | + |
| 92 | +# 2.2.4 (2024-01-26) |
| 93 | +## Highlights |
| 94 | +Mesa v2.2.4 is a small but important bugfix release for the 2.2 release series. It fixes an essential bug in where agents weren't shuffled in the `BaseScheduler`, affecting mainly the `RandomActivation` scheduler (effectively making it sequential activation)([#2007](https://github.com/projectmesa/mesa/pull/2007)). It also fixes a small behaviour change in `RandomActivationByType.agents_by_type()` ([#1996](https://github.com/projectmesa/mesa/pull/1996)). Furthermore, this release adds an internal clock to the `Model`, which allows to use a Mesa model without a scheduler (using the `AgentSet` API)([#1942](https://github.com/projectmesa/mesa/pull/1942)). |
| 95 | + |
| 96 | +Updating from previous 2.2 releases is highly recommended, especially when using the `RandomActivation` scheduler. |
| 97 | + |
| 98 | +## What's Changed |
| 99 | +### 🛠 Enhancements made |
| 100 | +* refactor: Remove dependence on model.schedule, add clock to Model by @rht in https://github.com/projectmesa/mesa/pull/1942 |
| 101 | +### 🐛 Bugs fixed |
| 102 | +* Fix AgentSet inplace shuffle (and thus RandomActivation), add tests by @EwoutH and @quaquel in https://github.com/projectmesa/mesa/pull/2007 |
| 103 | +* fix: Reverse dict key and value for agents_by_type by @rht in https://github.com/projectmesa/mesa/pull/1996 |
| 104 | + |
| 105 | +**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.2.3...v2.2.4 |
| 106 | + |
| 107 | +# 2.2.3 (2024-01-22) |
| 108 | +## Highlights |
| 109 | +Mesa 2.2.3 is a small release with two improvements to the experimental Solara visualisation, on request of one of our contributors. No stable features have changed. |
| 110 | + |
| 111 | +## What's Changed |
| 112 | +### 🧪 Experimental features |
| 113 | +* solara_viz: Add borders around ContinuousSpace by @EwoutH in https://github.com/projectmesa/mesa/pull/1988 |
| 114 | +### 🐛 Bugs fixed |
| 115 | +* fix: Explicitly specify JupyterViz space view limits by @rht in https://github.com/projectmesa/mesa/pull/1984 |
| 116 | + |
| 117 | +**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.2.2...v2.2.3 |
| 118 | + |
4 | 119 | # 2.2.2 (2024-01-22) |
5 | 120 |
|
6 | 121 | ## Highlights |
|
0 commit comments