Changes to package FrF2 

The package is still under development. 
Suggestions and bug reports are very welcome.

Version 2.3-5, May 2026
  - adapted igraph calls to new function names (graph.empty() -> make_empty_graph(), 
    add.edges() -> add_edges(), independence.number() -> ivs_size(), 
    clique.number() -> clique_num(), permute.vertices() -> permute()) in functions
    mapcalc.block, estimable.2fis, colpick and CIG

Version 2.3-4, April 2025
  - fixed CRAN notes regarding non-anchored links to documentation of package DoE.base

Version 2.3-3, September 2023
  - removed reliance of example on suggested package BsMD, on request by CRAN team

Version 2.3-2, August 2023
  - removed non-UTF8 special characters, on request by CRAN team

Version 2.3-1, June 2023
  - made numeric_version argument character instead of numeric,
    on request by CRAN team

Version 2.3, May 2023
  - made the Godolphin method default 
    to alias.block.2fis
    (override possible, or block.old=TRUE for old behavior)
  - adapted documentation for FrF2 und block
  - adapted test output to the new blocking strategy for alias.block.2fis=TRUE
  - added the ... argument in the IAPlot.default call for blocked designs, 
    and added las argument to default methods of IAPlot and MEPlot 
    (las=1 is a good choice)
  - bugfix: function colpick (Godolphin method) 
    threw an error for k < 2^(q-1) 
    (few large blocks relative to run size), 
    because it used only columns with first element zero 
    for the X matrix
  - changed encoding to UTF-8
  - fixed note regarding "Escaped LaTeX specials"
  - fixed notes regarding print method for wordlist and wordlist4 objects

Version 2.2-3, 09/05/22
  - adapted design methods for MEPlot and IAPlot 
    to handle blocked design objects by ignoring block factor
    (they threw an error before)
  - adapted design method for DanielPlot to throw a specific error 
    for blocked designs: it now recommends the use of function 
    halfnormal from package DoE.base (threw a misleading error before)
  - updated maintainer contact details
  - updated references to published papers rather than preprints
  - updated several URLs to https
  - removed LazyData entry in description
  - reformatted NEWS file (switched version and data)

Version 2.2-2, 29/05/20
  - bug fix for function makecatlg: 
    the clear 2fis were not determined correctly
    (there were too many of them)
  - Modified the documentation accordingly

Version 2.2-1, 29/05/20
  - function colpick did not exclude X matrices with less 
    than full row rank for some situations
  - removed version information from test output (one spot)
    and adapted test output to current R

