New initial_inds argument for run_farm_sim to continue a simulation from the final individuals of a previous run. initial_inds can be a matrix or data frame
run_farm_sim now returns a list of three elements; the third element is a matrix of all individuals and their traits in the final time step, with column names attached, which can be passed directly to initial_inds in a new run_farm_sim call
When individuals are passed with initial_inds, generation time and individual IDs continue from the previous simulation instead of resetting, so individuals remain uniquely identifiable across chained runs
MAJOR CHANGES
Population buffers are now swapped between time steps (double buffering) instead of freed and re-allocated each step, greatly reducing memory churn for large simulations
mine_gmatrix now brackets all random number draws with GetRNGstate / PutRNGstate, fixing a hang and degenerate random numbers when mine_gmatrix was the first random number use in a fresh R session
BUG FIXES
rename_csv now renames output files directly instead of reading and re-writing them, fixing intermittent corruption of large individual output files
Edge effects no longer fall through to the toroidal wrap: leaky, reflective, and sticky edges behaved like wrapping edges; leaky edges now correctly remove individuals from the landscape
Population buffers are now tracked by size and freed exactly once on all simulation paths, fixing a memory leak and reads past the end of buffers when populations went extinct
Failed memory allocations now raise a clean R error instead of crashing
mine_gmatrix now returns the lowest-stress network found during the evolutionary search instead of a random tournament winner
The mutation rate in the mine_gmatrix evolutionary search is now correctly applied; previously every network element was mutated every generation
Fixed an error in the individuals_colnames example
OTHER
Added tests for file renaming, edge effects, extinction, and passing individuals between runs
resevol 0.4.0.5
BUG FIXES
Validation of rotation type and rotation time now only applies when rotation_type is not a custom matrix, so custom crop and pesticide rotation matrices work as intended
resevol 0.4.0.4
CRAN release: 2026-05-28
DOCUMENTATION
Added a reference for the evolutionary algorithm (Luke 2013) and other documentation updates (issues 55, 56)
resevol 0.4.0.3
BUG FIXES
Crop and pesticide rotation type is no longer required to be 1, 2, or 3 when a custom rotation matrix is supplied
resevol 0.4.0.2
CRAN release: 2025-05-01
DOCUMENTATION
Updated package references and fixed a DOI issue reported on win-builder
resevol 0.4.0.0
NEW FEATURES
New function to add column names to individuals output CSV
Custom file names are allowed for output files
New argument pesticide_threshold sets density threshold for pesticide
New argument pesticide_threshold_delay delays pesticide threshold
MAJOR CHANGES
Default neutral allele number is now 10 instead of 1000
BUG FIXES
Fixed issue causing an error for scalar food_consume or pesticide_consume
Fixed a bug that was causing farmers to not apply pesticide
resevol 0.3.4.0
CRAN release: 2023-11-30
NEW FEATURES
New argument to model crop growth over time within a season
resevol 0.3.3.0
NEW FEATURES
Vignettes included demonstrating advanced options for simulations
resevol 0.3.2.0
NEW FEATURES
New argument allowing users to set initialised means for evolving traits
resevol 0.3.1.0
MAJOR CHANGES
Evolutionary algorithm termination criteria now based on mean stress
NEW FEATURES
New function to evaluate the stress of mined gmatrices
resevol 0.3.0.1
CRAN release: 2022-07-13
NEW FEATURES
Custom landscapes allowing flexible structure to land types
More flexible rotation of pesticides and crops on landscapes
resevol VERSION 0.2.0.9
CRAN release: 2022-01-06
BUG FIXES
Fixed a memory issue causing a CRAN ERROR on Windows ix86