Package: PRIMsrc

---------------------------------------------------------------------------------
Date   : 2015-07-28
o RELEASE 0.5.7
- Initial release to CRAN.
- Compliance with new R CMD check, which now checks code usage via "codetools".
  Functions and packages from default packages other than base which are used in the package
  code are now imported via the package namespace file (NAMESPACE).
  Added new field 'Imports' in the package description file (DESCRIPTION) 
  to match the functions and packages newly imported via NAMESPACE.
- Added Cumulative Hazard Summary statistic (derived from the Nelson-Aalen estimator) 
  as new peeling criterion option in the PRSP algorithm.
- Built and tested under R-devel (2015-07-20 r68705) and release update to GitHub. 
---------------------------------------------------------------------------------
Date   : 2015-08-28
o RELEASE 0.5.8
- Removed pre-selection of variables (covariates) by regular Cox-regression
  and made the remaining Elastic-Net pre-selection of variables optional by
  passing an additional argument in the main function sbh().
- Main function `sbh()` now returns the parameters used for configuring the parallelization.
- Replaced real dataset #2 of breast cancer data with lung cancer data for reason of size.
- Added S3-generic `print` function and updated S3-generic `summary` function.
- Created a new internal subroutine cv.presel() for (optional) variable pre-selection.
- Changed main argument of plot functions from `x` to `object`.
- Minor corrections in the manual.
- Built and tested under R-devel (2015-08-02 r68804) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-09-07
o RELEASE 0.5.9
- Replaced plotting function `plot_scatter(...)` by S3-generic `plot()` function.
- Corrected all plotting functions for the case of a NULL graphical device.
- Cross-validated estimates of box endpoint quantities of interest now contains 
  sample size for all peeling steps.
- Minor updates and corrections in the outputs of S3-generic functions.
- Minor updates and corrections in the documentation file and manual.
- Built and tested under R-devel (2015-08-02 r68804) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-09-15
o RELEASE 0.6.0
- The matrix of original dataset is now returned by the main function `sbh()` 
  and not the submatrix of pre-selected covariates only.
- Corrected bugs in the output of main function `sbh()`: 
  . the returned vectors of 'screened' and 'used' covariates are now in reference 
    to the original index of variables.
  . the value of traces and rules are now matched accordingly.
- The value of `object$cvfit$cv.trace` of the `PRSP` object that is returned 
  by the main function sbh() now only contains the vector of the modal trace values 
  of covariate usage at each step.
- Updated S3-generic `print()` function as well as `plot_boxtraj()` and `plot_boxtrace()` accordingly.  
- Minor updates and corrections in the documentation file and manual.
- Built and tested under R-devel (2015-09-14 r69384) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-10-11
o RELEASE 0.6.2
- Rename example datasets #4 and #5 into #1b and #4, respectively, 
  for consistency with companion article.
- Added argument `decimals` to main function `sbh()` to output results in
  user-specified significant decimals.
- Added examples for all S3-generic functions.
- Corrected output of decision rules in S3-generic `print` function in case `vs=TRUE`. 
- Renamed results 'varsign', 'selected' and 'used' to 'CV.sign', 'CV.selected' and 'CV.used' and
  moved them to 'cvfit' field of return `PRSP` object.
- Minor improvement in output plot axes names of `plot_boxtrace()` function.  
- Updates of corresponding modifications in the documentation file and manual.
- Built and tested under R-devel (2015-09-14 r69384) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-11-16
o RELEASE 0.6.3
- Changed random splitting in the cross-validation step to random stratified splitting 
  with/by conservation of events.
- Changed default values of metaparameters `alpha` to 0.05 (instead of 0.10) 
                                           `minn` to 5     (instead of 10).
- Modified computation of replicated cross-validated maximal peeling length in order to avoid 
  getting below the minimal box support threshold (i.e. the greater of `beta*n` or `minn`) 
  that could occur when combining results from the cross-validation loops and replicates. 
- Corrected behaviors in case `n` is less than `minn` and `n` is equal to `minn`.
- Corrected minor errors in `list2array()` and `list2mat()` internal functions.
- Corrected minor errors in `plot()` and `predict()` S3-generic functions.
- Updates in the manual file, including added explanation about the outputs of 
  averaged covariate traces, box membership indicators and box decision rules.  
- Updates in the CITATION file.  
- Built and tested under R-devel (2015-11-04 r69597) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-05-30
o RELEASE 0.7.0
SIGNIFICANT USER-VISIBLE CHANGES
- Renamed class object `PRSP` by `sbh`.
- Renamed input value `arg` by `cvarg`.
- Renamed input value `cpv` by `pv`.
- Renamed input value of `parallel` by `parallel.rep` and added two more parallelization options 
  `parallel.vs` and `parallel.pv` for variable screening (pre-selection) 
  and computation of p-values, respectively.
- Renamed output value `selected` by `screened`.
- Removed input value `cvcriterion`. Now specified in `cvarg` (see below).
- Removed options `NULL` and `none` from cross-validation type `cvtype` and criterion `cvcriterion`.
- Removed argument `thr`. Now done internally.
- Added new user option `cv` in main function `sbh()` for optional cross-validation.
- Added new user option `vs` in main function `sbh()` for optional variable screening (pre-selection) procedure.
- Added new user option `vstype` in main function `sbh()` for variable screening (pre-selection) type.
- Added new user option `vsarg` in main function `sbh()` for variable screening (pre-selection) parameters.
- Added new user option `onese` in main function `sbh()` for using the 1SE rule.
- Added new user option `verbose` in main function `sbh()`.
- Modified user input in main function `sbh()` by using (`X`, `y`, `delta`) instead of `dataset`.
- Modified `sbh()` output values of `object$cvfit$cv.rules` and `object$cvfit$cv.sign` of the `sbh` object. 
  Results now contain `used` (selected) covariates instead of `screened` (pre-selected) ones.
