Version 1.1
-------------

- validated version of the VCA R-package
- in function 'varPlot' it is now possible with argument "BG" to automatically color the background according
  to the factor-levels of variable 'BG$var' by specifying as many colors as there are factor-levels
- some changes in the function documentations

Version 1.0.6
-------------

- in function 'isBalanced', character and factor variables adapted to exclude empty factor-levels occurring e.g. 
  when sub-setting a larger dataset -> Data[Data$var %in% c(a,b,c),] in case that Data$var had levels a, ..., f.
- in function 'isBalanced', now really all cells of the emerging contingency tables are checked instead of only 
  columns 1 and 2


Version 1.0.5
-------------

- in function 'varPlot', argument 'VCnam' can now be used to specify user-defined labels for variance components setting
  the "text" component of the argument-list to the desired vector of character strings. Formerly, variable names were used.
- in function 'varPlot' it is now possible to specify a horizontal line indicating the intercept (total mean) via Parameter
  "MeanLine". In case that list-element "var" contains the character string "int" as i-th element, all other i-th elements
  of parameter specifications apply to this line. This line is drawn in the background not covering important information in
  the foreground.


Version 1.0.4
-------------

- minor bug-fixes after thoroughly inspecting examples, e.g. in function 'anvoaVC' an error occurred
  using 'VarVC.method="gb"'
- some previously exported functions were removed from the NAMESPACE file
- additional examples added
- function 'vcovVC' adapted to be able to handle "Linear Models", only the variance of the estimated error variance
  is computed


Version 1.0.3
-------------

- '...' added to function 'varPlot' for setting additional graphical parameters, e.g. "mar"
- in function 'VCAinference' it is not longer required to set VarVC=TRUE to compute CIs in case method.ci="satterthwaite"
- reduced computation time fo the ANOVA-estimation algorithm due to implementing the "Abbreviated Doolittle and Square Root"
  method in C, additionally, matrix multiplication of the 'Matrix' package was used throughout
- added ANOVA-table for linear models, i.e. without random effects (functions 'print.VCA' and 'print.VCAinference' adapted),
  these models now also benefit from the fast fitting algorithm
- bug fixed in function 'getL', interaction terms could not be handled by 'getL' up to this version
- bug fixed in function 'varPlot', whenever there was an interaction term in the model where at least one interacting term
  belongs to another term in the model, the variability chart was not correctly generated. Such terms are automatically removed
  now causing a warning message.
- cleaning up package configuration
- function 'anovaDF' added for minimizing the time spent on determining the ANOVA type 1 degrees of freedom
- fixing a bug in computing ddfm="containment" in function 'lsmeans" with type="complex", wrong DFs were computed before, now
  SAS PROC MIXED method=type1 results can be reproduced 
- fixing the computation of LS Means, which was correctly performed only for simple designs, e.g. without covariates


Version 1.0.2
-------------

- bug fixed in function 'stepwiseVCA': when calling 'VCAinference' with the output of 'stepwiseVCA', element "NegVCmsg" was missing,
  which caused an error under certain conditions

Version 1.0.1
-------------

- in function 'VCAinference' one can now compute confidence intervals for variance components on either the SAS PROC MIXED method=type1
  strategy (ci.method="sas") or using the Satterthwaite methodology throughout, i.e. approximating DFs for all VCs using Satterthwaite's
  approach
- bug fixed in function 'varPlot', in case 'ylim' was set, any points outside this interval were still drawn, now plotting is clipped
  to the actual plotting region in 'type=1' plots


Version 1.0
-------------

- function 'anovaMM' added for analyzing linear mixed models
- function 'ranef' added for extracting random effects from 'VCA' objects, one can request "raw", "studentized" or 
  standardized random effects
- function 'residuals.VCA' added for extracting "marginal" or "conditional" residuals of mixed models ('VCA' objects),
  one can request either "raw", "studentized", "standardized" or "Pearson-Type" residuals
- fixed effects can be extracted via function 'fixef'
- functions 'test.fixef' and 'test.lsmeans' added for testing of custom hypotheses in terms of linear combinations of fixed effects or LS Means
- function 'vcov' added computing and extracting the covariance matrix of fixed effects
- function 'vcovVC' added computing and extracting the covariance matrix of estimated variance components (covariance parameters)
- function 'coef.VCA' added for extracting fixed effects with generic method
- function 'lsmeans' added for extracting Least Squares Means (LS Means)
- function 'stepwiseVCA' added for performing all possible VCA-analyses based on the complete dataset
- function 'anovaVCA' does not use 'lm' + 'anova' anymore to obtain ANOVA Sum of Squares and respective degrees of freedom,
  it makes now use of matrices A_i which were formerly used for obtaining the variance-covariance matrix of VCs and which
  express ANOVA SS as quadratic forms in y, degrees of freedom correspond to the rank of these matrices; this speeds up the
  computation for complex models, with large number of columns of the design matrices


