	CHANGES IN VGAM VERSION 1.1-14 (2025-12)

NEW FEATURES

    o   New family functions: loglinb4(), cardioid2(dpqr).
        Thanks to Arthur Pewsey for his cardioid preprint.
    o   loglinb3() now supports u123 which used to be 0
        by definition. Yunhao (Harry) Han added this feature.
    o   cops() improved: 'beta.range' is better and
        'subset' added.
    o   cops3.glm(), copsd3.glm() and wsdm3.glm() written for
        class "glm" objects. And copsd() is for "vglm"  objects.
    o   Arguments 'muxypw = FALSE, roundmux = FALSE'
        added to depvar.vlm().  The two appear in @infos
        in some family functions, along with 'Mux4vglmnet'.
    o   Argument 'bhhh' added to vglm.control()
        and vglm.fit(), and also to some family functions.
        Argument 'b3h.wz' might accompany this.
        Function b3hfun() is new.
    o   Argument 'sumcon' added to multinomial() and
        multilogitlink().
    o   For Tingting Zhan: export S3 method model.frame
        for "vlm", and ditto to summaryvglm().
    o   acat.deriv() is exported.
    o   trplot(asp = NULL) added for objects of class "qrrvglm".
    o   New data set: eyed.
    o   Functions CM.*() have an 'Intercept' argument.
    o   Tested okay on R 4.5.2.


BUG FIXES and CHANGES

    o   No longer exported: cloglog, cauchit, extlogit,
        fisherz, logc, loge, logneg, logit, logoff, negreciprocal,
        probit, reciprocal, rhobit, golf, polf, nbolf, nbolf2, Cut.
    o   Renamed data sets: flourbeetle changed to fbeetle.
    o   summaryvglm(HDEtest = FALSE) is the new default,
        mainly because it may be slow for some models.
    o   gaitdnbinomial(zero = 2) did not work, and
        neither was 'size' intercept-only by default.
    o   cardioid(dpqr) improved markedly.
    o   constraints(fit, type = "term", matrix = TRUE)
        had a bug.
    o   seq2binomial()@infos was faulty.
    o   simple.exponential() and better exponential() updated
        and tested okay.
    o   Better initial values for genpoisson1().
    o   stop() replaces warning() in multinomial() if
        eta or the fitted values contains NAs.  Thanks to
        Fabrice Rossi for picking this up.
    o   dposnegbin2() added (same as dposnegbin() in VGAMdata).
        for posnegbinomial(). Thanks to Karl-Joan Alesma
        for first picking up this bug.
    o   poissonff(imethod = 2) is used if 'weights' is
        inputted; then weighted.mean() is called.




	CHANGES IN VGAM VERSION 1.1-13 (2025-02)

NEW FEATURES

    o   New family functions: betabinomial.rho(),
        binom3.or(dr).
    o   Improved functions: pospoisson() (Thanks to Spencer Graves).
    o   Helper function: niters().
    o   VGAMfamilyfunction(link = Link) should work, where
        Link <- "identitylink", say.
        Note: weibullR(lshape = logofflink(offset = -2))
        will no longer work. Instead, use 
        weibullR(lshape = "logofflink(offset = -2)")
        And something like
        bvalue <- 0.1
        vglm(interspike ~ 1, garma(loglink(bvalue = bvalue)))
        will fail. Instead, use 
        eval(substitute(vglm(interspike ~ 1,
             garma(paste0("loglink(bvalue = ", .bvalue , ")"),
                   p = 2, coefstart = c(4, 0.3, 0.4))),
             list( .bvalue = bvalue)))
        Sorry about this!
    o   linkfun() has a new 'by.var = TRUE' argument.
    o   show.summary.rrvglm() has ... added.
    o   The WSDM function.
    o   Tested okay on R 4.4.1.


BUG FIXES and CHANGES

    o   summary(vglm(binom2.or())) failed.
    o   summary(vgamObject) no longer prints the
        Pearson residuals at all.
    o   hdeffsev() renamed to hdeffsev0(),
        hdeffsev2() to hdeffsev2() [no change],
        and hdeffsev() is new and based on WSDM.




	CHANGES IN VGAM VERSION 1.1-12

NEW FEATURES

    o   hdeffsev2() and DDfun() are new.
    o   Some link functions handle up to deriv = 9: e.g.,
        loglink(), logitlink().
    o   Tested okay on R 4.4.1.


BUG FIXES and CHANGES

    o   Passes stricter CHECKing, esp. with Rd
        \link{} targets that were missing package anchors.
        And R_Calloc() and R_Free() used.
    o   More \dontrun{} added to .Rd files, to quicken
        the checking.
    o   Several functions associated with the Laplace
        distribution moved to VGAMdata.
    o   VGAM now depends on R >= 4.1.0 which was released
        3 years ago.




                CHANGES IN VGAM VERSION 1.1-11

NEW FEATURES

    o   AIC() and BIC() methods function for "drrvglm" objects.
    o   simulate() works with multinomial(), cumulative(),
        and other categorical family functions.
    o   New family functions: N1binomial(dr), N1poisson(dr).
    o   Helper functions: is.Identity(), unmaskA(), is.non0().
    o   Tested okay on R 4.4.0.


BUG FIXES and CHANGES

    o   "rrvglm" and "drrvglm" objects now fitted under
        a common framework and algorithm.
    o   summary(vglmObject) no longer prints the
        Pearson residuals by default. Some other output may
        be suppressed if they are printed.
    o   Some argument shuffling in binormalcop().
        Argument 'stdze' means the mean and sd parameters 
        may be estimated.
    o   Some argument shuffling in rrvglm.control(). Also,
        the following arguments are no longer supported:
        'Wmat', 'Norrr'", 'Svd.arg', 'Uncorrelated.latvar',
        'Alpha', 'scaleA'.
        Also, 'Crow1positive = NULL' for no effect.
    o   summary.rrvglm(h.step = 0.005) and
        summary.drrvglm(h.step = 0.005) are now defaults.
    o   More checking of links performed if vfl = TRUE.
    o   gaitdnbinomial() now assigns earg[[2]] (needed
        for rootogram4()).
    o   Coef(drrvglmObject)@A and summary(drrvglmObject) now agree.
    o   The handling of vglm(na.action) is more similar to lm() and
        glm().  Ditto for vgam().




                CHANGES IN VGAM VERSION 1.1-10

NEW FEATURES

    o   Doubly-constrained RRVGLMs are partially implemented.
        They have class "drrvglm". More checking
        is needed to iron out all problems.
    o   plotvgam(..., main = letters[1:3]) will work by
        having 3 different 'main's.
    o   chisq() has 'squared' for the chi distribution.
    o   New family functions: extbetabinomial(dpqr),
        gensh(dpqr).
    o   New functions: asinlink(), sqrtlink(), alogitlink(),
        sloglink(), lcalogitlink(), lcsloglink(), cloglink(),
        log1plink().
    o   Argument 'ynames = FALSE' added to multinomial(),
        acat(), [cs]ratio(), propodds() and cumulative(),
        which can make the output more readable. Thanks to
        Daniel Smith for the suggestion.
    o   New functions: CM.symm[01](), CM.equid(), CM.free(),
        CM.ones(), CM.qnorm().
    o   negbinomial(vfl = FALSE) has been added.
    o   Tested okay on R 4.3.2.


BUG FIXES and CHANGES

    o   acat(), cumulative(), cratio(), propodds(), sratio() handles
        argument 'Thresh' which can be assigned 'symm1', 'symm0', 
        'free', 'qnorm', etc.
    o   All remnants of is.R() removed, for R 4.4.0.
    o   Some fortran code now avoids some warnings found by
        a Debian C compiler.
    o   dgaitdplot() stop()s when the parameters are
        outside the parameter space.
    o   demo() examples have been updated to run fully.
    o   "rrvglm" objects have new slots "A.est" and "C.est"
        which simplifies the code.
    o   "rrvglm" objects are estimated using the "alternating"
        'Algorithm' only, and the "derivative" method withdrawn.
    o   For RR-VGLMs and DRR-VGLMs, 'kill.all' changed to 'omit123'.
    o   rrvglm.control() has some of parameters changed
        (for more stringent convergence).
    o   Some argument shuffling: genpoisson[12](). That is,
        the order has been changed.
    o   summary.rrvglm() swapping of pasting block matrices
        according to 'fixA' was wrong.
    o   replace.constraints() renamed to replaceCMs().
    o   dtruncpareto1() no longer returns 0 at lower and upper.
        Thanks to Jason Li for picking this up.
    o   summaryvgam() and summarypvgam() calls
        summaryvglm(HDEtest = FALSE) to
        simplify things and avoid unnecessary complications.
    o   expected.betabin.ab renamed to Ebbin.ab.
    o   Deprecated: gordlink(),  pordlink(),
        nbordlink(),  nbord2link().




                CHANGES IN VGAM VERSION 1.1-9

NEW FEATURES

    o   Soon: VGAM will require R >= 4.4.0 because plot.profile
        will move from \pkg{MASS} to \pkg{stats}. Sorry!
    o   Yettodo: modify dgaitdlog() to be like
        dgaitdpois() in terms of safeguarding against too
        much deflation and inflation (to return NaN).
        Ditto to dgaitdzeta() and dgaitdnbinom().
        Ditto for the p-type functions.
    o   New family functions: gammaff.mm(), hurea(d).
    o   New generic and/or methods functions: cops().
    o   acat(), cumulative(), cratio(), propodds(), sratio() handles
        argument 'thresholds' equalling 'symmetric1' and 'symmetric0'.
        Note from version 1.1-8 that 'equidistant' was added.
    o   Tested okay on R 4.3.0.


BUG FIXES and CHANGES

    o   wald.stat(..., orig.SE = TRUE, values0 = values0)
        assumed that values0 == 0.
    o   [rq]zinegbin() did not handle the case 'munb = NULL'
        when 'prob' was specified. Thanks to Giuseppe D for
        finding this bug.
    o   acat(), cumulative(), cratio(), propodds(), sratio()
        must have an intercept term.
    o   For vglm.fit(), slot "middle" is now "middle1",
        "fini" is now "fini1", and a new "start1" slot added.
    o   bigamma.mckay() moved into VGAMdata 1.1-9.
    o   nakagami() has a zero = "shape" argument.
    o   [dp]gaitdpois() have more range checking, e.g., for too
        much deflation and inflation.
    o   For more speed, several slow-checking .Rd files
        have been changed by using \dontrun{}.
    o   summary(posbernoulli.tb()) failed to print the confidence
        interval. Thanks to Carl Schwarz for picking this up.
    o   DFLOAT() changed to DBLE() in some .f files.




                CHANGES IN VGAM VERSION 1.1-8

NEW FEATURES

    o   Warnings from R-devel addressed.
    o   acat(), cumulative(), cratio(), sratio() have arguments
        'thresholds', 'Tref', 'Treverse'.
    o   hdeffsev() has been edited.
    o   margeff() works for poissonff(), negbinomial() and
        posnegbinomial() objects.
    o   multilogit() did not handle 1-row arguments correctly when
        'inverse = FALSE'. Now vglm(y, multinomial) handles a 1-row y,
        as well as acat and cumulative and [cs]ratio.
    o   rrvglm.fit() is more robust with respect to 'one.more'.
    o   plot.vgam() issues an error if sm.os()/sm.ps() is used with
        deriv.arg > 0.
    o   New data set: budworm.



BUG FIXES and CHANGES

    o   rainbow.sky has a new green.
    o   zoabetaR() handles the argument 'constraints'. Thanks
        to Riccardo Lo Martire for helping to find the bug.




                CHANGES IN VGAM VERSION 1.1-7

NEW FEATURES

    o   Slot 'rqresslot' added to VGAM family functions, for implementing
        randomized quantile residuals.
        Available in about 50 family functions such as poissonff() currently.
    o   Slot 'rqresslot' added to VGAM family functions, for implementing
    o   Argument 'label.it' added to model.matrixvlm().
    o   New generic and/or methods functions: rqresid(), rqresiduals().
    o   New data set: lpossums.
    o   Tested okay on R 4.2.1.


BUG FIXES and CHANGES


    o   cumulative() has been replaced by its version prior
        to 2021-05. Evidently some so-called improvements
        created some bugs. Thanks to Johanna Neslehova for
        alerting me to this.
    o   bistudentt() was documented wrong; thanks to
        Iago Gine Vazquez for finding this.
    o   fill() now deprecated; replaced by fill4().




                CHANGES IN VGAM VERSION 1.1-6

NEW FEATURES

    o   Most of the GAIT regression code have new arguments 'd.mlm'
        and 'd.mix' but mainly only the dpqr-type functions work!
        Some other functions should work such as gaitdpoisson() and
        dgaitplot(). Also, is.deflated() and goffset() are new.
    o   New family function: gaitdnbinomial().
    o   Upgraded family functions: gaitpoisson() becomes gaitdpoisson(),
        gaitlog() becomes gaitdlog(), gaitzeta() becomes gaitdzeta().
    o   New generic and/or methods functions: KLD(), Pheapseep().
    o   Some colours are pre-defined for GAITD regression, and the default
        colour scheme has changed.
    o   trim.constraints() has a new 'intercepts = TRUE' argument.
    o   Many family functions have a 'dpqrfun' component in the @infos slot.
        Useful to tie in the modelling function with its density, etc.
    o   binormal() has a new 'rho.arg' argument.
    o   Some link functions handle deriv = 4: e.g., loglink(), logitlink().
    o   vglmfit@misc$history gives the convergence history.
    o   Improvements to clogloglink() at the boundary 1.
    o   hdeff.vglm() has a new argument 'theta0'.
    o   wald.stat() cleaned up internally.
    o   Tested okay on R 4.1.2.



BUG FIXES and CHANGES

    o   All GAIT regression code has arguments 'alt.mlm' changed to
        'a.mlm', 'inf.mix' changed to 'i.mix', etc. Colours have changed.
        [dpqr]gaitpois() have been renamed to [dpqr]gaitdpois(),
        and gaitpoisson() to gaitdpoisson().
    o   [dpqr]zanegbin() no longer supports argument 'prob'.
    o   hdeff() makes a recursive call if any NAs are in the answer and
        fd.only == FALSE. So the answer should then be a 'proper' one.
    o   Code involving anova() for VGLMs/VGAMs changed to avoid an
        error when loading in \pkg{semTools}.
    o   spikeplot(..., use.table = TRUE) failed wrt x.use and y.use.
    o   vcov() slightly faster for "vglm" objects.  Thanks to Frank Harrell
        for comments that led to this.
    o   linkfun.vglm() changed to linkfunvglm().




                CHANGES IN VGAM VERSION 1.1-5

NEW FEATURES

    o   New functions: meangait(), spikeplot(), trim.constraints().
    o   iam(i, 1:M, M = M) now works, for selecting a whole row,
        and similarly for a column.
    o   Tested okay on R 4.0.3.



