****************************************************
*                                                  *
*  Changes and Developments in the difNLR Package  *
*                                                  *
****************************************************

----------------------------------------
- Changes in difNLR 1.3.0 (2019-08-19) -
----------------------------------------

* Version 1.3.0 is CRAN version.
* It includes version 1.2.3 - 1.2.8.-4.

MINOR CHANGES
  o Some typos fixed in print.difNLR()
  o Authors' details were updated.
  o CITATION file was updated.

------------------------------------------
- Changes in difNLR 1.2.8-4 (2019-08-09) -
------------------------------------------

MINOR CHANGES
  o Typos fixed in print.ddfORD() and print.ddfMLR().
  o Matching criterion for plot.ddfORD() uses anchor items.

------------------------------------------
- Changes in difNLR 1.2.8-3 (2019-08-08) -
------------------------------------------

BUG FIXING
  o plot.ddfORD() now works when Data is factor.

MAJOR UPDATES
  o genNLR() now generates ordinal data using adjacent category
    logit model with argument itemtype = "ordinal".

------------------------------------------
- Changes in difNLR 1.2.8-2 (2019-08-07) -
------------------------------------------

BUG FIXING
  o plot.ddfORD() now works when items have different scales.
  o Argument 'anchor' is now used for calculation of matching
    criterion in function ORD().
  o IRT parametrization was fixed for ddfORD().
  o logLik.ddfMLR() now works properly.
  o anchor items are now used for calculation of matching
    criterion in plot.ddfORD() and plot.ddfMLR()

MAJOR UPDATES
  o Names of reference and focal group in plot.difNLR() can be
    changed with 'group.name' argument.

MINOR CHANGES
  o Help pages for difNLR(), ddfMLR(), ddfORD(), MLR() and ORD()
    functions were updated.

------------------------------------------
- Changes in difNLR 1.2.8-1 (2019-08-06) -
------------------------------------------

MAJOR UPDATES
  o IRT parametrization now available in ddfMLR() function with
    argument 'parametrization'. SE calculated with delta method.
  o Names of reference and focal group in plot.ddfMLR() can be
    changed with 'group.name' argument.

----------------------------------------
- Changes in difNLR 1.2.8 (2019-08-05) -
----------------------------------------

MAJOR UPDATES
  o ddfOrd() function was renamed. Now ddfORD().
  o IRT parametrization now available in ddfORD() function with
    argument 'parametrization'. SE calculated with delta method.
  o Names of reference and focal group in plot.ddfORD() can be
    changed with 'group.name' argument.

MINOR UPDATES
  o Help page for ddfORD() was updated.
  o Reference for ddfORD() was added.

----------------------------------------
- Changes in difNLR 1.2.7 (2019-07-04) -
----------------------------------------

BUG FIXING
  o Check for input 'item' in S3 methods for difNLR, ddfMLR and ddfOrd
    was fixed.

MAJOR UDPATES
  o S3 methods plot() outputs for difNLR, ddfMLR and ddfOrd were unified.

MINOR UPDATES
  o Help pages were updated.
  o README file was updated.

----------------------------------------
- Changes in difNLR 1.2.6 (2019-07-03) -
----------------------------------------

MAJOR UDPATES
  o S3 method plot() for ddfOrd was implemented.

----------------------------------------
- Changes in difNLR 1.2.5 (2019-07-02) -
----------------------------------------

MAJOR UPDATES
  o S3 methods AIC(), BIC(), logLik(), coef() for ddfOrd were implemented.
  o S3 methods AIC(), BIC(), logLik(), residuals() for difNLR and ddfMLR
    objects now handle column names as 'item' argument.
  o S3 method coef() for difNLR and dfMLR object were updated. Their now
    includes arguments SE (logical) to print standard errors and simplify
    (logical) whether list of estimates should be simplified into matrix.

MINOR UPDATES
  o CITATION was updated.
  o All static DOI links were updated.

----------------------------------------
- Changes in difNLR 1.2.4 (2019-07-02) -
----------------------------------------

MAJOR UPDATES
  o New functions ddfOrd() and ORD() for DDF detection for ordinal data
    with adjacent and cumulative logistic regression models were added.
    Output is displayed via S3 method print.ddfOrd()

MINOR UPDATES
  o Authors' details were updated.
  o Some typos were fixed.
  o Helps for ddfMLR(), MLR() and difNLR() were updated.

----------------------------------------
- Changes in difNLR 1.2.3 (2019-06-20) -
----------------------------------------

BUG FIXING
  o plot.ddfMLR() now handles also binary data.
  o ddfMLR() returns consistently "No DDF item detected" when no DDF
    item was detected.

MAJOR UPDATES
  o Matching criterion for plot.ddfMLR() was improved for displaying
    more smooth curves.

