# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [v0.5.0] - unreleased This release doesn't add much new functionality, but represents a major restructuring of the code base. Specifically, it removes the Agents.jl dependency and changes the way the species definition macros work and are used. ### Added - `SimulationModel` type, extended by `AgricultureModel` struct - `@create` macro defines a special phase function that is called when an individual animal is created (at birth or on model initialisation) - functions (and associated macros) to replace Agents.jl functionality: - `move!()` and `walk!()` - `nearby_ids()`, `nearby_animals()`, `countanimals()`, `neighbours()` - `directionto()`, `distanceto()`, `randomdirection()` - `nagents()`, `killallanimals!()` - `@here` - large logo and model structure diagram - Changelog ### Changed - `SimulationModel` replaces `AgentBasedModel` - Species definition macros revamped: - `@species` now only defines parameters and variables and creates a mutable struct - `@phase` must now be defined in the top-level code and creates a global function - `@initialise` renamed to `@populate`, must also be called in the top-level code - `initindividual()` renamed to `create!()` - Skylark, Wolpertinger, and Wyvern updated to match the new macros - requires Julia 1.10 ### Deprecated ### Removed - Agents.jl dependency (including `AgentBasedModel` and functions for adding/moving/removing agents) - `countanimals()` and `@countanimals()` ### Fixed ## [v0.4.1] - 2023-11-14 *Wrote tests for skylark migration -> made graphics output format configurable* ### Added - initial version of the Skylark species - small Jena map - animal individuals keep track of their parents' IDs - several new functions and macros for animals - installation instructions for Windows ### Changed - graphics output is more configurable ## [v0.4.0] - 2023-10-28 *Refactored makieplots.jl -> Wrote tests for skylark migration* ### Added - initialisation functions for individuals (not just species) - migration function / migrant pool for animals that disappear from the landscape during winter - skylark migration ### Changed - online documentation was expanded and restructured - nature macros moved to a separate file *Started changelog at this point, earlier versions are not included.* <!-- Template ## [Unreleased] - <date> <comments> ### Added ### Changed ### Deprecated ### Removed ### Fixed -->