        **************************************************
        *                                                *
        *  Changes and Developments in the catR Package  *
        *                                                *
        **************************************************

-------------------------------------
- Changes in catR 3.17 (2022-06-22) -
-------------------------------------

MAJOR UPDATES

  o  Package maintainer changed from David Magis to Cheng Hua
  o  Test the new compling environment using R studio

MINOR UPDATES

  o  Some typos were fixed


-------------------------------------
- Changes in catR 3.16 (2018-06-29) -
-------------------------------------

MAJOR UPDATES

  o  The 'randomCAT()' function holds a new argument
     called 'a.stratified' that allows a-stratified
     sampling for dichotomous IRT and GRM, MGRM and
     GPCM polytomous models. This argument sets
     either the number of strata or the number of
     items per strata (as a vector of integer values).
     The item bank is split into strata by increasing
     values of the discrimination (a) parameters and
     content balancing is then applied with equiprobable
     strata.

  o  The new function 'aStratified()' was included to
     return a vector of stratum membership that is used
     for a-stratified content balancing.

  o  The 'print.cat()' function was updated accordingly.



MINOR UPDATES

  o  Some typos were fixed.



-------------------------------------
- Changes in catR 3.15 (2018-06-12) -
-------------------------------------

MAJOR UPDATES

  o  The 'randomCAT()' function holds a new argument
     called 'min.length' that specifies the minimum
     length of the CAT (i.e., minimum number of items
     to administer). Checks that minimum length is
     fulfiled in addition to the 'checkStopRule()'
     function. Default value is zero so no lower
     limit is set for the test length.


MINOR UPDATES

  o  Some typos were fixed.



-------------------------------------
- Changes in catR 3.14 (2018-03-24) -
-------------------------------------

MAJOR UPDATES

  o  The 'thetaEst(') function now supports the robust
     estimator of ability. Two weight functions are
     allowed, Huber and Tukey weights. Tuning constants
     can be set appropriately too. Note that the
     robust estimator is currently available only for
     dichotomous IRT models.

  o  The 'semTheta()' function holds new formulas for
     computing the ASE of the BM and WL estimators.
     These formulas arise from Magis (2016) and are made
     available through the new 'sem.type' argument.
     Usual formulas are still available by default and
     only dichotomous IRT models are concerned.

  o  A new function called 'fullDist()' is available. It
     derives the full distribution of an ability
     estimator for a given set of items, a set of ability
     estimates and several parameters to defined the
     estimation method. This function is routinely used
     to compute exact standard errors.

  o  The 'semTheta()' function allows now the computation
     of exact standard errors for dichotomous IRT models.
     Such exact values are computed according to Magis
     (2014). This is activated by setting the new
     argument 'sem.exact' to TRUE.

  o  The 'test' list of the 'randomCAT()' function holds
     now the 'se.ase' argument that specifies the maximum
     number of items to be used for computing exact SE,
     before switching to ASEs for sake of computational
     effort.

  o  Functions 'testList()', 'randomCAT()' and
     'simulateRespondents()' were modified accordingly.



MINOR UPDATES

  o  Main author's affiliation and email address was
     updated.

  o  The list of contributors of some functions was
     updated to include Lianne Ippel (University of Liege,
     Belgium).

  o  Some typos were fixed.



-------------------------------------
- Changes in catR 3.13 (2017-08-31) -
-------------------------------------

MAJOR UPDATES

  o  A bug was fixed in the 'Ii()' function. For
     polytomous IRT models, the second derivatives of
     the information function were incorretcly computed
     due to a typo. This bug was only affecting the
     computation of SE values for the BM estimator with
     Jeffreys prior only, all other estimators and prior
     distributions were unaffected. Many thanks to Xu
     Kun (University of Hong Kong; xujacob.hk@gmail.com)
     for noticing this bug.

  o  A new item bank was introduced to this version. It
     is called 'cat_pav' and contains 96 polytomous
     items calibrated under the GPCM. Moreover it holds
     item names as row names of the matrix. Further info
     is available from the 'cat_pav' help file. Many
     thanks to Victor D.O. Santos (Iowa State University,
     Ames, IA) for sharing his item bank.

  o  Many help files using polytomous IRT models were
     updated: the generated PCM item bank was replaced
     by the 'cat_pav' GPCM item bank.

  o  Item names can now be supplied as the row names of
     the item bank. Otherwise no item name is considered.

  o  Functions 'startItems()' and 'nextItem()' now
     return the additional argument, called 'names' with
     the former function and 'name' with the latter
     function. It contains either the names of the
     selected item(s) whenever these are available, or
     'NULL' value otherwise.

  o  Function 'randomCAT()' has an additional output
     argument called 'itemNames'. It contains, whenever
     available, the names of the items that were
     selected during the CAT. Moreover, the 'print.cat()'
     function was updated so that when item names are
     available, they are displayed in the summary table
     of the output (instead of their numbered position
     in the item bank).



