ecospat_1.1 (06.03.2015)
===========
FIXES

* Fixed bug in "ecospat.grid.clim.dyn()" with the kernel.
* Fixed error in "ecospat.boyce()" return Boyce index value: Spearman coeficient is the correct one.
* Fixed bug in "ecospat.cons_Cscore()" p-value correction.
* Fixed manual of the function "ecospat.calculate.pd()" where arguments definition was incomplete.
* Fixed data set of species list, now matches the species in the tree dataset.
* Fixed ouput of "ecospat.plot.mess()" function, now gives individual figures as result.

CHANGES

* Removed some dependencies of whole packages, and indicated individual functions from packages to be imported.



ecospat_2.0 (26.05.2016)
===========

NEW FEATURES

* Added a new argument in the function "ecospat.niche.similarity.test()", to indicate if the niches are randomized.
* Added function "ecospat.shift.centroids()", to replace "ecospat.fun.arrows()" for being more precise on the utility of the function.
* Added two new datasets "ecospat.testNiche.nat" and "ecospat.testNiche.nat", to better exemplify the niche quantification analysis.
* Added new function "ecospat.ESM.Modeling()" for calibrating simple bivariate models.
* Added new function "ecospat.ESM.Projection()" for projecting simple bivariate models on new.env.
* Added new function "ecospat.ESM.EnsembleModeling()" forevaluating and averaging simple bivariate models to ESMs.
* Added new function "ecospat.ESM.EnsembleProjection()" for projecting calibrated ESMs into new space or time.
* Added new function "ecospat.SESAM.prr()" for predicting community composition using a 'probability ranking' rule.
* Added new function "ecospat.cohen.kappa()" for calculating Cohen`s kappa and variance estimates.
* Added new function "ecospat.max.kappa()" for calculating values for Cohen’s Kappa along different thresholds.
* Added new function "ecospat.max.tss()" for calculating values for TSS along different thresholds.
* Added new function "ecospat.meva.table()" for calculating values of a series of different evaluations metrics for a model.
* Added new function "ecospat.plot.kappa()" for plotting the values for Cohen’s Kappa.
* Added new function "ecospat.plot.tss()" for plotting the values for TSS.
* Added new function "ecospat.mpa()" for calculating minimal predicted area.
* Added new function "ecospat.cor.plot()" for plotting correlation of variables.
* Added function "ecospat.CommunityEval()", to replace "ecospat.SSDMeval()" for being more precise on the utility of the function.
* Added new function "ecospat.adj.D2.glm()" for calculating an adjusted D2.
* Added new function "ecospat.exdet()" to assess climate analogy between a projection extent and a reference extent.

CHANGES

* Updated NAMESPACE file, import("biomod2"), and dependencies.
* Updated dependencies of the package.Removed the dependency on the package "gam." Removed the dependency of the function kasc2spixdf("adehabitatMA"). Added the package "gtools".
* Removed window progress indicator for the function "ecospat.niche.similarity.test()" and "ecospat.niche.equivalency.test()", and added a progress bar in the command line for functions.
* Removed the function "ecospat.cv.gam()" and the option to run the cv in the function 'ecospat.cv.example()'. 

FIXES

* Corrected the function "ecospat.niche.dyn.index()", value of the intersection = 0.1.



ecospat_2.0.1 (09.06.2016)
=============
 
FIXES

* Added details to the documentation files in the description section of the function "ecospat.niche.similarity.test()". 
* Fixed spelling error in description of the package (*Collection).
* Fixed bug in the ESM functions "ecospat.ESM.Modeling()", "ecospat.ESM.EnsembleModeling()" and "ecospat.ESM.EnsembleProjection()", when using raster files as input.
* Corrected definition of the argument "quant" of the function "ecospat.plot.niche.dyn()".
* Updated the function "ecospat.grid.clim.dyn()" and the definition of its arguments "th.sp" and "th.env". Also updated its details.




ecospat_2.1.0 (23.09.2016)
=============
 
FIXES

* Fixed the definition of variables of TRUE/FALSE in the function "ecospat.cv.rf()","ecospat.binary.model()", "ecospat.boyce()", "ecospat.caleval()", "ecospat.CommunityEval()","ecospat.cons_Cscore()", "ecospat.co_occurrences()", "ecospat.cv.gbm()", "ecospat.cv.glm()", "ecospat.cv.me()", "ecospat.ESM.EnsembleModeling()", "ecospat.ESM.EnsembleProjection()", "ecospat.ESM.Modeling()", "ecospat.ESM.Projection()", "ecospat.exdet()", "ecospat.makeDataFrame()", "ecospat.mess()", "ecospat.niche.similarity.test()", "ecospat.occ.desaggregation()", "ecospat.SESAM.prr()".

* Removed window progress indicator for the function "ecospat.occ.desaggregation()" and "ecospat.sample.envar()".



NEW FEATURES

* Added new function "ecospat.rcls.grd()" for reclassifying grid files.
* Added new function "ecospat.recstrat_regl()" to randomly take an equal number of samples of regular number.
* Added new function "ecospat.recstrat_prop()" to randomly take an equal number of samples of proportional number.
* Added new function "ecospat.Cscore()" to test for nonrandom patterns of species co-occurrence in a presence-absence matrix. 
* Added a new argument in the function "ecospat.niche.similarity.test()", to test for niche conservatism or divergence. 
* Added a new argument in the function "ecospat.niche.equivalency.test()", to test for niche conservatism or divergence. 



ecospat_2.1.1 (02.11.2016)
=============
 
FIXES

* Fixed the definition of variables of TRUE/FALSE in the files R/ecospat.ESM.R, R/ecospat.sampling.R and R/ecospat.occprep.R.



ecospat_2.2.0 (08.11.2017)
=============

NEW FEATURES

* Added new function "ecospat.rangesize" to estimate the range.size of a species using standard IUCN criteria. 
* Added new function "ecospat.occupied.patch()" to determine the occupied patch of a species.
* Added new function "ecospat.mdr()" to implement a minimum cost arborescence analysis.
* Added new dataset "ecospat.testMrd.nat" to exemplify the minimum cost arborescence analysis.

CHANGES

* Re-named the function "ecospat.exdet()" to "ecospat.climan()".

FIXES
* Updated the functions "ecospat.occ.desaggregation()", "ecospat.binary.model()" and "ecospat.boyce()".
* Fixed bug in "ecospat.grid.clim.dyn()" that shifted the gridded distribution one pixel away from the observed points. 


ecospat_3.0 (19.06.2018)
=============


NEW FEATURES

* Added new funtions "ecospat.niche.zProjGeo" and "ecospat.niche.dynIndexProjGeo" to project niche quantification (calculated with ecospat.grid.clim.dyn) onto the geographical space
* Added a new dataset ecospat.testEnv including a tif stack of 5 topoclimatic rasters at 250m resolution for the Western Swiss Alps
* Added new functions "ecospat.CCV.modeling", "ecospat.CCV.createDataSplitTable", "ecospat.CCV.communityEvaluation.bin", and "ecospat.CCV.communityEvaluation.prob" to perform community cross-validation (CCV) as in Scherrer et al. 2018.
# Added a new function "ecospat.ESM.VarContrib" to calculate the variable contribution of each variable and method in an ESM model

CHANGES

* Maintainance of the package transfered from valeriadicola@gmail.com to olivier.broennimann@unil.ch

FIXES

* Fixed several bugs in "ecospat.ESM.R","ecospat.ESM.Projection.Rd", "ecospat.ESM.EnsembleModeling.Rd",and "ecospat.ESM.EnsembleProjection.Rd" 
* Fixed bug in "ecospat.mess" that included x and y coordinates as environmental factors



ecospat_3.1 (03.03.2020)
=============

NEW FEATURES

* Added new function "ecospat.ESM.responsePlot" to create response plots (evaluation strips) for Ensemble of Small Models (ESMs).
* Added new function "ecospat.ESM.threshold" to evaluates the full model which is used for projections and provides thresholds to produce binary maps.

CHANGES

* ecospat.migclim function and dependencies to migclim package have been removed

FIXES

* Fixed several bugs in "ecospat.CCV.communityEvaluation.prob" and "ecospat.ESM.Modeling()"


ecospat_3.2 (11.02.2021)
=============

FIXES

* Fixed bug in "ecospat.mpa"
* Fixed bug in examples of "ecospat.cv.glm" and "ecospat.permut.glm"
* Fixed instances of use of order() on 1 row dataframes
* Added new argument "kernel.method" to "ecospat.grid.clim.dyn" allowing to choose kernel density estimation from package ks as an alternative to package adehabitat
* Added new argument "extend.extent" to "ecospat.grid.clim.dyn" allowing to modify the extent of the environmental space beyond the minimum and maximum of environmental values present in the study area
* Added an internal function "ecospat.kd" to simplify the coding of function "ecospat.grid.clim.dyn"
* Added new function "ecospat.margin" to estimate the margin of a distribution in the bi-dimensional environmental space based on bootstrapped kernel density estimation
* Adapted functions "ecospat.makeDataFrame" and ecospat.occ.desaggregation" by replacing nndist from package spatstat with knn from package nabor.

ecospat_3.2.1 (01.01.2022)
=============

NEW FEATURES

* Added new function "ecospat.nichePOSNB" to calculate the niche breadth and niche position of taxa along environmental axes from abundance data
* Added tests for niche dynamic indices (expansion, stability, unfilling) with argument changes in "ecospat.niche.dyn.index", "ecospat.niche.equivalency.test", "ecospat.niche.similarity.test" and "ecospat.plot.overlap.test"

CHANGES

* Changed "ecospat.boyce" to allow the selection of the correlation method (initially only 'spearman') and to allow the inclusion or exclusion of successive duplicated P/E ratios (included in Hirzel et al. 2006).
* Changed "ecospat.ESM.VarContrib" to rescale contribution ratios so that neutral contribution equals to 1.

FIXES

* Fixed "as.vector" bug in "ecospat.caleval"
* fix bugs on color transparency in "ecospat.grid.clim.dyn" and "ecospat.plot.niche.dyn"

ecospat_3.2.2 (15.02.2022)
=============

NEW FEATURES

* Added new function "ecospat.ESM.EnsembleEvaluation" for evaluating the ESMs based on the pooling procedure to palliate the small number of occurrences in the evaluation dataset

CHANGES

* the calculation of weighted mean average niche breadth (NB) accross environmental axes was removed from ecospat.nichePOSNB. A ecospat.nicheNBmean function was created to perform this calculation with the possibility to use a vector of weights (i.e. useful for example if you want NB to be weighted by the inertia of PCA axes)

FIXES

* fix bugs on ecospat.nichePOSNB help files
* fix Namespace imports from package maps
* fix bugs on ESM functions when using only one modelling techniques

ecospat_3.3 (02.06.2022)
=============

FIXES

* added missing export for ecospat.ESM.EnsembleEvaluation
* remodelled exports and namespaces

ecospat_3.3.1 (07.07.2022)
=============

NEW FEATURES

* Added new function "ecospat.poolingEvaluation" for the evaluation of species distribution models using the pooling procedure as in Collart et al. 2021

FIXES

* fix bug in ecospat.EnsembleEvaluation

ecospat_3.4 (04.11.2022)
=============

CHANGES

* added colors and legend for each modeling technique in ecospat.ESM.responsePlot
* adapted ESM and CCV functions for compatibility with biomod2 >v4

ecospat_3.4.1 (05.12.2022)
=============

FIXES
* corrected ecospat.meva.table so that false positive rate and false negative rate are not inversed with Positive predictive power and negative predictive power 
* changed the output of ecospat.meva.table to data.frame instead of a matrix to avoid character values 
* added SEDI and ORSS metrics to ecospat.meva.table

ecospat_3.5 (30.01.2023)
=============

FIXES
* various compatibility fixes for biomod2 v4.2-2 provided by rpatin

ecospat_3.5.1 (23.02.2023)
=============

FIXES
* further compatibility fixes for biomod2 v4.2-2 to ESM functions

ecospat_4.0.0 (16.10.2023)
=============

CHANGES
* all dependencies to packages maptools, rgdal, and rgeos have been removed
* all dependencies to the raster package have been replaced to terra

FIXES
* compatibility fixes for biomod2 v4.2-3 to ESM functions
* fix bugs in ecospat.ESM.Modeling and ecospat.ESM.Projection

ecospat_4.1.0 (25.02.2024)
=============

NEW FEATURES

* ecospat.niche.dyn.index now allows to assess the Abandonment and Pioneering Niche 
* ecospat.plot.niche.dyn now allows to plot the Abandonment and Pioneering Niche 

FIXES
* vectorized ecospat.SESAM.prr to reduce computing time with large datasets
* compatibility fixes for biomod2 v4.2-5 to ESM and CCV functions
* fix bugs in ecospat.ESM.Modeling, ecospat.ESM.Projection, ecospat.ESM.ensembleModeling and ecospat.ESM.ensembleProjection
* corrected ecospat.cor.plot, which now creates histograms for each predictor and provide real correlation values instead of absolute values 
* corrected ecospat.kd where the R argument was hard coded
* corrected ecospat.max.tss which now return 0 when the observations (0/1) have the same probabilities.

ecospat_4.1.1 (02.07.2024)
=============

FIXES
* remove files created on disk by ESM, CCV and co-occurrence functions

ecospat_4.1.2 (30.01.2025)
=============

FIXES
* compatibility fixes for biomod2 biomod2 4.2-6-2 to ESM functions

ecospat_4.1.3 (23.01.2026)
=============

FIXES
* compatibility fixes for biomod2 4.3-4-3 to ESM functions (path to ESM folders modified in BIOMOD.formated.data)
* compatibility fixes for terra 1.8-93

ecospat_4.1.4 (17.06.2026)
=============

FIXES
* compatibility fixes for biomod2 4.3-4-6 to ESM functions
* CCV functions were removed from the package