BUG FIXES and CHANGES

    o   gait[log,poisson,zeta](): arguments llambda.[ai] and lshape.[ai]
        equal llambda.p and lshape.p by default. This means only one
        argument needs be assigned in order to change them all.
    o   [dpqr]genpois[12]() has argument 'mean' changed to 'meanpar'.
    o   gait[log,zeta]() bug fixed wrt missing 'allprobs'.
    o   qfoldnorm() now uses the bisection method. Thanks to
        Mauricio Romero for a suggestion that led to this.
    o   gait[log,poisson,zeta]() compute the sandwich formula
        explicitly for the working weights; this has speed gains.
        Their @deriv avoids nested for() loops too.
        Their initial value grids have become coarser.
    o   Functions moved to VGAMdata 1.1-5: yip88, bellff(dr), tikuv(dpqr).




                CHANGES IN VGAM VERSION 1.1-4

NEW FEATURES

    o   Functions score.stat() and wald.stat() offer greater flexibility
        by some new arguments, and 'as.summary' changed to 'orig.SE'.
    o   Influence() computes the influence functions of a "vglm" object.
    o   Methods functions hdeff.matrix() and hdeff.numeric() are new.
    o   Family function slot genpoisson()@ weight was updated with
        the EIM derived by Easton Huch, and after major changes,
        genpoisson() was renamed to genpoisson0().
    o   New functions: [dpqr]gaitnbinom(), [dpqr]gaitgenpois[012](),
        [dpqr]gaitbinom(), dgaitplot(), plotdgait.vglm(), Trunc().
    o   New family functions: genpoisson[12](dpqr), gaitpoisson()
        so that gaitpoisson.mix() and gaitpoisson.mlm() were removed,
        gaitlog() so that gaitlog.mix() was removed,
        gaitzeta() so that gaitzeta.mix() was removed.
    o   Tested okay on R 4.0.3.



BUG FIXES and CHANGES

    o   Deprecated: dgenpois(), genpoisson(), [dpqr]gaitnbinom.m[ix,lm]().
        gatnbinomial.m[ix,lm](dpqr), [dpqr]gaitbinom.mlm(),
        gaitpoisson.mix(), gaitpoisson.mlm(), gabinomial.mlm(),
        gtbinomial().
    o   'lhs.prob' changed to 'cdf.max.s'.
    o   Argument changes for all GAIT code, e.g., 'alter' changed to
        'alt.mix' or 'alt.mlm', 'byrow.arg' to 'byrow.ai', etc.
    o   Functions moved to VGAMdata 1.1-4: oalog, oilog, otlog,
        oapospois, oipospois, otpospois, oazeta, oizeta, otzeta, oizipf,
        oiposbinomial(dpqr), [dpqr]posbinom, [dpqr]pospois, [dpqr]posnegbin.
    o   Pearson residuals no longer printed by default in a summary
        of a "vglm" object: presid = FALSE.
    o   Some changes made to plot(vgam()) code for changes in R 4.0.0,
        especially if the covariate is a character/factor.
        Now avoids "coercing argument of type 'double' to logical" warning.
    o   negbinomial(lmu = "nbcanlink") had an error relating to "newemu".



                CHANGES IN VGAM VERSION 1.1-3

NEW FEATURES

    o   New functions: [dpqr]gaitpois(), [dpqr]gaitlog(), [dpqr]gaitzeta(),
        dextlogF().
    o   New family functions: gatnbinomial.mix(dpqr),
        gaitlog.mix(dpqr), gaitpoisson.mix(dpqr), gaitpoisson.mlm(dpqr),
        extlogF1(d).
    o   New generic and/or methods functions: altered(),
        inflated(), truncated(), specialsvglm(),
        fix.crossing(), is.crossing().
    o   Coef.vlm() handles models with contiguous "multilogitlink"s,
        e.g., gaitpoisson.mlm().
    o   get.offset() is now defined as a generic function (returns the
        n x M matrix of offsets by default).
    o   Some .f files have been pruned of unnecessary code.
    o   New data set: V2.
    o   Tested okay on R 4.0.0.



BUG FIXES and CHANGES

    o   Another attempt to .Deprecated()  all link function names
        which do not end in "link", e.g., loglink() replaces loge(),
        logitlink() replaces logit().
    o   gatpoisson.mix() (now merged into gaitpoisson.mix())
        reorders its linear/additive predictors and now handles
        length(alter) == 0 (default, so equivalent to poissonff())
        and length(alter) == 1.
        Ditto for gatnbinomial.mlm(), etc.
    o   Three argument mismatches found in .f and .c code.
    o   qlog() and qyules() buggy wrt interval selection prior to
        applying bisection.
    o   'Rank mismatches' flagged by gfortran10 fixed, by not
        calling two subroutines.
    o   [dpqr]gaitpois.mlm() and [dpqr]gaitpois.mix() have been combined into
        [dpqr]gaitpois().



                CHANGES IN VGAM VERSION 1.1-2

NEW FEATURES

    o   New generic and/or methods functions: add1.vglm(),
        dfterms(), drop1.vglm(), extractAIC.vglm(),
        rootogram4vglm() [based on \pkg{countreg}],
        step4vglm().
    o   New family functions: gabinomial.mlm(), gatnbinomial.mlm(dpqr),
        gatpoisson.mix(dpqr), gatpoisson.mlm(dpqr).
    o   New functions: [dpqr]zipfmb(),
        [dpqr]gaitbinom.mlm(), [dpqr]gaitnbinom.mlm(),
        [dpqr]gaitpois.mlm(),  [dpqr]gaitnbinom.mix(),
        [dpqr]gaitpois.mix().
        Note that the naming conventions have changed somewhat, especially
        regarding the negative binomial distribution.
    o   Decommissioned functions:
        gapoisson(), gtpoisson(),
        [dpqr]gabinom(), [dpqr]gapois(),
        [dpqr]gibinom(), [dpqr]gipois(),
        [dpqr]gtbinom(), [dpqr]gtpois().
    o   eta2theta() should be able to handle links for, e.g.,
        gatpoisson.mlm(), gibinomial().
    o   posbernoulli.t() has a 'type.fitted' argument.
    o   gtpoisson.mlm() supports type.fitted = "Pobs.a",
        gipoisson.mlm() supports type.fitted = "Pstr.i".
    o   New data set: backPain2.
    o   Cleve Moler added to DESCRIPTION as a contributor, to reflect
        the use of LINPACK.
    o   Tested okay on R 3.6.1.



BUG FIXES and CHANGES

    o   Use of old link function names now result in a call to
        .Deprecated(), except for a selected few such as logit() and
        probitlink()---this will only be allowed for a limited time.
    o   negbinomial()@initialize bug fixed for "nbcanlink()" and
        multiple responses; thanks to Victor Miranda.
    o   cens.poisson() gave a warning upon a summary().
        Thanks to Jens Heumann for picking this up.
    o   bisection.basic() returns a warning, not an error, if
        it cannot find an interval which covers the root.
    o   Rank() has an improved implementation and documentation.
    o   anova.vglm() had some bugs---thanks to Thamron Keowmani for
        finding them.
    o   posnormal() failed when 'constraints' was inputted---thanks
        to Michael Zamo for picking this up.
    o   Improvements to yules(dq).



                CHANGES IN VGAM VERSION 1.1-1

NEW FEATURES

    o   New family functions: gentbinomial(dpr), gentpoisson(dpr),
        genapoisson(dpr), genipoisson(dpr).
    o   New functions: [dpr]genabinom(), [dpr]genibinom(), care.exp2().
    o   Argument 'parallel' added to benini1(), gamma1(), maxwell(),
        rayleigh() and topple().
    o   Argument 'parallel = TRUE' for exponential() does not apply to the
        intercept now.
    o   New link function: loglogloglink().
    o   New variable: rainbow.sky.
    o   Some family functions now support 'type.fitted = "Qlinks"'
        (quantile link functions in \pkg{VGAMextra}),
        e.g., benini1(), gamma1(), exponential(), maxwell(), rayleigh(),
        topple().
    o   Tested okay on R 3.5.3.



BUG FIXES and CHANGES

    o   All link function names now end in "link", e.g.,
        loglink() replaces loge(), logitlink() replaces logit().
        Backward compatability holds for older link function names,
        probably for quite a while.
    o   gaussianff() reinstated but is effectively deprecated;
        it calls uninormal() instead after a warning.
    o   Documentation for lerch.Rd improved, as well as zeta()
        (thanks to Jerry Lewis).
    o   rrar.control(summary.HDEtest = FALSE) is now set.
    o   anova.vglm() gives an error message if it operates on a model
        with just a single factor as explanatory, when type = 2 or 3.
    o   "summary.vglm" and "summary.vgam" prints out the names of
        the linear/additive predictors by breaking the output into
        lines that are not too long.
        Number of "Fisher scoring" iterations printed.
    o   posbernoulli.tb(ridge.constant = 0.0001) now, it was
        ridge.constant = 0.01 for a long time. The adjustment is now
        multiplicative rather than additive.



                CHANGES IN VGAM VERSION 1.0-6

NEW FEATURES

    o   New functions: [dr]bell(), bellff(), [dr]trinorm(), trinormal(),
    o   New functions: anova.vglm(), R2latvar(), ordsup().
        And residualsvglm(..., type = "stdres") is implemented for
        'VGAMcategorical' models and "poissonff" and "binomialff" models.
        Thanks to Alan Agresti suggesting all these.
        anova.vglm() works for 'type = "II"' (default) and "I" and "III".
    o   calibrate() has argument 'lr.confint' for likelihood ratio based
        confidence intervals (for Rank == 1 "rrvglm" and "qrrvglm" objects
        only). Wald vcov matrix returned in vcov list component for
        poisson and binomial.
        calibrate() has argument 'cf.confint' for characteristic function
        based confidence intervals (for Rank == 1 "rrvglm" and "qrrvglm"
        objects only).
    o   margeff() works for tobit() objects.
    o   A .control() function for a VGAM family function allows the 'HDEtest'
        argument in summaryvglm() to be FALSE by default, e.g.,
        zanegbinomial.control(summary.HDEtest = FALSE) means that
        summary(zanegbinomialfit) does not conduct any HDE tests.
    o   vcov() for "qrrvglm" objects (but assumes C is given).
    o   New functions: attr.assign.x.vglm().
    o   New documentation: residualsvglm().
    o   Tested okay on R 3.5.1.



BUG FIXES and CHANGES

    o   By default, dbetabinom() now behaves like dbinom() wrt 'size' and
        'prob', since rho = 0. This is done by 'limit.prob'.
        Thanks to S. A. Mousavi for picking this up.
        The functions [dr]betabinom() have also been modified accordingly to
        behave like the binomial distribution, by default.
    o   pbetabinom.ab() did not handle negative values of 'q' correctly;
        NAs now replaced by 0s.
    o   vglm()@predictors did not contain the offsets; now they do.
        Hence predict() will be affected.
    o   pzeta() was incorrect if the first argument was greater than c.12.
        Thanks to Mitchell Newberry at the University of Pennsylvania
        for picking this up.
    o   profilevglm() did not call constraints() correctly.
    o   Deprecated: quasibinomialff(), quasipoisonff(), gaussianff().
        The models fitted now have a log-likelihood that fully specifies
        the model.
    o   nbcanlink() has a cosmetically improved label.
    o   lambertW() documentation improved; thanks to Jan Somorcik for this.
    o   dirmultinomial()@validparams had M unassigned [thanks to Feng Zeng].
    o   For model.matrix() for "qrrvglm" objects, model.matrix(type = "lm")
        is new and returns what used to be model.matrix(type = "vlm").
        And now model.matrix(type = "vlm") returns the big model matrix
        of the CQO given the constrained coefficients C.
    o   For uninormal(), if var.arg = TRUE then zero = "var", i.e., then
        "sd" remains intercept-only by default even if var.arg = TRUE.



                CHANGES IN VGAM VERSION 1.0-5

NEW FEATURES

    o   extlogit() now handles 'deriv = 3'.
    o   Generic function hdeff() implements an analytic solution
        for the following families: borel.tanner(), felix(), lindley().
        For almost all other families, finite-difference approximations
        to derivatives means that first and second derivatives can be
        computed, even with models with 'xij' terms.
    o   Generic function wald.stat() implements Wald tests with SEs evaluated
        at the null values, not at the original MLE, so do not suffer from the
        Hauck-Donner effect.
    o   "vglm" objects have a new "charfun" slot, for the
        characteristic function.
    o   "summary.vglm" and "summary.vlm" objects have new
        "coef4lrt0", "coef4score0", "coef4wald0" slots, for
        storing the 'Wald table' equivalent of LRTs, score tests and
        modified Wald tests.
        The latter has its SEs computed at the null values with the
        other coefficients obtained by further IRLS iterations, etc.
        Function summaryvglm() has arguments 'lrt0.arg', 'score0.arg',
        'wald0.arg'.
    o   TIC() is new, for the Takeuchi's Information Criterion.
        Thanks to Khedhaouiria Dikra for suggesting this.
    o   mills.ratio() and mills.ratio2() are exported.
    o   New functions: lrt.stat(), score.stat(), wald.stat(),
        which.etas(), which.xij().
    o   cauchy1() and cauchy() handle multiple responses and have
        been modernized a bit.
    o   Tested okay on R 3.4.3.



BUG FIXES and CHANGES

    o   Setting 'deriv.arg' a positive value in plotvgam() when there
        are no s() terms results in a warning.
        Thanks to Barry Goodwin for detecting this.
    o   cens.poisson() can better handle large lambda values, at least for
        left and right censored data (but not for interval-censored data yet).
        Thanks to Eugenie Hunsicker for picking up deficiencies in the code.
    o   In multinomial.Rd, it was stated that setting parallel = TRUE
        did not make the intercepts the same. It does make them the same.
        Thanks to Stuart Coles for picking this up.
    o   binomialff(multiple.responses = TRUE) returned an incorrect deviance.
    o   bilogistic() uses SFS rather than BFGS as its algorithm.
    o   Deprecated: lrp(), normal1() [use uninormal() instead].



                CHANGES IN VGAM VERSION 1.0-4

NEW FEATURES

    o   This package is now Renjin compatible.
    o   gengamma.stacy() handles multiple responses, and some
        of its arguments have had their default values changed.
    o   calibrate() has a methods function for "rrvglm" objects.
    o   "vglm" objects have a new "hadof" slot.
    o   "vglm" objects will soon have a new "charfun" slot.
    o   constraints(vglmfit, matrix = TRUE) is now embellished by
        rownames, by default.
    o   New generic and methods function: hdeff(), lrp().
    o   Many link functions accommodate 'deriv = 3' and sometimes a bit
        higher. More safety when 'deriv' is assigned out-of-range values.
    o   fitted() and predict() with lms.???() fits, such as lms.bcn(),
        now handles inputting new 'percentiles' values. Thanks to
        Sven Garbade for picking up this obvious deficiency.
    o   New function(s): d3theta.deta3().
    o   Tested okay on R 3.4.1. This package now requires R 3.4.0 or higher
        (not R 3.1.0 as before).



BUG FIXES and CHANGES

    o   [dqpr]gengamma.stacy() have no default value for 'd' and 'k' args.
    o   negbinomial(lmu = "nbcanlink") now works properly;
        thanks to Victor Miranda for much help and picking up 3 bugs.
    o   perspqrrvglm() called @linkinv() without passing in @extra.
    o   fisherz(theta, inverse = TRUE, deriv = 1) was out by a factor of 2.
    o   multilogit() did not handle 1-row arguments correctly when
        'inverse = TRUE' and 'refLevel' was neither 1 or M+1.
    o   Several C and Fortran functions renamed, for R 3.4.0.



                CHANGES IN VGAM VERSION 1.0-3

