Skip to content

Commit 002d3f4

Browse files
authored
Update version and release notes for 3.0.0a3 (#2262)
Updates the version and release notes for our next Mesa 3.0 pre-release, 3.0.0a3.
1 parent 861d6b3 commit 002d3f4

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

HISTORY.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,54 @@
11
---
22
title: Release History
33
---
4+
# 3.0.0a3 (2024-08-30)
5+
## Highlights
6+
Developments toward Mesa 3.0 are steaming ahead, and our fourth alpha release is packed with features and updates - only 8 days after our third.
7+
8+
Mesa 3.0.0a3 contains one breaking change: We now automatically increase the `steps` counter by one at the beginning of each `Model.steps()` call. That means increasing `steps` by hand isn't necessary anymore.
9+
10+
The big new features is the experimental Voronoi grid that @vitorfrois implemented in #2084. It allows creating cells in a [Voronoi](https://en.wikipedia.org/wiki/Voronoi_diagram) layout as part of the experimental cell space. An example using it to model Cholera spread can be [found here](https://github.com/projectmesa/mesa-examples/pull/118).
11+
12+
The AgentSet got a lot of love with two brand new methods: `.groupby()` to split in groups (#2220) and `.set()` to easily assign variables to all agents in that set (#2254). The `select()` method is improved by allowing to select at most a fraction of the agents (#2253), and we split the `do()` method in `do()` and `map()` to make a distinction between the return types (#2237).
13+
14+
Furthermore, we improved the performance of accessing `Model.agents`, squashed a bug in SolaraViz, started testing on Python 3.13 and added a new benchmark model.
15+
16+
Our example models also got more love: We removed the `RandomActivation` scheduler in 14 models and removed SimultaneousActivation in 3 models ([examples#183](https://github.com/projectmesa/mesa-examples/pull/183)). They now use the automatic step increase and AgentSet functionality. We started testing our GIS model in CI ([examples#171](https://github.com/projectmesa/mesa-examples/pull/171)) and resolved a lot of bugs in them ([examples#172](https://github.com/projectmesa/mesa-examples/issues/172), help appreciated!).
17+
18+
Finally, we have two brand new examples: An Ant Colony Optimization model using an Ant System approach to the Traveling Salesman problem, a Mesa NetworkGrid, and a custom visualisation with SolaraViz ([examples#157](https://github.com/projectmesa/mesa-examples/pull/157) by @zjost). The first example using the `PropertyLayer` was added, a very fast implementation of Conway's Game of Life ([examples#182](https://github.com/projectmesa/mesa-examples/pull/182)).
19+
20+
To help the transition to Mesa 3.0, we started writing a [migration guide](https://mesa.readthedocs.io/en/latest/migration_guide.html). Progress is tracked in #2233, feedback and help is appreciated! Finally, we also added a new section to our [contributor guide](https://github.com/projectmesa/mesa/blob/main/CONTRIBUTING.md#i-have-no-idea-where-to-start) to get new contributors up to speed.
21+
22+
This pre-release can be installed as always with `pip install --pre mesa`
23+
24+
## What's Changed
25+
### ⚠️ Breaking changes
26+
* model: Automatically increase `steps` counter by @EwoutH in https://github.com/projectmesa/mesa/pull/2223
27+
### 🧪 Experimental features
28+
* Voronoi Tessellation based Discrete Space by @vitorfrois in https://github.com/projectmesa/mesa/pull/2084
29+
### 🎉 New features added
30+
* Add AgentSet.groupby by @quaquel in https://github.com/projectmesa/mesa/pull/2220
31+
* AgentSet: Add `set` method by @EwoutH in https://github.com/projectmesa/mesa/pull/2254
32+
### 🛠 Enhancements made
33+
* Split AgentSet into map and do to separate return types by @quaquel in https://github.com/projectmesa/mesa/pull/2237
34+
* Performance enhancements for Model.agents by @quaquel in https://github.com/projectmesa/mesa/pull/2251
35+
* AgentSet: Allow selecting a fraction of agents in the AgentSet by @EwoutH in https://github.com/projectmesa/mesa/pull/2253
36+
### 🐛 Bugs fixed
37+
* SolaraViz: Reset components when params are changed by @rht in https://github.com/projectmesa/mesa/pull/2240
38+
### 📜 Documentation improvements
39+
* Contribution: Add "I have no idea where to start" section by @EwoutH in https://github.com/projectmesa/mesa/pull/2258
40+
* Write initial Mesa Migration guide by @EwoutH in https://github.com/projectmesa/mesa/pull/2257
41+
### 🔧 Maintenance
42+
* CI: Add test job for Python 3.13 by @EwoutH in https://github.com/projectmesa/mesa/pull/2173
43+
* Add pull request templates by @EwoutH in https://github.com/projectmesa/mesa/pull/2217
44+
* benchmarks: Add BoltzmannWealth model by @EwoutH in https://github.com/projectmesa/mesa/pull/2252
45+
* CI: Add optional dependency for examples by @EwoutH in https://github.com/projectmesa/mesa/pull/2261
46+
47+
## New Contributors
48+
* @vitorfrois made their first contribution in https://github.com/projectmesa/mesa/pull/2084
49+
50+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v3.0.0a2...v3.0.0a3
51+
452
# 3.0.0a2 (2024-08-21)
553
## Highlights
654
In Mesa 3.0 alpha 2 (`v3.0.0a2`) we've done more clean-up in preparation for Mesa 3.0. We now [require](https://github.com/projectmesa/mesa/pull/2218) `super().__init__()` to run on initializing a Mesa model subclass, `Model.agents` is now fully reserved for the Model's internal AgentSet and we fixed a bug in our Solara space_drawer.

mesa/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
]
2525

2626
__title__ = "mesa"
27-
__version__ = "3.0.0a2"
27+
__version__ = "3.0.0a3"
2828
__license__ = "Apache 2.0"
2929
_this_year = datetime.datetime.now(tz=datetime.timezone.utc).date().year
3030
__copyright__ = f"Copyright {_this_year} Project Mesa Team"

0 commit comments

Comments
 (0)