- Changed default value of replications `B` to 30 (instead of 10).
- Changed default value of metaparameter `alpha` to 0.01 (instead of 0.05).
- Changed format and values of argument `conf` for setting up the parallel backend in case a parallel 
  cluster of computers is desired. 
NEW FEATURES
- Implemented four variable screening (pre-selection) procedures before variable usage (selection) procedure is done. 
  User can now choose between: 
  1. PRSP: Univariate Patient Recursive Survival Peeling (PRSP) algorithm
  2. PCQR: Penalized Censored Quantile Regression by Semismooth Newton Coordinate Descent algorithm adapted from package "hqreg"
  3. PPL: Penalized Partial Likelihood adapted from package "glmnet" (default)
  4. SPCA: Supervised Principal Component Analysis adapted from package "superpc"
- New `sbh()` output values in `object$cvprofiles` of the `sbh` object (in matrix format) to plot 
  cross-validation criterion as a funtion of both variables screening size profiles 
  and peeling length profiles, as it applies.
BUG FIXES
- Improved treatment of no variable pre-selection.
- Removed extraneous codes in main function `sbh()`.
- Corrected rare error in the determination of cross-validated parameter tuning in `cv.ppl()` and `cv.pcqr()` 
  for variable selection procedures 2 and 3 above, respectively.
- Corrected discrepancy in a given step between `object$cvfit$cv.boxind` and `object$cvfit$cv.stats`. 
- Corrected internal function `cv.folds()` to handle degenerate cases of cross-validation and the case 
  when an outcome `y` is not provided (in which case a regular random splitting is performed that is not 
  supervised stratified).
- Simplified management of replications in case of failure: any failed replication is simply removed.
- Corrected number of replications to match the exact same number as user request and not a multiple 
  of the number of available cpus.
- The seed now applies to the computation of permutation p-values.
UTILITIES
- Updated real dataset #2 of lung cancer genomic data (miRNA) to inlude 5 additional clinical variables.
DEPRECATED AND DEFUNCT
- Management of parallelization is now done by specific user input, independently of `cvtype` 
  and `cvcriterion` options.
- Parallel cluster or communication mechanism now only allows type 'Socket' or 
  'Message-Passing Interface' ('MPI'). "PRIMsrc" no longer supports 'Parallel Virtual Machine' ('PVM').
PACKAGE INSTALLATION
- Corrections and updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS, CITATION and README).
- Built and tested under R version 3.4.0 (2017-04-21) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-06-24
o RELEASE 0.7.1
BUG FIXES
- Corrected PRSP variable screening procedure in the case `cvcriterion`=`cer`: the procedure now looks 
  for a minimizer instead of the maximizer of the profile.
- Corrected misbehavior of PCQR and PRSP variable screening procedures when one replication could fail.
- Minor correction in the precision of computation of log-rank p-values if no cross-validation is requested:
  Now default to `decimals` parameter.
PACKAGE INSTALLATION
- Corrections and updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.0 (2017-04-21) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-07-18
o RELEASE 0.7.2
BUG FIXES
- Corrected return value of the 1-SE optimal value in cross-validated variable screening subroutines 
  in case the cross-validation could fail.
- Corrected return values of screened variables (with directions of directed peeling) in case the cross-validation 
  could fail.
PACKAGE INSTALLATION
- Corrections and updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.1 (2017-06-30) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-08-07
o RELEASE 0.7.3
SIGNIFICANT USER-VISIBLE CHANGES
- Changed default values and behavior of parameters 'S' and 'L' in the PRSP variable screening procedure 
  and PRSP algorithm itself, that are used for the cross-validation of the optimal model size (cardinal of 
  subset of top-screened variables) and the optimal number of peeling steps (optimal peeling sequence length). 
  See manual.
BUG FIXES
- Updated S3-generic `plot()` function. The scatterplot is now drawn only if the number of used covariates 
  of the `sbh` object is greater than two.
PACKAGE INSTALLATION
- Corrections and clarifications in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.1 (2017-06-30) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-09-24
o RELEASE 0.7.4
SIGNIFICANT USER-VISIBLE CHANGES
- Simplified user experience by removing the PRSP parameter `minn` that was redundant with `beta`.
- Simplified user experience by removing the PRSP parameter `L` used in the PRSP variable screening 
  procedure and for fitting the Survival Bump Hunting model itself that was redundant with the automatic 
  cross-validation option. The optimal number of peeling steps (optimal peeling sequence length) is 
  now determined systematically by cross-validation. See manual.
- Changed name and default value of parameter 'S' in the PRSP variable screening procedure to 'msize' 
  and NULL, respectively. See manual.
UTILITIES
- Improved speed of the PRSP variable screening procedure. 
BUG FIXES
- NA values are now correctly handled in the internal function `is.empty()`.
- One-step only peeling is now correctly handled by the PRSP algorithm.
- Vector of peeling steps in S3-generic `predict()` and `plot()` functions now correctly handled.  
PACKAGE INSTALLATION
- Corrections and clarifications in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.1 (2017-06-30) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-11-01
o RELEASE 0.7.5
BUG FIXES
- Corrected variables names mismatch when no variable screening was requested.
- Corrected handling of missing values in internal functions of package "survival".
- Corrected handling of no cross-validation case in the SPCA variable screening procedure.
PACKAGE INSTALLATION
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.2 (2017-09-28) and release update to GitHub.
---------------------------------------------------------------------------------

