Known issues: https://github.com/PredictiveEcology/SpaDES/issues

version 1.1.2
=============
* fix issues associated with upcoming `dplyr` updates
* performance enhancements: much faster simulation execution
* Plot accepts color column in SpatialPointDataFrame objects
* add `col` arg to `Plot` (mimicks `cols`)
* add `experiment` function, a wrapper around `spades` for running multiple simulations (#265)
* add `shine` function, with `simList` signature (#261)
* add `copy` function, which does a deep copy of a `simList` object
* add `RColorBrewer` to Imports
* allow Plot colours to be set in the `Plot` call using `cols` argument
* allow Plot colours to be set in the `Plot` call using `RColorBrewer` palettes
* fix bug when plotting certain real-numbered rasters
* fix bug in Plot legends
* fix bug in assigning vectors as default module param values
* fix bug that prevented printing simulation times
* fix bug in event list sorting by `eventPriority`
* new slot in `simList` object: `current`, to store the current event
* new accessors `current` and `current<-` to get and set the current event
* `defineParameter` now coerces the `default` value to match the type `class`
* export `objectNames()` for external use
* `outputPath` updates `output(sim)$file` file paths, in addition to just `paths(sim)$outputPath`
* other bug fixes

version 1.1.1
=============
* require `archivist` version 2.0 or greater
* improved `moduleCoverage` testing  and template (PR257)
* correct legends from rasters so that `is.factor(raster)` is `TRUE`
* user defined time units can be used in module metadata "timeunit".
* add module timeunits to simList show method (#260)

version 1.1.0
=============
* require R version 3.2.2 or higher
* remove `downloader` from Imports (#203)
* add `covr` to Suggests and `lazyeval` to Imports
* require `DiagrammeR` version 0.8.2 or higher which fixes mermaid/knitr/pandoc error (https://github.com/rich-iannone/DiagrammeR/issues/139)
* add data source info module metadata (#205)
* new function `downloadData` to download module data (with #205)
* new function `checksums` to verify MD5 hashes of data files (with #205)
* warn instead of error when using *e.g.*, `newModule` with Rstudio on Windows (#209)
* more control of caching behaviour: added `cachePath` to paths slot (#227)
* only download data if file doesn't exist or checksum mismatch (#229)
* allow multiple checksums per file in `checksum` (#230)
* fix error caused by coercing `NA` to arbitrary class for which no suitable `NA` type exists (#231)
* use warnings instead of errors for missing modules metadata (#233)
* add event priorities (#236)
* enhanced functionality of `spread()` (#237)
* add unit tests and coverage to `newModule` (PR242, PR245)
* objects passed to `simInit` can be named differently from their objects (#247)
* `downloadModule` and `downloadData` now also download children modules/data
* new function `divergentColors` to generate divergent colour palettes for legends
* improve efficiency of `loadPackages`
* change `.spatialObjects` class to `spatialObjects` and export
* add .Rdata and .rds files to automatic loading.
* warn user if `SpaDES` package version doesn't match module version
* allow more signatures in simInit (modules can be character)
* other bug fixes

version 1.0.3
=============
* fully fix `inputs` data.frame construction in `simInit` (#225)

version 1.0.2
=============
* update maintainer's and authors' email addresses
* fix bug in `.parseModule` (#215)
* improve dependency graph & module diagram (#216)
* `simList` accessors now work with `.simList` superclass (#217)
* fix `%>%` bug in demo (#218)
* use `rmarkdown::render` for vignettes (with #219)
* improve documentation (including #219)
* reduce sizes of built vignettes (#222)
* add slot `documentation` to module metadata (see `?defineModule`) (#224)
* fix `inputs` data.frame construction in `simInit` (#225)
* various other bug fixes

version 1.0.1
=============
* no longer `attach` the simulation environment (#212)
* improve documentation
* bug fixes

version 1.0.0
=============
* no longer rely on side effects to update objects in global environment; instead uses simulation environments (#185) (not backwards compatible!)
* sample modules rewritten to use simulation enviroments (#185) (not backwards compatible!).
* redefined `simList` class:

    - new superclass `.simList` contains all previous `simList` slots except `.envir`
    - class `simList` extends `.simList` by adding slot `.envir`
    - new class `simList_` extends `.simList` by adding slot `.list`
    - `simList_` can be used internally to save a `simList` object,
    because saving lists of objects to file is more reliable that saving environments.

* `fastshp` can be installed from Rforge as a CRAN-like repository (instead of relying on `devtools::install_github`)
* software requirements changed: depends R (>=3.2.0)
* moved `data.table`, `grid`, `raster`, and `sp` from Depends to Imports (#207).
* add `archivist`, `ff`, `ffbase` to Imports;  add `lubridate` to Imports (with #151)
* removed `magrittr` from Imports (`%>%` is now exported by `igraph`)
* most external methods/classes imported using `importFrom`; except `methods`, `graphics`, `igraph`, and `utils` (because of methods/classes which are not exported) (#201)
* simulations now use `timeunit` (instead of `timestep`) specified in metadata (#151)
* `defineModule` requires `timeunit` to be a character string instead of numeric (with #151)
* simulation checkpointing fixed (#191, #130)
* `ls` and `ls.str` can now be used with `simList` objects to list objects in the simulation environment
* `objs` returns a list containing all the objects in the simulation enviroment
* new function `splitRaster` to divide `RasterLayer` into several tiles
* new function `normPath` (extracted from `checkPath`) to more strictly normalize filepaths without checking that they exist.
* new function `classFilter` to filter list of objects by their type
* new function `packages` to get all packages required by a simulation
* new function `rndstr` to generate random strings
* new function `append_attr` to append list items and keep their attributes
* improved `loadPackages`
* improved `.objectNames`
* `defineParameter` now accepts `min`, `max`, and description values (#172; #175)
* `defineModule` better handles `NA` values (#138)
* various `Plot` improvements.
* new plotting funcions to produce overview diagrams of simulations (#181; #184):

    - `eventDiagram` shows Gantt chart of event sequences
    - `moduleDiagram` shows igraph network diagram of dependencies
    - `objectDiagram` shows sequence diagram of object dependencies between modules

* improved `simList` show and debug methods (#57; #73)
* improvements to `loadFiles`:

    - use `data.table`
    - allow `package::function` notation in load (#174)
    - bug fixes

* added "metamodules" which specify module groups (#176)
* improved test coverage (see #139)
* all functions imported explicity (@importFrom). 3 entire packages imported: methods, graphics, igraph (because of classes which are not exported from igraph) (#201)
* removed package dependencies on raster, sp, data.table, grid. Use importFrom instead (#207).
* improved documentation and vignettes
* added cache mechanism to hash function calls to spades (#206)
* fixed progress bar bug (#147)
* prepend copyright info to `LICENSE` and `README` (with #140)
* various other bug fixes

version 0.6.2
=============
This is a minor release update to satisfy CRAN submission requirements.

* bug fix when saving files

version 0.6.1
=============
* added the Queen as copyright holder (#140)
* explicitly use GPL-3 (previously used GPL) (#140)
* modules now require metadata; module code without it will break!

    - new module dependency checking and metadata structure (#126)
    - explicit declaration of parameters, and object (data) dependencies
    - deprecated use of `reloadModuleLater`

* new module directory structure (#125):

        moduleName/
        |_ moduleName.R    # the actual module code file, incl. module metadata
        |_ moduleName.Rmd  # longform documentation and usage info, etc.
        |_ citation.bib    # properly formatted bibtex citation for the module
        |_ LICENSE         # license file describing the allowed usage etc. of the module
        |_ README          # incl. module metadata in addition to version change info, etc.

* updated package dependencies:
    * added `downloader`, `dplyr`, `fpCompare`, `httr`, `magrittr`, `stringr` to `Imports`
* updated vignettes and documentation improvements
* transfered project to `PredictiveEcology/SpaDES` from `achubaty/SpaDES`.
* overhaul to `Plot` function:
    * no longer needs `*Named` objects.
    * now handles `SpatialPolygons` objects much faster than default `plot`:
        * Uses package `fastshp`.
            * The suggested package `fastshp` can be installed with:

                    install_github("s-u/fastshp")

    * numerous other `Plot` improvements
* deprecated all `*Named` functionality
    * All code will break that uses `*Named` objects
* new function, `clearPlot` can be used to clean all hidden metadata about a plot
* new function, `randomPolygons`, will create random raster maps (not vector maps) of polygons
* numerous bugfixes

version 0.4.0
=============
* second public ("beta") release
* more improvements to Plot function, including dramatically faster for files on disk
* added second "Model" that adds and integrates 3 sample modules, Fire, Succession and Aging
* added Plotting vignette
* bugfixes

version 0.3.1
=============

* first public ("beta") release
* reworked plotting and visualization (it's faster, more reliable)
* added additional parameter checks and improved debugging
* new and improved documentation:
    - two new vignettes (introduction to SpaDES and how modules work)
    - new demo highlighting visualization components
    - more complete code documentation
* numerous bug fixes

version 0.2
=============

* renamed package to SpaDES

version 0.1
=============

* first working alpha version
* lots of "wishlist" items still to be implemented
