NEWS

October 4 2026, version 0.24-3 - made the package description more informative - modified handling of NULL seeds: these are no longer made reproducible - added missing sections (@returns) - handled in examples: removed a few unneeded ones, changed slow but not extremely slow ones to , kept three in place for extremely slow code that should only be intentionally run by a user in an interactive session, and restricted automatically runnable very slow examples to being conditionally run if an option “run_heavy_examples” is set to TRUE (by @examplesIf) - changed the maximum number of parallel threads in examples to 2 - removed some print commands, replaced others with message - made a few minor edits

September 22 2026, version 0.24-2 - added missing usage entries for some N_- and k_-functions - shortened example times for powerCA and MTVTRouxtype

September 21 2026, version 0.24-1 - added version requirement for package caverify (because of logic applied for flexible values and applicability for mixed level CAs) - updated version number

September 05 2026, still version 0.24 - bug fix to function DHHF2CA (corrected the handling of constant rows, especially where a constant row needs to be added; this fixes a bug in powerCA, where the result of powerCA(3,1584,2) did not cover all 1,1,1 triples; found by Christopher Smolen) - added tests for DHHF2CA, and modified tests for powerCA - bug fix to function cyclotomyCA, by changing the type of three rows in CYCLOTOMYcat from the erroneous 3a (driven by a mistake in the Colbourn tables) to 4a (proven conclusively for the smallest case and by sampling only for the larger cases); this bug was also found by Christopher Smolen, who also did an extensive sampling check on the two larger cases - added an example for the main user function cyclotomyCA

August 2026, version 0.24 - moved external data to .Rbuildignore so that the R package is small enough - reduced example run time - imported package caverify in order to make use of the fast coverage checks of function ca_verify - made a few formal fixes for CRAN, like authors@R

February 24 2026, still version 0.23 - changed the acronym for “sequential covering array” to SeqCA instead of SCA in order to avoid confusion with the special structure CA that is abbreviated as SCA - added function SeqCA_Levenshtein for optimal strength t SeqCAs with t+1 columns - improved the perturbation in simulated annealing for the optimize_SCA function

February 21 2026, version 0.23 - added functionality for SCAs

November 21 2025, version 0.22 - added arrays from Walker and Colbourn 2009 for scphfCA - added classical (poor) augmentation constructions (CK_constrD and CKRS_augment), not included in function Ns - added the L81.3.5 to miscCAcat

October 11 2025, version 0.21 - improved the implementation of fusion in bestN, so that the speed of bestN is again in its prior range - added function add1 - added a reference for crossCAs

September 27 2025, version 0.20 - improved N_CS_LCDST to return the minimum and not the first entry, because a later entry is occasionally better - improved MCA2 so that the cheap reduction of run size is always included, even with outerRetry=0 (in auxiliary function outerseparate) - modified MCAt to set levels to missing rather than that of last row (improves chances for immediate row removal for easy cases) - improved postopNCK to remove rows that have fewer than t non-flexible values - updated CPHFcat and WCS_CAs to updated source status, and updated powerCTcat accordingly

September 23 2025, still version 0.19 - improved N_powerCT by restricting the search to strengths t and t+1 - added a maxN argument to bestCA

September 22 2025, version 0.19 - automated CA_to_MCA in new function MCAt - implemented CPHFs of Wagner, Colbourn and Simos (2022) - reduced powerCTcat to constructions with at most 1000000 runs - implemented fuse for non-prime power v for bestN and bestCA, and removed the preference and override arguments from bestCA in the process - fixed handling of flexible values in productCA and CAEX - improved postopNCK: it now uses a good optimality bound for t>2 as well as for t=2

September 05 2025, version 0.18 - function pcaCA based on the data frame PCAcat: implemented productPCA constructions with promising PCA ingredients (large k1) from Bose (not combining only Bose, because these are in recursiveBose), all cover starter constructions with only one fixed value, and some miscCA designs - function dpCA based on the data frame DPcat: implemented productCA constructions with promising CA ingredients (constant rows) from Bose (not combining only Bose, because these are in recursiveBose), all cover starter constructions with only one fixed value, and some miscCA designs; (basically copied the list from productPCA, more might be achievable with more deliberate array selection) - implemented productPCA constructions with promising PCA ingredients (large k1) from Bose (not combining only Bose, because these are in recursiveBose), all cover starter constructions with only one fixed value, and some miscCA designs - adapted LCDSTCombis with some improved ingredients - adapted power constructions with improved ingredients - apparently nothing changed, but this can not be verified because the old rda file on GitHub appeared to be corrupt - added arguments c1 and c2 for productCA, stopped it from enforcing a PCA (it now instead keeps its constant rows at the top), and changed the default for check to FALSE - included the Cohen simulated annealing CAs and two CAs from Kokkala et al. (2018) into miscCA - included an array from the paper CMMSSY (2006) into miscCA - modified PCAstatus to k in miscCAcat for arrays with v constant rows, and sorted miscCAcat by t, v and k - removed CA_to_PCA from productCA and added it in in CAEX - added new arguments for function productCA with the intention of making it faster - changed SCA_MS to always return an SCA with k1=k-1 - made CMMSSY work as a stand-alone starter construction (always returns SCA with k1=k-1) - added further cover starters from LCDST paper, most to LCDST and the shorter ones to CMMSSY - copied suitable f=1 length k cover starters of LCDST to CMMSSY, where they work for k+1 - improved documentation for CS construction data - bug fix: productPCA did not work for PCAs for which the top right part had level>=i in row i - bug fix: CA_to_PCA removed the attributes from D for the cheap variant without tryhard=TRUE

