$Id: CHANGES 151 2007-10-17 13:03:06Z bhm $

Changes in 2.1-0
================

New features:
-------------
- Jackknife variance estimation of regression coefficients are now available.
  (Note that the actual implementation is experimental, and could change in
  the future.)

- The `wide kernel' PLS algorithm has been implemented.  It is faster than the
  other algorithms for very wide data.

- The plot functions for coefficients, predictions and validation results
  (R2, (R)MSEP) have gained an argument `main' to set the main title of the
  plot.

- mvr() and mvrCv() now check for near zero standard deviation when autoscaling
  (`scale = TRUE')

User-visible changes:
---------------------
- plots that go over several pages now only set `par(ask = TRUE)' if the plot
  device is interactive (suggested by Kevin Wright).

- The definition of R^2 has been changed to  1 - SSE/SST for all estimators,
  so R2() will give different results for test sets and cross-validation.

- The handling of NAs in prediction, R2, (R)MSEP and cross-validation has been
  improved (and several bugs fixed).

Bug fixes:
----------
- coefplot(), predplot.mvr() and validationplot(): xlab/ylab/main were added
  too early, so they disappeared on the last plot when nCols == nRows == 1.

- loadingplot.default() didn't check for NULL rownames().

Internal changes:
-----------------
- The (R)MSEP/R^2 calculations have been reorganised.

Documentation:
--------------
- A couple of functions have been given the keyword "internal", and so are
  hidden from the index.


Changes in 2.0-1
================

Bug fixes:
----------
- Fixed 1-component bugs in oscorespls.fit() and svdpc.fit()

- Fix to recognise negative numbers as numeric variable names in
  loadingplot and coefplot

- Removed non-ASCII characters from comments in R files (these gave
  warnings/errors when checking on Macosx)


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