MINOR UPDATES

  o  Some help files were corrected as they were still
     containing details related to former
     implementations e.g., 'randomCAT()' function).

  o  Some typos were fixed.




-------------------------------------
- Changes in catR 3.12 (2017-01-07) -
-------------------------------------

MAJOR UPDATES

  o  The function 'startItems()' was updated to include
     the arguments 'cbControl' and 'cbGroup' from
     function 'randomCAT()' for instance. This is to
     allow random selection of the first item(s) by
     approximately matching the theoretical proportions
     of items per subgroup. Moreover, the argument
     'random.cb' was added to fix the random seed when
     selecting the subgroups of items from which to
     sample the items.

  o  The function 'testList()' was updated accordingly.

  o  In the function 'randomCAT()' the 'start' list holds
     two new arguments: 'cb.control', a logical value
     to indicate whether content balancing control
     should be done with starting items, and 'random.cb'
     argument from 'startItems()' function.

  o  The function 'simulateRespondents()' was updated
     accordingly.



MINOR UPDATES

  o  The DESCRIPTION file was updated to meet CRAN
     policies.

  o  The CITATION file was updated for publication in
     Journal of Statistical Software.

  o  The help file references were updated.

  o  The writing of DOI reference numbers was updated.

  o  Some typos were fixed.



-------------------------------------
- Changes in catR 3.11 (2016-11-16) -
-------------------------------------

MAJOR UPDATES

  o  The function 'simulateRespondents()' was updated to
     allow the 'start' and 'test' input lists being
     exactly the same as in 'randomCAT()' function.
     Several recent updates of 'randomCAT()' were not
     passed to 'simulateRespondents()' through its input
     lists, which is now fixed.


MINOR UPDATES

  o  The DESCRIPTION file was updated to incorporate
     more details about the scope of the package.

  o  Some typos were fixed.



-------------------------------------
- Changes in catR 3.10 (2016-08-26) -
-------------------------------------

MAJOR UPDATES

  o  The code of 'startItems()' function was updated to
     fix a bug that was occuring in very specific cases.
     The selection of the optimal starting items (based
     on the rank of selection criteria) was written in
     such a way that it was sometimes not selecting any
     item (because of ranks larger than the selection
     thresholds in case of ties), leading to an error.
     Many thanks to Kristin M. Morrison (Georgia
     Institute of Technology, Atlanta, GA;
     kmorrison3@gatech.edu) for noticing this issue.

  o  The code of 'randomCAT()' function ws updated to
     fix a bug occuring when the 'nrItems' element of
     'start' list was fixed to zero. In this case, the
     'checkStopRule()' function was leading to a
     logical error. Many thanks to Andrew Kyngdon
     (BOSTES and Graduate School of Education,
     University of Western Australia;
     andrew.kyngdon@bostes.nsw.edu.au) for noticing
     this issue.


MINOR UPDATES

  o  Some typos were fixed.



------------------------------------
- Changes in catR 3.9 (2016-07-15) -
------------------------------------

MAJOR UPDATES

  o  Fixing the seed when selecting item(s) with the
     'randomesque' method was added in the startItems()
     and nexItem() functions. The argument 'random.seed'
     may take a numeric value to fix this random
     selection, or set to NULL to avoid fixing the seed.
     Many thanks to William Lorie (Pearson) for noticing
     this issue.

  o  Functions testList() and randomCAT() were updated
     according to the modifications above.