NEW FEATURES

    o   vgam() with sm.os() and sm.ps() terms allows G2-VGAMs to be fitted.
    o   plotvgam() has a "shade" argument.
    o   Almost all family functions have been "validparams"-enabled, for
        greater reliability.
    o   confint() implements the profile likelihood method (in addition
        to the Wald method).
    o   New family functions: diffzeta(dpqr),
        oilog(dpqr), oiposbinomial(dpqr), oizeta(dpqr),  oizipf(dpqr),
        otlog(dpqr), otpospoisson(dpqr), otzeta(dpqr),
        oalog(dpqr), oapospoisson(dpqr), oazeta(dpqr), topple(dpqr).
    o   New functions: [pqr]zeta(), [qr]zipf().
    o   Argument 'zero' now accepts "" or NA and interprets these as NULL,
        i.e., no linear or additive predictors are intercept-only.
    o   Significance stars added to summary(rrvglm.object), for very crude
        inference.
    o   zeta() can return the Hurwitz zeta function, via the 'shift' argument.
    o   show.summary.vglm() will only print out any dispersion parameter
        that is not equal to 1.
    o   type.fitted = "quantiles" is available for
        gevff(), negbinomial(), poissonff().
    o   Tested okay on R 3.3.2.



BUG FIXES and CHANGES

    o   mills.ratio1() in tobit() did not handle very negative 'x' values
        correctly. Thanks to Christoph Nolte for detecting this.
    o   Renamed arguments: zetaff(d) use 'shape', not 'p'.
    o   betabinomialff()@infos was buggy wrt 'lshape1' and 'lshape2'.
        Thanks to Xiaodong for detecting this.
    o   leipnik() uses logoff(offset = -1) as the default link for
        lambda now, not "loge".
    o   logff(dpqr) uses 'shape' instead of 'c'     as the parameter name.
    o   yules(dpqr) uses 'shape' instead of 'rho'   as the parameter name.
    o   hzeta(dpqr) uses 'shape' instead of 'alpha' as the parameter name.
    o   felix(dpqr) uses 'rate'  instead of 'a'     as the parameter name.
    o   dbetabinom.ab() handles large values of shape1 and shape2 better, via
        the dbinom() limit. Thanks to Micha Schneider for picking up the bug.
    o   [dpqr]posnegbin() have been improved a little.
    o   logLik(summation = TRUE): prior weights 'w' have been
        converted to a vector when passed in; this is likely to make it less
        likely to give an error.
    o   Labelling of the colnames of the fitted values have changed for many
        family functions, including those for multiple responses,
        e.g., gevff(). Also "mean" had a bug or two in gevff()@linkinv.



                CHANGES IN VGAM VERSION 1.0-2

NEW FEATURES

    o   vglm.fit() has been simplified and handles half-stepping better.
    o   AR1() implements the EIM of Porat and Friedlander (1986); this is
        the work of Victor Miranda. It is specified by type.EIM = "exact"
        (the default).
    o   Function gevff() replaces egev(). It handles multiple responses
        like any other ordinary VGAM family function.
    o   A rudimentrary plotvglm() plots the Pearson residuals, firstly
        versus the predicted values, and secondly, against the hat values.
    o   The 'refLevel' argument of multinomial() accepts a character string,
        e.g., multinomial(refLevel = "European") for xs.nz$ethnicity as a
        response.
    o   New family function: oipospoisson(dpqr), zoabetaR().
    o   New functions: grid.search[23](), [dpqr]oiposbinom().
    o   is.buggy() is called by vgam() immediately after estimation;
        it gives a warning if any constraint matrix corresponding
        to an s() term is not orthogonal.



BUG FIXES and CHANGES

    o   vglm.fit() did not handle half-stepping very well.
    o   Some families for counts (i.e., [pos,z[ai]]negbinomial[ff]())
        have been "validparams"-enabled in order to make estimation
        near the boundary of the parameter space more stable,
        especially when a Poisson approximation is suitable.
    o   Other families that have been "validparams"-enabled:
        gev(), gpd().
    o   Actuarial or statistical size distributions families have
        been modified with respect to initial values, e.g.,
        sinmad, dagum, [inv.]lomax, [inv.]paralogistic, [gen]betaII().
    o   rep_len() replaces rep() where possible.
    o   Function gev() has been changed internally and
        arguments such as 'gshape' have changed.
    o   Function rzipois() may not have handled 0-deflation properly
        but it does so now.
    o   Function plotvgam() had a bug testing for variable names when
        the xij facility was used.
    o   multinomial() and multilogit() use "(Last)" to signify
        the last level of a factor; it used to be "last".
    o   qposbinom() returned 0 (incorrect), and not 1 (correct), for p = 0.
    o   zipoisson() and zipoissonff() no longer store fitted values such
        as pstr0 in the misc slot. They can be obtained by, e.g.,
        fitted(fit, type.fitted = "pstr0").
    o   Renamed functions:
        egumbel() is now called gumbelff().
        [dqpr]ozibeta() is now called [dqpr]zoabeta().
    o   Renamed parameter names: zetaff() uses 'shape', not 'p'.
    o   qzibinom() did not handle arguments lower.tail and log.p correctly.
    o   Tested okay on R 3.3.0. This package now requires R 3.1.0 or higher
        (not R 3.0.0 as before).



                CHANGES IN VGAM VERSION 1.0-1

NEW FEATURES

    o   Argument 'zero' has been programmed to handle (a more
        intuitive) a character vector. Each value of this
        vector is fed into grep() with fixed = TRUE. Many
        VGAM family functions have an equivalent default
        character value of 'zero'.
    o   New slots: "validparams" and "validfitted" for providing
        more opportunities for half-stepping.
    o   The "infos" slot of most family functions have a
        component called "parameters.names", and also
        "Q1" and "M1".
    o   margeff() works for cratio(), sratio() and
        acat() models, and is generic (with S4 dispatch).
        For this, "vcategorical" replaced by "VGAMcategorical",
        and "VGAMordinal" is also a virtual class.
        And margeffS4VGAM() is generic.
    o   summaryvglm() calls the generic summaryvglmS4VGAM() in order
        to compute useful quantities, and it is printed by
        showsummaryvglmS4VGAM(). Specific examples include
        the binom2.or() and cumulative() families.
    o   Similarly, show.vglm() calls the generic showvglmS4VGAM() in
        order to print extra potentially useful output.
        Ditto for , show.vgam() which calls showvgamS4VGAM().
    o   Similarly, predictvglm() calls the generic predictvglmS4VGAM()
        in order to allow for family-function-specific prediction.
    o   logitoffsetlink() is new.
    o   [dpqr]ozibeta() and [dpr]ozibetabinom() and
        [dpr]ozibetabinom.ab() are new;
        by Xiangjie Xue and Thomas Yee.
    o   coef(..., type = c("linear", "nonlinear")) is available
        for "vgam" objects.
    o   The following have new 'weights' slots (based on
        negbinomial()@weight): posnegbinomial(), zanegbinomial[ff](),
        zinegbinomial[ff](). It is based on the expectation of
        a difference between 2 trigamma function evaluations being
        computed using pnbinom(lower.tail = FALSE) and variants.
        Both functions have some argument defaults tweaked.
    o   log1mexp() and log1pexp(), based on Martin Maechler's 2012 paper,
        is 'new'.
    o   Many zero-altered and zero-inflated families have additional
        'type.fitted' choices.
        Initial values for such families hav been improved
        (via Init.mu()).
    o   expint(), expexpint(), expint.E1() allow the computation of the
        first few derivatives.
    o   Tested okay on R 3.2.4.