MINOR UPDATES
  o Authors' details were updated.

----------------------------------------
- Changes in difNLR 1.2.2 (2018-05-03) -
----------------------------------------

* Version 1.2.2 is CRAN version.
* It includes version 1.2.1.-1. - 1.2.1.-3.

1.2.1.-3. (2018-04-26)
MAJOR UPDATES
  o S3 methods 'AIC()', 'BIC()', 'logLik()' of 'ddfMLR()' are now item specific.

1.2.1.-2. (2018-03-19)
BUG FIXING
  o difNLR
    - Check for constraints was fixed.
  o NLR
    - initboot = F now works properly.

1.2.1.-1. (2018-03-16)
BUG FIXING
  o difNLR:
    - P-value adjustment is now performed in the last iteration of purification
      as described.
    - In difPur output columns are properly named.
  o ddfMLR:
    - P-value adjustment is now performed in the last iteration of purification
      as described.
    - In difPur output columns are properly named.

MINOR UPDATES
  o Warning messages do not include the call.

----------------------------------------
- Changes in difNLR 1.2.1 (2018-03-01) -
----------------------------------------

* Version 1.2.1 is CRAN version.
* It includes version 1.2.0.-1. - 1.2.0.-7.


1.2.0.-7. (2018-02-27)
MAJOR UPDATES
  o Argument 'start' in 'difNLR()' function is now item-specific. The input is
    correctly checked.
  o In case that some items do not converge, starting values are recalculated
    from bootstraped sample and problematic models are fitted again. This is done
    20 times at most.
    The options were added into 'difNLR()' and 'NLR()' functions.
  o Argument 'constraints' in 'difNLR()' function is now item-specific.

MINOR UPDATES
  o Minor bug fixing:
    - Typos were fixed in 'print()' method for 'difNLR' class.
  o Title was shorten.
  o Description of package was updated.
  o Description file was updated, reference was added.
  o README file was updated.
  o CITATION file was updated.

1.2.0.-6. (2018-02-26)
MAJOR UPDATES
  o S3 methods for 'difNLR' class are now properly describedm, especially,
    'plot.difNLR()' and 'predict.difNLR()'.
  o 'difNLR()' documentation was improved.
  o Bug fixing:
    - S3 methods for class 'difNLR' can now properly handle items with
      convergence issues.
    - 'NLR()' now detects DIF correctly with F test.

MINOR UPDATES
  o Typos were fixed.

1.2.0.-5. (2018-02-20)
MAJOR UPDATES
  o 'print()', 'plot()','fitted()', 'predict()', 'logLik()', 'AIC()', 'BIC()'
    and 'residuals()' for 'difNLR' class now handles item specific arguments
    ('model', 'type' and 'constraints').
  o 'residuals' for 'difNLR' class now uses argument 'item'.
  o Bug fixing:
    - Checking inputs in 'difNLR' was fixed and improved.
    - Fixing degrees of freedom and p-values calculations in 'NLR()'.
    - Fixing parameters, SE and covariances calculations in 'NLR()'.
    - S3 methods for 'difNLR' class can now handle convergence issues.

MINOR UPDATES
  o Documentation of 'difNLR-package' was updated.
  o Syntax in 'plot()' and 'residuals()' for 'difNLR' was slightly improved.
  o 'logLik()' for 'difNLR' now returns list of 'logLik' class values.

1.2.0.-4. (2018-02-19)
MAJOR UPDATES
  o Function 'startNLR()' now handles item-specific arguments ('model' and
    'parameterization'). Its output is now in the form of list. It can be
    simplified with argument 'simplify' into table when all parameterizations
    are the same.
  o Function 'NLR()' now handles item-specific arguments ('model', 'type' and
    'constraints').
  o Function 'difNLR()' now handles item-specific arguments ('model', 'type'
    and 'constraints').
MINOR UPDATES
  o README file was updated.

1.2.0.-3. (2018-02-19)
MAJOR UPDATES
  o Bug fixing:
    - Starting values in input of 'estimNLR()' in 'NLR()' are now properly
      named.
    - Bug in alternative parameterization for testing differences in parameters
      c and d in function 'formulaNLR()' was fixed.
MINOR UPDATES
  o Descriptions of 'formulaNLR()' and 'estimNLR()' were improved.

1.2.0.-2. (2018-02-15)
MAJOR UPDATES
  o Function 'genNLR()' can now also generate nominal data based on
    model specified in 'ddfMLR()'.
  o Argument 'parameters' in 'genNLR()' is no longer applicable.
  o Arguments 'a', 'b', 'c', 'd' were added into 'genNLR()' as parameters -
    discrimination, difficulty, guessing, inattention
  o Function 'genNLR()' can now also generate different underlying
    distributions for reference and focal group with arguments 'mu' and 'sigma'.