MINOR UPDATES

  o  The 'print.catResult' from simulateRespondents()
     function was updated to display the appropriate
     dichotomous IRT model that is used (formely only
     '4PL' was returned).

  o  Some typos were fixed.


------------------------------------
- Changes in catR 3.8 (2016-06-10) -
------------------------------------

MAJOR UPDATES

  o  The setting of stopping rules was updated. It is now
     possible to expand the 'stop$rule' vector with more
     than one stopping rule accronym, so that the CAT stops
     once at least one of the rules is satisfied. The
     'stop$thr' must also be expanded accordingly with the
     corresponding stopping thresholds.

  o  A new testing function called 'checkStopRule()' was
     introduced. It is used internally to test whether at
     least one of the stopping rules was satisfied.

  o  Given the two updaters above, the main argument
     'maxItems' of the randomCAT()' and
     'simulateRespondents()'functions was removed, and the
     'testList' function was updated accordingly.

  o  A bug was fixed in the 'randomCAT()' function as a
     consequence of the modification in the previous
     update. When several items were selected at the start,
     a perfect response pattern was generated, and the
     stepsize adjustment approch was chosen, then an
     error was occurring in computing the ability estimate.


MINOR UPDATES

  o  The 'print.cat()' function had an issue in displaying
     the output appropriately in case of constant pattern
     at the start of the CAT. This has been fixed.

  o  The help file of 'startItems()' was updated to correct
     a former description of the arguments.

  o  Some typos were fixed.


------------------------------------
- Changes in catR 3.7 (2016-05-09) -
------------------------------------

MAJOR UPDATES

  o  The functions 'thetaEst()' and 'semTheta()' now allow
     missing responses in the 'x' pattern. They must be
     coded as NA and are discarded from the estimation
     process (most useful for linear testing use).

  o  The function 'genPattern()' can now generate several
     patterns at the same time, by providing several 'th'
     values as a vector. The output is then a matrix of
     item responses instead of a single vector.

  o  The function 'startItems()' was modified to simplify
     the setting of the initial theta values to select the
     first items. Now the 'theta' argument can hold a vector
     of values, and one item is picked up for each element
     of 'theta'. The argument 'halfRange' was consequently
     withdrawn from this function as it became useless.

  o  The function 'startItems()' holds a new argument called
     'randomesque' and acts similarly to the 'randomesque'
     argument of the 'nextItem()' function. That is, if it
     takes values larger than one, the 'randomesque' most
     optimal items are selectd for eahc theta value, and one
     of them is picked up randomly as starting item. Default
     value is one so no such randomesque selection is done.


MINOR UPDATES

  o  In case of constant pattern and 'constantPatt'
     argument different from 'NULL', the'plot.cat()' with
     'ci' argument set to TRUE was leading to a bug
     (infinite confidence intervals were obtained). This
     has been fixed internally into 'plot.cat()'.

  o  Some typos were fixed.


------------------------------------
- Changes in catR 3.6 (2016-01-02) -
------------------------------------

