|
1 | 1 | ---
|
2 | 2 | title: Release History
|
3 | 3 | ---
|
| 4 | +# 3.2.0 (2025-05-04) |
| 5 | +## Highlights |
| 6 | +Mesa 3.2.0 is a feature-packed release, which stabilizes our discrete space, improves many of our visualisation capabilities, improves our tutorial organization, adds the experimental meta-agents, and includes other quality of life enhancements. |
| 7 | + |
| 8 | +We also celebrate the publication of our peer-reviewed [Mesa 3 paper](https://doi.org/10.21105/joss.07668) in JOSS. See the updated [Citing Mesa](https://github.com/projectmesa/mesa?tab=readme-ov-file#citing-mesa) section on how to cite us. |
| 9 | + |
| 10 | +### Stabilization of Discrete Space |
| 11 | +The experimental Cell Space system has been stabilized and is now available as `mesa.discrete_space` ([#2610](https://github.com/projectmesa/mesa/pull/2610)). This powerful spatial modeling framework enables cell-centric simulations with integrated PropertyLayers and improved agent movement capabilities. Key improvements include: |
| 12 | + |
| 13 | +- Support for dynamic modifications to discrete spaces during simulation ([#2755](https://github.com/projectmesa/mesa/pull/2755)) |
| 14 | +- Methods to add/remove cells and connections in real-time |
| 15 | +- Full integration with PropertyLayers ([#2440](https://github.com/projectmesa/mesa/pull/2440)) for representing environmental variables |
| 16 | +- Compatible with all examples and existing visualizations |
| 17 | + |
| 18 | +The PropertyLayer itself has also been stabilized, allowing for efficient management of spatial environmental properties like terrain, resources, or any grid-based variables. Core examples including [Schelling](https://github.com/projectmesa/mesa/tree/main/mesa/examples/basic/schelling), [Game of Life](https://github.com/projectmesa/mesa/tree/main/mesa/examples/basic/conways_game_of_life), [Boltzmann Wealth](https://github.com/projectmesa/mesa/tree/main/mesa/examples/basic/boltzmann_wealth_model), and [Virus on Network](https://github.com/projectmesa/mesa/tree/main/mesa/examples/basic/virus_on_network) have been updated to use the new discrete space system. |
| 19 | + |
| 20 | +### Enhanced Visualization Experience |
| 21 | +The SolaraViz visualization system has received substantial upgrades: |
| 22 | + |
| 23 | +- **Command Console** ([#2697](https://github.com/projectmesa/mesa/pull/2697)): An interactive Python console embedded directly in the visualization, allowing real-time model inspection and manipulation |
| 24 | +- **Asynchronous Updates** ([#2656](https://github.com/projectmesa/mesa/pull/2656)): Visualization now runs in a separate thread, dramatically improving performance for complex models |
| 25 | +- **Dark Mode** ([#2689](https://github.com/projectmesa/mesa/pull/2689)): Support for Solara Dark theme, automatically matching system preferences |
| 26 | +- **Improved Error Handling** ([#2747](https://github.com/projectmesa/mesa/pull/2747), [#2753](https://github.com/projectmesa/mesa/pull/2753)): Better visualization of errors with options to view detailed traceback information |
| 27 | +- **Enhanced UI**: Arrow key navigation ([#2725](https://github.com/projectmesa/mesa/pull/2725)), movable input field with auto-scroll ([#2710](https://github.com/projectmesa/mesa/pull/2710)), and other quality-of-life improvements |
| 28 | +- **PropertyLayer visualisation in Altair** ([#2643](https://github.com/projectmesa/mesa/pull/2643)): Support for visualising PropertyLayers using the Altair frontend in Solara. |
| 29 | + |
| 30 | +### Restructured and updated tutorial |
| 31 | +Our [introduction tutorial](https://mesa.readthedocs.io/latest/overview.html) has been completely restructured ([#2731](https://github.com/projectmesa/mesa/pull/2731)). Instead of one huge notebook, the tutorial is now divided into smaller, focused modules that build progressively: |
| 32 | + |
| 33 | +- **Creating Your First Model**: Essential basics to get started |
| 34 | +- **Adding Space**: Learn how to use the new discrete space system |
| 35 | +- **Collecting Data**: Effectively gather model statistics |
| 36 | +- **AgentSet**: Master agent management techniques |
| 37 | +- **Visualization**: Series of modules covering basic to advanced visualization |
| 38 | + |
| 39 | + |
| 40 | +### Introducing Meta-Agents |
| 41 | +Complex systems often have multiple levels of components. An organization is not one entity, but is made of departments, sub-departments, and people. A person is not a single entity, but it is made of micro biomes, organs and cells. A city is not a single entity, but it is made of districts, neighborhoods, buildings, and people. A forest comprises an ecosystem of trees, plants, animals, and microorganisms. |
| 42 | + |
| 43 | +This reality is the motivation for meta-agents. It allows users to represent these multiple levels, where each level can have meta-agents with constituting agents. |
| 44 | +- **Meta agents** [#2748](https://github.com/projectmesa/mesa/pull/2748) |
| 45 | + |
| 46 | +To demonstrate meta-agents capability there are two examples: |
| 47 | + |
| 48 | +1. Dynamic meta-agent creation - [Alliance formation](https://mesa.readthedocs.io/latest/examples/advanced/alliance_formation.html), which shows emergent meta-agent formation through a game theoretic based alliance formation. |
| 49 | +2. Deliberate meta-agent creation - [Warehouse model](https://github.com/projectmesa/mesa-examples/tree/main/examples/warehouse), which provides a pseudo warehouse model to demonstrate meta-agent functionality. |
| 50 | + |
| 51 | +Let us know what you think on our [Matrix Channel](https://matrix.to/#/#project-mesa:matrix.org) |
| 52 | + |
| 53 | +### Other improvements |
| 54 | +- AgentSet's `agg` method now supports multiple aggregation functions in a single call ([#2743](https://github.com/projectmesa/mesa/pull/2743)) |
| 55 | +- Many documentation improvements have been made based on feedback by our JOSS reviewers |
| 56 | + |
| 57 | +## What's Changed |
| 58 | +### 🎉 New features added |
| 59 | +* Stabilize experimental Cell Space as `mesa.discrete_space` by @quaquel in https://github.com/projectmesa/mesa/pull/2610 |
| 60 | +* Feat: Added Command Console by @Sahil-Chhoker in https://github.com/projectmesa/mesa/pull/2697 |
| 61 | +* Stabilize PropertyLayer by @EwoutH in https://github.com/projectmesa/mesa/pull/2440 |
| 62 | +### 🛠 Enhancements made |
| 63 | +* Visualisation: Add dark mode by @sanika-n in https://github.com/projectmesa/mesa/pull/2689 |
| 64 | +* Creating threads to update visualization asynchronously by @HMNS19 in https://github.com/projectmesa/mesa/pull/2656 |
| 65 | +* Movable Input Field with auto-scroll by @Sahil-Chhoker in https://github.com/projectmesa/mesa/pull/2710 |
| 66 | +* Feat: Added arrow key navigation by @Sahil-Chhoker in https://github.com/projectmesa/mesa/pull/2725 |
| 67 | +* added property_layer with altair by @sanika-n in https://github.com/projectmesa/mesa/pull/2643 |
| 68 | +* Debug option for errors in visualisation by @colinfrisch in https://github.com/projectmesa/mesa/pull/2747 |
| 69 | +* Debug option for errors in visualisation front end by @colinfrisch in https://github.com/projectmesa/mesa/pull/2753 |
| 70 | +* Add support for dynamic discrete spaces by @quaquel in https://github.com/projectmesa/mesa/pull/2755 |
| 71 | +* Support multiple functions in AgentSet `agg` method by @EwoutH in https://github.com/projectmesa/mesa/pull/2743 |
| 72 | +### 🔍 Examples updated |
| 73 | +* Move boltzmann to cell spaces by @quaquel in https://github.com/projectmesa/mesa/pull/2680 |
| 74 | +* Move Game of life to cell space by @quaquel in https://github.com/projectmesa/mesa/pull/2681 |
| 75 | +* Move Schelling to discrete space by @quaquel in https://github.com/projectmesa/mesa/pull/2684 |
| 76 | +* Move virus_on_a_network to discrete_space by @quaquel in https://github.com/projectmesa/mesa/pull/2688 |
| 77 | +* Update boid_flockers example include flight direction by @sanika-n in https://github.com/projectmesa/mesa/pull/2696 |
| 78 | +### 📜 Documentation improvements |
| 79 | +* docs: Split off the overview page, extend with spaces/activation by @EwoutH in https://github.com/projectmesa/mesa/pull/2673 |
| 80 | +* docs: Add Roles section to CONTRIBUTING.md by @EwoutH in https://github.com/projectmesa/mesa/pull/2694 |
| 81 | +* [JOSS] Docs: Clarify difference between core and user examples by @EwoutH in https://github.com/projectmesa/mesa/pull/2706 |
| 82 | +* [JOSS] docs: Improve batch_run documentation for parallel processing by @EwoutH in https://github.com/projectmesa/mesa/pull/2707 |
| 83 | +* JOSS Tutorial Fixes by @tpike3 in https://github.com/projectmesa/mesa/pull/2708 |
| 84 | +* Clean-up old images, compress wolf-sheep image, remove version switch artifact by @EwoutH in https://github.com/projectmesa/mesa/pull/2717 |
| 85 | +* docs: Update citation to JOSS article by @EwoutH in https://github.com/projectmesa/mesa/pull/2740 |
| 86 | +* update intro tutorial discrete space by @tpike3 in https://github.com/projectmesa/mesa/pull/2731 |
| 87 | +* docs: fix broken links to Readthedocs in example descriptions by @reyan-singh in https://github.com/projectmesa/mesa/pull/2757 |
| 88 | +### 🧪 Experimental features |
| 89 | +* Meta agents by @tpike3 in https://github.com/projectmesa/mesa/pull/2748 |
| 90 | +### 🐛 Bugs fixed |
| 91 | +* Minor (bug) fixes to discrete_space by @quaquel in https://github.com/projectmesa/mesa/pull/2687 |
| 92 | +* Fixed Marker in mpl by @sanika-n in https://github.com/projectmesa/mesa/pull/2670 |
| 93 | + |
| 94 | +## New Contributors |
| 95 | +* @colinfrisch made their first contribution in https://github.com/projectmesa/mesa/pull/2747 |
| 96 | +* @reyan-singh made their first contribution in https://github.com/projectmesa/mesa/pull/2757 |
| 97 | + |
| 98 | +**Full Changelog**: https://github.com/projectmesa/mesa/compare/v3.1.4...v3.2.0 |
| 99 | + |
4 | 100 | # 3.1.5 (2025-03-26)
|
5 | 101 | ## Highlights
|
6 | 102 | Mesa 3.1.5 is a maintenance release focused on improving documentation and cleaning up our resources. This update includes no breaking changes and is compatible with previous 3.1.x releases.
|
|
0 commit comments