SimInf 4.0.0
------------

NEW FEATURES

* Added the 'V' and 'U' getter/setter methods to the 'SimInf_model'.

* The header file 'SimInf.h' was added to the folder 'inst/include' to
  enable 'LinkingTo: SimInf'. A call to 'R_RegisterCCallable' was
  added to make the 'SimInf_run' C routine available to other
  packages.

* The slots 'U_sparse' and 'V_sparse' was added to the
  'SimInf_model'. The slots 'U_sparse' and 'V_sparse' holds the result
  if the model was initialized to write the solution to a sparse
  matrix.

* The slot 'C_code' was added to the 'SimInf_model'. Character vector
  with optional model C code. If non-empty, the C code is written to a
  temporary C-file when the 'run' method is called.  The temporary
  C-file is compiled and the resulting DLL is dynamically loaded. The
  DLL is unloaded and the temporary files are removed after running
  the model.

* The 'mparse' model parser was added. The parser generates the model
  matrices 'G' and 'S' and C code from a text string specification of
  the model, for example, c("S -> k1*S*I -> I", "I -> k2*I -> R")
  expresses a SIR model. The S4 class 'SimInf_mparse' was added to
  support this feature.

IMPROVEMENTS

* Added the model compartment names to the model 'u0' and 'U' matrices
  to facilitate inspection of data.

* Removed the max node size constraint when sampling individuals for
  scheduled events from more than two compartments (fixes issue #3).

* The 'tspan' vector argument to the 'siminf_model' method can now be
  either an 'integer' or a 'Date' vector. A 'Date' vector is
  internally coerced to a numeric vector as days, where 'tspan[1]'
  becomes the day of the year of the first year of the tspan
  argument. The dates are added as names to the numeric vector.

* Improved plot methods by adding colors and increase line widths.

* Improved build configuration to register native routines.

CHANGES

* The S4 class 'siminf_model' was renamed to 'SimInf_model'.

* Copy 'u0' and 'v0' to the first column in 'U' and 'V',
  respectively. Prior to this change, the state was copied after the
  first time step.

SimInf 3.0.0
------------

NEW FEATURES

* Two new built-in models: 'SIR' and 'SEIR'.

CHANGES

* Removed the sub-domain argument. Instead use the local data vector
  'ldata' to pass node specific data.

* Removed the unused parameter 'epsilon' from the 'SISe_sp' and
   'SISe3_sp' models.

* Refactoring of local spread in the 'SISe_sp' and 'SISe3_sp' models.

* Added a parameter with a pointer to a random number generator to the
  post time step function.

SimInf 2.0.0
------------

NEW FEATURES

* Two new built-in models: 'SISe_sp' and 'SISe3_sp' with spatial
  coupling.

* Added the 'run_outer' method to run a model on scaled 'gdata'
  parameters.

IMPROVEMENTS

* Added two synthetic datasets 'u0_SISe3' and 'events_SISe3' to
  demonstrate how to use SimInf.

* Several improvements to the documentation.

* Added summary method to the siminf_model class and the
  scheduled_events class.

CHANGES

* The slot N in scheduled_events is changed from dgCMatrix to matrix.

* Refactoring of the 'show' method for the siminf_model class and the
  scheduled_events class.

* Renamed function prototype 'PostTimeStepFun' to 'PTSFun' and
  'PropensityFun' to 'TRFun'.

* Renamed 'init' argument to 'u0' in the 'SISe' and 'SISe3' methods.

* Changed 'node', 'dest', 'select' and 'shift' to one-based indices in
  'scheduled_events'.

BUG FIXES

* Changed to use 'gsl_rng_uniform_pos' instead of 'gsl_rng_uniform' to
  avoid 0 in the direct SSA. If zero was randomly selected and the
  first compartment empty, the simulator could enter a negative state.

SimInf 1.0.0
------------

* First release.