August 30 2025, version 0.17 - updated the data frame powerCTcat with 179 additional constructions, based on new implementations in the recent past; also, one bug with a claim of a too small design was fixed; several runs are needed, as now some ingredients are of type powerCT - fixed the creation file for powerCTcat in extdata - added nconst columns to ColbournKeriCombis and PALEYcat, and removed redundant rows from ColbournKeriCombis - bug fix: CS_CK did not yield class ca with attributes

August 27 2025, version 0.16 - renamed smcCA to scphfCA, and made its workhorse function internal; adapted everything to that change - modified the workhorse function SMC to avoid the creation of unnecessarily large matrices, and to handle both the SCPHFs from the Sherwood et al. paper (type=“2006”) and from Lanus and co-authors (type=“2018”) by taking care of their respective GFs for v=8 and v=9 - added the Lanus SCPHFs for up to v=9, as far as they improve constructions, in the list CL_SCPHFs - provided further internal functions for Galois field calculations, e.g., the determinant, for checking CPHFs - fixed sloppy writing in the documentation of MTVTRouxtypeCA

August 21 2025, version 0.15 - implemented one more column for strength 3 with v=2^s in SCA_Busht, with consequences also for fuse_BushtCA, and fixed the manual for SCA_Busht and SCA_Bose - adapted the N and k functions for SCA_Busht and fuse_BushtCA - implemented the Sherwood, Martirosyan, Colbourn (2006) construction with CPHFs and permutation vectors - created new file auxiliary_GFcalculus.R that holds all Galois field related auxiliary functions (some moved from auxiliary_functions.R), including a somewhat hacky mygf for handling cases that require a different characteristic polynomial than that used in lhs - improved the documentation of the verbose=2 case for function coverage

August 15 2025, version 0.14

August 11, 2025, version 0.13

08 August 2025, version 0.12

04 Aug 2025, version 0.11 - implemented an iterative version of function coverage that also allows to abort at the first non-perfect coverage - fixed a bug that was introduced on 31 July that made coverage fail for mixed level CAs

31 July 2025, still version 0.10 - documented clearly that nlevels order does not determine the output column order in MCA2 - hand over objects from the function environment to the parallel cluster in function coverage - Bug fix: Ns_CK_doubling was wrong for v=3, as it did not multiply plus with v-1

23 July 2025, version 0.10 - modified postopNCK to include an outer loop (new arguments outerRetrymax and outermaxnochange, and seed), and deferred the previous inner workings to an internal function - provide detailed iteration information of postopNCK by messages (suppressible), stating the interim run size achieved at the end of each outer loop, supporting informed decision on early interruption of the process - permit interruption of postopNCK with interim result preserved - implemented stop in postopNCK when lower bound on run size is reached - added function MCA2 for creating strength 2 mixed CAs with a generalization of the first method of Sherwood (2008), as stated in Groemping (2025) - made CA_to_MCA interruptable with latest result returned (as the run size reduction may be slow) - implemented the possibility for outerRetry=0 (suppressing optimization) - made CA_to_MCA and MCA2 return objects with meaningful attributes; handling of the information from the ingoing array may benefit from future improvements - bugfix: postopNCK did not fix the top fixedrows rows; now it does - bugfix: CA_to_MCA was not reproducible for a given seed; now it is

13 July 2025, version 0.9 - added function CA_to_MCA for creating mixed level CAs - changed the output of function postopNCK in case the number of rows cannot be reduced - fixed bug in function postopNCK that led to violation of the requested strength in some cases

10 July 2025, version 0.8 - implemented data file powerCTcat in support of power construction according to Colbourn and Torres-Jimenez (2010) - implemented functions powerCA (with type=“CT”), N_powerCT and k_powerCT and incorporated them into Ns, bestN, bestCA - implemented full factorial for k<=t (which sometimes occurs
for ingredients in recursive constructions) - omitted exclude=“CK_doublingCA” for CK_doubling ingredients, which substantially increases the covered strength 3 scenarii (though not always with competitive arrays) - removed seven arrays from TJcat and TJ2level_CAs, as well as from the folder TJ2level in extdata - moved SCA_Bose and SCA_Busht to a common file with dedicated documentation - fixed various bugs in other constructions that showed up in testing the new function powerCA, among them the number of columns for fuseBoseCA, which was always the maximum instead of the requested k

05 July 2025, version 0.7 - implemented a data file miscCAcat, a function miscCA with N_ and k_ functions, and modified Ns and ks to refer to these - modified oa1728.12.6 to PCA structure, and added further cas / oas, as well as retrieval of a few OAs from DoE.base (handled via miscCAcat); (renamed the R code in extdata for single arrays to miscCAs.R) - implemented the three arrays of source “Chateauneuf-Kreher NRB” - rewrote and re-exported k_fuseBose - removed TJcat arrays that can be replaced by other constructions, and adapted TJcat so that they can still all be constructed - bug fix to productPCA: did not work as expected when trying without success to improve a PCA with tryhard=TRUE

02 July 2025, version 0.6

30 June 2025, version 0.5

27 June 2025, version 0.4

24 June 2025, Version 0.3

22 June 2025, still Version 0.2.2

18 June 2025, still Version 0.2.2

05 June 2025, still Version 0.2.2

25 May 2025, still Version 0.2.2

22 May 2025, Version 0.2.2

19 May 2025, still Version 0.2.1

17 May 2025, still Version 0.2.1

14 May 2025, still Version 0.2.1

10 May 2025: Version 0.2.1

05 May 2025: Version 0.2.0

Version 0.1.0: first version on GitHub