Version 0.9.1
-------------

- bug fixed, which compared the pure intercept model using hard-coded formula 'y~1', whenever the dependent variable was not
  equal to "y" an error occurred. Now the formula checked is 'resp~1', where resp is the dependent variable determined from
  the user-specified model formula


Version 0.9
-------------

- in function 'varPlot' it is now possible to add horizontal lines corresponding to the mean value of all observations
  belonging to a specific factor level for multiple factor variables (see examples), parameter 'MeanLine' accepts lists, where
  each list-element can be a vector, where the i-th elements corresponds to the i-th element of the "var" element of 'MeanLine'
- parameter 'BG' of function 'varPlot' accepting a list of arguments passed to function 'rect' identifies the factor-variable
  used by list-element 'var' instead of 'factor'. This was done to be consistent with all other parameter-lists which also use
  "var" as name for identification.
- parameter 'dynSetParm' was removed from the argument-list of function 'varPlot'
- it is now possible in 'varPlot' to color factor-levels of that factor used to color the background accordingly
- a bug was fixed distorting the table in case of negative values of the response variable 


Version 0.8
-------------

- added one-sided confidence intervals for VC, SD, CV, which became necessary since WinCAEv precision experiment reports contain
  one-sided 95% confidence levels
- added real-world data (realData.RData) to package used in further unit-test functions 
- unit-test functions were added (crossed-nested designs, balanced and unbalanced)
- in dataset VCAdata1 coming with the package variable "charge" was renamed as "lot", the correct name for this type of factor
  (R-documentation was adapted accordingly)


Version 0.7.5
-------------

- in function 'varPlot' the horizontal line above a single variance component is now added, previously, this line was covered
  with the elements specified by argument 'BG'
- R-help files were revised and checked for typos etc. (thanks to Peter Baumeister)


Version 0.7.4
-------------

- bug-fix in function 'varPlot', it was still not always possible to add vertical lines via e.g. 'abline' covering the 
  whole Y-range
- it is now possible in function 'varPlot' to call function 'title' in each (sub)plot using new parameter 'Title'

Version 0.7.3
-------------

- in function 'varPlot' a bug was fixed which resulted in a limited plotting area, i.e. vertical lines drawn via 'abline' ended within the plot.
- it is now possible to use different plotting symbols to indicate factor-levels of a classification variable not part of the model-formula 'form',
  in the same manner as 'col' could be used in the previous version


Version 0.7.2
-------------

- unit-test functions added which check whether "SD", "CV[%]", and "%Total" values in 'VCA'-objects are correctly computed
- in function 'varPlot' it is now possible to specify parameter 'VarLab' as list of lists, i.e. each variance component label in the tabular can be
  specified individually (see example)
- in function 'varPlot' argument 'VSpace' was added, allowing to specify the proportion of vertical space used for each VC in the tabular (see example)


Version 0.7
-----------

- function 'anovaVCA' does not throw an error if any values of the response variable are missing, instead, a warning is printed stating how many and 
  which observations have missing values
- any missing values of other variables than the response variable are removed automatically and a warning stating how many and which observations are
  affected is printed
- the print method for VCA-objects includes the number of observations used for prediction of VCs, and in case any observations had to be removed due
  to missing values, this information is included in the standard output
  
  
Version 0.6
-----------

- function 'anovaVCAms' as well as all references to it were removed
- parameter 'VarVC' was added to function 'anovaVCA', which can be used to specify whether to compute matrices A_i generating ANOVA sums of squares
  as quadratic forms in y or not
- the former version used two separate functions for this differentiation, which is now transfered to a parameter
- this version has only one function for performing a VCA increasing the usability of the VCA-package



Version 0.5.3
-------------

- due to a final decision regarding whether to report confidence intervals of negative variance estimates, and subsequently SD and CV estimates,
  any CIs of negative VC estimates will not be reported as default but can be retrieved by querying attribute "CIoriginal" of the 'VCAinference'
  object
- furthermore, one can specify different options in function 'VCAinference' by setting parameters 'excludeNeg' (Default = TRUE) and 'constrainCI'
  (Default = TRUE). See the R-documentation of function 'VCAinference'.
- Parameter 'claim.type' was added to function 'VCAinference' which specifies the claimed values to be either a variance specification ("VC"),
  a standard deviation ("SD") or coefficients of variation as percentage ("CV")
  
  
  
Version 0.5.2
-------------

- bug fixed producing different results fitting the same data with functions 'anovaVCA' and 'anovaVCAms' using default settings.
- Function 'anovaVCAms' did not adapt ANOVA mean squares in case of negative VC estimates that were set to 0
- 3 unit-test functions were added to the RUnit test-suite checking for equality of results using both functions with identical settings



