$Id: CHANGES 103 2006-12-14 14:28:23Z bhm $

Changes in 2.0-0
================

New features:
-------------
- There is now an options mechanism for selecting default fit algorithms.
  See ?pls.options.

- loadingplot() and coefplot() now try to be more intelligent when plotting
  x axis labels.

- The handling of factors in X has been improved, by changing the way the
  intercept is removed from the model matrix.

- A new data set 'gasoline' has been included.

User-visible changes:
---------------------
- All PLSR and PCR algorithms, as well as mvrCv(), have been optimised.
  Depending on the algorithm used, the size of the matrices, and the number
  of components used, one can expect from 5% to 65% reduction in
  computation time.

- Scaling of scores and loadings of kernel PLS and svd PCR algorithm has
  changed.  They are now scaled using the `classic' scaling found in
  oscorespls.

- The arguments `ncomp' now always means "number of components", and `comps'
  always means "component number".  The argument `cumulative' has been
  removed.

- cvsegments() now gives an error of k > n.

- The 'NIR' and 'sensory' data sets have been renamed to 'yarn' and 'oliveoil'.

Bug fixes:
----------
- Fixed bugs in MSEP.mvr and R2 that gave 'NA's and errors with 'na.exclude'.

- Numerous small fixes in the documentation.

Internal changes:
-----------------
- New utility function delete.intercept().

- Standardised variable names in several fit functions.


Changes in 1.2-1
================

New features:
-------------
- It is now possible to select the radii of the circles in corrplot

Bug fixes:
----------
- Fixed bug in kernelpls.fit() that resulted in incorrect results when fitting
  mulitresponse models with fewer responses than predictors

User-visible changes:
---------------------
- The default convergence tolerance limit (when fitting multiresponse models)
  in oscorespls.fit() has been changed

- Changed default radii in corrplot()

- kernelpls.fit() now returns loading.weights

- crossval() now checks whether the model was fit with a `data' argument


Changes in 1.2-0
================

New features:
-------------
- Line plot parameter arguments have been added to predplotXy(), so one can
  control the properties of the target line in predplot().

- The `mvr' method for predict() now handles missing data like the `lm'
  method does (the default is to predict `NA').

- fitted() and residuals() now return NA for observations with missing values,
  if na.action is na.exclude.

Bug fixes:
----------
- `ncomp' is now reduced when it is too large for the requested 
  cross-validation.

- The (optional) plot parametres `cex' and `font' were incorrectly matched
  with `cex.main' and `font.main' in predplot().

User-visible changes:
---------------------
- The `mvr' method for predict() now checks the number of coloumns of
  `newdata' when it is a matrix.

Internal changes:
-----------------
- MSEP() and RMSEP() are now generic, with methods for `mvr' objects.

- loadingplot() is now generic, with a default method that handles matrices and
  objects whose loadings() method return a matrix.

- A new function loadings().  It is generic, with a default method that
  handles `prcomp' objects and anything with a `loadings' component.

- scoreplot() is now generic, with a default method that handles matrices and
  objects whose scores() method return a matrix.

- The `prcomp' method for scores() has been removed.  The default method now
  handles `prcomp' objects as an exception.  scores() now also attaches the
  explained variances (if available) as the attribute `explvar'.

- compnames() now handles matrices as well as objects with score matrices

- explvar() now also hanles score and loadings matrices

- mvr() now returns a `na.action' component.

- new internal functions fitted.mvr(), residuals.mvr() and naExcludeMvr() to
  handle observations with missing values.


Changes in 1.1-0
================

New features:
-------------
- mvr, mvrCv and predict.mvr now has support for scaling of X.

- A new function stdize (with predict and makepredictcall methods) for
  explicit centering and/or scaling.

- Correlation loadings plot (corrplot).

- New argument `varnames' in coefplot, to label the x tick marks with the
  variable names. 

- loadingplot now uses the `labels' argument to label x tick marks when
  'scatter = FALSE'.

- loadingplot, coefplot and plot.mvrVal can now display legends, with the
  argument 'legendpos'.

User-visible changes:
---------------------
- mvr and model.matrix.mvr now removes the prepended term name from colnames
  of X when there is only one term and it has colnames.

- The plot functions now avoid setting defaults for graphical parametres
  explicitly, wherever possible (e.g. lwd = NULL instead of lwd = 1).  That
  way, par() settings are respected.

- Most "handled" graphical parametres have been added to the formal argument
  list (for most functions: xlab and ylab).

Internal changes:
-----------------
- New functions compnames, prednames and respnames, used in plot and summary 
  functions. 

- Some minor internal changes in the plot and summary functions.

- Allows `method = "model.frame"' in mvr, plsr and pcr.

- New method model.frame.mvr.

Documentation:
--------------
- Added missing output component `Yloadings' to oscorepls.fit.Rd

- Added/fixed a couple of references.


Changes in 1.0-3
================
- mvrCv.R: Bugfix; added ^2 to R2 calculation

- predict.mvr.R: Fix handling of `newdata' such that checks of the dimensions
  of the variables found, are performed.  Also allow a matrix (without any
  checks).  In addition, a small fix for matrices without row names.

- loop revision in mvrCv.R

- Store data sets in binary form

- mvr.Rd: Added more explicit information about the formula argument.

- Numerous small clean-ups in the .Rd files


Changes in 1.0-2
================
- Added encoding information to DESCRIPTION and *.Rd
