2022-01-05 Bjoern Bornkamp (version 1.0-3)
      * Stop and throw error if calculated df=0 in powMCT (passed to
	mvtnorm where df=0 implies use of a normal distribution)
      * Added function plotMods to plot candidate models using ggplot2
	and function plotContr to plot optimal contrasts using ggplot2
	(thanks to Sophie Sun for testing and feedback)
      * Added documentation for quadratic model (definition of delta)
      * Fixed local options in guesst for logistic and sigEmax models

2021-10-03 Bjoern Bornkamp (version 1.0-2)
      * Define USE_FC_LEN_T and add length of character arguments in
	Fortran code called from C, to reflect recent changes in gfortran.
      * Fix incorrect error message in fitMod (in case placAdj = TRUE and
	data are handed over in a data frame via data argument)

2021-06-22 Bjoern Bornkamp (version 1.0-1)
      * Big thanks to Ludger Sandig, who was instrumental in adding
	vignettes for practical MCP-Mod implementation guidance;
	introducing tests based on testthat and further bug fixes.
      * Thanks to Dong Xi, Hilke Kracker for review of earlier versions of
	the draft vignettes
      * Thanks to Julia Duda for her helpful comments on the package

2019-11-13 Bjoern Bornkamp (version 0.9-17)
      * Added citation to DESCRIPTION file
      * Removed alpha argument for pValues function (not used)
      * Propagate error messages from mvtnorm in pValues function
	(e.g. cov-matrix not psd), (thx to Daisy Bai)
      * Make direction attribute in Mods object unique (thx to Yuhan Li)

2017-12-07 Bjoern Bornkamp (version 0.9-16)
      * Fixed minor bug in print.summary.planMod

2016-07-26 Bjoern Bornkamp (version 0.9-15)
      * Mods Added parameter names for all models in the output list
        (thanks to Dong Xi for catching this)

2016-02-02 Bjoern Bornkamp (version 0.9-14)
      * planMod.Rd Documentation slightly extended.
      * qmvtDF moved back to qmvt function from mvtnorm, as problems
	in mvtnorm are fixed.

2015-10-31 Bjoern Bornkamp (version 0.9-13)
      * projPrBnds now also covers the case when parameter was exactly
	on the bound
      * bFitMod doseNam changes
      * critVal Added self-written qmvt function qmvtDF	(as mvtnorm::qmvt
	got instable on Windows 32bit from release 1.0-3), hopefully
	superfluous once mvtnorm fixes this.

2014-09-28 Bjoern Bornkamp (version 0.9-12)
      * glycobrom dataset: Included column for number of observations
	per treatment.
      * calcCrit now takes into account "nold" in determining whether
	enough design points were specified to be able to calculate
	the design criteria.
      * bFitMod documentation for plot.bFitMod and predict.bFitMod
	methods added. coef.bFitMod method added. Thanks to Lieven Nils
	Kennes for pointing towards the issue.

2014-02-11 Bjoern Bornkamp (version 0.9-11)
      * Mods Introduce fullMod argument to allow specification
	of full model parameters (again).
      * calcTDgrad now calculates the analytical gradient for TD
	optimal designs for the beta model. The previous numerical
	gradient could get unstable for particular parameter values.
	Thanks to Tobias Mielke for the calculations!
      * planMod.Rd, powMCT.Rd More description on what "sigma" is
      * optDesign, optContr Catch Mods objects with multiple direction
	attributes properly in these functions.	

2013-11-25 Bjoern Bornkamp (version 0.9-10)
      * plot.MCPMod In case of no significant model, do not plot anything.
      * optContr Bugfix in function constOptC, previous algorithm selected
	in some situation an incorrect active set (and hence a suboptimal
	solution), the current implementation uses quadratic programming
	(hence the new suggested package quadprog).

2013-10-15 Bjoern Bornkamp (version 0.9-9)
      * bFitMod.Bayes Stop if starting values lie outside of bounds
	specified for the prior distribution
      * predict.bFitMod Remove incorrect "if" statement (use
	"effect-curve" not "EffectCurve")
      * fitModels.bndnls now uses narrowed bounds for 1d models again
	(as in 0.9-5 and earlier), thanks to Tobias Mielke for reporting
	the three points above.
      * optContr now allows for constrained contrasts, i.e. where the
	contrast coefficients in placebo and active treatment groups are
	required to have different signs.

