Changes in Version 1.2-15
  o Fixed new issue creating errors on Unix/Windows machines on CRAN
Changes in Version 1.2-14
  o When setting the argument binarySign=TRUE, now also the signs of higher-order (i.e., 3-way and higher) interactions involving binary variables and continuous variables are reported in the output

Changes in Version 1.2-13
  o Fixed bug: in EBIC calculations, the standard deviation in the likelihood function was set equal to 1. Now it is set to the standard deviation of the residual as it should be.
  o Use inherits(X, "??") instead of class(X)="??" throughout, since this seems to be required by CRAN now

Changes in Version 1.2-12
  o Removed dependency on matrixcalc package which as been archived
  o Improved mvar() input checks

Changes in Version 1.2-11
  o Fixed bug: switch off thresholding when using using internal function Reg2Graph() in condition()
  o Extend condition() to Poisson variables
  o Fixed bug: The processing of certain custom moderation models created an error
  o Fixed bug: In plotRes() negative moderation effects of binary variables were positive even when binarySign=TRUE

Changes in Version 1.2-10
  o Added a simulated example data set to illustrate estimating group differences using moderation
  o Fixed problems in computing binary signs created by R 4.0.0
  o Added colorblind color scheme to pairwise output
  
Changes in Version 1.2-9
  o Fixed bug in bwSelect() + tvmgm() when specifying k manually

Changes in Version 1.2-8
  o Fixed bug in computing predictions for Poisson variables
  o Fixed bug that only printed 10 pairwise interactions in plotRes() for MNMs
  o resample(): removed seed as an argument; now seeds are randomly drawn; for MGM objects, seeds are resampled until the MGM can be estimated on each of the bootstrap samples; the final seeds are provided in the output
  o Fixed bug in Reg2Graph()/mgm(): moderators were not shown in the output when specified as a matrix
  o Fixed bug in tvmvarsampler()
  o Fixed bug: Adapted condition() to custom moderator input in mgm()
  
Changes in Version 1.2-7
  o Fixed bug in bootstrap scheme for time-varying VAR models
  o Provide optional output of chains of Gibbs sampler from mgmsampler()
  o New function condition() allows to condition on values of a set of variables. The main motivation for this function is to make 3-way interactions / moderation more accessible.
  o mgm() now allows one to specify custom sets of moderation effects via the "moderators" argument
  o Fixed bug in bwSelect in combination with mgm() opjects
  o Extended plotRes() to moderated MGMs with only a single moderator variable

Changes in Version 1.2-6
  o Fix aliasing of internal functions

Changes in Version 1.2-5
  o Bug fix in resample()
  o Improved input checks in mgmsampler()
  o Bug fix in prediction with mvar() objects
  o Allow for prediction with time-varying models in new data sets

Changes in Version 1.2-4
  o Updated help files
  o Added two example data sets for higher-order (moderated) MGMs

Changes in Version 1.2-3
  o Bug fix in bwSelect()
  o Added verbatim option in resample() to detect zero variance bootstrap samples
  o Fixed warning due to R 3.4.0: "Recycling array of length 1 in vector-array arithmetic is deprecatd.Use c() or as.vector() instead."
  o Bug fix: resampling did not work together with new mvar() arguments dayvar/beepvar since Version 1.2-2
  o Added argument "moderators" to the mgm() function that allows to ...
  o Change default: in earlier versions if overparameterize=TRUE, all thresholds (intercepts) of categorical variables were set to zero. From this version on this threshold is estimated. The thresholds of categoricals can still be set to zero with the new argument "thresholdCat"
  o If scale=TRUE, now interaction terms (k>2 or moderation) are scaled after computing the design matrix to ensure that all predictors have the same mean and standard deviation, which avoids different penalization depending on the scaling of a predictor
  o Add CES-D depression dataset taken from Fried et al. (2015) to example datasets
  o Added function FactorGraph() that computes and plots a factor graph from stationary or time-varying MGMs. The factorgraph output has been removed from the mgm() and tvmgm() functions.
  o Added support of showInteraction() to continuous 3-way interactions
  o For all time-varying models the estimation points are now specified on the unit interval [0,1]; for tvmvar() models, 0 is associated with the first data point that is not trivially excluded due to the maximum lag