MINOR UPDATES
  o Email address of maintainer was changed.

1.2.0.-1. (2018-02-14)
MAJOR UPDATES
  o New function 'estimNLR()' to estimate parameters of NLR models
    was added. This function uses non-linear least squares or maximum
    likelihood method.
  o Function 'NLR()' now uses 'estimNLR()' for estimation of models
    parameters.
  o Function 'difNLR()' can now estimate models parameters with also maximum
    likelihood method.
  o Iteratively reweighted least squares (IRLS) method was added into 'estimNLR()'
    function. This option is not fully functional.
  o Bugs fixing:
    - Bug in 'plot()' for 'ddfMLR' class in matching criterion was fixed.
    - Bug in 'NLR()' was fixed. User-specified starting values are now
      available.
    - Bug in 'startNLR()' was fixed. Function runs even if there are not
      unique cuts for total scores/match.
    - Bug in log-likelihood calculation in 'estimNLR()' was fixed.
MINOR UPDATES
  o Some preparation for new estimation methods for F test in 'NLR()' was done.
  o Convergence failure warning is now item specific.
  o Warning and error messages were improved.


----------------------------------------
- Changes in difNLR 1.1.3 (2018-02-06) -
----------------------------------------

MAJOR UPDATES

  o Bugs fixing:
    - Bug in delta method in 'NLR()' function was fixed.
    - Bug in 'match' argument in 'difNLR()' function was fixed.
    - Bug in one dimensional 'Data' in 'difNLR()' function was fixed.
  o Specification of upper and lower asymptotes in
    'startNLR()' function was improved.
  o Functions 'ddfMLR()' and 'MLR()' can now handle also total score
    or other user-specified matching criterion.
  o S3 functions 'plot()' for class 'ddfMLR' can also handle total score
    or other user-specified matching criterion.

MINOR UPDATES

  o New auxiliary function 'checkInterval()' was added.
  o Size of labs and title was unified in graphical outputs of functions
    'difNLR()' and 'ddfMLR()'.


----------------------------------------
- Changes in difNLR 1.1.2 (2017-12-12) -
----------------------------------------

MAJOR UPDATES

  o CITATION file was added with reference to relevant paper.
  o Bug when loading group by group identificator was fixed.
  o Condition to check dimension of complete cases data was added.
  o Function 'residuals.difNLR()' was added.
  o S3 functions 'AIC()' and 'BIC()' for 'difNLR' class were
    updated.
  o S3 functions 'plot()', 'fitted()' and 'predict()' for 'difNLR' class
    can now handle also other matching criterions than 'zscore'.

MINOR UPDATES

  o Reference lists were updated.
  o README file was updated.

----------------------------------------
- Changes in difNLR 1.1.1 (2017-08-28) -
----------------------------------------

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

  o Bug in 'startNLR()' function for missing values was fixed.

MINOR UPDATES

  o Graphical representation for 'difNLR()' and 'ddfMLR()' functions was
    mildly updated and unified.

----------------------------------------
- Changes in difNLR 1.1.0 (2017-08-21) -
----------------------------------------

*** THIS IS A CRAN VERSION ***

MINOR UPDATES

  o Bug in plot.difNLR was fixed.
  o README file was updated.
  o Package documentation was updated.
  o Default value for 'constraints' arguments in 'NLR()' and 'formulaNLR()'
    functions were set to 'NULL'.
  o Default starting values were added into 'NLR()' function
    by 'startNLR()' function.

----------------------------------------
- Changes in difNLR 1.0.8 (2017-08-14) -
----------------------------------------

MAJOR UPDATES

  o Several bugs were fixed:
    - 'difNLR()' function can handle 'Data' with one column.
    - 'startNLR()' now works when 'match' argument is set.
    - Check input condition was fixed in 'formulaNLR()' function.
    - Delta method in 'NLR()' function.
  o Function 'startNLR()' was mildly updated.


----------------------------------------
- Changes in difNLR 1.0.7 (2017-08-10) -
----------------------------------------

MAJOR UPDATES

  o Item purification was implemented into 'ddfMLR()' function.
  o Anchor items were implemented into 'ddfMLR()' function.
  o Anchor items were implemented into 'MLR()' function.

MINOR UPDATES

  o Minor bug in 'logLik.ddfMLR()' function was fixed.
  o Documentation of 'difNLR()' was updated.

----------------------------------------
- Changes in difNLR 1.0.6 (2017-08-09) -
----------------------------------------

MAJOR UPDATES

  o Item purification was implemented into 'difNLR()' function.
  o Anchor items were implemented into 'difNLR()' function.
  o Anchor items were implemented into 'NLR()' function.