2013-09-17 Bjoern Bornkamp (version 0.9-8)
      * MCPMod Major changes needed (also in fitMod and MCTtest) to allow
	for dose/response names different from "dose", "resp" when a
	data-frame is specified (the problem existed as MCTtest, fitMod 
	were called from inside MCPMod).
      * bFitMod.Bayes Ensure that the starting values for the parameters
	are within the bounds specified by the prior (if no starting
	values are specified). Thanks to Tobias Mielke for reporting this.
      * bFitMod.bootstrap Remove bug for model = "linear" and placAdj = TRUE.
	Thanks to Tobias Mielke for reporting this.

2013-08-15 Bjoern Bornkamp (version 0.9-7)
      * fitMod ensure that the data set returned with DRMod objects
	is in the original order (not sorted by dose). Also ensure the right
	S matrix is used for fitting for type = "general" and unsorted
	dose, resp.
      * MCTtest fixed problems for type = "general" and unsorted
	dose, resp.
      * glycobrom Added glycobrom data set 
      * planMod Added planning functions for non-linear modelling
      * Coded calculations of compositions to be able to remove dependency
	on the partitions package
      * man files: added reference to paper on generalized MCPMod
      * plot.DRMod Minor changes to ensure raw means are always inside
	the plotting region (for plotData = "means")
	
2013-04-16 Bjoern Bornkamp (version 0.9-6)
      * optDesign Re-named "fmodels" argument to "models".
      * optDesign for solnp if lowbnd and uppbnd are specified now use a
	feasible starting value (otherwise solnp might get into problems).
      * plot.DRMod, plot.MCPMod now use lattice graphics
      * powMCT removed bug in case of placAdj = TRUE (thanks to Tobias
	Mielke for reporting this)
      * ess.mcmc minor change to avoid occasional NA's
      * Mods removed class c("Mods", "standMod"), now there is only a
	class "Mods", this changes the API of MCTtest, optContr and
	MCPMod function (direction argument no longer needed, as this info is now 
	contained in the "Mods" object).
      * neurodeg added the simulated longitudinal dose-finding data set neurodeg
      * targN catch incorrect matrix dimension, when in case of only
	one alternative model
      * fitModel.bndnls old version used narrowed bnds for 1-dim model, when a
	starting value was supplied manually (instead of calculated via
	optGrid); fixed.
      * MCTtest re-name of p-value column to "adj-p".

2013-03-06 Bjoern Bornkamp (version 0.9-5)
      * targN, powN added function targN to evaluate a target function
	(e.g. power) for different sample sizes (similar to the old
	powerMM function). powN is a convenience function for 
	multiple contrast tests using the power.
      * sampSizeMCT added convenience function for sample size calculation
	for multiple contrast tests using the power.
      * optContr Re-named "weights" argument to "w"
	
2013-02-12 Bjoern Bornkamp (version 0.9-4)
      * TD, ED Fixed bug for model = linInt and placAdj = TRUE
      * powMCT Fixed bug for nr(altModels)=1 in case placAdj=TRUE
      * Mods Add requirement that placebo dose needs to be included
      * print.bFitMod Do not show n.eff for bootstrap samples
      * ess.mcmc return NA, if there is just one unique value in chain
      * fitMod, MCTtest catch situations, where type = "normal" and 
	placAdj	= TRUE
      * bFitMod fixed bug for column names of linear model in case of
	placAdj = TRUE
      * MCPMod: Fixed sign error in model selection, when critV was specified

2013-01-29 Bjoern Bornkamp (version 0.9-3)
      * fitMod Improvements of efficiency (removed calls to do.call 
	in optLoc)
      * MCPMod passes direction argument now also to TD
      * optDesign solnp is now the default optimizer
      * calcCrit default for arg designCrit in calcCrit changed (to harmonize
	calcCrit and optDesign)
      * bFitMod use fitMod.raw in bFitMod.bootstrap (for efficiency)
      * critVal Remove contMat argument (was unused)
      * powMCT Allow power calculation for placebo adjusted data