Version 0.5.1
-------------

- function anovaVCAnub was removed from the package, since computational speed is not improved compared to function anovaVCA after refactoring
  the package
- added the numerical example listed on p.25 in the CLSI EP05-A2 guideline as dataset 'dataEP05A2_example'



Version 0.5
------------

- a warning is thrown if there are >= 0.75 * nrow(Data) levels of a factor variable appearing in the model formula
- negative variance components are set to 0, ANOVA-mean squares are adapted to these changed VCs, which are then used in the 
  Satterthwaite approximation of total DF
- in functions 'anovaVCA', 'anovaVCAms', 'anovaVCAnub' parameter 'NegVC' is now set to FALSE per Default, i.e. negative VCs will not
  contribute to the total variance, if set to TRUE they will contribute and they will not be set to 0
- result objects of all three functions now contain an extra column "%Total", giving the percentage of each VC on the total variance
- confidence interval limits have to be >= 0, otherwise they will be set to 0 if negative (this can be changed via parameter 'constrainCI'
  in function 'VCAinference')

  

Version 0.4.4
-------------

In functions 'anovaVCA' and 'anovaVCAms' now all variables appearing in model formulas are explicitly
converted to factor variables. Regression models are not part of the set of models to be fitted
with functions of this package, at least they are not intented to be fitted. Technically, it was possible for both
functions up to package version 0.4.3.
To excluded the possibility of fitting models to data where variables were numeric, a conversion to factor variables
takes place silenty. Otherwise, results would be wrong.



Version 0.4.3
-------------

- new function 'getCmatrix' implementing the "Abbreviated Doolittle and Square Root Methods", which is now also used in functions
  'anovaVCA' and 'anovaVCAnub' speeding up calculations
- some minor improvements in documentation of various functions



Version 0.4.2
-------------

- unit-test function in sub-directory UnitTest were adapted to the new package structure, it can now be used for installation testing
- parameter 'NegVC' was added to 'anovaVCA' and 'anovaVCAms' for better comparability to SAS PROC NESTED, which automatically excludes
  all negative VCs



Version 0.4
-----------

- refactoring of the whole package was done, now three main functions for ANOVA-type estimation of variance components
  exist
  1) 'anovaVCA'   : for arbitrary random models, slow for large data, can be used for CIs of intermediate VCs
  2) 'anovaVCAms' : for arbitrary random models, fast algorithm, cannot be used for CIs of intermediate VCs 
  3) 'anovaVCAnub': for fully-nested models, faster than 'anovaVCA', also offering CIs for intermediate VCs
- function 'varPlot' implementing the variability chart known form JMP, now handles arbitrary random models by extracting
  the order of involved factor variables in the model formula, which is used to structure the plot (see examples)
- a general implementation of the Satterthwaite approximation is implemented, which can be used for any variance level
- function 'VCAinference' can now handle CIs for intermediate VCs by computing the covariance-matrix of the estimated
  VCs; for balanced data the resulting CIs are equivalent to those provided by SAS PROC MIXED with option 'method=Type1'



Version 0.3.4
-------------

- a bug was fixed generating an error, whenever there were only single repetitions. Thanks to Andrea Geistanger for reporting this bug!
- graphical parameter 'ylim' was added to the parameter list of function 'varPlot' allowing to specify plotting limits in Y-direction
- it is now possible to color points in the variablility-chart according to the levels of a classification variable which is not part 
  of the model.



Version 0.3.2
-------------

- there was a refactoring of the package structure, which was due to make the RUnit unit-test framework operating
  on each installation. Unit-test functions were changed to relative paths, i.e. all absolute paths were substituted.
- Some minor bug-fixes are also incorporated such as corrections of typos etc.
- The package description was improved as well.



Version 0.3.1
-------------

- an improved standard print-method for objects returned by funtion 'VCAinference' was implemented. Previously, 
  the list-object was printed. Now, class'VCAinference' was introduced to dispatch the print-method handling.



Version 0.3
-----------

- function anovaVCAnub now uses objects of the Matrix-package which speeds up computations significantly (in 
  a large N=381 samples, 5-level design with severely unbalanced structure, computations needed 1/3 of the time
  of the 0.2 implementation)
- it is now possible to plot models without nesting structure, e.g. form=y~day. Formerly, form was only allowed
  to specify a nesting structure (at least one "/" on the right side in the formula) or a only intercept model (y~1)



Version 0.2
-----------

- has to be considered a development version of the package, since there are redundant parts and
  there is still missing functionality
- Satterthwaite approximation works for fully-nested models
- ANOVA estimation of variance components works for fully-nested models