BUG FIXES and CHANGES

    o   Order of arguments changed: binom2.rho(lmu, lrho),
        negbinomial(), posnegbinomial(),
        zanegbinomial(), zinegbinomial().
    o   pzanegbin() could return -.Machine$double.eps. Thanks to
        Ryan Thompson for notifying me about this.
    o   pbinorm() used to have a bug wrt Inf and -Inf values in
        its arguments. Thanks to Xiangjie Xue for picking this up.
    o   plota21() used qchisq(0.95, df = 1) instead of
        qchisq(0.95, df = 1) / 2 for LRT confidence intervals.
        Thanks to Russell Millar for picking this up.
    o   A new function Init.mu() is used to initialize several
        family functions, especially those based on the negative
        binomial and Poisson distributions.
        The default for Init.mu() is suitable for 0-inflated
        data.
    o   The fitted value of polya() was wrong (wasn't the mean).
    o   Default value of argument 'zero' has changed for:
        bisa(), gumbelII().
    o   zibinomialff()@weight had a bug when calling iam().
    o   [dpqr]nbinom(..., size = Inf) was buggy; it produced many NaNs.
        Thanks to Martin Maechler for promptly fixing this, for R 3.2.4.
    o   The arguments of interleave.VGAM() have changed: from
        interleave.VGAM(L, M) to interleave.VGAM(.M, M1, inverse = FALSE).
        The is a compromise solution with respect to my book.
        The 'inverse' argument is due to Victor Miranda.
    o   summaryvglm() evidently evaluated the weights slot of an
        object twice. Now it is only done once.



                CHANGES IN VGAM VERSION 1.0-0

NEW FEATURES

    o   Official version that goes with the just-released book
        "Vector Generalized Linear and Additive Models:
        With an Implementation in R" by T. W. Yee (2015),
        Springer: New York, USA.
    o   gengamma.stacy() implements a grid search wrt
        all its parameters.
    o   New functions: [dp]lms.bcn().
    o   New family function: weibull.mean().
    o   triangle.control() slows down the speed of the iterations
        towards the MLE, because the regularity conditions do not hold.
    o   New arguments: AR1(nodrift = FALSE).
    o   binormal has arguments eq.mean and eq.sd which now operate
        independently.
    o   confint() should work for objects that are "vglm"s.
        Thanks to Tingting Zhan for suggesting this.
    o   Tested okay on R 3.2.2.
    o   Methods functions for responseName() and term.names() and
        has.intercept().


BUG FIXES and CHANGES

    o   Link functions have changed a lot!!!
        They return different values when deriv = 1 and deriv = 2,
        coupled with inverse = TRUE and inverse = FALSE.
        Type ?Links to see examples.
        The first derivatives become reciprocals of each other
        when inverse = TRUE and inverse = FALSE, however the
        2nd derivatives are no longer reciprocals of each other.
        Also affected are dtheta.deta() and d2theta.deta2(), etc.
    o   'show()' added to importMethods('methods') in NAMESPACE.
    o   The following currently do not work:
        golf(), nbolf(), polf().
    o   AA.Aa.aa() used the OIM and worked for intercept-only models,
        but now it uses the EIM.
    o   logneg("a", short = TRUE) has been modified.
    o   posnormal(): the first and second derivatives have been modified
        for both SFS and ordinary FS,
        and the default is zero = -2 now ('sd' is intercept-only).
        Several other improvements have been done.
    o   binomialff()@deviance is assigned all the time now.
    o   dbetabin.ab() better handles extremes in the shape
        parameters (very close to 0 and larger than 1e6, say).
        Thanks to Juraj Medzihorsky for picking this up.
    o   Family functions: zigeometric()@weight and zigeometricff()@weight
        had one element incorrect.
    o   logit("a+b", short = FALSE) was labelled incorrectly, etc.
    o   Family function tobit()@weights implements Fisher scoring
        entirely. And it handles observations whose fitted
        values are (relatively) large and positive; thanks to
        Victor Champonnois for picking up this bug.
    o   S3 methods function df.residual_vlm() also called by
        df.residual.vlm().
        This is to avoid a bug picked up by car::linearHypothesis().
        Ditto for vcovvlm() by vcov.vlm().
        Also model.matrix() and formula().
        Thanks to Michael Friendly and John Fox for help here.



                CHANGES IN VGAM VERSION 0.9-8

NEW FEATURES

    o   Tested okay on R 3.2.0.
    o   is.buggy() tests to see if a fitted VGAM object suffers
        from known bugs, e.g., a vgam() object with at least one
        s() term whose constraint matrix does not have orthogonal
        columns.
    o   New family function: AR1(d).
    o   New function: dgenpois().
    o   The package has been updated to reflect the new
        J. Stat. Soft. paper by Yee, Stoklosa and Huggins.
        A vignette based on this paper is now included.
    o   dgenbetaII() has now been written; and genbetaII() improved,
        and about 8 special cases of genbetaII() have
        all been modernized to handle multiple responses
        and a default grid search over all the parameters
        (arguments 'gscale' and 'gshape1.a', etc.). These
        families are based on Kleiber and Kotz (2003).


BUG FIXES and CHANGES

    o   Family function genpoisson() has been modernized, and
        should give correct results wrt AIC() etc.
    o   Argument 'init.alpha' renamed to 'ialpha', for the brat(),
        bratt(), and dirmul.old() families.
    o   Calls to N.hat.posbernoulli() used Hlist = constraints rather
        than Hlist = Hlist; this failed for RR-VGLMs.
    o   Family function tobit() obtains initial values even
        in the case when it would otherwise fit an underdetermined
        system of equations. Thanks to McClelland Kemp for picking
        this up.



                CHANGES IN VGAM VERSION 0.9-7

NEW FEATURES

    o   Tested okay on R 3.1.2.
    o   linkfun() and nparam() are new generic functions.
    o   betabinomialff() replaces 'lshape12' with 'lshape1' and 'lshape2'.
        Arguments 'i1' and 'i2' are now 'ishape1' and 'ishape2'.
    o   ABO() has more arguments.
    o   Arguments lower.tail and log.p have been added to quite
        a few pq-type functions (work done by Kai Huang).


BUG FIXES and CHANGES

    o   Argument 'mv' has been renamed to 'multiple.responses'.
        This applies to about 10 family functions such as binomialff().
    o   Argument 'lss' added to betaII(), dagum(), fisk(),
        genbetaII(), inv.paralogistic(), paralogistic(),
        sinmad(). Note that the order of the arguments of
        these functions will change in the near future, and
        consequently the order of the parameters.
        The [dpqr]-type functions of all these distributions
        have arguments that have been rearranged.
    o   All d-type functions handle 'x = Inf' and 'x = -Inf'.
        Much help from Kai Huang here.
        Thanks to Ott Toomet for alerting me to this type of bug.
    o   vsmooth.spline() has 2 argument name changes, and
        a little reordering of its arguments.
    o   More p-type functions handle 'q = Inf' and 'q = -Inf'.
        More q-type functions handle 'p = 0' and 'p = 1'.
        Much help from Kai Huang here.
    o   AA.Aa.aa() and A1A2A3() handled 'inbreeding' the wrong way round.
    o   pposnorm() returned wrong answers.
    o   ptobit(log.p = TRUE) was incorrect, as well as some
        other bugs in [dpqr]tobit().
        The dtobit(Lower) and dtobit(Upper) have changed.
    o   negbinomial() now computes the EIM wrt the 'size' parameter based
        on a finite approximation to an infinite series (provide the
        mu and size parameter has values lying in a certain range).
        This may be time- and/or memory-hungry, but the user has
        control over this via some arguments such as max.mu, min.size
        and chunk.max.MB.
    o   Renamed functions:
        elogit() is now called extlogit(),
        fsqrt() is now called foldsqrt().



                CHANGES IN VGAM VERSION 0.9-6

NEW FEATURES

    o   All r-type functions handle the 'n' argument the same
        way as runif(). This was done with the help of Kai Huang.


BUG FIXES and CHANGES

    o   Slot "res.ss" changed to "ResSS".
    o   Some argument reference errors found by valgrind have been fixed.



                CHANGES IN VGAM VERSION 0.9-5

NEW FEATURES

    o   Tested okay on R 3.1.2.
    o   New argument 'lss' appears on some family functions.
        This is important because it changes the order of the
        parameters.
    o   New functions: QR.Q(), QR.R(), [pq]rice() (thanks
        to Benjamin Hall for pointing that these are based on the
        Marcum-Q function).
    o   exponential() has a new loglikelihood slot. Thanks to
        Neyko Neykov for picking this up this omission.
    o   Constraint matrices in process.constraints() are checked
        that they are of full column-rank.
    o   New family functions: better.exponential(), polyaR().
    o   New functions: qvplot() is preferred over plotqvar(),
        [dpqr]levy().
    o   summary() applied to a "vglm" object now prints out
        the table of estimates, SEs, test statistics
        and p-values very similarly to glm() objects. In
        particular, two-tailed p-values in the 4th column
        are new; these correspond to the z ratio based on
        a normal reference distribution.
    o   gev(), egev(), and gpd() have a 'type.fitted' argument, which
        should be set to "mean" if the mean is desired as
        the fitted values.
        gpd() has a stop() if the data is negative.
    o   AA.Aa.aa() and A1A2A3() have a 'inbreeding = TRUE' argument.
        If 'inbreeding = TRUE' then an extra parameter is estimated.
        If 'inbreeding = FALSE' then the inbreeding coefficient is 0
        by definition, and not estimated.
        G1G2G3() is now renamed to A1A2A3().
    o   Decommissioned VGAM family functions:
        AAaa.nohw(), matched.binomial().
    o   deviance() applied to a "qrrvglm" or "rrvgam" object
        now has a 'history' argument.
    o   binomialff(mv = TRUE) is no longer restricted to responses
        having 0 and 1 values.
    o   New data sets: flourbeetle.
    o   The 'constraints' argument accepts a list with functions
        as components, that compute the constraint matrices.


BUG FIXES and CHANGES

    o   Renamed the order of arguments and linear predictors (now,
        'location'-type precedes 'scale'-type, and 'scale'-type precedes
        'shape'-type parameters):
          benini1(dpqr)
          bisa(dpqr)
          gumbelII(dpqr)
          makeham(dpqr)
          nakagami(dpqr)
          perks(dpqr)
          riceff(dpqr)
          genrayleigh(dpqr)
          expexpff1(), expexpff()
          exppoisson(dpqr)
          gammaR()
    o   Renamed parameter names: poissonff() has "lambda", not "mu",
        binomialff() has "prob", not "mu".
    o   Renamed functions:
        plot.vgam() plots "vgam" objects, not plotvgam().
        Use plot(as(vglmObject, "vgam")) to plot vglm() objects as
        if they were vgam() objects.
        plot.vgam(): the user has total control over 'xlim' and 'ylim'
        if specified.
    o   Renamed functions: cm.zero.vgam() has become cm.zero.VGAM(),
        cm.nointercept.vgam() has become cm.nointercept.VGAM(),
        cm.vgam() has become cm.VGAM(),
        process.categorical.data.vgam to process.categorical.data.VGAM,
        process.binomial2.data.vgam to process.binomial2.data.VGAM.
    o   Link loge() returns "loge" as its tag, not "log" anymore.
    o   Class "cao" changed to "rrvgam".
    o   dbilogis4() was faulty.
    o   Renamed arguments: 'location' is now 'scale' in [dpqr]pareto(),
        and paretoff().
    o   gev() and egev() handle working weights better when sigma is close
    o   gev(zero = 3) has changed to gev(zero = 2:3), by default, and
        egev(zero = 3) has changed to egev(zero = 2:3), by default.
        That is, only the location parameter is now modelled as
        functions of covariates, by default;
        the scale and shape parameters are intercept-only.
    o   bigamma.mckay(zero = 1) has changed to bigamma.mckay(zero = 2:3),
        by default.
    o   rlplot() works for gev() model fits now.
    o   Renamed functions: subsetc() has become subsetcol(),
        my1 has become sc.min1(),
        my2 has become sc.min2(),
        stdze1() has become sc.scale1(),
        stdze2() has become sc.scale2(),
        mlogit() has become multilogit().
    o   Decommissioned VGAM family functions:
        AB.Ab.aB.ab2()
    o   Renamed VGAM family functions:
        OLD NAME:            NEW NAME:
        amh()                biamhcop()
        bigumbelI()          bigumbelIexp()
        fgm()                bifgmcop()
        gammahyp()           gammahyperbola()
        morgenstern()        bifgmexp()
        plackett()           biplackettcop()
        benini()             benini1()
        cgumbel()            cens.gumbel()
        cenpoisson()         cens.poisson()
        cennormal()          cens.normal()
        double.cennormal()   double.cens.normal()
        recnormal()          rec.normal()
        recexp1()            rec.exp1()
        invbinomial()        inv.binomial.exp1()
        invlomax()           inv.lomax.exp1()
        invparalogistic()    inv.paralogistic.exp1()
        koenker()            sc.studentt2()
        frechet2()           frechet()
        hypersecant.1()      hypersecant01()
        gengamma()           gengamma.stacy()
        beta.ab()            betaR()
        betabinom.ab()       betabinomialR()
        gamma2.ab()          gammaR() [see note about reordered arguments]
        logistic2()          logistic()
        lgammaff()           lgamma1()
        lgamma3ff()          lgamma3()
        SUR()                SURff()
        expexp()             expexpff()
        expexp1()            expexpff1()
        weibull()            weibullR(lss = FALSE). Also 'zero' has changed.
    o   Functionality has changed:
        weibull()            weibullR(lss = FALSE). Also 'zero' has changed.
    o   Data sets renamed:
        mmt renamed to melbmaxtemp.
    o   lms.bcn(): changes in the arguments.
    o   [log]alaplace[123](): changes in the arguments, e.g.,
        'parallelLocation' changed to 'parallel.locat'.
    o   Argument 'reference' has been changed to 'refResponse' for
        CQO objects.
    o   Argument 'shrinkage.init' has been changed to 'ishrinkage'.
    o   Argument 'matrix.arg = TRUE' has been changed to
        'drop = FALSE' in fittedvlm().
    o   Bug in dbort(). Thanks to Benjamin Kjellson for picking this up.
    o   vglm.control()$save.weight changed to vglm.control()$save.weights.
        vgam.control()$save.weight changed to vgam.control()$save.weights.
    o   "ccoef" has been replaced by "concoef".
    o   Some documentation regarding qvar(se = TRUE) was wrong.
    o   Argument "alpha" in several bivariate distributions have
        been replaced by "apar", for association parameter.
    o   Arguments "optima" replaced by "optimums",
        "maxima" replaced by "maximums",
        "logmaxima" replaced by "log.maximums".
    o   Function getMaxMin() renamed to grid.search().
    o   lognormal3() withdrawn.
    o   dfbeta() returns the difference between the coeffs.
    o   negbinomial(deviance = TRUE) works when fitting the NB-2,
        provided criterion = "coef" or half.step = FALSE.
    o   Argument "a" replaced by "rate" in maxwell(dpqr).
    o   Arguments "x1" and "x2" replaced by "q1" and "q2" in pbinorm().



                CHANGES IN VGAM VERSION 0.9-4

NEW FEATURES

    o   New data sets: cfibrosis, lakeO, wine.
    o   New functions: Select().
    o   negbinomial(deviance = TRUE) works, provided criterion = "coef"
        is used too.
    o   simulate() works with binomialff(), poissonff(), rayleigh() and
        several other families. See help(simulate.vlm) for a current listing.
    o   coef(colon = FALSE) works for VLM objects.
    o   pslash() has a 'very.negative = -4' argument.
        Thanks to Tiago Pereira for picking this up.
    o   Some family functions have a 'summation = TRUE' argument in
        the loglikelihood slot. Can be accessed using, e.g.,
        logLik(fit, summation = FALSE). See ?logLik.vlm.
        Similarly for deviance(fit, summation = FALSE).
    o   Tested okay on R 3.1.0.


BUG FIXES and CHANGES

    o   bs(), ns(), scale() and poly() are no longer smart,
        but they will handle simple terms such as bs(x) and scale(x).
        The smart version of those functions have been renamed to
        sm.bs(), sm.ns(), sm.scale(), sm.poly();
        these will handle complicated terms such as sm.bs(sm.scale(x)).
    o   Renamed functions: identity() has become identitylink().
    o   Argument names changed:
        'ITolerances' renamed to 'I.tolerances' thoughout,
        'EqualTolerances' renamed to 'eq.tolerances' thoughout.
    o   Bug in mix2normal() fixed in @initialize. Thanks to Troels Ring
        for finding the bug.
    o   Upon loading the package, no warnings (such as masking) is
        given.
    o   multinomial(parallel = TRUE) now applies the parallelism
        constraint to the intercept.
    o   If a factor response is ordered then a warning is issued for
        multinomial().
    o   predict(fit, newdata = zdata2, type = "response") used
        to fail for z[ai][poisson][,ff]() and z[ai][negbinomial][,ff]()
        families. Thanks to Diego Nieto Lugilde for picking this up.
    o   A bug with offsets and coefstart has been fixed.
        Thanks to Giuseppe Casalicchio for picking this up.
    o   Variables "Blist" replaced by "Hlist".
    o   Expression new.s.call no longer used in vglm.fit() and vgam.fit().
        Musual has been replaced by M1.
    o   Variable names changed: prinia, Huggins89table1, Huggins89.t1.
    o   Memory leaks found by valgrind have been patched.



                CHANGES IN VGAM VERSION 0.9-3

NEW FEATURES

    o   New argument:
        posbinomial(omit.constant = FALSE), set to TRUE if
        comparing M_0/M_h models with M_b/M_t/M_tb/M_bh/M_th/M_tbh.
    o   rcim() works with family = multinomial; in conjunction with
        arguments M and cindex to be specified.
        rcim() also had additional arguments and new defaults.
    o   New arguments:
        positive Bernoulli functions have 'p.small' and 'no.warning'
        arguments.
    o   AICc() is new.
    o   family.name() generic is new.
    o   New data sets: prinia.
    o   logLik() methods function for "qrrvglm" objects.
        AIC() methods function for "qrrvglm" objects is corrected.
        AIC() methods function for "cao" objects is new.


BUG FIXES and CHANGES

    o   vgam() with nontrivial constraints is giving incorrect
        predict(vgam.object) and fitted(vgam.object).
        Not yet fixed up but will try soon!
        Thanks to Zachary Kurtz for picking this up.
    o   Argument 'which.lp' changed to 'which.linpred'.
        Argument 'which.eta' changed to 'which.linpred'.
        Argument 'lapred.index' changed to 'linpred.index'.
        Argument 'whichSpecies' changed to 'which.species'.
        Argument 'plot.it' changed to 'show.plot'.
        Argument 'intervalWidth' in plotqvar() changed to 'interval.width'.
    o   Decommissioned VGAM family functions: cennormal1().
    o   posbinomial() returns @extra$N.hat and @extra$SE.N.hat
        if the number of trials is constant across observations.
    o   calibrate() restored to working order.
    o   Argument names changed:
        'szero' renamed to 'str0' thoughout,
        'allowable.length' renamed to 'length.arg' in is.Numeric().
    o   Function uqo() has been withdrawn. Reasons:
        (i)  It needs to be rewritten in C but unfortunately am too busy...
        (ii) It is a very difficult optimization problem, probably too
        difficult to solve in general efficiently.
    o   Arguments in rcqo() have changed.
    o   Data set Perom withdrawn, but deermice remains.
    o   Argument 'zero' in binom2.or() had a bug.



                CHANGES IN VGAM VERSION 0.9-2

NEW FEATURES

    o   New family functions: logF(d), biclaytoncop(dr), binormalcop(dp),
        bistudentt(d), and a basic normal.vcm(),
        zabinomialff(), zageometricff(), zanegbinomialff(), zapoissonff(),
        zibinomialff(), zigeometricff(), zinegbinomialff().
    o   cao.control()suppress.warnings == TRUE is new, and it
        suppresses warnings (esp. lack of convergence) by default.
    o   The convergence criterion now takes into consideration the sample
        size, somewhat. It should stop premature convergence for very
        large data sets.
    o   New functions: dpois.points(), log1pexp(), expint(), expexpint(),
        expint.E1(), dbinorm(), rbinorm(), kendall.tau(), qvar().
        Also, depvar(type = c("lm", "lm2")) has a 'type' argument.
        Also, aux.posbernoulli.t() is new.
    o   New link functions: logneg().
    o   New data sets: beggs, corbet, deermice, machinists, prats, V1.
    o   Argument 'form2' added to vgam(), so vgam.fit() has been modified too.
    o   posbernoulli.tb() seems correct, and works for any
        number of sampling occasions. And posbernoulli.[b,t,tb]() have
        more argument choices.
    o   BIC() is now available, it is based on AIC(..., k = log(nobs(object))).
        But users need to use it with care.
        Also, AICvlm() has a 'corrected = FALSE' argument.
    o   fittedvlm() now has a 'type.fitted' argument that allows
        different fitted values to be computed from a vglm()/vgam()
        object. Several family functions such as zi*()
        [e.g., zipoisson()] and za*() [e.g., zapoisson()]
        have a 'type.fitted' argument that matches it.


BUG FIXES and CHANGES

    o   Default arguments have changed, esp. wrt 'zero' for:
        zibinomial(), zinegbinomial().
    o   cao() used to crash due to memory problems and segment faults.
    o   Syntax such as parallel = TRUE ~ 1 is now supported. Hence argument
        'apply.parint' has been removed.
    o   posbernoulli.b() has a new and superior parameterization, & faster .
    o   Printed output when trace = TRUE has been improved, especially
        for large data sets.
    o   For ordination methods "lv" has been generally replaced by
        "latvar".
        "latvar()" is supported, "lv()" will become fully
        deprecated soon.  But "lvplot()" is retained.
        Also, this applies to most argument names and list
        component names returned, e.g.,
        OLD NAME:                 NEW NAME:
        isdlv                     isd.latvar
        varlvI                    varI.latvar
        lvOrder                   latvar.order
        OptimumOrder              Optimum.order
        maxfitted                 max.fitted
        SD.Ainit                  sd.Ainit
        SD.Cinit                  sd.Cinit
        SD.sitescores             sd.sitescores
    o   For ordination methods "ccoef" has been generally replaced by
        "concoef". This applies to most methods functions.
        Attributes have changed too, from "ccoefficients"
        to "con.coefficients".
    o   VGAM now suggests \pkg{VGAMdata}.
    o   Renamed VGAM family functions:
        OLD NAME:                 NEW NAME:
        normal1()                 uninormal()
        bivgamma.mckay()          bigamma.mckay()
        cennormal1()              cennormal()
        dcennormal1()             double.cennormal()
        dexpbinomial()            double.expbinomial()
        explogarithmic()          explogff()
        frank()                   bifrankcop(dpr)
        [dpr]frank()              [dpr]bifrankcop()
        fnormal1()                foldnormal()
        [dpqr]fnorm()             [dpqr]foldnorm()
        gumbelIbiv()              bigumbelI()
        mbinomial()               matched.binomial()
        mix2normal1()             mix2normal()
        mix2normal1.control()     mix2normal.control()
        nidentity()               negidentity()
        normal1()                 uninormal()
        nloge()                   negloge()
        pnorm2()                  pbinorm(dpr)
        pareto1()                 paretoff()
        poissonp()                poisson.points()
        powl()                    powerlink()
        recnormal1(d)             recnormal()
        rig()                     rigff()
        skewnormal1()             skewnormal()
        [dr]snorm()               [dr]skewnorm()
        tpareto1()                truncpareto()
        wald()                    waldff()
    o   Decommissioned functions:
        OLD                       NEW
        dnorm2()                  dbinorm()
        pnorm2()                  pbinorm()
    o   Renamed internal functions:
        OLD                       NEW
        lv.cao()                  latvar.cao()
    o   Renamed arguments:
        OLD                       NEW
        equalsd                   eq.sd
    o   Internally, variables identifiers with "_" have been replaced
        by a ".", e.g., X_vlm becomes X.vlm.
        Saved component names follow this change too, e.g.,
        @extra$ncols_X_lm becomes @extra$ncols.X.lm.
    o   Improved:
        fgm() has its explicit EIM programmed in.
    o   summary() applied to a "rcim0" or "rcim" object now works.
    o   Family functions which have changed: zigeometric().
    o   Slotname "rss" changed to "res.ss".
    o   zinegbinomial()@weight continues to use Fisher scoring
        until not all the random variates are zeros or nonzeros.
    o   loglinb2(zero = 3) and loglinb3(zero = 4:6) are defaults
        now (used to be zero = NULL).
    o   Data sets moved: wffc, wffc.nc, etc. moved to \pkg{VGAMdata}.
    o   stats::print.anova() no longer called directly by lrtest().



                CHANGES IN VGAM VERSION 0.9-1

NEW FEATURES

    o   A companion package, called \pkg{VGAMdata}, is new.
        Some large data sets previously in \pkg{VGAM} have
        been shifted there, e.g., xs.nz and ugss.
        In \pkg{VGAMdata} there is (new) oly12 and students.tw.
    o   pnorm2() argument names have changed from 'sd1' to
        'var1', etc. and 'rho' to 'cov12'.
        See documentation.
        Warning given if it returns any negative value.
    o   Introduction of g-type arguments for grid search.
    o   Improved initial values for: lomax().
    o   Argument 'bred' works for poissonff().
    o   latvar() generic available, identical to lv(). But the
        latter will be withdrawn soon.
    o   Rank() generic available for RR-VGLMs, QRR-VGLMs, CAO models.
    o   New function: pgamma.deriv(), pgamma.deriv.unscaled(),
        vlm2lm.model.matrix().
    o   New VGAM family functions:
        posbernoulli.b(), posbernoulli.t(), posbernoulli.tb(tau = 2 or 3).
        These provide estimates of N as well as its standard error.
        Also, truncgeometric() and truncweibull() are new.
        Also, SUR() is new.
        Also, binom2.rho.ss() does not work yet.
    o   New argument 'matrix.out = FALSE' for constraints.vlm().
    o   cm.vgam() has a few more arguments to provide more flexibility.
        But there should be no changes for VGAM users at this stage.
    o   Renamed functions: confint_rrnb() is now renamed to
        Confint.rrnb() and confint_nb1() is now renamed to Confint.nb1().
    o   Some changes to component names returned by Confint.rrnb() and
        Confint.nb1(): $CI. and $SE. are uppercase.
    o   Some zero-inflated VGAM family functions return a
        "vglm" object with @misc$pstr0 for the estimated
        probability of a structural zero.
    o   New data set: olym12.
        Note that Students.tw is earmarked for \pkg{VGAMdata}.
    o   Data sets renamed:
        olympic renamed to olym08.
    o   Qvar() has a 'which.eta = 1' argument specifying which linear
        predictor to use. So quasi-variances are now
        available to models with M > 1 linear predictors.
    o   Tested okay on R 3.0.0.


BUG FIXES and CHANGES

    o   VGAM now depends on R >= 2.15.1.
    o   Fortran array bounds problems (picked up by
        AddressSanitizer) have been fixed.
    o   All "no visible binding for global variables" warnings
        have been suppressed.
    o   vgam() with a s(spar = myspar) term should run, and if myspar
        is extracted from a previous vgam() model then the two models
        should effectively be the same.
    o   summaryvgam() did not calculate or print out all the p-values
        for testing linearity.
    o   fnormal1()@initialize was faulty wrt lm.wfit().
    o   zageometric() and zigeometric() handle multiple responses.
    o   mlogit(inverse = TRUE) and mlogit(inverse = FALSE)
        were switched. Now multinomial() makes use of mlogit().
        mlogit() now calls care.exp() to avoid overflow and underflow;
        this stops multinomial() from returning a NA as a fitted
        value if abs(eta) is very large.
    o   arwz2wz() introduced to simplify multiple responses
        working weight matrices (wrt construction).
    o   Renamed functions:
        dhuggins91() is now dposbern(),
        huber() is now huber2(),
        ei() is now eifun(), eij() is now eijfun(),
        rss.vgam() is now ResSS.vgam().
    o   fisherz(theta) was wrong. Corrected, then replaced by
        atanh(theta).
    o   [dpq]dagum(x), [dpq]lomax(x), [dpq]sinmad(x), etc. handled
        correctly for x = 0, Inf, -Inf, NaN, NA.
    o   qdagum(x) failed due to 'Scale' [thanks to Alena Tartalova].
    o   Arguments renamed:
        'intercept.apply' renamed to 'apply.parint',
        'Norrr' renamed to 'noRRR' (warning/error message issued),
        'nowarning' renamed to 'noWarning' in vglm.control().
    o   seq2binomial()@loglikelihood includes the binomial
        lchoose() constants.
    o   qgev() bug [thanks to Alex Cannon], and qgpd().
    o   cao() produces less error/warning messages usually.
    o   Data sets corrected for errors: chinese.nz.
    o   Data set changes: gew had incorrect y1 and y2 values,
        and variables x1 to x4 have been renamed to value.g, capital.w,
        etc. The year variable has been added.


                CHANGES IN VGAM VERSION 0.9-0

NEW FEATURES

    o   Major change: VGAM family functions no longer have
        arguments such as earg, escale, eshape, etc. Arguments such
        as offset that used to be passed in via those arguments can
        be done directly through the link function. For example,
        gev(lshape = "logoff", eshape = list(offset = 0.5)) is
        replaced by gev(lshape = logoff(offset = 0.5)). The @misc
        slot retains the $link and $earg components, however,
        the latter is in a different format. Functions such as
        dtheta.deta(), d2theta.deta2(), eta2theta(), theta2eta()
        have been modified. Link functions have been simplified
        somewhat.  The casual user will probably not be affected,
        but programmers will. Sorry about this!
    o   New VGAM family functions:
        [dpqr]gompertz(), [dpqr]gumbelII(), [dpr]lindley(),
        [dpqr]makeham(), [dpqr]perks().
    o   df.residual() supports a new formula/equation for 'type = "lm"'.
    o   garma("reciprocal") supported.
    o   is.parallel() for constraint matrices summary.
    o   Improved family functions:
        these can handle multiple responses:
        benini(), chisq(), erlang(), exponential(), gamma1(), geometric(),
        gpd(), inv.gaussianff(), logff(), maxwell(), rayleigh(),
        yulesimon(), zetaff().
    o   New data set: hormone
        [http://www.stat.tamu.edu/~carroll/data/hormone_data.txt].
    o   If a factor response is not ordered then a warning
        is issued for acat(), cratio(), cumulative() and sratio().
    o   New dpqr-type functions:
        [dpqr]perks(), [dpqr]mperks(), [dpqr]mbeard().
    o   Argument 'parallel' added to gamma2().
    o   New link functions: mlogit().


BUG FIXES and CHANGES

    o   zibinomial() had 1 wrong element in the EIM; one of the
        corrections of VGAM 0.8-4 was actually incorrect.
    o   zibinomial() blurb was wrong:
        previously was "(1 - pstr0) * prob / (1 - (1 - prob)^w)" where
        prob is the mean of the ordinary binomial distribution.
        Now is "(1 - pstr0) * prob".
    o   betaff() no longer has "A" and "B" arguments; they ar
        extracted from "lmu = elogit(min = A, max = B)".
    o   binom2.rho() has "lmu" as a new argument 2.
    o   logistic2() has has zero = -2 as default, and can handle
        multiple responses.
    o   gengamma() returned the wrong mean (picked up by Andrea Venturini):
        not b * k but b * gamma(k + 1 / d) / gamma(k).
    o   tobit.Rd nows states vector values for 'Lower' and 'Upper'
        are permitted. Also, the @misc$Lower and @misc$Upper are
        matrices of the same dimension as the response.
    o   constraints.vlm(type = c("vlm", "lm")) has been changed to
        constraints.vlm(type = c("lm", "term")) [respectively].
    o   Rcam() renamed to Rcim(), and rcam() renamed to rcim().
        Class "rcam" changed to "rcim".
    o   Days changed from "Monday" to "Mon" in all crash data frames, etc.
    o   w.wz.merge() written to handle the working weights
        for multiple responses.
        w.y.check() written to check the integrity of prior
        weights and response.
    o   Argument 'sameScale' changed to 'eq.scale',
        'quantile.probs' in negbinomial-type families changed to 'probs.y'.
    o   No more warnings: dirmultinomial().
    o   Renamed arguments: benini(earg <- eshape),
        binormal(equalmean <- eq.mean),
        binormal(equalsd <- eq.sd),
    o   dirmultinomial() can handle a 1-row response [thanks to Peng Yu].
    o   weibull() gives improved warnings re. the shape parameter wrt
        regularity conditions.
    o   The 12 most time-consuming examples have been placed in a
        \dontrun{} to save time.
    o   Argument "prob.x" renamed to "probs.x".
    o   Argument "hbw" removed from iam().
    o   Argument 'name' is passed into .C and .Fortran() [in dotC()
        and dotFortran()] is now okay because the first argument
        is unnamed.



                CHANGES IN VGAM VERSION 0.8-7

NEW FEATURES

    o   Modified VGAM family functions:
        genbetaII()@initialize has been improved, as well as
        those special cases of that distribution (such as sinmad,
        lomax, paralogistic, dagum, etc.).
    o   Argument 'lapred.index' added to model.matrix().
    o   npred() is now defined as a generic function (returns M).
    o   hatvalues() and hatplot() written for vglm() objects.
    o   The argument 'qr.arg' is set TRUE now by default in vglm().
    o   df.residual() supports the argument 'type = c("vlm", "lm")'.
    o   Argument 'nowarning' added to vglm.control().
    o   New data set: ucberk.
    o   Improved functions: rposbinom(), rposgeom(), rposnegbin(),
        rpospois().
    o   Tested okay on R 2.15.0.


BUG FIXES and CHANGES

    o   Labelling of the linear predictors for sratio(), cratio()
        etc. was faulty.
    o   pbetabinom.ab() did not recycle shape1 correctly
        [found by David Venet].
    o   Arguments lower.tail and log.p not supported (temporarily) in
        pposbinom() and qposbinom().



                CHANGES IN VGAM VERSION 0.8-6

NEW FEATURES

    o   Modified VGAM family functions:
        sinmad()@initialize has been improved.


BUG FIXES and CHANGES

    o   VGAM now depends on R >= 2.14.0.
    o   Trying to eliminate some residual errors with the NAMESPACE.



                CHANGES IN VGAM VERSION 0.8-5

NEW FEATURES

    o   New VGAM family functions:
        negbinomial.size(), zabinomial(dpqr),
        zageometric(dpqr), [dpqr]posgeom().
    o   New link functions: nbcanlink().
    o   Modified VGAM family functions:
        posnegbinomial(), zanegbinomial() and zinegbinomial()
        use the nsimEIM argument;
        zipoisson() handles a matrix response;
        all [dpqr]zi-type functions handle zero-deflation,
        normal1() can model the variance too as the 2nd parameter.
    o   Rudimentary methods functions for lrtest() and
        update(), based on packages lmtest and base.
    o   The VGAM family functions for genetic models have been improved
        wrt initial values.
    o   New data sets: xs.nz.


BUG FIXES and CHANGES

    o   In anticipation for R version 2.15.0, VGAM imports
        from stats4 'coef', 'plot', 'summary', 'vcov'.
        Calls to 'print' have been replaced by 'show'
        since VGAM uses S4 methods.
        Numerous NAMESPACE changes have been made.
        No more warnings during checking and installation!
    o   Labelling in summary() of vglm() objects changed. It
        now closely follows glm(). In particular, it has
        changed from c("Value", "Std. Error", "t value") to
        c("Estimate", "Std. Error", "z value").
        Note that "z value" might change later to, e.g., "Wald".
    o   Zero-inflated and zero-altered functions have renamed and
        reordered arguments. Ouch!
        These include 'pstr0' for probability of a structural 0 [zero-inflated],
        and 'pobs0' for probability of an observed 0 [zero-altered].
        For example, argument lpstr0 replaces lphi in zipoisson().
        The order of these arguments, including the respective
        dpqr-type functions, may have changed too.
    o   zapoisson() now implements Fisher scoring.
    o   zipoissonff() had the wrong sign for the non-diagonal EIM element.
    o   nobs() is now defined as a generic function (needed
        for older versions of R---versions 2-12.2 or earlier, actually).
    o   Data sets renamed:
        uscrime and usgrain renamed to crime.us and grain.us;
        bminz renamed to bmi.nz,
        nzc renamed to chinese.nz,
        nzmarital renamed to marital.nz.
    o   Improved family functions: genbetaII(), betaII(), sinmad(), dagum(),
        lomax(), invlomax(), fisk(), invparalogistic(), paralogistic();
        wrt fitted values (range checks in place now).
        These functions have many argument names changed, e.g.,
        link.a is now lshape1.a, init.a is now ishape1.a.
        Also, some default initial values have changed from 1 to 2.
    o   Argument names changed (Ouch!):
        q.lag.ma changed to q.ma.lag in garma().




                CHANGES IN VGAM VERSION 0.8-4

NEW FEATURES

    o   VGAM family functions renamed (Ouch!):
        1.  'betabinom.ab' renamed to 'betabinomial.ab'.
    o   Other functions renamed (Ouch!):
        1.  '[dpr]betabin' renamed to '[dpr]betabinom' etc.;
        2.  '[dpr]betabin.ab' renamed to '[dpr]betabinom.ab' etc.;
    o   Slot names changed (Ouch!):
        1. 'link'    renamed to 'linkfun' for class "vglmff";
        2. 'inverse' renamed to 'linkinv' for class "vglmff".
    o   Extra arguments added to freund61().
    o   New VGAM family functions:
        abbott(), zigeometric(dpqr), huber1().
    o   New functions: [p]polono(),
        depvar() generic for the dependent (response) variable,
        Qvar() and explink() for quasi-variances.
    o   Improved functions: [d]polono(), [dr]betabin() handles rho = 0
        (suggested by Peng Yu).
    o   Improved family functions: normal1() handles matrix 'weights'.
    o   Defaults changed: [dr]betabin(rho = 0).
    o   New methods functions: nobs(), nvar(), depvar().
    o   Renaming: fitted.vlm() is now fittedvlm(),
                  persp.qrrvglm() is now perspqrrvglm(),
                  predict.qrrvglm() is now predictqrrvglm(),
                  predict.vglm() is now predictvglm().
    o   New data sets: finney44.
    o   VGAM now depends on R >= 2.11.1.
    o   Tested okay on R 2.14.0.


BUG FIXES

    o   zibinomial() had 2 wrong elements in the EIM,
        thanks to Alan Welsh for picking this up.
    o   margeff() for cumulative() was faulty.
    o   blurb slot of binormal() was faulty.
    o   betabinomial() did not return the estimated rho in @misc$rho as
        did betabinomial.ab().
    o   kumar() did not initialize well with non-integer prior weights.
    o   rdagum() did not handle the 'scale' argument correctly.
    o   codes() in s() is defunct so it has been replaced.



                CHANGES IN VGAM VERSION 0.8-3

NEW FEATURES

    o   Argument names changed (Ouch!):
        1.  'method.init' renamed to 'imethod';
        2.  'k' renamed to 'size' in negbinomial(), zanegbinomial(),
             posnegbinomial(), and zinegbinomial():
             e.g., 'lk' renamed to 'lsize', 'ik' renamed to 'isize', etc.
    o   New data sets: hued, huie, huse, ugss, uscrime;
        usagrain renamed to usgrain.
    o   The "prior.weights" slot is now a "matrix", not "numeric".
    o   [dpr]betabin.ab() now handles size = 0. Thanks to Robert Wolpert
        for picking up this bug.
    o   New VGAM family functions:
        [d]binormal(), [dr]huggins91() but this is not working properly,
        [dpqr]explogarithmic(), polya().
    o   New functions: [dpqr]tobit().
    o   Improved family functions: tobit() implements the proper EIM for the
        standard model, dcennormal1() has some new arguments [and renamed],
        cennormal1(), cenrayleigh() renamed.
    o   VGAM now depends on R >= 2.10.0.
    o   Rcam(), moffset(), etc. for RCAMs have been improved and modified.
    o   VGAM family functions currently withdrawn: frechet3().
    o   Tested ok on R 2.13.0.


BUG FIXES

    o   tobit()@loglikelihood had omitted the constant in dnorm().
        Also, tobit() uses simulated Fisher scoring (for nonstandard model).
    o   moffset() was buggy.
    o   ABO() is a little more robust.
    o   dirichlet()@loglikelihood miscalculated.
        Ditto for gaussian()@loglikelihood (constants were omitted).
        Thanks to Arne Henningsen for picking up these bugs.
    o   zipoissonff() did not initialize correctly and labelling was wrong
        with matrix responses.



                CHANGES IN VGAM VERSION 0.8-2

NEW FEATURES

    o   Objects of class "vglmff" have a "infos" slot to give
        information about the family.
    o   New functions: lambertW(), rcam(), wffc.P3(),
        wffc.P3star(), confint_rrnb(), confint_nb1().
    o   New VGAM family functions:
        binom2.Rho(), [dpqr]expgeometric(),
        [dpqr]genrayleigh(), [dpqr]huber(),
        [dpqr]koenker(), studentt[23](), zipoissonff().
    o   Argument 'imethod' changed to 'method.init' for some
        families, e.g., cnormal1(), tobit(), weibull().
    o   Improvements have been made to binom2.rho().
    o   Improved family functions:
        negbinomial() has a new argument 'parallel',
        micmen() has more initial value choices and fitting algorithms,
        kumar(), studentt() and studentt2() now implement the EIM,
        normal1() can handle multiple responses.
    o   Argument names changed:
        'init.rho' renamed to 'irho' in binom2.rho(),
        'a' renamed to 'scale' in rayleigh(),
        'Structural.zero' renamed to 'szero' thoughout.
    o   zapoisson() permutes the linear/additive predictors.
    o   Several families such as negbinomial(), z[ai]negbinomial(),
        zapoisson(), gamma2(), handle zero = c(-2, 3), say,
        i.e., negative and positive values.
    o   New data sets: about half a dozen road crash data frames of
        2009 NZ data.
    o   constraints(vglmfit) now has a 'type' argument that can be fed
        into the original fit (type = "lm") as the constraints argument.
    o    vchol() takes drastic action to avoid infinite looping: it sets
        the working weights to be proportional to the order-M diagonal
        matrix.
    o   lognormal() and lognormal3() now have zero = 2 as the default
        (was zero = NULL).
    o   Some variable names within grc() changed, e.g., Row. and not Row.
    o   The smartpred package within VGAM has updated poly(), ns(),
        bs() and scale() for R version 2.12.0 (2010-10-15).
        Calls to smartpredenv are now VGAM:::smartpredenv.


BUG FIXES

    o   VGAM:::VGAMenv is used now to avoid problems locating
        this environment.
    o   Input of the mustart, etastart and coefstart arguments at
        the solution should results in only one iteration being needed.
    o   binomialff() and categorical familes (e.g., multinomial) only
        accept a factor or non-negative counts as the response.
        This allows the 'weights' vector to have any value really.
        In the past the denominator of a sample proportion was allowed
        via the 'weights' argument.
    o   wffc.P1() had some rounding problems, e.g., with 0.280 m.




                CHANGES IN VGAM VERSION 0.8-1

NEW FEATURES

    o   Most of the Fortran 77 code has been converted to C.
        This change will be largely hidden from most users
        but there may be the occasional bug not detected.
        Much of the heavy work was done by Alvin Sou.
    o   lms.bcn()@loglikelihood incorporates the constants in
        the log-likelihood.
    o   Also, no more F90 code! This means less portability/platform
        problems.
    o   bivgamma.mckay, formerly mckaygamma2(), has been modified
        substantially.
    o   Improvements have been made to simplex() and
        [dr]simplex() have been written.
    o   Expectile functions for the uniform, normal and
        exponential distributions: [dpqr]-type functions.
    o   cqo() has EqualTolerances = TRUE and ITolerances = FALSE as
        the default now. The result is that cqo() should work without
        the environmental variables being scaled.
        If it is scaled then setting ITolerances = TRUE will result
        in greater speed and requiring less memory.
    o   Families that deal with proportions, such as binomialff() and
        betabinomial(), incorporate weights separately from the weights
        generated by the response/counts. So the weights argument can
        now have any positive values.
    o   rrvglm(..., Norrr = NULL) can be used so that the reduced-rank
        regression is applied to every variable including the intercept.
    o   Renaming: ggamma() is now gengamma(), etc.
    o   Improved functions: negbinomial() has a few new arguments.


BUG FIXES

    o   Deviance.categorical.data.vgam did not handle small
        fitted probabilities.
    o   binom2.rho() could produce small negative fitted probabilities.
    o   seq2binomial() did not initialize 'mvector'.
    o   zeta() crashed on some platforms.
    o   cqo() appears to be working again with the new C code.
    o   cao() still not working with the new C code.
    o   zapoisson() did not implement the elambda argument correctly.
    o   Tested ok on R 2.11.1.



                CHANGES IN VGAM VERSION 0.7-10

NEW FEATURES

    o   Surv() renamed to Surv4(), class "SurvS4" renamed to "Surv4".
    o   coef(summary(vglmObject)) returns a 3-column matrix of estimates,
        standard errors and Wald statistics, rather than coef(vglmObject)
        in the past.
    o   Improved VGAM family functions: fff() uses simulated Fisher
        scoring now and has slightly better initial values.
    o   New VGAM family functions:
        propodds(reverse) is equivalent to
        cumulative(parallel=TRUE, reverse=reverse) (for convenience only).
    o   Compatible with R 2.10.1 and the article "The VGAM package
        for categorical data analysis," Journal of Statistical Software,
        2010. A vignette based on this paper is included.
    o   Argument w.als renamed to w.aml in amlnormal().


BUG FIXES

    o   VGAM family functions: fff() had poor initial values.
    o   betabinomial()@loglikelihood required 'ycounts' to be integer.
    o   [dpqr]betanorm() were written but not in the NAMESPACE.





                CHANGES IN VGAM VERSION 0.7-9

NEW FEATURES

    o   New functions: margeff() for marginal effects of a vglm()
        "multinomial" or "cumulative" model.
    o   Almost all VGAM family functions now have a "loglikelihood"
        slot that incorporates any constants in the density function.
        Hence the fitted likelihood may differ by a constant from
        previous results.
        In particular, models such as multinomial(), cumulative()
        and binom2.or() have this new feature.
    o   vglm() now has a modified 'xij' argument which implements
        eta-specific covariates. Usage now involves the form2' argument,
        and the 'xij' argument does not interfere with constraint matrices.
    Documentation is supplied on the VGAM website, in particular,
        http://www.stat.auckland.ac.nz/~yee/VGAM/doc/xij.pdf
    o   cases.names() and variable.names() methods functions
        written for vglm()/vgam() objects.
    o   cumulative() has improved initial values, especially for
        long data format, i.e., when each row of the data frame is an
        observation rather than inputting a matrix of counts.
    o   rrvglm() handles a factor response without giving a warning.
    o   New data: olympic.
    o   testf90.f90 has been renamed to testf90.f95. This may decrease
        the incidences of compiler problems on some platforms (f95 seems
        more popular than f90).
    o   For cqo() objects: AIC(), resid() have been written.
    o   Improved functions: negbinomial() default initial values are
        more robust to outliers in the response, betabinomial() and
        betabin.ab() have better initialization and "loglikelihood"
        slot matches dbetabin.ab(log=TRUE).
    o   Renamed VGAM family functions: alsqreg() becomes amlnormal().
    o   Renamed arguments: lmu replaces link.mu in zibinomial().
    o   dzeta(p) has changed wrt 'p'.
    o   The functions summary.lms() and summary.rc.exponential() are
        no longer distributed to avoid a warning wrt S3 vs S4
        methods dispatch.
    o   The VGAM family functions for genetic models have been improved,
        e.g., some basic error checking.
        Also some changes in the names of the parameters, e.g.,
        "q" to "pB" for ABO(), plus some switching of the order of the
        arguments.


BUG FIXES

    o   VGAM interferes much less in regard to generic functions
        such as predict(), fitted(), resid(), wrt other packages and
        also including base's lm(), glm(), etc.
    o   AIC() method for rrvglm() objects was wrong (did not account
        for argument 'Structural.zero').
    o   dzibinom(log=TRUE) was wrong.




                CHANGES IN VGAM VERSION 0.7-8

NEW FEATURES

    o   [dpqr]benf() written for Benford's distribution.
    o   plog() and dlog() improved.
    o   multinomial() now has a refLevel argument to specify the
        reference or baseline level of the factor.
    o   binom2.or() has a new argument 'morerobust'.
    o   Renamed arguments in mix2normal1().
    o   DeLury() written.
    o   [dpqr]-type functions related to the negative binomial distribution
        have changed wrt argument names and order.
    o   [pq]posnegbin(), [dpqr]zapois(), [dr]zanegbin() written.
    o   [dpqr]zinb() renamed to [dpqr]zinegbin().
    o   lms.bcn(), lms.bcg(), lms.yjn() have zero=c(1,3) as the new default.
        This will increase the chances of successive convergence.
    o   Renamed arguments in lms.bcn(), lms.bcg(), lms.yjn(), e.g.,
        link.sigma is now lsigma.
        Some new arguments added too, e.g., llambda.
    o   Works for R 2.5.0 and later (not 2.4.0 and later).
        Compatible with R 2.7.2.
    o   Contains Fortran 90 code (since 0.7-7, actually). This will
        cause problems on older Linux machines without such a
        compiler. Actually, removing the .f90 file(s) will not be too
        much of a problem as there is very little F90 code in use by
        the package at the moment.
    o   New functions: dbinom2.rho(), rbinom2.rho(), dposnegbin().
    o   New data: wffc, wffc.indiv, wffc.teams, wffc.nc.
    o   Improved functions: binom2.rho(), micmen(), negbinomial(),
        poissonff(), posnegbinomial(), zanegbinomial(),
    o   A new form2 argument has been added to vglm().
        VGAM family functions such as micmen() have the regressor inputted
        using form2 now, rather than the regressor argument.
        The resulting usage is a more elegant.
        Fitted objects have a few more slots and formulas put in set
        places on the object.
    o    AIC() methods functions has been modified.


BUG FIXES

    o   The big bug whereby vgam(... ~ s(x), ... ) did not work under
        Windows was due to a single array element that was not initialized.
        Evidently, Linux compilers seemed to have set it to zero.
        Funny, the code has worked for decade or so...
    o   dposbinom() was buggy at x=0. Also it now handles size=0 and
        prob=0 or prob=1.
    o   pzipois() was buggy at x<0.
    o   dbetabin.ab(log=T) was incorrect outside its support.
    o   zipf() did not handle 0 < s < 1.
    o   data(ruge) was faulty.
    o   summary(rrvglmObject) failed.
    o   persp.cao(ylim=) did not work.
    o   plotvgam() failed when se=TRUE and which.cf was specified.




                CHANGES IN VGAM VERSION 0.7-7

NEW FEATURES

    o   Labelling changes: binom2.or() uses "oratio" instead of "OR" (stands
        for the odds ratio).
    o   New VGAM family functions:
        zipebcom().
    o   New functions: dbinom2.or(), rbinom2.or().
    o   binom2.or() has new arguments 'imu1, 'imu2' and 'ioratio' for
        inputting optional marginal probabilities and odds ratio.
        The third element of the score vector uses a new formula.
    o   [dpqr]zinb() has arguments prob and munb set to NULL by default.
    o   Compatible with R 2.7.0.


BUG FIXES

    o   gaussianff()@loglikelihood was buggy.
    o   all(trivial.constraints(Blist)) changed to
        all(trivial.constraints(Blist) == 1) to avoid a warning in R 2.7.0.
        Ditto for 'all(findex)' and 'any(diff(Alphavec))'.
    o   qtriangle(0.3, theta=0.3) used to fail.
    o   gharmonic() handles a negative argument s.



                CHANGES IN VGAM VERSION 0.7-6

NEW FEATURES

    o   dpolono() has a new argument 'bigx' which implements an
        approximation. It is for handling large values of x.
    o   vglm() and vgam() now create the response and model matrices etc.
        in the same way as glm(). A consequence is that the response
        does not have to be "numeric" as in lm(), e.g., a factor response
        is now permitted.
    o   New VGAM family functions:
        alaplace1(), alaplace2(), alaplace3(dpqr),
        amlbinomial(), amlexponential(), amlpoisson(), amh(),
        lqnorm(), mbinomial(), scumulative().
    o   Other VGAM family functions with argument names changed or added:
        lms.yjn2().
    o   These VGAM family functions have been improved:
        alsqreg() [parallel option, w argument can be a vector, link function
        for the expectiles].
    o   The data set "aml" has been renamed "leukemia".
    o   Previously laplace(zero=NULL), now laplace(zero=2).

BUG FIXES

    o   deplot() applied to a "lms.yjn2" object gave an unnecessary warning.
    o   In the leukemia and toxop data sets 1L is replaced by 1 and 2L by 2 etc.




                CHANGES IN VGAM VERSION 0.7-5

NEW FEATURES

    o   New VGAM family functions:
        betaff(), cardioid(dpqr), cauchy(), felix(d), fnormal1(dpqr),
        invbinomial(), kumar(dpqr), lms.yjn2(), mix2exp(), plackett(dpr),
        riceff(dr), skellam(dr), zinegbinomial(dpqr).
    o   These VGAM family functions have been improved:
        frank(), genpoisson(), hzeta(), mix2normal1(), mix2poisson(),
        pospoisson(), studentt().
    o   These VGAM family functions have had their default arguments changed:
        genpoisson(), mix2normal1().
    o   New documentation: borel.tanner(dr).
    o   expm1() used whenever possible.
    o   Renamed VGAM family functions: betaff() changed to beta.ab().
    o   cauchy1() now returns the location estimates as the fitted values
        instead of NA (for the mean).


BUG FIXES

    o   cumulative(), sratio(), cratio(), acat() had response-matrix
        column names which got lost.
    o   lms.yjn() failed if there was not enough data.




                CHANGES IN VGAM VERSION 0.7-4

NEW FEATURES

    o   weibull() does not handle any censored observations at all.
        The function cenweibull(), which will handle censored
        observations, is currently being written and will use Surv()
        as input; it should be distributed with version 0.7-5 of VGAM.
    o   bisa() now implements full Fisher scoring. No numerical
        integration is needed.
    o   Certain functions from the smartpred package are no longer
        distributed with the VGAM package. These are
        lm, glm, predict.lm, predict.mlm, predict.glm.
        This is done because many users have found they interfere with
        the VGAM package in unpredictable ways.
    o   The following VGAM family functions have improved initial values:
        betabinomial(), cauchy1(), mccullagh89(), negbinomial(),
        tpareto1(), zipoisson().
    o   New family functions: alsqreg(), dexpbinomial(), laplace(),
        poissonp(), seq2binomial(), triangle(dpqr).
    o   VGAM family functions currently withdrawn:
        cexpon().
    o   A new class called "SurvS4" has been prepared. It will be used
        later to handle VGAM family functions beginning with "cen" that
        use Surv() as input.
    o   log1p() used whenever possible.


BUG FIXES

    o   bisa() did not make use of ishape.
    o   cao(..., family=gaussianff) failed. It now works, although the
        dispersion parameter is computed using a slightly different
        formula.



                CHANGES IN VGAM VERSION 0.7-3

NEW FEATURES

    o   gpd() now does not delete any data internally. The user should
        use the subset argument of vglm() and vgam() in order to select
        any subset of a data frame.
    o    zapoisson() has a zero argument, and this can be assigned
        a negative value.
    o    "partial for" is added to the ylabel of linear terms of a vgam()
        object when it is plotted.
    o    When a vgam() object is plotted with se=TRUE and if there are
        linear terms then the mean of x is added to the plot (this makes
        the standard error curves meet there).
    o   This package has been tested (somewhat) under R 2.5.0.

BUG FIXES

    o   plotvgam() did not work for vgam() objects using the subset argument.
    o   cao() objects would not show() or print(), at least under R 2.4.1.
    o   summary(vgam.object) failed if vgam.object was a totally linear
        model (i.e., no s() term in the formula). Now the "R" slot is
        assigned for all vgam() objects.
    o   preplotvgam() had a bug regarding $se.fit of an atomic pred$se.fit.



                CHANGES IN VGAM VERSION 0.7-2

NEW FEATURES

    o   Almost all VGAM family functions now have an earg-type argument
        to support each link function. This allows parameters specific
        to each link to be passed in,
        e.g., VGAMfamilyfunction(link="logoff", earg=list(offset=1))
    o   rinv.gaussian() is new.
    o   New VGAM family functions: morgenstern(), fgm(), gumbelIbiv(),
        ordpoisson().
    o   New documentation: powl(), fsqrt().

BUG FIXES

    o   zanegbinomial()@last had wrong names in misc$link.
    o   summary(vgam.object) failed to print the anova table.
    o   summary(cao.object) failed.


CHANGES

    o   binom2.or() has argument names changed from "lp" to "lmu" etc.
        This is partly to make it in keeping with other VGAM family
        functions for binary responses.
    o   Other VGAM family functions with argument names changed: frank().
    o   lms.bcn(), lms.bcg(), lms.yjn() arguments have changed order.
    o   hyper() renamed to hyperg().
    o   plotvgam() uses ylim if it is inputted.




        CHANGES IN VGAM VERSION 0.7-1

NEW FEATURES

    o   VGAM family functions now require full (name) specification
        of parameter link functions. For example, binomialff(link=probit)
        is ok, as is binomialff(link="probit"), but binomialff(link="pr")
        isn't.
        VGAM family functions no longer offer a fixed set of link
        functions but the user can invoke any, as well as write their
        own link function.
    o   Working residuals for vglm() objects are now the default.
        They used to be deviance residuals but they are not defined
        for most VGAM family functions.
        In the future the default may become "pearson" residuals.
        For safety, use the type argument, e.g.,
        resid(vglmobject, type="response").
    o   ITolerances=TRUE is now the default for qrrvglm.control(),
        consequently, equal tolerances CQO models are fitted. The
        rationale for this change that setting ITolerances=TRUE
        provides the fast computational speed as well as the easiest
        interpretation of the results. Also, rcqo() matches this by
        having EqualTolerances=TRUE as its default.  However, having an
        equal tolerances assumption should be checked.
    o   New VGAM family functions: tikuv(dpqr), [dpqr]naka(), [dpr]log(),
        [dpqr]tpareto1(), betabinomial().
    o   VGAM family functions which have been renamed (and often improved):

        New name                  Old name
        --------                  --------
        dirmultinomial()          dirmul()
        negbinomial()             negbin.mu()
        negbinomial.ab()          negbin.mn()
        posnegbinomial()          posnegbin.mu()
        zanegbinomial()           zanegbin.mu()
        rposnegbin()              rposnegbin.mu()
        gamma2()                  gamma2.ab()
        gamma2mu()                gamma2()


    o   New functions: lerch(), rcqo().
    o   In the smartpred package smart.mode.is(mode.arg) now requires
        mode.arg, if given, to be exactly one of 3 character strings.
        Also, is.smart(object) handles object being a smart function
        or a fitted object.
    o   The VGAM package comes with modified lm, predict.lm, predict.glm,
        predict.mlm, glm functions---these implement smart prediction, and
        are current to R version 2.3.1 (2006-06-01).
    o   The order of the linear/additive predictors for expexp()
        have been switched.
    o   weibull(zero=2) is the default now.
    o   negbin.mu(), posnegbin.mu(), zanegbin.mu: these have a few added
        arguments for further flexibility, and some arguments have changed
        names, e.g., 'k.init' has been changed to 'ik' and 'link.mu' to
        'lmu'.
    o   Negative binomial random variates are now generated using
        rnbinom() in the stats package rather than rnegbin() in the MASS
        package.
    o   binom2.or() and binom2.rho() have more choices for some arguments
        such as lor and lrho.
    o   Initial values have been improved for logff(), zipf() and zetaff().
    o   This package should work for R 2.4.0 after additional tweaks to
        handle changes in show().


BUG FIXES

    o   pbetabin() had a bug.
    o   studentt() has a mean of 0 only if df > 1.
    o   garma() failed for link="loge". It now works for binary
        data with the "logit" link.
    o   Internally, wz <- matrix(NA, ...) changed to
        wz <- matrix(as.numeric(NA), ...).
        Ditto for rep(NA, ...) to rep(as.numeric(NA), ...).
    o   tobit() had a bug in the initialize slot.
    o   rposnegbin.mu() now calls the MASS library function rnegbin()
        explicitly.
    o   gammaff() now works.
    o   Working residuals for cao() objects were wrong.
    o   lvplot() for cao() objects have a whichSpecies argument
        which allows selective plotting of the species' curves.
    o   gaussianff() did not work with rrvglm(). It now has a
        loglikelihood slot, and returns deviance residuals for M>1.


CHANGES

    o   gaussianff(), studentt() have the order of its arguments changed.
    o   eta2theta(), theta2eta(): if these have a matrix "theta" then it
        no longer calls the VGAM link function one column at a time.
        Hence VGAM link functions must handle matrix "theta" using one
        value of "earg" argument.
    o   The earg argument has changed for many VGAM link functions. It
        is now a list, with component names that are specific to each
        link function.
        See the online help files for the list component names.
        Soon, every VGAM family function that allows a link function
        will have an earg argument to match it, thus giving maximum
        flexibility.




        CHANGES IN VGAM VERSION 0.6-9


NEW FEATURES

    o   New VGAM family functions: lino(dpqr), recexp1(),
        posnormal1(dpqr), betageometric(dpr), [dr]polono(),
        [dpr]betabin(), gamma2mu(), bisa(dpqr), zipf(dp).
        There is a new dirmul() (the old one is renamed to dirmul.old())
        but it hasn't yet be completed.
    o   Renamed VGAM family functions: beta2() changed to betaff().
    o   Renamed VGAM functions: is.a.number() changed to is.Numeric().
    o   The Windows crossbuild was done under R 2.3.0.

BUG FIXES

    o   Family functions lognormal(), lognormal3() now include the
        1/sqrt(2*pi) constant in @loglikelihood because of its use of
        dnorm(..., log=TRUE) and dlnorm(..., log=TRUE).
    o   [dpqr]lognormal() withdrawn as they exist in R already.
    o   Documentation for betaff() contained mistakes.
    o   summary() of a betabin.ab() object used to fail.
    o   The assign statement has been removed from some FORTRAN code.



        CHANGES IN VGAM VERSION 0.6-8

NEW FEATURES

    o   New VGAM family functions: recnormal1(), recexp1(),
        paretoIV(dpqr), paretoIII(dpqr), paretoII(dpqr),
        gammahyp(), benini(dpqr).
        However, the fitted value (mean) for benini() may be faulty.
    o   Decommissioned VGAM family functions: gpdold(), ogev(),
        zipoissonX().
    o   gumbel.block() renamed to gumbel(), and gumbel() renamed to egumbel().
    o   Argument names and defaults have changed for: gpd(), egev(), gev(),
        ogev(), cgumbel(), egumbel(), gumbel(), and weibull().
        Also, gpd(), gev() and egev() have some improvements done internally.
        Also, rlplot() is new.
    o   Several family functions have been converted to a new convention
        whereby ilocation, iscale, ishape arguments are used, and also
        llocation, lscale, lshape arguments for the link functions etc.
    o   New link function: nidentity(theta) for negative-identity: -theta.
    o   New argument "untransform" in predict() and vcov() for VGLMs.
    o   For intercept-only models, Coef(fit) returns more user-friendly
        labelled output.


BUG FIXES

    o   ppareto() had a bug.
    o   gpd() had an incorrect second derivative.



        CHANGES IN VGAM VERSION 0.6-7

NEW FEATURES

    o   New VGAM family functions: bilogistic4(dpr), frechet2(),
        frechet3(), freund61(), frank(dpr), mccullagh89().
    o   For cao(), df1.nl has a default of 2.5, changed from 2.0 before.
    o   For vglm(), vgam() etc., diagonal elements of the working weight
        matrices that are less than .Machine$double.eps^0.75 are replaced
        by this value. The arguments checkwz and wzepsilon support this
        feature.
    o   More documentation on: fill() [re. the xij argument], cauchy1().
    o   logistic2() now uses Fisher scoring.
    o   Argument init.method changed to method.init in several family
        functions.
    o   Any non-smart-prediction use of smartpredenv has been changed
        to VGAMenv.


BUG FIXES

    o  rayleigh() was not in NAMESPACE.
    o  logistic1() and logistic2() had wrong first derivatives and
       loglikelihood function.
       logistic1() offers some choice of link function for the location
       parameter.



        CHANGES IN VGAM VERSION 0.6-6

NEW FEATURES

    o   New functions: zibinomial(), zibinom(dpqr), posbinom(dpqr),
        mix2normal1(), mix2poisson(), dsnorm(), rsnorm(),
        cexpon(), cgumbel(), cnormal1(), hyper().
    o   New generic functions: is.bell() works for RR-VGLMs, QRR-VGLMs
        and RR-VGAMs (CLO, CQO and CAO, respectively).
    o   normal1() has a new (first) argument: lmean for the mean.
    o   Documentation for skewnormal1() and snorm(dr).


BUG FIXES

    o   tobit() now implements Fisher scoring properly.
    o   Coef.vlm() needed to test for trivial constraints.
    o   skewnorm1() had a bug in it. It has been fixed and renamed to
        skewnormal1().
    o   cao() had a problem with the variable "usethiseta" when it had
        possible NAs.
    o   An appropriate error message is given if residuals=TRUE in the
        call to @loglikelihood, for all VGAM family functions.
    o   Two unneeded lines in rgam.f have been removed.



        CHANGES IN VGAM VERSION 0.6-5

NEW FEATURES

    o   New functions: guplot(), meplot(), ggamma(dpqr), fff(),
        vonmises(), lgamma3ff, lgamma(dpqr), prentice74, tobit,
        zipoisson(dpqr), [dpqr]pospois(), [dpqr]laplace but there is
        no laplace().
    o   cqo() has been largely rewritten. It now sports a new algorithm
        for ITolerances=TRUE. It can handle large data sets (e.g., 1000
        sites with 100 species). Compared to other cqo() options, it is
        the fastest. There are a few things to learn though to take full
        advantage of the new algorithm, e.g., centering the variables.
    o   Windows version is cross built with R 2.2.0. The Linux version
        has been tested with R 2.2.0.
    o   cao() has been largely rewritten. It now should not hang in the
        the windows cross build version.
    o   .Init.Poisson.CQO() has been renamed .Init.Poisson.QO(), and also
        improved (however, it uses more memory by default).
    o   Modelling functions such as vglm(), vgam() and cao() have
        qr.arg=FALSE now. This means object sizes can be a lot smaller.
    o   The functions positive.poisson(), positive.binomial() etc. have
        been renamed pospoisson(), posbinomial() etc.
    o   The functions [dpqr]gpd now have a location=0 argument.
    o   Some VGAM family functions will be adapted later to use the
        BFGS quasi-Newton update for their working weight matrices.
    o   The link function logoff() now works, for constant offsets.
        Link functions had the argument "extra"; now called "earg"
        to avoid confusion with the argument "extra" used in vglm() etc.
        Also, elogit() is new, which allows a parameter to lie between
        two values (A,B), say.


BUG FIXES

    o   plotvgam() was incorrect if one of the terms (but not the first)
        was "x" or a function of "x" such as bs(x).
    o   smart.expression now handles multiple 'arguments' by choosing
        the first, which is the smart function name.
    o   lv(rrvglm.object) failed.



        CHANGES IN VGAM VERSION 0.6-4

NEW FEATURES

    o   New family functions: betabin.ab(), betaprime(), dcnormal1(),
        erlang(), expexp(), inv.gaussianff(), maxwell(), mckaygamma2(),
        nakagami(), pareto1(), rayleigh(), wald().
        Of these, Pareto, Rayleigh and Maxwell have random number
        generation etc.
    o   If criter="coef" and trace=TRUE, then the number of
        decimal places used to print the estimated coefficients at
        each iteration is proportional to the control constant
        epsilon.
    o   tanl() has been named to cauchit(), and appropriate
        family functions reflect this change, i.e.,
        link="cauchit" instead of  link="tanl".
    o   size.binomial() has been improved.
    o   Documentation for gamma1(), gamma2().


BUG FIXES

    o   The documentation for the reverse argument in cumulative(),
        cratio(), etc. was incorrect.
    o   vcov() didn't work on the windows version.
    o   cao() still hangs under the windows version, so hopefully
        this bug will be fixed soon!




        CHANGES IN VGAM VERSION 0.6-3

NEW FEATURES

    o   Built with R 2.1.0 for the .zip file (Windows version) and
        deposited in the right directory at www.stat.auckland.ac.nz.
    o   More documentation, e.g., fitted(), yeo.johnson(),
        dirmul().
    o   zeta() and zetaff() have been improved and/or corrected.
    o   The family functions binomial, poisson, quasibinomial,
        quasipoisson, gaussian, inverse.gaussian, Gamma
        have been withdrawn because of inteference with glm().



        CHANGES IN VGAM VERSION 0.6-2

NEW FEATURES

    o   model.frame() and model.matrix() are roughly working for
        objects that inherit from "vlm"s, e.g., "vglm" objects.
        Both of these methods functions accept a "data"
        argument etc.
        Also, for these, smart prediction works.
    o   A methods function for the generic function weights() has
        been written for VGLM objects. It returns
        either the prior or working weights.


BUG FIXES

    o   The Crow1positive argument in cao() did not function correctly.
    o   The family functions dagum, fisk, lomax, invlomax, paralogistic,
        invparalogistic, lognormal were not exported in the NAMESPACE
        file.
    o   Functions in gaut.c and mux.c used "long" to represent integers.
        In R, these should be "int". Although these are equivalent on
        32-bit machines, they differ on 64-bit machines and crash.
        The files are now renamed to gautr.c and muxr.c in R.
    o   summary(cao.object) failed.



        CHANGES IN VGAM VERSION 0.6-1

NEW FEATURES

    o   New functions: cao() for "constrained additive ordination",
        and uqo() for "unconstrained quadratic ordination".
        Both of these are unfinished but will hopefully be
        completed in the forseeable future.
    o   The function cgo() has been renamed to cqo(). Ouch!
        CQO stands for "constrained quadratic ordination", and is
        better than the old name cgo(), for
        canonical Gaussian ordination.
    o   The inverse() link function has been renamed to reciprocal().
    o   More documentation: loglinb2() and loglinb3().
    o   zipbipp() renamed to zapoisson(), where "za" stand for
        "zero-altered". This is more in line with the literature.
        New families: zanegbin.mu, positive.negbin.mu.
        New random variates: rposnegbin.mu, rpospois.
    o   negbin.mu() works now for cgo(). The subsequent methods
        functions have been adapted to work on it too.
        However, negbin.mu() is not recommended because maximum
        likelihood estimation of the index parameter is fraught
        numerically. It is better to use quasipoissonff().
    o   cgo() now uses the function .Init.Poisson.CGO() to obtain
        initial values for the canonical coefficients, C.
        The argument Use.Init.Poisson.CGO in qrrvglm.control()
        now controls this feature.
    o   Lazy loading has been enabled for the VGAM package.
    o   Name spaces has been introduced into the VGAM package.
        The consequencies of this might be far reaching for
        code heavily based on the internals of the VGAM package.
    o   The application of name spaces means "ff" can be dropped
        from certain family functions. In particular, poisson() can
        be used instead of poissonff(), and binomial() instead
        of binomialff().  Ditto for quasipoissonff() and
        quasibinomialff().
    o   names.of() changed to namesof(). Many other function names
        have been changed, particularly those of the S3 classes
        such as coef. something, e.g., coef.vlm to coefvlm.
        In general, S3 methods functions such as print.summary.vlm have
        the first "." deleted, but classes such as "summary.vlm" retain the
        ".", and the function is printsummary.vlm.

BUG FIXES

    o   Some documentation regarding the negative binomial
        distribution was wrong.
    o   The digamma function in FORTRAN was buggy.
    o   gumbel.block() now handles a vector response (equivalently,
        a one column matrix) and the deviance has been decommissioned.
        Instead, the log-likelihood is computed.




        CHANGES IN VGAM VERSION 0.5-24

NEW FEATURES

    o   zipbipp() and zipoissonX() are new alternatives to yip88().
        They fit a zero-inflated Poisson distribution.
        Both can handle covariates for both parameters (p0 or
        phi, and lambda.)
        zipbipp() is recommended over the others.
        zipoissonX() is experimental at this stage
        and should be used with caution.
        rpospois() is new.
    o   More documentation: rhobit and binom2.rho.
    o   binom2.or() now has lp1 and lp2 arguments, which allow
        a different link function for each of the two marginal
        probabilities.
    o   bratt() is a new family function. It fits the Bradley Terry
        model with ties.
    o   flush.console() is used if it exists. This will make
        Windows version more nicer for large data sets and when
        trace=TRUE is used.
    o   wweights() extracts the working weights of an object.
        Used to be called vweights().




        CHANGES IN VGAM VERSION 0.5-23


NEW FEATURES

    o    The package works under the latest version, viz. 2.0.0.
         There are fewer warning messages when checking :)
    o    persp() for CGO objects now handles Rank=1 models.



        CHANGES IN VGAM VERSION 0.5-22

BUG FIXES

    o   plot.vgam(..., overlay=TRUE, which.cf=1:2) was incorrect.

NEW FEATURES

    o   demo files now are avaible for VGAM. These include lmsqreg,
        distributions, and cgo. More will be added later.



        CHANGES IN VGAM VERSION 0.5-21

BUG FIXES

    o   .Rd files adapted to reflect new changes in the library names.
    o   persp.qrrvglm() argument whichSpecies was faulty.
    o   gpd()@inverse returned erroneous centiles.
    o   Coef(cgo(..., FastAlgorithm=TRUE)) produced wrong results.

NEW FEATURES

    o   cgo(..., FastAlgorithm=TRUE) has been fined-tuned to give
        greater speed and accuracy.
    o   lms.yjn() uses FORTRAN code to implement the Gauss-Legendre
        algorithm. This results in greater accuracy.
    o   More documentation, especially for family functions for
        extreme values modelling.



        CHANGES IN VGAM VERSION 0.5-20

BUG FIXES

    o   vglm(y ~ x, binomialff(link=tanl)) used to fail.
    o   The CHECK command failed previously, but now it only
        gives 5 warnings.

NEW FEATURES

    o   persp.qrrvglm() has been written to apply persp() to
        a rank-2 CGO model.
    o   cgo(..., FastAlgorithm=TRUE) now has a logical argument
        GradientFunction, which if TRUE (default), computes the
        derivatives by using finite-difference approximations.
        The default will cause the speed to generally increase.



        CHANGES IN VGAM VERSION 0.5-19

BUG FIXES

    o   garma() did coerce the model matrix into the correct class
    o   fisherz() could not work out the inverse.

NEW FEATURES

    o   trplot() is a new generic function, and for objects of
        class "qrrvglm" (a cgo() object), it produces a trajectory plot
        for species.
    o   vcov.qrrvglm() now computes standard errors and returns the
        variance-covariance matrix for rank-1 QRR-VGLMs.
    o   A new fast algorithm is implemented for cgo(..., FastAlgorithm=TRUE)
        which only works under windows. It is a new undocumented algorithm.
    o   New family functions: lognormal(), lognormal3(), weibull().
    o   New family functions: genbetaII(), betaII(), sinmad(), dagum(),
        lomax(), invlomax(), fisk(), invparalogistic(), paralogistic().
        Additionally, d*, r* p* and q* forms of the
        density/random-generation etc.  functions for all of these
        except for betaII and genbetaII.
    o   New link function for (0,1) parameters: tanl() for tan link.
        It has a heavier tail and corresponds to a Cauchy distribution
        (cf. probit for normal).
    o   New family function: brat() for the Bradley Terry model
        (intercept model only).



        CHANGES IN VGAM VERSION 0.5-18

NEW FEATURES

    o   I've changed deplot.lmscreg() so that the "at" argument is now
        "y.arg", and the density is returned with name "density" instead
        of "y". That is, "at" is now "y", and "y" is now "density".
    o   lvplot.rrvglm() and biplot.rrvglm() have been merged and are now
        equivalent.



        CHANGES IN VGAM VERSION 0.5-17

BUG FIXES

    o   Bestof argument in cgo() and rrvglm() was faulty.
    o   Bug in plot.vgam(type.resid) fixed.

NEW FEATURES

    o   Updated to work under R 1.8.1
    o   logLik() and AIC() methods functions supported for many VGAM objects.
    o   lms.bcn.control(), lms.bcg.control(), lms.yjn.control() now
        have trace=TRUE because monitoring LMS quantile regression models
        is a good idea.
    o   lms.bcn(), lms.bcg(), lms.yjn() now improved.



        CHANGES IN VGAM VERSION 0.5-16

BUG FIXES

    o   biplot.rrvglm() had a internal bug with @C.
    o   Runs under R 1.8.0 now, having a fix with "qr" slot.
    o   etastart, coefstart, mustart arguments were not functional in vgam().
    o   vchol() did not replace the correct elements; sometimes the index
        was out of subscript range.
    o   residuals.vlm() tried to evaluate a deviance slot in a "vglmff" object
        even when it was empty.
    o   Documentation links to functions in other packages now work.

NEW FEATURES

    o   lvplot.qrrvglm() has been renamed biplot.qrrvglm().
        Argument Equal.tolerances changed to EqualTolerances.
        Argument Circular changed to ITolerances.
        rrvglm.control() now split into qrrvglm.control() and itself.
    o   cgo() now performs canonical Gaussian ordination.



        CHANGES IN VGAM VERSION 0.5-15

BUG FIXES

    o   Coef.qrrvglm() failed wrt Equal.tolerances and Circular when
        Rank>2.

NEW FEATURES

    o   gco() is now an easier interface for fitting Gaussian canonical
        ordination models. gco(...) is essentially rrvglm(..., Quadratic=TRUE).
    o   Documentation for deplot.lmscreg(), qtplot.lmscreg(), cdf.lmscreg()
        and related functions. Also for positive.poisson(),
        positive.binomial() and yip88().
    o   lvplot.qrrvglm() improved to handle non-diagonal tolerance matrices,
        and a new Rotate option is available for QRR-VGLMs.
    o   By default, QRR-VGLMs now have the constraint that the latent
        variables are uncorrelated and have unit variances, i.e.,
        their variance-covariance matrix is diag(Rank).
        Also, the Crow1positive argument allows ordinations to be reflected
        across axes.



        CHANGES IN VGAM VERSION 0.5-14

BUG FIXES

    o   vgam() with s() terms and subset= used to give a bug because the
        attributes of s() were lost.
    o   summary() of a gaussianff was faulty because control.gaussianff()
        was called gaussianff.control().

NEW FEATURES

    o   install.packages("VGAM", CRAN="http://www.stat.auckland.ac.nz/~yee")
        now works for PC and Linux/Unix, i.e., the distribution of the
        VGAM package allows for this type of download.
    o   poissonff(), quasipoissonff(), binomialff() and
        quasibinomialff() now handle multiple dispersion parameters when
        mv=TRUE and onedpar=FALSE.
    o   Generic function predictx(), with methods function for "qrrvglm"
        objects. This solves (with limited functionality) the calibration
        problem.
    o   predict.qrrvglm() and predict.rrvglm() written (but don't work 100%)
    o   Coef.rrvglm() now returns an S4 object, which can be printed nicely.
    o   summary.qrrvglm() has been improved.
    o   Documentation for poissonff(), quasipoissonff(), binomialff() and
        quasibinomialff().



        CHANGES IN VGAM VERSION 0.5-13

BUG FIXES

    o   Code with T and F now use TRUE and FALSE.

NEW FEATURES

    o    Documentation for lms.bcn(), lms.bcg(), lms.yjn(), and bmi.
         Additionally, the overall documentation has been improved
         throughout.
    o    print.Coef.qrrvglm prints the contents of Coef(qrrvglm.object)
         in a nicer format. It uses S4 features.


        CHANGES IN VGAM VERSION 0.5-12

BUG FIXES

    o   The package now works under R 1.7.1. This includes the smart
        prediction library.
    o   dirichlet(), skewnorm1(), geometric(), gamma2() and erlang()
        had a bug that has been fixed.

NEW FEATURES

    o    documentation for beta2(), and dirichlet().
    o    Easier installation; use something like
        "R CMD INSTALL -l ./myRlibs VGAM_0.5-12.tar.gz"
         for a local library.


        CHANGES IN VGAM VERSION 0.5-11

BUG FIXES

    o   The code has been upgraded to work under R 1.7.0 because
        of the calls to LAPACK and object oriented features.

NEW FEATURES

    o   levy() added, plus grc() documentation.
    o   constraints added to binomialff() and poissonff() since
        they both handle multivariate responses.


        CHANGES IN VGAM VERSION 0.5-10

BUG FIXES

    o   Many univariate family functions had a faulty loglikelihood slot.
    o   negbin.mu() was faulty causing very slow convergence.
    o   Coef.vglm() had a bug due to "fit" rather than "object"

NEW FEATURES

    o   logff() added.
    o   The undocumented backchat facility now works for Splus 6.x.
        This should increase the efficiency of vglm() in particular.
        Thanks to Insightful and Dr J. Chambers for helping to get it
        going under the S4 engine.



        CHANGES IN VGAM VERSION 0.5-9

BUG FIXES

    o   binomialff() had a bug in @weight.
    o   binomialff(mv=T) used to fail.
    o   gev(), ogev() and egev() had @loglikelihood that was faulty.

NEW FEATURES

    o    .Rd documentation included for vglm(), vgam(), rrvglm(), and
         associated control and class functions, plus smart prediction.



        CHANGES IN VGAM VERSION 0.5-8

NEW FEATURES

    o    rrvglm() now has a Quadratic argument to implement the class of
         Quadratic Reduced-rank VGLMs, which gives maximum likelihood
         solutions to Gaussian canonical ordination problems.
         Documentation is in rrvglm.pdf



        CHANGES IN VGAM VERSION 0.5-7

NEW FEATURES

    o    vglm() now has a xij argument which implements eta-specific
         covariates. Documentation is supplied on the VGAM website.
    o    grc() has been written for Goodman's RC association model for a
         contingency table. Documentation is in rrvglm.pdf



