Skip to content

Commit 03ce5f0

Browse files
authored
Update release notes and version for 3.1.0 (#2531)
Update version and release notes for the next feature release, Mesa 3.1.0.
1 parent aa839b9 commit 03ce5f0

File tree

2 files changed

+76
-1
lines changed

2 files changed

+76
-1
lines changed

HISTORY.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,81 @@
11
---
22
title: Release History
33
---
4+
# 3.1.0 (2024-12-04)
5+
## Highlights
6+
With Mesa 3.1.0 we're back on our regular release schedule after the big Mesa 3.0 release, with some exciting new features.
7+
8+
This release adds experimental support for Observables and Computed, enabling a more reactive and responsive programming model for agent-based simulations. The new `Observable` and `Computable` classes allow developers to declaratively define attributes that automatically emit signals when their values change, and compute derived values that update dynamically. This lays the groundwork for more advanced event handling and data visualization features in future releases (#2291).
9+
10+
The experimental cell space module has been updated with full support for n-dimensional property layers. These allow agents to easily interact with and modify spatial properties of the environment, such as terrain, resources, or environmental conditions. The new implementation provides a more intuitive attribute-based API and ensures tight integration with the cell space architecture (#2512).
11+
12+
Mesa now includes built-in support for logging using the standard Python `logging` module. This provides developers with a flexible and powerful way to add structured diagnostic and debug output to their simulations, without the need for custom logging solutions. The logging system is integrated throughout the library, including the new SolaraViz visualization system (#2506).
13+
14+
Creating multiple agents with varying initialization parameters is now significantly easier with the new `Agent.create_agents` class method. This factory function supports both uniform and per-agent parameters, simplifying the code required to set up a simulation with a large number of heterogeneous agents (#2351).
15+
16+
In addition to the major new features, this release includes a number of smaller enhancements and bug fixes that improve the overall developer experience. These include removing deprecated functionality, cleaning up examples, and addressing various edge cases reported by the community. Mesa 3.1 requires Python 3.11 or higher.
17+
18+
## What's Changed
19+
### 🧪 Experimental features
20+
* Add support for Observables to MESA by @quaquel in https://github.com/projectmesa/mesa/pull/2291
21+
* Add full support for property layers to cell spaces by @quaquel in https://github.com/projectmesa/mesa/pull/2512
22+
### 🎉 New features added
23+
* Add logging to MESA by @quaquel in https://github.com/projectmesa/mesa/pull/2506
24+
* Add `create_agents` factory method to Agent by @quaquel in https://github.com/projectmesa/mesa/pull/2351
25+
### 🔍 Examples updated
26+
* Add seed control to all examples by @quaquel in https://github.com/projectmesa/mesa/pull/2496
27+
### 📜 Documentation improvements
28+
* doc fix for pip install error on mac by @quaquel in https://github.com/projectmesa/mesa/pull/2508
29+
* Refactored docs for Introductory Tutorial by @Spartan-71 in https://github.com/projectmesa/mesa/pull/2511
30+
* Add module-level docstring to experimental features by @EwoutH in https://github.com/projectmesa/mesa/pull/2532
31+
### 🔧 Maintenance
32+
* Remove deprecated time module by @EwoutH in https://github.com/projectmesa/mesa/pull/2476
33+
* Drop support for Python 3.10, require Python >= 3.11 by @EwoutH in https://github.com/projectmesa/mesa/pull/2474
34+
* Remove deprecated functionality by @EwoutH in https://github.com/projectmesa/mesa/pull/2483
35+
* Remove visualization modules from `mesa.experimental` by @quaquel in https://github.com/projectmesa/mesa/pull/2495
36+
* Cleanup two occurrences of removed scheduler by @EwoutH in https://github.com/projectmesa/mesa/pull/2499
37+
* move _setup_agent_registration into `Model.__init__` by @quaquel in https://github.com/projectmesa/mesa/pull/2501
38+
* remove devs related examples from devs/examples by @quaquel in https://github.com/projectmesa/mesa/pull/2507
39+
* added empty iterable checks and updated tests by @Sahil-Chhoker in https://github.com/projectmesa/mesa/pull/2523
40+
* Fix: running Mesa in Docker with Schelling model by @AdamZh0u in https://github.com/projectmesa/mesa/pull/2524
41+
42+
## New Contributors
43+
* @Spartan-71 made their first contribution in https://github.com/projectmesa/mesa/pull/2511
44+
* @Sahil-Chhoker made their first contribution in https://github.com/projectmesa/mesa/pull/2523
45+
* @AdamZh0u made their first contribution in https://github.com/projectmesa/mesa/pull/2524
46+
47+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v3.0.3...v3.1.0
48+
49+
# 3.0.3 (2024-11-14)
50+
## Highlights
51+
A small bugfix release that fixes two bugs.
52+
53+
## What's Changed
54+
### 🧪 Experimental features
55+
* cell_space: Allow CellCollection to be empty by @EwoutH in https://github.com/projectmesa/mesa/pull/2502
56+
### 🐛 Bugs fixed
57+
* Only set model_parameters once by @Corvince in https://github.com/projectmesa/mesa/pull/2505
58+
59+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v3.0.2...v3.0.3
60+
61+
# 3.0.2 (2024-11-11)
62+
## Highlighst
63+
Mesa 3.0.2 is a small follow-up patch release, in which we fixed a lot of small bugs in the example models their visualisation, and improved their testing.
64+
65+
## What's Changed
66+
### 🐛 Bugs fixed
67+
* allow components as a positional argument again by @Corvince in https://github.com/projectmesa/mesa/pull/2488
68+
### 🔍 Examples updated
69+
* examples: Add required components keyword by @EwoutH in https://github.com/projectmesa/mesa/pull/2485
70+
* examples: Fix boid_flockers viz by @EwoutH in https://github.com/projectmesa/mesa/pull/2492
71+
* examples: Fix schelling viz by @EwoutH in https://github.com/projectmesa/mesa/pull/2490
72+
* example: Add input sliders to Sugerscape viz by @EwoutH in https://github.com/projectmesa/mesa/pull/2487
73+
* examples/gol: Add initial fraction alive, add sliders to viz by @EwoutH in https://github.com/projectmesa/mesa/pull/2489
74+
### 🔧 Maintenance
75+
* test app init of examples by @Corvince in https://github.com/projectmesa/mesa/pull/2491
76+
77+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v3.0.1...v3.0.2
78+
479
# 3.0.1 (2024-11-11)
580
## Highlights
681
After our huge [3.0.0 release](https://github.com/projectmesa/mesa/releases/tag/v3.0.0), Mesa 3.0.1 follows up with two improvements to experimental features, examples and docs.

mesa/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
]
2323

2424
__title__ = "mesa"
25-
__version__ = "3.1.0.dev"
25+
__version__ = "3.1.0"
2626
__license__ = "Apache 2.0"
2727
_this_year = datetime.datetime.now(tz=datetime.UTC).date().year
2828
__copyright__ = f"Copyright {_this_year} Project Mesa Team"

0 commit comments

Comments
 (0)