Version 2.2, 23/04/2020
  - The full factorial case with blocking for non-catalogued
    cases has been moved to the Godolphin strategy, since this 
    usually yields much better designs. 
    (This fixes a bug of versions 2.0 and 2.1, 
    for which blocking full factorials 
    that were neither covered by published catalogues nor 
    involved an estimability requirement did not 
    work (error message).) Such cases are now covered by 
    the Godolphin method. 
  - The block.gen elemenent of the design.info attribute of 
    blocked FrF2 designs now reports Yates column numbers, 
    and the generator columns from block.gen are not
    included in the base design's generator columns any more.
  - The design.info attribute of blocked FrF2 designs 
    has gained a block.old element (block.old is the function 
    argument for requesting the old blocking strategy for cases 
    that are by default treated by the Godolphin method since 
    version 2.0 of FrF2).
  - The alias information for blocked designs with manually 
    specified individual block factors does no longer report 
    aliasing for the block factors among the aliases for the 
    treatment factors. It only provides block effects 
    under "aliased.with.blocks".
  - The new argument force.godolphin allows to override the 
    default blocking strategy of function FrF2 for small cases 
    that would normally be covered by the old strategy.
  - colpick has become faster for full factorials without 
    estimability requirements, and works now for more 
    than 50 factors
  - catlg has been augmented by additional dominated fractions 
    in support of blocking with the Godolphin approach:
      - non-MA fractions for 128 runs with up to 11 factors, 
        for which there were only the high-resolution MA 
        fractions before
      - the MA even fractions for up to 24 factors, 
        which are the best fractions that can be blocked 
        into blocks of size 2 
        (without these, blocking into blocks of size 2 
        was impossible for the larger cases and used 
        a worse designs than necessary for the smaller cases)
    The documentation has been updated accordingly.
  - added a function makecatlg for creating a catalogue 
    from a vector of generators (needed for using function 
    colpick with such generators)
  - added an internal function clear2fis_from_profile 
    for supporting experts in playing with the Godolphin method
  - A warning was added to the (dontrun) interrupt example in 
    FrF2 documentation, because this can crash R, 
    depending on igraph versions.
  - The interrupt example in CIG documentation was replaced by 
    a smaller non-dangerous one.
  - The CIGs in example code for function CIG were beautified 
    by assigning reasonable colors.
  - function clear.2fis.catlg now mends the one clear 2fi 
    case for catalogues for which this does not hold 
    a one-column matrix but a length 2 vector
  - added test cases to FrF2 tests: 
      - for the Godolphin variant of a full factorial 
      - for full factorials (unblocked or blocked) with center points
      - for a blocked design with more than 50 factors
  - added a test case for function colpick with more than 50 factors 
  - set stringsAsFactors argument for cbind and data.frame to TRUE 
    also for function FF_from_X (so that these work in the same way,
    regardless of users' stringsAsFactors settings)

  Bug fixes:
  - blocking for full factorials did not work for some cases 
    (see first bullet above)
  - adding center points to blocked designs failed, 
    if center points were to be distributed over too many places; 
    added a fix for feasible cases and error messages for others 
    (thanks to Chris Nachtsheim for the bug report)
  - The documentation wrongly claimed that FrF2.catlg128 
    contains complete catalogues. This has not been correct 
    since version 1.1 of that package: 
    FrF2.catlg128 comes without any even designs in 
    versions 1.1 and 1.2-x; this was very reasonable, 
    while clear 2fis were the only purpose for providing 
    these fractions. Now, omitting even designs 
    implies that blocking into size 2 blocks is not supported; 
    the documentation has been corrected w.r.t. completeness 
    of FrF2.catlg128. 
    That package may be supplemented by additional fractions 
    again in a separate update (though providing a complete 
    catalogue with also the even fractions is not an option 
    because of their huge number for larger cases).

Version 2.1-1, 09/03/2020
  Several changes were made in order to prepare for R version 4.0 
  (new stringsAsFactors default in R CMD check and R)
  - added stringsAsFactors=TRUE to data.frame and cbind calls in FrF2, FrF2Large and pb
  - added stringsAsFactors=TRUE to a data.frame call and various cbind and rbind 
    calls in fold.design
  - added stringsAsFactors=TRUE to several cbind and rbind calls in add.center
  - changed BsMD from Imports to Suggests

Version 2.1, 18/08/2019
  Major change for new blocking with estimability features: changed algorithmic strategy    to do subgraph isomorphism checks for each candidate X:
  - changed the strategy in function colpick to do the subgraph isomorphism 
    check for each blocking X matrix. 
    The workhorse function for this is function mapcalc.block.
    The previous function colpick was renamed to colpickIV (not exported, 
    but callable from FrF2 by useV=FALSE).
  Further improvements for the methodology:
  - added argument ignore.dom to FrF2 with suitable 
    default, in order to include non-dominating 
    catalogue elements in the search
  - added argument ignore.dom to internal function mapcalc, 
    in support of the above
  - allowed specification of design name with estimable in FrF2 
    (will always trigger ignorance of dominating entry)
  - made error messages of FrF2 more informative
    for combination of blocking and estimable designs
  - added argument res3 to function colpick and colpickIV, and made the 
    functions generally suppress dominating check in mapcalc
  - made estimability with blocking respect choices for method and 
    sort option in subgraph isomorphism checks
  - excluded X matrices with less than q different columns 
    in functions colpick and colpickIV
  - changed functions colpick and colpickIV 
    to also attempt maximum possible 
    number of clear 2fis when blocking with a requirement CIG
    (can be suppressed with firsthit=TRUE, which has also 
    become an argument for function FrF2)
  - added a new light-weight function FF_from_X in order to 
    allow implementation of blocking with hand-crafted X matrices
  - added simple functions for creating X matrices
  - added correct link to technical report for new blocking 
    with estimability features
  - changed the sort order of the profiles output from 
    function colpick in case all=TRUE to comply with 
    Godolphin's paper and technical report

Version 2.0, 09/08/2019
  Major changes:
  - added the possibility to request estimable 2fis 
    (with clear=TRUE only) together with blocking
    (supported by the new blocking functions, 
    see below)
  - improved speed of creating manual blocked designs
    (new internal function blockfull; 
    use blockfull instead of aliases in function FrF2 
    for blocked designs)
  - added quality checks for manual block specifications 
    (enabled by previous bullet)
    - adjusted examples to not throw errors from these
    - adjusted test cases to not throw errors from these
  - improved algorithm for creating blocked designs 
    with large number of blocks or factors, 
    based on Godolphin 2019
    (blockpick.big abandoned; supported by internal function and 
    blockgengroup, as well as user-visible functions 
    blockgencreate, phimax, colpick and Xcalc)
  - created specific test cases for the new functionality
  - implemented option block.old so that the old blockpick.big 
    methodology is still available 
    (internal function FrF2old, called from FrF2, 
    if block.old is set to TRUE and blocking is requested)
    
  Minor changes and bug fixes:
  - added character string method for catalogue accessors, 
    so that these can be used on a vector of design names 
    for catalogue catlg
  - support making CIGs include singletons for character and matrix 
    representations through new argument nfac
  - throw error if WP arguments are set without specifying WPs
  - (serious bug!) bugfix for WP with generators: 
    generator columns are no longer  
    re-ordered or omitted in design.info;
    this also fixes previous errors in summaries of WP designs with generators.
  - changes to DanielPlot: 
      - apply cex.lab also for subtitle, 
      - and change position of point labels to be farther from points 
        (adj=0 changed to pos=4)
      - returned data.frame has effect names 
        no longer as a factor but in character vector

Version 1.7-3, 03/05/2019
  - documented how to reproduce designs 
    created by R versions prior to 3.6.0 with 
    R versions 3.6.0 and later (due to the changed behavior 
    of function sample, default randomization changed) 
    in the instructions for argument seed and in a 
    "Warning" section for functions pb, FrF2 and FrF2Large
  - show the entire output of function str again 
    (strOptions(drop.deparse.attr=FALSE)) in tests
  - adjusted the test output to reflect the new default
    randomization behavior

Version 1.7-2, 29/09/2016
  - replaced require to requireNamespace for suggested package
  - changed namespace and description files to conform with latest 
    R checking rules
  - adapted test output to changes in base R (all functions) 
    and to a bug fix in function rerandomize.design
    of package DoE.base (add.center tests)


Version 1.7-1, 31/07/2014
  - MEPlot and IAPlot now invisibly return the estimated values 
    so that the plots can be accompanied by tables, if desired.
  - fixed documentation file CIG.Rd, 
    replacing .FrF2.currentlychecked by FrF2.currentlychecked()
  - documented DanielPlot name clash with BsMD, 
    and how to nevertheless access FrF2::DanielPlot
  - removed import of function as.integer.basedInt from sfsmisc
    and made FrF2 import from version >= 1.0-26 of sfsmisc
  - moved an example to don't run section, 
    in order to prevent issues under periodical Valgrind test runs


Version 1.7, 27/02/2014
  - added the LAD algorithm for checking for clear designs.
    Note: With this change, version 0.7 of package igraph 
    is required.
    
    For the moment, LAD has to be requested by option method in 
    function FrF2, while the default is the previously 
    used VF2 algorithm. 
    In the future, as LAD has been reported to be much faster for very slow  
    cases of VF2, LAD may become the default.
  - adjusted documentation to the change, and added / updated related references

Version 1.6-9, 11/01/2014
  - added citation info for Journal of Statistical Software paper

Version 1.6-8, 13/09/2013
  - bug fix: imported function combn from package utils, 
    in order to allow proper functionality when package combinat is added 
    to the search path later
  - moved many packages to Imports rather than depends, 
    and adjusted example code and test code accordingly

Version 1.6-7, 16/08/2013
  - moved function halfnormal to package DoE.base, 
    and extended its functionality
  - modified function DanielPlot from the previous plotting positions 
    identical to the function from package BsMD to more canonical ones using 
    function ppoints (points are identical to the ones 
    used by function halfnormal in package DoE.base for halfnormal plots)
  - modified function DanielPlot to use critical values for Lenth's method 
    that are determined by simulation where available 
    (the original critical values by Lenth are known to be conservative)
  - slightly enhanced the help file to BsProb.design
  - modified the NAMESPACE file in order to avoid a note in R-patched/R-devel
  - removed triple colon access to methods from other packages
    
Version 1.6-6, 18/04/2013
  - modified automatic load of package FrF2.catlg128 to work with the lazy 
    load version of that package (version 1.2) and to avoid usage of the 
    command data() which has been banned by CRAN policy
  - modified maintainer e-mail address
  - modified example and corrected comment text on example for hard-to-change 
    factors in the splitplot documentation file
  - mentioned in FrF2 documentation that option MaxC2 is ignored when using  
    the estimable functionality, and discouraged the use of that option
  - fixed function CIGstatic to work as advertised

Version 1.6-5, 22/03/2013
  - made usage of catalogues from package FrF2.catlg128 more comfortable:
    the package and catalogue is now loaded automatically, if a catalogue 
    from that package is requested with option select.catlg of function FrF2
  - blocking designs did not work for full factorials with more than 
    256 runs; this functionality has now been added.
  - blocking variable was a character column instead of a factor 
    for any blocked design with bbreps > 1, which lead to warnings 
    in modeling functions; now it is a factor also for this situation, 
    with adequately ordered levels
  - the run.order attribute for blocked and split plot designs did not yield 
    helpful standard order run numbers; this has improved to some 
    extent, and has been documented more clearly. Further unification with 
    unblocked designs was not done, because the easy way to do it 
    would have led to changes in the created designs 
    between versions, which would be quite undesirable.
  - function add.center did not handle the run.order attribute of the design 
    well: center points had entries "0" only for run.no.in.std.order 
    and run.no.std.rp; this has been rectified so that the block and replication 
    information is also retrievable from the run.order attribute
  - bug fix: the element res.WP for split plot designs with manually specified 
    whole plot factors was not populated with information; this has been fixed.
                            
Version 1.6-4, 12/02/2013
  - modified treatment of .FrF2.currentlychecked once again, 
    now using an internal environment, because the other solution 
    did not work with R versions before 2.15

Version 1.6-3, 12/02/2013
  - function BsProb.design was modified to use function BsProb from BsMD rather than 
    directly accessing the Fortran routine from that package
  - refer to function alias from package stats via stats::alias, 
    in case a user has loaded package planor, which overrides that function 
    (in function aliases)
  - modified treatment of .FrF2.currentlychecked (included in sysdata.rda, 
    modified via assignInMyNamespace, instead of earlier storage in global 
    environment; function to access it)

Version 1.6-2, 14/08/2012
  - Function CIG gained possibilities for graphing requirement set CIGs
  - new functions gen2clear.2fis and gen2CIG in support of investigating the CIG behavior 
    for given generators
  - modified dominating entry in entries of catlg: all NA entries for designs without 
    clear 2fis were changed to FALSE

Version 1.6-1, 20/07/2012
  - further improvement of search speed for clear designs, sometimes very substantial:
    presorting of CIGs w.r.t. degrees of vertices

Version 1.6, 10/07/2012
  - added two further pre-filtering criteria for clear designs, 
    the clique number (size of largest clique at least as required by the requirement set) 
    and the independence number (size of largest independent set at most as large as in 
    requirement set)
  - introduced some improvements to function CIG:
    - plotting can now be suppressed
    - if plotting is suppressed or a static plot is produced, the function returns 
      a graph instead of a list with a single graph element
    - the argument design can also be a one element catalogue of class catlg 
      instead of a character string
    - improved the documentation of function CIG

Version 1.5, 29/06/2012
  - added an element to catalogue entries in catlg in order to speed up search for 
    clear designs (following a 2012 Technometrics paper by Wu, Mee and Tang)
    and modified function mapcalc accordingly (should speed up estimable 
    with clear 2fis)
  - added an accessor function dominating.catlg
  - made catalogue accessor functions generic with method for class catlg 
    (except for all.2fis.clear.catlg)
  - modified documentation of catlg and its accessor functions accordingly
  - changed estimable functions and function CIG 
    to work with new version of package igraph 
    and changed dependence back from igraph0 to igraph
  - added globalVariables() in file aaa.R and renamed one internal function 
    for getting rid of Notes in R CMD check

Version 1.4-1, 18/05/2012
  - replaced package igraph with igraph0 on request of the igraph author

Version 1.4, 17/03/2012
  - modified the aliased and aliased.with.blocks elements of design.info
    for blocked and split-plot designs (more succinct, same structure as for 
    other FrF2 designs in some cases, verbal description in others)
  - modified block.gen element of design info to always contain Yates matrix column 
    numbers, even when explicit extra block factors exist (be it from blockpick.big 
    or by user specification (like in the Day/Shift example); because of this 
    change, it is necessary to use at least version 0.23-2 of package DoE.base 
    for summary and generators functionality (with previous versions, 
    the summary of large blocked designs (created using function blockpick.big) 
    was confusing regarding the block generators.

Version 1.3-1, 04/03/2012
  - Bug fix: A change to function formula.design for Plackett-Burman designs 
    in version 0.23 of DoE.base made Daniel plots from pb designs loose their 
    points for error dummies. Fixed with version 0.23-1 of DoE.base (new option use.dummies) 
    and an update to function DanielPlot in this package 

Version 1.3, 28/02/2012
  - added the 100 run PB design
  - modified column ordering for several designs in function pb 
    for improving aliasing behavior of resulting designs, 
    allowing to preserve previous behavior with option oldver
  - added warnings to function pb for designs with heavy aliasing
  - added number of dummy factors to design.info attribute for 
    pb designs (ndummies)
  - renamed function CIG.catlg to CIG 
    (in order to avoid misunderstanding it as method for class catlg)
  Bug fixes:
  - internal function check.subisomorphic.special precluded estimable 
    to work with a one effect requirement for clear=FALSE and res3=TRUE
  - nrunsV did not report correct number for nfactors= 2 or 3 
    (started with 16 run designs and ignored full factorials in 2 and 3 factors)
  - an error message of function FrF2Large still referred to the old preliminary 
    function name Vlarge
  - corrected documentation of function CIG (formerly CIG.catlg); 
    half-finished working version of this documentation was online

Version 1.2-10, 15/11/2011
  - moved function iscube from package FrF2 to package DoE.base 
    and extended its applicability
  - made package depend on version 0.22-8 of DoE.base (which contains iscube)

Version 1.2-9, 07/11/2011
  - made function add.center cater for adding 0 center points 
    (in support of the (not recommended) desire to have a central composite 
    design with center points in the star portion only)
  - made function iscube work for designs with 0 center points
  - made error message for full factorials 2-level designs with center points 
    more meaningful 

Version 1.2-8, 08/08/2011
  - bug fix: fold.design did not work on designs 
    created with function pb (contrary to what was 
    documented) 

Version 1.2-7, 05/08/2011
  - removed function factorize and 
    changed dependence on sfsmisc 
    to selective import of a few functions, 
    in order to avoid overriding of function factorize 
    from conf.design with the sfsmisc version 

Version 1.2-6, 03/08/2011
  - included conf.design version of function factorize (a generic) 
    to prevent sfsmisc version from overriding it

Version 1.2-5, 29/07/2011
  - implemented combination of options resolution and hard, 
    which led to an error before
  - fixed bug that led to randomization of whole plots for some cases 
    for hard to change factors, and modified help entry for option hard 

Version 1.2-4, 21/07/2011
  - fixed small bug that led to a warning in FrF2 estimable applications

Version 1.2-3, 06/06/2011
  - added coding information to all designs with center points 
    (done in add.center function) in support of using these for steepest ascent 
    analysis)
  - introduced different plot symbols for whole plot and split plot effects in 
    function DanielPlot.design, and printed a warning regarding 
    different reference variances; augmented output data frame to allow subsequent 
    separate plotting if necessary
  - introduced new function halfnormal, which can be used for creating half normal 
    plots from arbitrary vectors of effects, e.g. from the x-column in the 
    output data set of function DanielPlot (useful for separate plotting of 
    split plot and whole plot effects)
  - introduced error message for the case where users give generators with nfac.WPs 
    but without WPfacs; in that case, generators were ignored without an error message
    or even a warning
  - fixed generators.summary.test.r, which contained an illegal (and ignored) 
    usage of generators together with WPs and nfac.WP but without WPfacs

Version 1.2-2, 07/01/2011
  - speed improvement for estimable interactions with clear=TRUE:
    excluded all designs from running the subgraph isomorphism check, 
    for which the table of vertex degrees is incompatible with the 
    requirement set; 
    while this change slightly deteriorates speed for well-behaved situations, 
    it dramatically improves speed for critical situations

Version 1.2-1, 31/01/2011
  - made run.no.in.std.order a factor with properly ordered levels 
    for functions pb, FrF2 and FrF2Large
  - made option res3 of function FrF2 effective also for MaxC2 
    (maximization among all designs instead of highest resolution only)
  - introduced function BsProb.design for convenient application of the 
    Box and Meyer Bayesian screening method from package BsMD to FrF2 and 
    pb designs

Version 1.2, 30/10/2010
 This version update adds many larger designs and functionality for them.
  - added a function FrF2Large for large designs,
    either manually-specified or resolution V based on Sanchez and Sanchez (2005)
  - added a function nrunsV for telling users how many runs are needed for a 
    resolution V design, with what method, and whether it is MA
  - added some internal functions and modified internal function 
    gen.check to become independent of the Yates object
    in order to increase run size that can be treated (by function FrF2Large)
  - updated catlg: 
    - added known MA resolution IV designs in 256 and 512 runs
      according to Xu (2009) and Ryan and Bulutoglu (2010; their appendix)
    - added further good resolution IV designs in 256 (up to 80 factors) and 
      512 runs (up to 160 factors) from the Xu (2009) paper
    - modified catlg in order to have a "1" added for those previously avaialable
      designs that have been proven to be MA (1024 to 4096 runs), 
      and added improved MA designs to catalogue (cf. Ryan and Bulutoglu, appendix);
    - unified catalogue notation between designs larger than 128 and designs up to 128
      (used the notation from up to 128 (also used in FrF2.catlg128), i.e. 
      clear.2fis always as matrix and all.2fis.clear as "all" in case of resolution V
      or higher)
    - documented extended range of additional MA designs


Version 1.1-5, 09/09/2010
- added references to technical reports in help files for estimable 2fis, 
  design catalogue and fractional factorial design generation

Version 1.1-4, 03/08/2010
- reformatted NEWS file for improving display with news() function
- modified function aliasprint
- added class aliases to output objects of function aliases
- added print method for class aliases
- improvements to DanielPlot.design, MEPlot.design and IAPlot.design 
  and DanielPlot.default, MEPlot.default and IAPlot.default (thanks to 
  Andrea Bernasconi for instigating these): 
  - functions DanielPlot.design, MEPlot.design and IAPlot.design now also work 
    for full factorials with only 2-level factors
  - functions DanielPlot.default, MEPlot.default and IAPlot.default give more 
    meaningful error message, if called with invalid object type

Version 1.1-3, 25/06/2010
- bug fix: labels on interaction plots for levels of selected factors 
  were wrong, if not the first few factors got selected.

Version 1.1-2, 25/06/2010
- bug fixes: 
  - MEPlot, IAPlot and DanielPlot did not work 
    on designs in wide formal with aggregated responses from 
    repeated measurements, because of an abbreviated name for 
    the list element response.names in the design.info attribute

Version 1.1-1, 23/04/2010
- added the minimum run size for a clear design 
  to the output object of function compromise and 
  an optional message to this effect
- added catlg.name element to design information for FrF2 designs, 
  in case select.catlg has been used (important for summary.design 
  to properly exploit the design name)
- added 30 further designs in 128 runs to catlg, 
  based on their potential for clear compromise designs
bug fixes: 
- select.catlg did not work properly in function FrF2 
  (which was presumably not consequential, 
  because so far no alternative catalogues were provided)
- print.catlg did not work for non-default catalogues, 
  if nruns was specified

Version 1.1, 24/02/2010
- added large (good but not necessarily MA) resolution V designs from Xu 2009, 
  added hint to even larger non-regular resolution V designs in package 
  DoE.base (from version 0.9-16)
- supported subsequent calculation of generator information for blocked 
  and splitplot designs by updated function summary.design:
  - added map element to design.info for split-plot designs and blocked designs 
    created with blockpick.big
  - modified base.design entry of design.info object for split-plot designs 
    with specified generators: display the original generators in the 
    base design, which is much more logical than presenting the generators 
    after application of splitpick which were there before
  - added an FrF2.version element to design.info in order to allow checking 
    whether the generators can be reconstructed from stored information 
    with function generator.design from package DoE.base
  - added test cases for this feature
Bug fixes:
- SERIOUS BUG: manually specifying dependent block generators led to unwarned 
  mismatch between ouput design and design.info; 
  fixed by throwing an error in case of dependent block generators
- documentation of block option for FrF2 was confusing regarding 
  interpretation of entries in numeric vectors
- made large generator vectors work 
  (length >20 was an issue and led to an error)
- documentation of function FrF2 wrongly called 
  generators element of design.info attribute gen.display
- blockpick full factorial example in manual was (very) old state 
  and worked different from description
- For split-plot designs, the automatic choice of whole plot factors 
  was not always as documented; sometimes, the whole plot factors were not 
  the first nfac.WP ones.
- inconsistency: splitpick.out used drop=FALSE for gen, but not for perms;
  now also introduced drop=FALSE for the other similar functions (leftadjust,
  blockpick.big)
- split-plot designs and designs with hard-to-change factors 
  should now also work for full factorial situations.

Version 1.0-5, 17/01/2010
- internal function double.des was changed to produce different designs 
  for 40,56,64,88,96 runs: The folded columns are in the front rather 
  than in the rear, with the benefit of obtaining resolution IV designs 
  whenever the number of factors is up to half the number of runs

Version 1.0-4, 02/01/2010
- function compromise for supporting creation of compromise designs
- bug fix: distinct design with only one 2fi did not work

Version 1.0-3, 10/12/2009
- bug fix: desnum attribute was list instead of data frame 
  for FrF2 with estimability requirements

Version 1.0-2, 26/11/2009
- added a response argument to MEPlot, IAPlot and DanielPlot
- bug fix for function FrF2: resolution requests were ignored since 
  version 0.97-7
- small documentation bug fixes

Version 1.0-1, 17/11/2009
- clarified in the explanation of the catalogue file 
  that the resolution III designs constructed for 64 and 128 runs are 
  in fact minimum aberration 
  (which was only conjectured before)
- bug fix for function DanielPlot.design: the function did not work
  for large numbers of factors

Version 1.0, 08/10/2009
- added methods for class design for the plotting functions 
  MEPlot, IAPlot and DanielPlot
- added the MA resolution III designs for 64 runs (33 to 63 factors) 
  and 128 runs (65 to 127 factors) to the design catalogue catlg
  (strictly speaking, it is only proven that these have the same number of 
  length three and length four words as the MA designs)
- improved documentation of generators option for FrF2
- removed unnecessary warning from FrF2 in case of more than 19 generators

Version 0.97-10, 17/09/2009
- changed a link to DoE.base-package to work on Mac-OS

Version 0.97-9, 14/09/2009
- made factor names in FrF2 and pb valid names using make.names, 
  also block.name in FrF2

Version 0.97-8, 07/09/2009
- made function FrF2 output factors also for full factorial 2-level designs
  without center points and documented coding of experimental factors for 
  functions FrF2 and pb
  (thanks to Enrico Pegoraro for reporting this inconsistency)
- fixed a bug in function pb's treatment of unnamed lists as factor.names
- added a few links to manuals

Version 0.97-7, 24/08/2009
- made functions FrF2 and pb tolerate factor.names to be an unnamed list
- bug fix: resolution option for FrF2 did not return a full factorial,
  if no smaller design of the desired resolution exists
- documentation bug fix: value section for function FrF2 did not 
  mention the design.info elements map, clear and res3 for designs created 
  with option estimable

Version 0.97-6, 21/08/2009
- bug fix: generators.from.design did not work for replications 
  in case of designs with the estimable option
- bug fix: check rejected some valid linear models with 
  only complete aliases due to numerical inaccuracies

Version 0.97-5, 21/08/2009
- developed find.gen and generators.from.design to 
  support generation of ccd designs (including estimable and blocked designs)

Version 0.97-4, 21/08/2009
- bug fix: FrF2 always randomized designs when using the estimable option, 
  even for randomize=FALSE

Version 0.97-3, 20/08/2009
- changed itemize to describe in Rd files for pb and CatalogueAccessors in order 
  to comply with new R CMD check behavior

Version 0.97-2, 19/08/2009
- blocked designs: added the element block.gen to the design.info attribute 
  in order to support subsequent augmentation with star points
- added error message for missing ncenter for add.center
- added meaningful error message for failure for full factorials to fold.design
- removed warning about all center points together, if ncenter=1
- made internal function des.recode identical to same function in package DoE.base,
  in order to later drop it from FrF2
- bugfix: names (not values) from factor.names were ignored in some important situations for blocked designs
  (automatic factor selection, small case, i.e. where blockpick is used)
- added experimental and as yet undocumented internal functions for extracting 
  all relevant generators from designs especially where these are not obvious 
  (find.gen and generators.from.design) 

Version 0.97-1, 16/08/2009
- bug fix: folding and center points did not work for full factorial 2-level designs

Version 0.97, 13/08/2009
- added function fold.design for foldover designs
- added functions add.center for adding center points and iscube for identfying 
  the cube points in a design with center points
- added functionality for center points to functions FrF2 and pb
- function aliases has gained the new argument condense that makes 
  its output very similar to that of internal function alias3fi in combination 
  with code=TRUE
- moved into the direction of unified representation of aliased element in design.info 
  (still not the same for all types of design, particularly not for blocked designs)
- modified nfactors in design.info for blocked designs to refer to treatment factors only
  (ntreat kept for continuity)
- added keyword internal to help files for internal functions
- bug fix: added nfactors to design.info for split-plot designs
- bug fix: generators element of design.info was labelled wrongly 
  for more than 50 factors (NA labels for factors 51 and following)

Version 0.96-1, 03/08/2009
- added meaningful error message for IAPlot in case of no 2-factor interactions
- adjusted test output to new version of DoE.base
- bugfix for MacOS: replaced log2(nruns) with rounded version for print.catlg, 
  because otherwise wrong result on MacOS

Version 0.96, 31/07/2009
- changed R version to R-2.8.0 or newer (extractor for class design does not work 
  with earlier versions)
- added dependence to R version 2.7.1 or newer
- a few clarifications in documentation
- added legend element to element aliased in design.info for FrF2 designs
- made seed occur on all design.info objects for function FrF2 
- added nfactors to design.info objects for blocked designs
- made repeat.only FALSE even if user made it TRUE for between block replications 
  only, where in fact there are no repeated measurements
- bugfix:designs with 20 or more generators did not work in function FrF2

Version 0.95, 13/07/2009
- included Bobby Mees very comprehensive new book into the references
- included design 3-1.1 (cf. program in FrF2-devel) into catlg 
  in support of future implementation of inner/outer array designs
- included possibility to select factors for which interactions are 
  to be plotted in IAPlot (was already available in MEPlot)
- all experimental factors are now R factors in the data frame, 
  even if their levels are numerical values
Bugfixes:
- provided meaningful error message for internal function formula2matrix, 
  if user specified the formula for estimable in an inappropriate way
- pb design with 8 runs and <=4 factors now effectively is the FrF2 design, 
  with all FrF2 properties, as was already documented before. 

Version 0.94-1, 06/07/2009
Bugfix: Replicated blocks had the same block number or name in case of bbreps. 
  This is unreasonable and has been changed; with the changed version, the 
  blocking variable can be directly used in a (mixed) linear model analysis.

Version 0.94, 28/06/2009
- added element creator to design.info attribute of designs created by 
  functions FrF2 and pb, and documented objects accordingly; this element 
  contains the call, but is called creator to allow it also to include 
  stored menu settings instead
- added possibility to have negative generators (e.g. -ABD or -c(1,2,4))
  (before, levels had to be swapped) 
- improved usage comfort and documentation for split plot designs in function 
  FrF2 (with WPfacs, specification of nfac.WP is no longer necessary; 
  the documentation of this aspect has been confusing and has been improved) 
- started decoupling statistical and technical information in the documentation;
  purpose of this: shorter individual help texts and the possibility to re-use 
  the statistical texts for help from within R-commander in future package 
  RcmdrPlugin.DoE 
- a few further improvements to the documentation have been made
- modified function remodel to allow numeric variables with two levels 
  not equal to -1 and 1 
- improvement of MEPlot: user can select effects to be displayed (option select) 
  (a similar possibility for IAPlot is not in place yet; so far, the model has 
  to be reduced in order to select effects for IAPlot)
Bugfix: function DanielPlot gave error message in case 
  of non-significant effects only

Version 0.93, 24/05/2009
- The constant Letters and some functions have been moved to new package DoE.base, 
  in preparation of the collaborating package group of FrF2, DoE.base, DoE.wrapper and 
  RcmdrPlugin.DoE.
- documentation of factor.names in UtilitiesCat.Rd has been corrected 
  (not user-relevant, as affected function estimable.check is not to be called 
  directly by users)
- removed unnecessary suggests for BHH2

Version 0.92-5, 18/05/2009
Bugfixes 
- simultaneous specification of nfactors and nlevels of length > 1 did not work 
  in internal function fac.design;
  this was not relevant for FrF2, but nevertheless wrong
- estimable did not work with a formula using factor names rather than factor letters;
  this has been fixed, and an example with this feature has been added
- catalogue catlg currently contains only one design each for large resolution V+ 
  situations (256 runs and more). The documentation of this aspect has been corrected.
- deleted wrong statement in the documentation, that the complete catalogue of 
  128 run resolution IV designs with up to 24 factors is downloadable from the 
  authors website (it is simply too large and could not be uploaded)

Version 0.92-4, 15/05/2009
Bugfixes and small changes regarding row numbering
- third column of run.order for blocked designs was wrong
- added original row number of design to columns 1 and 3 of run.order in case 
  of blocked and split-plot designs
- row numbers of design itself and attribute desnum unified to always be the numbering 
  from 1 to number of rows (i.e. second column of 
  attribute run.order) regardless of design

Version 0.92-2, 07/05/2009
Bug fixes
- blockpick.big displayed wrong information about which effects 
  are aliased with blocks; corrected; 
  this bug only affected direct use of function blockpick.big
  and did not affect any automatic calculations within FrF2, 
  alias information in design.info attribute was always correct.
- replication information attached to run order also for full factorial 
  designs and Plackett-Burman designs (functions fac.design (used by FrF2) 
  and pb)
- corrected documentation of class design and functions pb and 
  FrF2 regarding the run.order attribute of class design output 
  (from 2-column matrix to 3-column data frame 
  with third column including replication information)

Version 0.92-1, 01/05/2009
Bug fixes
- hard to change factor number equal to nfactors gave indexing error;
  prevented by error message, since this does not make sense anyway
- hard to change order was not the intended one --> changed

Version 0.92, 30/04/2009
Substantial additions to function FrF2:
- split-plot and blocking facilities
    including also functions splitpick, blockpick, blockpick.big
    and leftadjust that investigate the structure of 
    designs and may be useful for expert users
- treatment of hard-to-change factors 
Further changes to function FrF2 and its output:
- made output object (class design) more informative
- row numbers of design reflect replication structure
- option select.catlg moved to an earlier position, 
  and made effective for more scenarios than before
Additions to catalogues and catalogue utilities:
- added print method for objects of class catlg in 
  support of inspecting available catalogue entries
- extended standard catalogue catlg by some good larger designs
Improvements to further utility functions:
- added accessor functions for class design
- added contrast contr.FrF2 for -1/+1 contrasts
  in line with 2-level fractional factorials
- made character vectors in class design data frames 
  from package FrF2 into factors with contrasts contr.FrF2
- made internal function alias3fi capable of handling more than 
  50 factors
Bug fixes to documentation and error messages
added examples and test cases (tests directory)

far too many changes to be all mentioned in detail

Version 0.91-1, 15/04/2009
Bug fix in documentation to function FrF2 

Version 0.91, 06/04/2009
Additions to function FrF2: 
- added functionality for "estimable", i.e. automated search  
  for designs that accommodate certain 2-factor interactions (2fis) well 
  (two approaches)
- added possibility of replications and repeated measurements
- added more design information to output of FrF2 and changed 
  output from list to data frame with attributes of new class design
- FrF2 now also can do full factorials
- renamed option max.nclear.2fis to MaxC2 (often used in the literature)
Additions to function pb: 
- added possibility of replications and repeated measurements
Further changes:
- modified function alias3fi (non-exported function) to allow allow 
 reducing detail to order=2
- renamed catlg elements around clear 2fis to read "clear" and not "free",
  accessor functions analogously
- grouped R-utility functions in files according to same pattern as 
  in Rd files
- changed output of pb also to data frame with attributes of class design
- extensions and clarifications for documentation
- switched to FrF2, if pb is called for nruns=8 and nfactors<=4
Bug fixes:
- FrF2 code had gen instead of generators in two places
- pb had a bug that prevented design generation 
  for those numbers of runs for which doubling is used 
  (40, 56,64,88,96)

Version 0.9-1, 24/03/2009
A few minor bug fixes: 
- Changed R version the package depends on to 2.7.0 
  (packages BsMD and scatterplot3d require this version),
  and added LazyLoad: yes and LazyData: yes to 
  DESCRIPTION file
- tried to fix example error for Mac: 
  round instead of floor in check for nruns in FrF2,
  also changed check for nruns in pb
- Bug fix on WLP.catlg, free.2fis.catlg and all.2fis.free.catlg: 
  now always return a named list, 
  even if the catlg object has only one element
- minor clarifications in documentation

Version 0.9, 11/03/2009
Added functionality for creating designs: 
- FrF2 and pb create 
  regular and non-regular fractional factorials with 2-level 
  factors, together with a number of utility functions. 

Version 0.8, 16/02/2008
- added function for cube plots for showing means or fitted means 
  for three-way-interactions
- corrected bugs in documentation: plot functions MEPlot and 
  IAPlot do not take ... argument, and they were wrongly 
  referenced by their early development names "iap" and "mep" 
  in a few places 
- line width (lwd) choosable in MEPlot and IAPlot (affects plot 
  lines and axis thickness)
- title size of individual plots (cex.main) choosable in MEPlot
- legend in diagonal panels of interaction plot matrix (IAPlot) 
  improved
- alias numbers in interaction plots (in case of 
  show.alias=TRUE) sized by cex.lab
- right outer margin slightly increased for making outer border 
  visible in copied figures

Version 0.7, 16/12/2007
Bug-fix: functions DanielPlot and IAPlot did not work with aov 
  objects but only with pure lm-objects. This has been fixed by 
  letting the internal function remodel transform aov objects 
  into pure lm objects.

Version 0.6, 16/12/2007
- Eliminated portability issue with example: Version 0.5 used 
  windows() for opening several graphics devices.

Version 0.5, 15/12/2007
First version on CRAN