TO DO LIST:
-----------

26/11/2010 TO DO:
  fitted.GLMM_MCMC not yet implemented for situations when there are only fixed effects in the model

14/06/2010 TO DO:
  In GLMM_Deviance.cpp
       Commands:  *marg_ll_iP += *w_k * AK_Basic::exp0_AK(loglik_k);  (around line 239)
                  *marg_ll_iP = AK_Basic::log0_AK(*marg_ll_iP); (around line 252)
       In the case of the poisson response, it would be desirable to add log(y!) to loglik_k before exp-it    
       and subtract it again after log the mixture sum. With higher counts, loglik_k is quite considerably negative
       which leads to exp(-Inf) = 0 and then upon log again, we get -Inf log-likelihood where
       -Inf is artificial due to imprecise calculation with numbers close to zero.

  --> more or less solved on 03/12/2010

======================================================================================================================
11/10/2016 (version 4.4):
Formal correction of some header files (e-mail B. Ripley from 18/09/2016).

02/06/2016 (version 4.3):
Argument type added to cbplot function.

01/08/2015 (version 4.2):
Bug in getProfiles corrected that was incidentally created in version 4.1.

28/07/2015 (version 4.1):
Options to parallel computation added (on 29/06/2015).

26/03 - 02/04/2015 (version 4.0):
Possibility of having weights dependent on a categorical covariate 
implemented in NMixMCMC and related functions.

06/02/2015 (version 3.10):
NAMESPACE updated by explicit export of some S3 methods.

05/02/2015 (version 3.9):
CITATION file updated (desc replaced by meta).

01/09/2014 (version 3.7):
Bug in GLMM_MCMCdata corrected (it appeared when two or more discrete responses
of the same type, e.g., binomial, were included in the model).

CITATION file updated (methodological papers removed from there).

21/08/2014 (version 3.7):
NMixCluster function added (currently only method for class GLMM_MCMC).

06/08/2014 (version 3.6-1):
Update of index.html in /inst/doc directory, validation using http://validator.w3.org.

14/05/2014 (version 3.6):
Minor changes related to the final JSS submission.

22/09/2013 (version 3.5):
Gauss-Hermite quadrature inside the fitted.GLMM_MCMC function implemented using the 
functions from the 'fastGHQuad' package. Arguments x2, z2 are no more needed.

16/08/2013 (version 3.4-2):
Function NMixRelabel.GLMM_MCMClist allows for a joint processing of two chains
(jointly = TRUE).

06/08/2013 (version 3.4-1):
Functions rWishart and dWishart renamed to rWISHART and dWISHART to avoid
conflicts with rWishart in package stats.

05/08/2013 (version 3.4):
Most dependencies moved from "Depends" to "Imports" in the DESCRIPTION file
and solved via importFrom in the NAMESPACE.

18/07/2013 (version 3.2-4):
Changes of names of some components inside the objects of classes NMixMCMC and GLMM_MCMC:
comp.prob2 --> comp.prob_b
comp.prob3 --> comp.prob

poster.comp.prob1 --> poster.comp.prob_u
poster.comp.prob2 --> poster.comp.prob_b
poster.comp.prob3 --> poster.comp.prob

quant.comp.prob1 --> quant.comp.prob_u
quant.comp.prob2 --> quant.comp.prob_b
quant.comp.prob3 --> quant.comp.prob

08/02/2013:
Support for parallel computation originally provided by snowfall/snow packages changed to parallel package.

01/05/2012:
All pdf vignettes moved to my personal webpage (to decrease the size of the package which must be stored on CRAN).

18/12/2011:
GLMM_MCMC creates by default two parallel chains and calculates also PED, support for parallel computation 
on multicore CPUs using snowfall/snow packages added.

20/01/2011:
beta in GLMM_MCMC function (and all related) was renamed to alpha to be in agreement with papers.

29/11/2010:
Calculation of posterior quantiles for estimated component probabilities added to NMixRelabel functions
(both NMixMCMC and GLMM_MCMC version).

08/12/2009
Bug in computation of weights for the EB estimate of random effects in GLMM_longitPred_nmix_gauss.cpp fixed.

22/11/2009
Function NMixClust renamed to NMixPlugDA.

06/11/2009
Bugs in GLMM_updateRanEf.cpp found and fixed:  
  * eta_random was computed incorrectly as Z %*% bscaled and not as Z %*% b, where b = shift + diag(scale) %*% b
  * pointers in the final part of the code did not shift correctly