2013-01-09 Bjoern Bornkamp (version 0.9-1)
      * Complete re-structuring and tidying up of the package. 
	Main ideas: (i) smoother integration of g-functions (ii) focus on
	core functionality (iii) more general code/easier extensibility.
      * New features: Bayesian dose-response fitting, nicer plots,
	optimal designs for non-normal responses, ...
      * Special Thanks to Tobias Mielke for testing of the package and 
	numerous bug reports.
      * Previous versions of the source are available under 
	http://cran.r-project.org/package=DoseFinding under 
	"Old sources", a Windows binary of the last version 
	before the changes is available under http://goo.gl/p1UZ7.

2012-08-22 Bjoern Bornkamp (version 0.6-3)
      * Added PACKAGE = "DoseFinding" to ".C" calls

2012-04-04 Bjoern Bornkamp (version 0.6-2)
      * calcOptDesign partial rewrite of optDes.c and optDesign.R
      to fix segfault bug.

2012-02-20 Bjoern Bornkamp (version 0.6-1)
      * vcov.gDRMod is now functional, predict.gDRMod now allows
      calculation of confidence intervals
      * gFitDRModel minor changes in underlying optimizer
      * explicitly export the gradients of the model functions now

2012-01-24 Bjoern Bornkamp (version 0.5-7)
      * gFitDRModel now always returns an estimate (either the
      best value from nlminb or from the grid search if nlminb fails)
      * gMCPtest: use sigma = corMat instead of corr = corMat in
      p/qmvnorm calls (mvtnorm complained in 1-dimensional case)
      * gFitDRModel: Introduced default for bnds argument.
      * plot.MCPMod: Plot clinRel in the right place, when direction is
      equal to "decreasing" (thanks to Jan Rekowski)
      * planMM, critVal: When vCov is specified now right correlation 
      matrix is calculated
      * calcOptDesign: Additional argument (standDopt) to allow for optional
      standardization (division of the log determinant by the number 
      of parameters) of the D-optimal design criterion. 

2011-10-19 Bjoern Bornkamp (version 0.5-6)
    * getGrid corrected bug for Ngrd > 75025
    * calcOptDesign: For method = "exact" and n2 > 0 the function
      did not return the optimal incremental design but the
      overall optimal design

2011-08-31 Bjoern Bornkamp (version 0.5-5)
    * gFitDRModel can now fit dose-response models without
      intercept
    * gMCPtest minor changes to allow for user defined contrast
      matrix

2011-08-09 Bjoern Bornkamp (version 0.5-4)
    * MCPtest now uses correct degrees of freedom if addCovars != ~1
    * Feedback from Andreas Krause led to a number 
      smaller changes in the package (e.g., plot.(g)DRMod or 
      fitDRModel). Thanks Andreas!
    * Print lattice plots explicitly to increase compability
      with Sweave.

2011-05-06 Bjoern Bornkamp (version 0.5-3)
    * Ensure in rndDesign that N is recognized as
      an integer by using N <- round(N), to avoid floating point
      problems.
    * Remove naming bug in gFitDRModel (drFit instead of drEst)

2011-04-27 Bjoern Bornkamp (version 0.5-2)
    * Corrected bug in b-vector for sigEmax model (calcBvec,
      only affected MED-type optimal designs)
    * Included INDEX file to order the overview help-page better
    * predict.DRMod now stops when type = "fullModel" and the
      argument newdata does not contain values for all variables
      specified in addCovars (thanks to Mouna). 

2011-03-25 Bjoern Bornkamp (version 0.5-1)
    * Restructured calcOptDesign function to allow for user
      defined criteria functions.
    * The MCPMod object now always contains a estDose and fm
      entry (which is NA in case of non-significance or non-convergence)
    * Added generalized fitting code, variances and covariances of 
      estimates are not available at the moment.
    * Added vCov argument to planMM, sampSize, powerMM (so it is possible
      to take into account covariances when calculating optimal contrasts)
    * Changed order in trellis plots in plotModels (order as specified in
      models list instead of alphanumerical order)
    * Restructured and summarized help pages 
    * Removed dependency on numDeriv package (only suggested now),
      this is only needed for calculating optimal designs involving
      the beta model.