MINOR UPDATES

  o README file was updated.

----------------------------------------
- Changes in difNLR 1.0.5 (2017-08-09) -
----------------------------------------

MAJOR UPDATES

  o Datasets 'difMedical', 'difMedicaltest' and 'difMedicalkey'
    were renamed. Now they are 'MSATB', 'MSATBtest' and 'MSATBkey'
    from Medical School Admission Test in Biology.


MINOR UPDATES

  o LazyData is now available.
  o References were updated.
  o README file updated.

----------------------------------------
- Changes in difNLR 1.0.4 (2017-08-08) -
----------------------------------------

MAJOR UPDATES

  o New function 'formulaNLR()' was implemented. Function
    returns formula for NLR model for 11 predefined models and 4
    predefined DIF types to test. Model and DIF type can be also
    specified with constraints on parameters a, b, c and d.
  o Function 'NLR()' now handles 11 predefined models and 4
    predefined DIF types to test. Model and DIF type can be also
    specified with constraints on parameters a, b, c and d.
  o Function 'startNLR()' was edited to return starting
    parameters with different parameterization. It was also mildly
    changed to correspond to new version of 'NLR()' function.
  o Function 'difNLR()' can now handle also total score or other
    user-specified matching score.
  o Function 'constrNLR()' is no longer part of the 'difNLR'
    package.


MINOR UPDATES

  o References were updated.
  o Some minor bugs were fixed:
      - Items are no longer renamed by 'difNLR()' and 'ddfMLR()' functions.
      - Starting values are now correctly checked in 'difNLR()' function.
  o 'msm' package is now used for delta method in 'difNLR()' function

----------------------------------------
- Changes in difNLR 1.0.3 (2017-06-15) -
----------------------------------------

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

  o Bug of 'plot.ddfMLR()' for non-uniform DDF was fixed.
  o References were updated.

----------------------------------------
- Changes in difNLR 1.0.2 (2017-06-06) -
----------------------------------------

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

  o Bug of dimensions for parameter estimates of 'difNLR()'
    function was fixed.
  o Datasets 'GMAT' and 'GMATtest' were extended by 'criterion'
    variable which is intended to be predicted by test.
  o 'coef', 'logLik', 'AIC' and 'BIC' S3 methods were added for
    class 'ddfMLR'.

MINOR UPDATES

  o  Functions 'plot.ddfMLR()' and 'plot.difNLR()' were slightly
     improved.
  o  Updated error and warning handling in 'difNLR()' and 'ddfMLR()'
     functions.
  o  Description file was updated.
  o  Item names are now the same as in original data set.
  o  Readme file updated.

----------------------------------------
- Changes in difNLR 1.0.0 (2017-01-10) -
----------------------------------------

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

  o  New function ddfMLR() to detect Differential Distractor
     Functioning (DDF) with Multinomial Log-linear Regression
     (MLR) model.
     S3 methods for class 'ddfMLR' also added - 'print' and 'plot'.

  o  New function MLR() to calculate likelihood ratio statistic
     for detecting DDF with MLR model.

  o  The 'difNLR()' function can handle 6 generalized logistic
     regression models with option 'model'.

  o  Functions 'startNLR()', 'genNLR()' ans S3 methods for class
     'difNLR' were changed according 'difNLR()' function. S3 method
     'coef' was created.

  o  New functions NLR() and constrNLR() can now calculates DIF
     detection statistics and specify constraints for generalized
     logistic regression model.

  o  Function 'difNLR()' was edited to response to 'difR' package
     and its DIF detection functions.

  o  Function 'genNLR()' was changed to generate dataset from
     generalized logistic regression model with 8 parameters.

MINOR UPDATES

  o  The CITATION file was updated.

  o  Several typos were fixed.

  o  Some default options of input were changed.

  o  'AIC()', 'BIC()' and 'logLik()' S3 methods added to 'difNLR()'

----------------------------------------
- Changes in difNLR 0.2.0 (2016-11-09) -
----------------------------------------

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

  o S3 method 'plot' for class 'difNLR' was updated.

  o New option of 'test' in 'difNLR()' function was added. Possible
    choices are now 'F' for F-test and 'LR' for likelihood ratio test.

  o Choice of significant level 'alpha' was added into 'difNLR()'
    function with default option 0.05.

  o Six new data sets were added - scored 'GMAT' data, its unscored version
    'GMATtest' and its key 'GMATkey'. Scored 'difMedical' data set, its
    unscored version 'difMedicaltest' and key 'difMedicalkey'.

  o New function 'genNLR()' was added to generate scored (binary) data with
    model by 'difNLR'.

MINOR UPDATES

  o  Several typos were fixed.
