After the substantive 2.2.0 release we are releasing 2.2.1 which addresses a few bugs, unintended behaviors and a performance regression. #1960 makes sure agent addition and removal is handled correct, #1965 fixed an unintended behavior change in RandomActivationByType.agents_by_type and #1964 makes sure we're at least as fast as before 2.2.0, if not faster. The introduction tutorial is also extended with #1955.
We highly recommend updating to 2.2.1 if you're using 2.2.0.
The 2.2.0 release of the Mesa library introduces several updates and new features for managing and scheduling agents and modelling the environment, along with an experimental release policy aimed at enhancing development speed and community feedback. Below are key highlights of the new (experimental) features in this release. Mesa 2.2.0 supports Python 3.9+.
Despite the minor version number, this is one of our biggest releases yet.
This release introduces an experimental feature policy aimed at accelerating development and gathering community feedback. Features like #1890, #1898, and #1916 are marked as experimental under this policy.
Policy overview:
Experimental features can be added or changed in any release, even patch releases.
They don’t need a diligent review for every change, allowing for quicker development cycles.
Community feedback is encouraged through discussion threads.
Native support for multiple Agent types (PR #1894)
This update introduces a agents variable to the Mesa Model class, offering a first step in supporting multiple agent types as first class citizens. Each Model is now initialized with an self.agents variable (an AgentSet) in which all the agents are tracked. You can now always ask which agents are in the model with model.agents. It's the foundation which will allow us to solve problems with scheduling, data collection and visualisation of multiple agent types in the future.
The new AgentSet class encapsulates and manages collections of agents, streamlining the process of selecting, sorting, and applying actions to groups of agents.
After the huge 2.2.0 release we are releasing 2.2.1 which addresses a few bugs, unintended behaviors and a performance regression. #1960 makes sure agent addition and removal is handled correct, #1965 fixed an unintended behavior change in RandomActivationByType.agents_by_type and #1964 makes sure we're at least as fast as before 2.2.0, if not faster. The introduction tutorial is also extended with #1955.
We highly recommend updating to 2.2.1 if you're using 2.2.0.
The 2.2.0 release of the Mesa library introduces several updates and new features for managing and scheduling agents and modelling the environment, along with an experimental release policy aimed at enhancing development speed and community feedback. Below are key highlights of the new (experimental) features in this release. Mesa 2.2.0 supports Python 3.9+.
Despite the minor version number, this is one of our biggest releases yet.
This release introduces an experimental feature policy aimed at accelerating development and gathering community feedback. Features like #1890, #1898, and #1916 are marked as experimental under this policy.
Policy overview:
Experimental features can be added or changed in any release, even patch releases.
They don’t need a diligent review for every change, allowing for quicker development cycles.
Community feedback is encouraged through discussion threads.
Native support for multiple Agent types (PR #1894)
This update introduces a agents variable to the Mesa Model class, offering a first step in supporting multiple agent types as first class citizens. Each Model is now initialized with an self.agents variable (an AgentSet) in which all the agents are tracked. You can now always ask which agents are in the model with model.agents. It's the foundation which will allow us to solve problems with scheduling, data collection and visualisation of multiple agent types in the future.
The new AgentSet class encapsulates and manages collections of agents, streamlining the process of selecting, sorting, and applying actions to groups of agents.
Key features:
Flexible and efficient agent management and manipulation.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps mesa from 1.1.1 to 2.2.1.
Release notes
Sourced from mesa's releases.
... (truncated)
Changelog
Sourced from mesa's changelog.
... (truncated)
Commits
b60caa4
Ruff fix in Jupyter_vizbf0be26
init.py: Update version number to 2.2.1a15af11
Update 2.2.0 and 2.2.1 release notes8cf7abd
refactor: Move Matplotlib-specific Solara components to separate filedd686fa
short-cut iter_neighbors4bf94a3
Short-cut select function and update weakref dicts directlyd3a0e2f
Fix unintended behavior change in RandomActivationByType.agents_by_type (#1965)f21d242
intro tutorial: Analysing model reporters (#1955)9819927
[pre-commit.ci] auto fixes from pre-commit.com hooksbe75e1f
name changeDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show