2011-02-09 Bjoern Bornkamp (version 0.4-3)
    * Minor change in Makevars file (so that DoseFinding works on 
      Solaris).

2011-02-09 Bjoern Bornkamp (version 0.4-2)
    * calcBayesEst, getUpdDesign: Minor changes to make functions
      more suited for general purpose use.

2010-12-01 Bjoern Bornkamp (version 0.4-1)
    * Introduced new functions calcBayesEst and getUpdDesign,
      both were used for simulation purposes in the paper
      Bornkamp et al. (2011) "Response Adaptive Dose-Finding
      under Model Uncertainty" (to appear in Annals of Applied
      Statistics).
	
2010-11-12 Bjoern Bornkamp (version 0.3-1)
    * calcOptDesign now has an additional optimizer "exact". This
      methods calculates all possible designs for a given sample size
      and then selects the best.
    * Changed order in MakeVars as requested
    * calcCrit now checks whether there are not less design points
      than parameters.
    * Code now checks for positive sigma in powCalc and powerMM
	
2010-11-05 Bjoern Bornkamp (version 0.2-3)
    * MED function now checks for clinRel > 0 (thanks to Georgina).
    * Changed minor bug in output from print.MCPtest (print one-sided
      just once)
    * Code now outputs a warning, when 'models' argument is missing
      (in MCPMod and fullMod function); in fitDRModel it outputs 
      a warning if 'model' is missing
    * Introduced a default base = 0 and maxEff = 1 for the plotModels
      function.
    * Added a summary method for DRMod objects.
    * Removed superfluous addCovarVals argument from predict.DRMod
    * Removed option method = "mult" in calcOptDesign

2010-07-08 Bjoern Bornkamp (version 0.2-2)
    * calcCrit and calcOptDesign now check for NA, NaN or +-Inf
      values in the gradient and bvector (and stop execution when
      these values occur) before passing these values to the C
      code.
    * Introduced a logLik method for DRMod objects
    * Changed mvtnorm.control default argument for "interval"
      to reflect recent changes in mvtnorm package.

2010-05-27 Bjoern Bornkamp (version 0.2-1)
    * Made the getGrad function (gradient for dose-response model),
      including documentation available for end-user (was previously
      hidden in NAMESPACE)
    * Changes in the plot.MCPMod function (col argument for 
      panel.superpose was read in different order depending on
      lattice options, now there is a manual workaround with
      panel.xyplot calls for each group)


2010-05-20 Bjoern Bornkamp (version 0.1-3)
    * Smaller changes in calcCrit functions (the parameter p is
      now calculated by the nPars function as in getOptDesign)
    * Add further options to powerScenario function (now possible
      to for user-specified row and column names for output matrix)


2010-05-13 Bjoern Bornkamp (version 0.1-2)
    * Removed one example from sampSize to reduce check time.
    * modelSelect: Use first model when two models have exactly
      the same AIC or BIC value.
    * predict.DRMod: Return NA as standard deviation if code
      cannot calculate Cholesky transformation of covariance
      matrix (thanks to Setia Pramana for the hint).
    * calcCrit: Code now allows for specifying multiple designs
      in a matrix.
	
2010-04-14 Bjoern Bornkamp (version 0.1-1)
    * fitModel.nls now checks whether nls with plinear option made
      a positive number of iterations (as additional convergence check).
      In some cases (eg. when number of parameters = number of 
      doses) plinear does not do any iteration and does *not* 
      put out a warning message that the algorithm failed.
    * The calcOptDesign function now allows for upper and lower bounds
      on the allocation weights.
    * There is no longer the need to specify clinRel, when one wants
      to calculate a D-optimal design.
    * Output of bootMCPMod function in case of model averaging now
      also includes dose estimates under each model & corrected
      bug in print.bootMCPMod function (thanks to Setia Pramana)

2010-03-08 Bjoern Bornkamp (version 0.1)
    * 1st Release as version 0.1. Improvements over MCPMod package:
      - Extended and improved version of MCPMod (allowing for covariates
        and robustified self-developed optimizer)
      - Functions for MCP (MCPtest) and Modelling (fitDRModel) part
        now available to the user
      - New functions (eg. bootMCPMod, powerScenario)
      - Functions for calculating optimal designs