MAJOR UPDATES

  o  The function 'Pi' was updated to correct a major
     bug with some polytomous IRT models. More precisely,
     the 'Pi' function held an error for models 'PCM',
     'GPCM' and 'RSM', leading to incorrect values for
     the derivatioves of response probabilities. This
     was subsequently impacting the values of functions
     'I', 'Pi', 'thetaEst' and 'semTheta', among others.
     Many thanks to Norman Verhelest (Eurometrics;
     (norman.verhelst@gmail.com) for noticing this issue.



------------------------------------
- Changes in catR 3.5 (2015-09-27) -
------------------------------------

MAJOR UPDATES

  o  The function 'thetaEst' holds three new arguments,
     'constantPatt', 'current.th' and 'bRange'. These
     arguments are required to make apropriate theta
     estimation adjustments when the response pattern is
     constant. Currently implemented only for dichotomous
     IRT models.

  o  The function 'semTheta' holds now the newly added
     argument 'constantPatt'and the functions 'testList',
     'randomCAT' and 'simulateRespondents' were updated
     accordingly.

  o  Two new item selection methods were added: the
     Global Discrimination Index (GDI) and the posterior
     global discrimination index (GDIP). Corresponding
     fucntion 'GDI' was added and functions 'nextItem'
     and 'testList' were updated.



MINOR UPDATES

  o  A bug was fixed about random seed in the 'start' list.
     When 'seed' was provided to the 'start' list it
     affected the whole CAT, leading to identical patterns
     (i.e. erasing the 'genSeed' argument). This has been
     fixed (i.e. the 'seed' argument of 'start' list only
     determines the selection of the first items).

  o  The function 'genDichoMatrix()' allows now the $props
     elements of the 'cbControl' argument not to sum to one.
     This argument is internally normalized to one.

  o  Most of the examples in the help files are now exempt
     from the \dontrun{} section. Only time-consuming
     examples are still not run.

  o  Some typos were fixed.



------------------------------------
- Changes in catR 3.4 (2014-11-26) -
------------------------------------

MAJOR UPDATES

  o  The 'simulateRespondents' was modified internally
     to fix a bug occuring when not all arguments of
     the 'start', 'test', 'stop' and 'final' lists were
     passed to the function.


  o  The argument 'nrItems' of function 'genPolyMatrix'
     was replaced by 'items' to match with function
     'genDichoMatrix'. Moreover, by-default values
     were asigned to arguments 'items' (100) and 'nrCat'
     (3) of 'genPolyMatrix'.

  o  The 'genPattern' function has now a 'seed' argument
     to possibly fix the random seed for generating
     item responses. By default it is set to NULL so no
     random seed is determined.

  o  The 'randomCAT' and 'simulateRespondents' functions
     have now a 'genSeed' argument to possibly fix the
     random generation of item responses. By default
     'genSeed' is set to NULL so no random seed is
     determined (and two successive runs of 'randomCAT'
     and 'simulateRespondents" will usually lead to
     different response patterns).

  o  If post-hoc simulations are run with 'randomCAT'
     function and the 'trueTheta' argument is not
     provided, then it is returned as NA in the output
     list.


MINOR UPDATES

  o  The help file of function 'genPolyMatrix' was
     rewritten to match with help file of function
     'genDichoMatrix'.

  o  Some typos were fixed.



------------------------------------
- Changes in catR 3.3 (2014-11-26) -
------------------------------------

MAJOR UPDATES

  o  When the item bank holds several items with the same
     parameters, the 'MFI' next selection rule was often
     selecting the same item several times. This bug has
     now been fixed. Many thanks to Karthikeyan Madathil
     (kmadathil@gmail.com) for noticing this issue.


MINOR UPDATES

  o  The reference to Chang and Ying (1996) and Barrada,
     Olea, Ponsoda, and Abad (2010) were corrected in the
     'nextItem' help file.

  o  The DESCRIPTION file was modified to match CRAN rules.


------------------------------------
- Changes in catR 3.2 (2014-09-10) -
------------------------------------

MAJOR UPDATES

  o  A bug was fixed in the 'randomCAT' function. When
     more items had to be administered than the length of
     the item bank, an error was occuring. The maxLength
     variable within 'randomCAT' was updated accordingly,
     as well as the 'print.cat' function.

  o  A bug was fixed in the 'eapEst' function. With
     polytomous IRT models the 'model' argument was not
     passed properly. Many thanks to Przemyslaw Lis (The
     Psychometrics Center, University of Cambridge, UK) for
     noticing this issue.

  o  An error was corrected in the 'MEI' function. The
     expected infomation was not correctly computed with
     dichotomous IRT models (i.e. ability level 'th0' was
     used instead of 'th1' in the observed information
     function). Many thanks to Dirk Pelt (Erasmus University
     Rotterdam, The Netherlands) for noticing this issue.

  o  A bug was fixed in the 'genPolyMatrix' function. When
     different number of response categories were generated
     for the items, the 'seed' argument was not operating
     properly.


MINOR UPDATES

  o  Some typos were fixed.


------------------------------------
- Changes in catR 3.1 (2014-06-04) -
------------------------------------

MAJOR UPDATES

  o  The scaling constant D was not properly specified in
     'startItems' and 'nextItem' functions. This has been
     fixed.

  o  A bug was occuring when 'nrItems' was set to zero in
     the 'startItems' function. In this case, the methods
     'MLWI', 'MPWI', 'KL' and 'KLP' of 'nextItem' were not
     working properly. Moreover, the 'plot.cat' function was
     not working when 'nrItems' was fixed to zero. Finally,
     the output of 'simulateRespondents' was also affected
     by this problem and was corrected.

  o  In addition, the scaling constant D was embedded to all
     polytomous IRT models (but the NRM). All subsequent
     functions (such as 'Pi', 'Ii' and so on) have been
     updated. Many thanks to Mike Powell
     (mike.powell@learninglogistics.com) for suggesting this
     update.


MINOR UPDATES

  o  The DOI numbers were added to the references (whenever
     available).

  o  Some typos were fixed.



------------------------------------
- Changes in catR 3.0 (2014-04-25) -
------------------------------------

MAJOR UPDATES

  o  Functions 'startItems', 'nextItem' and 'randomCAT' have
     been updated thanks to Juan Ramon Barrada (Universidad
     Zaragoza, Spain), which is now listed as co-author of the
     package.

  o  Function 'nextItem' was also updated thanks to Guido
     Corradi (Universidad Zaragoza, Spain).

  o  'catR' now supports the Graded Response Model (GRM;
     Samejima, 1969), the Modified Graded Response Model
     (MGRM; Muraki, 1990), the Partical Credit Model (PCM;
     Masters, 1982), the Generalized Partial Credit Model
     (GPCM; Muraki, 1992), the Rating Scale Model (RSM;
     Andrich, 1978) and the Nominal Response Model (NRM; Bock,
     1972).

  o  Functions 'Pi', 'Ii', 'OIi', 'thetaEst', 'semTheta',
     'eapEst', 'eapSem', 'startItems', 'EPV', 'MEI', 'MWI',
     'nextItem' and 'randomCAT'allow now the use of polytomous
     IRT models.

  o  The function 'createItemBank' has been withdrawn from
     this version. The item bank must now be provided
     directly as the matrix of item parameters (plus the group
     membership for content balancing, optionally).

  o  Five new item selection rules have been added: Kullback-
     Leibler (KL), posterior Kullback-Leibler (KLP), the so-
     called thOpt (optimal theta) method, progressive method
     and proportional method. They are available for both
     dichotomous and polytomous IRT models (except thOpt).

  o  The 'KL' function was created to support the computation
     of Kullback-Leibler information for next item selection.

  o  Several CATs can be run in one step by using the new
     'simulateRespondents' function. In addition, summary
     statistics related to all generated tests are provided
     by this function. Corresponding plots can also be drawn
     and saved in a similar way as with 'randomCAT'.

  o  The dependency to the 'sfsmisc' package was withdrawn. To
     do so, an internal function for numerical integration,
     called 'integrate.catR', was written and works similarly
     to the 'integrate.xy' function from package 'sfsmisc'
     (which was considered so far). In other words, the
     function 'integrate.xy' was replaced by 'integrate.catR'
     in 'eapEst', 'eapSem' and 'MWI'.

  o  The functions 'genDichoMatrix' and 'genPolyMatrix' were
     created to partly compensate the withdrawal of
     'createItemBank'. Those functions allow for easy
     generation of item banks under either the dichotomous IRT
     models (1PL, 2PL, 3PL and 4PL) or the polytomous IRT
     models that are supported by 'catR' (GRM, MGRM, PCM,
     GPCM, RSM and NRM). The output format is identical to the
     one required in order to run CATs with dichotomous and
     polytomous item banks. Random allocation of items into
     subgroups (for content balancing purposes) is also
     possible.

  o  The function 'breakBank' was created to separate the
     item banks in two parts, the matrix of item parameters
     and the vector of group membership for items. This
     function works with both dichotomous and polytomous
     IRT banks. Its creation resulted from the withdrawal of
     the 'createItemBank' function.

  o  The function 'Ji' was created to compute the J function
     (related to WL estimation) under dichotomous and
     polytomous models. This function was previously embedded
     into 'thetaEst' for dichotomous models, but is now
     written independently for both dichotomous and
     polytomous models.

  o  The function 'test.cbList' has been updated. The second
     argument does not need to be the full item bank anymore
     but just a vector of group membership (such as the
     fifth column of the 'tcals' data set only). This is to
     remove the connection with the 'createItemBank' function
     (that has been withdrawn from this update) and to
     allow its use with polytomous models.

  o  The functions 'EPV', 'MEI', 'MWI', 'startItems' and
     'nextItem' have been updated. The argument 'itemBank'
     argument does not need to be the full item bank anymore
     but just a matrix with four columns with item parameters
     (such as the first four columns of the 'tcals' data set
     only). This is to remove the connection with the
     'createItemBank' function (that has been withdrawn from
     this update).

  o  The default value of the 'startSelect' argument of the
     'startItems' function has been changed from "bOpt" to
     "MFI" for compatibility with the 'startItems.poly'
     function.

  o  The function 'genPattern' was created to generate
     responses patterns under dichotomous and polytomous IRT
     models. This is helpful mostly for examples but can also
     be considered internally in 'randomCAT'.

  o  The function 'startItems' can now select only a fraction
     of the item bank to select the first items. This is
     controled by the new 'nAvailable' argument, holding 0's
     and 1's for items that are respectively not available and
     available. By default, all items are available.

  o  The random seed for the selection of the first item(s) in
     'startItems' can be set to NA in order to remove random
     seed selection of these items.

  o  The 'nrItems' argument of 'startItems' can now be set to
     0 to avoid early selection of starting items. Only NULL
     values are then returned.

  o  The function 'randomCAT' can now return also ability
     level estimates and standard errors for the first
     starting items. This is done by fixing the argument
     'allTheta' to TRUE (default value is FALSE). If so,
     provisional ability estimates and standard errors are
     displayed within parentheses in the output of 'randomCAT'
     (i.e. when using 'print.cat()' function).


MINOR UPDATES

  o  Currently the formula for the SE of the WL method in the
     'semTheta' function is the same as that for the ML method,
     as it happened that the formula (in versions of catR prior
     to 3.0) was sometiems leading to mathematical problems.
     This formula will be updated once it will be accurately
     corrected.

  o  The 'startItems' function was slightly modified. When
     items are randomly selected, the random sampling of
     these items was rewritten using the 'sample' function.

 o   In 'nextItem function, the Urry's procedure to select
     the next item was renamed as 'bOpt' method (instead of
     'Urry'), for homogenbeity with the similar argument of
     the 'startItems' function.

  o  The help file of the 'MEI' function was updated as an
     error was present in the description of both the
     observed and the expected item information function.
     Their implementation, however, was correctly written.

  o  When the first items are selected randomly or fixed by
     the user, the 'startSelect' element of the output list
     returns now NA instead of the by-default value of the
     argument 'startSelect'.

  o  To save the output of 'randomCAT', the 'output' argument
     contains now three components, the file path, the file
     name, and the type of file (in this order). By default,
     the output is stored in working directory, as a csv file
     with name 'name.csv'. Other type is text file.

  o  The order of the components of 'save.options' argument of
     'plot.cat' has been modified to match those of the
     'output' argument of 'randomCAT'..

  o  Some typos were fixed.

  o  Author's affiliation was updated.



------------------------------------
- Changes in catR 2.6 (2013-12-03) -
------------------------------------

MINOR UPDATE

  o  An error was debugged in the 'nextItem' function.
     With 'MLWI', 'MPWI', 'MEI' and 'MEPV' the set of
     parameters of previously administered items was not
     correctly passed to the corresponding functions in
     case of content balancing (that is, vector 'OUT' was
     used instead of vector 'out'). This was leading to
     warning messages and incorrectly computed values of
     the criteria. Many thanks to Irshad Mujawar (Arcadix
     Infotech Private Limited, Bangalore, India) who
     noticed this problem.



------------------------------------
- Changes in catR 2.5 (2013-02-07) -
------------------------------------

MINOR UPDATES

  o  An error was debugged in the 'MWI' function. The
     selection of the information function values to
     compute the MLWI or MPWI was wrong, so that the same
     item was always selected, independently of the current
     response pattern (for the same set of administered
     items). Many thanks to Koken Ozaki (Institute of
     Statistical Mathematics, Tokyo, Japan) who noticed
     this problem.

  o  Some typos were fixed.



------------------------------------
- Changes in catR 2.4 (2013-01-17) -
------------------------------------

MINOR UPDATES

  o  An error was debugged in the 'createItemBank' function.
     When creating difficulty parameters with the 'unif'
     distribution, the selection of specified parameters was
     leading to an error. Many thanks to Przemek Lis and
     Michel Kosinski (Cambridge University, UK) who noticed
     this problem.

  o  Some typos were fixed.



------------------------------------
- Changes in catR 2.3 (2012-05-09) -
------------------------------------

MINOR UPDATES

  o  The references of several help files have been updated
     with respect to the formal publication of the related
     JSS paper about catR.

  o  The CITATION file has been updated accordingly.



------------------------------------
- Changes in catR 2.2 (2012-03-15) -
------------------------------------

MINOR UPDATES

  o  The references of several help files have been updated.

  o  A basic NAMESPACE file has been added for compatibility
     with R versions 2.14.0 and later.


------------------------------------
- Changes in catR 2.1 (2011-12-05) -
------------------------------------

MINOR UPDATES

  o  It is now possible to save the output of 'randomCAT' into
     a text file, by specifying the new arguments 'save.output'
     and 'output' properly. Similarly, the plots obtained with
     the 'plot.cat' function can be saved as PDF or JPEG files
     by specifying properly the new arguments 'save.plot' and
     'save.options'. See the corresponding help files for
     further details.

  o  Some typos have been fixed in the help files.


------------------------------------
- Changes in catR 2.0 (2011-10-21) -
------------------------------------

MAJOR UPDATES

  o  Several distributions are now available for item
     parameter generation of the 'createItemBank' function.
     Possible distributions are: normal and uniform for item
     difficulties; normal, lognormal and uniform
     distributions for item discriminations; uniform and
     Beta for both item lower and upper asymptotes.

  o  Item exposure control is now feasible with the so-called
     'randomesque' approach (Kingsbury and Zara, 1989). The
     function 'nextItem' and 'randomCAT' hold now the
     'randomesque' argument that sets the number of optimal
     items to be selected first, among those the next
     administered item will be randomly chosen.

  o  Content balancing can now be controlled by specifying
     subgroups of items in the 'createItemBank' function. The
     subgroups are coded into a fifth column (after item
     parameters) and they are stored in the item bank by
     setting the new argument 'cb' (for "content balancing")
     to TRUE. If this fifth column is missing, or if 'cb' is
     set to FALSE (default), nothing changes from the previous
     version of catR. See also functions 'nextItem' and
     'randomCAT', which were modified for content balancing,
     as well as the new function 'test.cbList' for testing
     the format of the 'cbControl' list of 'nextItem'.

  o  Item parameters can now be provided as data frames in
     the 'createItemBank' function. This also permits to
     include subgroups of items easily.

  o  As a consequence of the previous major update, many help
     files were updated for comptability with the new function
     'createItemBank' (i.e. 'tcals' is no longer needed to be
     converted into a matrix).

  o  The 'tcals' data set was updated by adding a fifth
     column, holding the subgroups of items as defined by the
     test. See the help file of 'tcals' for further details.

  o  As a consequence of the previous major update, many help
     files were updated for compatibility of the new 'tcals'
     data set (i.e. all examples requiring the matrix of
     item parameters were slightly modified to remove the
     'Group' variable).

  o  The 'print.cat' function was updated to display output
     results of randomesque method for item expoisure control
     as well as for content balancing (whenever required).


MINOR UPDATES

  o  When the 'maxItems' criterion of 'randomCAT' is smaller
     than the 'stop$thr' argument, an error message is
     returned. Previously it contained a mistake, claiming
     that 'maxItems' is larger than 'stop$thr'. This has
     been fixed.

  o  Some typos have been fixed in the help file of 'tcals'
     data set and 'nextItem' functin.


------------------------------------
- Changes in catR 1.6 (2011-04-11) -
------------------------------------

MINOR UPDATES

  o  The 'Pi' functin has been slightly modified to avoid
     a technical bug: when probabilities Pi equal exactly
     zero or one, the ability estimates cannot be obtained
     with 'thetaEst' (the boundary conditions cannot be
     tested because of NaN values). Many thanks to Pan Tong
     (University of Texas MD Anderson Cancer Center, USA)
     who noticed this problem.


------------------------------------
- Changes in catR 1.5 (2010-10-28) -
------------------------------------

MINOR UPDATES

  o  The help files of the 'thetaEst' and 'semTheta' methods
     have been updated as some information about the EAP
     estimation method was missing.


------------------------------------
- Changes in catR 1.4 (2010-10-17) -
------------------------------------

MINOR UPDATES

  o  The method referred to Owen's rule for selecting items
     in the starting step and in the adaptative process, was
     renamed Urry's rule given that this simple method was
     suggested first by Urry (1970) and that Owen's Bayes
     procedure differs from this one.

  o  Consequently to the point above, 'Owen' optional value
     of the 'itemSelect' argument of the 'test' list was
     replaced by 'Urry'.

  o  In addition, the 'nextItem', 'testList', randomCAT' and
     'print.cat' have been updated by the replacement of
     'Owen' by 'Urry'.

  o  A minor problem was fixed in the code of the 'randomCAT'
     function: the output list was not returning all the
     required elements (in particular, the value of the
     'itemSelect' argument).

  o  A minor issue was fixed in the 'print.cat' function: the
     output was not displayed correctly when only two items
     are selected at the initial step.


------------------------------------
- Changes in catR 1.3 (2010-10-08) -
------------------------------------

MINOR UPDATES

  o  Several typos have been fixed.

  o  The 'randomCAT' help file has been updated as some
     information was incorrect or incomplete.


------------------------------------
- Changes in catR 1.2 (2010-09-07) -
------------------------------------

MAJOR UPDATES

  o  Several procedures for next item selection have been
     added. First, Maximum Likelihood Weighted Information
     (MLWI) and Maximum Posterior Weighted Information (MPWI)
     are now available. The command 'MWI' has been developed
     for that purpose.

  o  Second, Maximum Expected Information (MEI) has been
     implemented for next item selection. The function 'MEI'
     was developed for computing MEI values.

  o  The MEI criterion required the creation of the 'OIi'
     command for computing observed information function.

  o  The Maximum Expected Posterior Variance (MEPV) is also
     available. The command 'EPV' computes expected posterior
     variances and is used within the 'nextItem' function.

  o  Finally, the completely random selection of the next
     item is also possible right now.

  o  The functions 'eapEst' and 'eapSem' have been modified
     to speed up their computation. The approximation of the
     integrals is now made by the 'integrate.xy' function
     from the package 'sfsmisc'.

  o  The function 'startItems' has been modified. First, the
     argument 'bw' has been replaced by 'halfRange' and codes
     now for the half range of the sequence and not the full
     range (this was misleading). Second, the items can be
     selected either according to their difficulty level or
     their information function. This is specified by the
     'startSelect' argument.

  o  Consequently, the functions 'nextItem', 'testList',
     'randomCAT' and 'print.cat' have been updated.


MINOR UPDATES

  o  The argument 'eapPar' from functions 'eapEst' and 'eapSem'
     has been renamed to 'parInt' for consistency with the
     'MWI' and 'nextItem' functions. It better refers to the
     parameters for numerical integration and not only for the
     EAP method, but also for MLWI and MPWI computation.

  o  Several typos have been fixed in the help manual.

  o  The 'plot.cat' function has been modified. Now, the
     confidence intervals do not appear by default ('ci=FALSE'
     in the code). Moreover, confidence intervals are displayed
     with dotted traits, while the true ability level is drawn
     with a solid horizontal line. Also, any classification
     level can be specified and drawn by a dashed horizontal
     trait.


------------------------------------
- Changes in catR 1.1 (2010-06-15) -
------------------------------------

MAJOR UPDATES

  o  Owen's procedure has been added as a method for next item
     selection.

  o  Consequently, the functions 'nextItem', 'testList',
     'randomCAT' and 'print.cat' have been updated.


MINOR UPDATES

  o  Several typos have been fixed in the help manual.
