Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
To find the state of this project's repository at the time of any of these versions, check out the tags.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[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(), neighbours()
    • directionto(), distanceto(), randomdirection()
    • nagents()
  • @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.