Changes in Version 1.2-2
  o Add running time to output of resample() function
  o Added a note and references on the normalizability of MGMs
  o Added function plotRes() to plot summaries of sampling distributions resampled with the resample() function
  o The consecutiveness of measurements in mvar() and tvmvar() models now can be specified alternatively to the consec argument with the arguments beepvar and dayvar. This is tailored to the typical time stamps of ecological momentary assessment (EMA) studies, where the consecutiveness is defined by the number of notification on a given day (beepvar) and the number of that given day (dayvar).
  o New function showInteraction() retrieves details of interactions from mgm model objects
  o The print method now also shows number of rows in the VAR design matrix compared to the number of rows of the original data matrix.
  o All estimation functions require a matrix object as data input to avoid problems with properties of data.frame objects
  o Corrected row-order in dataset "symptom_data"  
  o In mVAR models we use an adjusted sample size that is equal to the number of rows in the design matrix. The adjusted sample size can be smaller than nrow(data) - max(lags) if measurements are not consecutive, or if non-uniform weighting is used. In earlier versions the sample size was only adjusted for non-uniform weighting. The adjusted sample size is used in the additional thresholding of parameter estimates (see ?mgm or ?mvar).
  o Added function resample() that fits any model class to a specified number of bootstrap samples and provides the bootstrapped sampling distribution in an array. For time series data, the block bootstrap is used, where the number of blocks can be specified.
  
Changes in Version 1.2-1
  o Added consec argument to predict.mgm(), which allows prediction for VAR models in time series with unequal time intervals by excluding time points that are not preceded by enough measurements (see ?mvar)

Changes in Version 1.2-0
  o The whole package has been rewritten from scratch to reduce susceptibility to bugs and to allow new features
  o Every function now has many input checks and associated informative error messages
  o Major syntax changes: mgmfit() -> mgm(), var.mgm() -> mvar(), tv.mgmfit() -> tvmgm() and tv_var.mgm() -> tvmvar()
  o The names of function arguments are now consistent across the package and therefore had to be changed considerably
  o There is no more missing argument in the estimation functions
  o All estimation functions allow to search a sequence of the (alpha) elastic net paramter, using the EBIC or cross-validation; so far alpha was fixed to 1
  o mgm() and tvmgm() now presents all paramters involved in higher (than pairwise) order interactions in the output; this includes a factor-graph representation that is easy to visualize
  o The d parameter for the largest order of interaction in the neighborhood of a given node has been replaced with the k parameter, the largest order of interaction in the whole graph. Note that d = k - 1
  o All estimation functions allow the standard parameterization for categorical variables, but also an overparameterization. This is necessary to correctly identify higher order interactions between categorical variables.
  o The sampling functions mgmsampler() and tvmgmsampler() were extended to k-order MGMs (before only pairwise / k = 2)
  o mvar() and tvmvar() now allow the specification of any number of lags
  o The new functions mvarsampler() and tvmvarsampler() now allow to sample from mVAR models any number of lags
  o There is no more function provided for resampling. Instead, we provide an interface with the bootnet package.
  o The function bwSelect() allows the selection of an optimal bandwidth parameter for timer-varying MGM or mVAR models using cross-validation
  o predict.mgm() now allows two different ways to predict from time-varying models, see ?predict.mgm
  o Fixed bug in mgmsampler() that was present in binary-Gaussian graphs
  o Fixed bug in predict.mgm() which caused the prediction of incorrect category labels in some situations
  o Fixed bug in mgm() which did not use the weight-argument in case of lambdaSel = 'CV'
  o Default for argument lambdaSel changed from 'EBIC' to 'CV'

Changes in Version 1.1-7
  o The predict() function now returns the predicted probabilities in addition to the predicted category for categorical variables
  o Added a message for all estimation functions indicating where edge weights (if defined) can be found: fitobject$signs
  o Added a startup message with a link to report bugs
  o The predict() function now computes predicted values and a prediction error for each variable in the graph
  o The print() function now returns a small summary of the model type when printing a mgm object
  o Added subsampling scheme to evaluate edge-stability for non-time-varying models (MGM and mixed VAR)
      o Added summary() & plot() for the bootstrap object to summarize edge-stability
  o Added argument 'binary.sign': If binary.sign=TRUE, the sign of the interactions of all binary variables coded (0,1) with other binary variables and continuous variables will be returned in the sign matrix fit$signs

