0-9.17
- New internal function .checkinput() does improved common input preprocessing for penalized(), cvl(), profL1(), profL2(), optL1() and optL2(), removing much code duplication. The function replaces .prepare() which previously did part of the common input preprocessing.
- Streamlining in .checkinput() also made the functions .lmgamma(), .coxgamma() and .logitgamma() obsolete.
- A new function .getFolds() for calculating cross-validation folds also removd much duplicated code.
- The possibility of giving different lambda1 or lambda2-values for different covariates has been removed, as it was badly implemented. The option may return in the future.


0.9-16
- Changed the input checks to allow the format penalized(response~unpenalized, penalized). This is in line with functions such as lme.
- Fixed a bug in .coxmerge() that resulted in alignment mistakes in the cross-validated predicted survival curves.
- Added the advice to the vignette to add an L2 penalty in case of multi-level factors.


0.9-15
- Fixed a bug in penalized() and all cvl-functions that sometimes caused name conflicts because the terms of user-supplied formulae would first be evaluated in the package name space. All eval() calls are now explicitly directed to the correct environment.


0.9-14
- New method basesurv() returns the baseline suvival.
- basehaz() now returns the baseline hazard instead of the baseline survival curve.
- The center argument in basehaz() and basesurv() implemented.
- linear.predictors() method added for penfit objects.
- Missing documentation of fitted.values() added.
- as.data.frame() method added for breslow objects.