Changes in version 0.9 NEW FEATURES o It is now possible to estimate models with non-nested (e.g. crossed) random effects. Such models can be specified by providing a list of formulas as random= argument to the mclogit() or mblogit() function. o The left-hand side of conditional logit models can now more conveniently specified using the vertical-bar (|) operator. o It is now possible to choose between different optimizers to be used in the inner iterations of the MQL/PQL estimator: One can choose between nlm(), nlminb(), ucminf(), and most techniques provided by optim(). o With rebase() the baseline category of a model can be changed without the need of refitting the model. o mblogit() and mclogit() now have a groups= argument that allows to estimated overdispersion (across groups). o mblogit() and mclogit() now also have an offset= argument that to add an offset to the model (i.e. a covariate with coeffecient fixed to unity). For mblogit() the offset can be a matrix with a column for each logit equation. o It is now possible to pass a string to mblogit() as dispersion= argument that specifies the method of estimating overdispersion. o mblogit() and mclogit() can now be estimated with Firth's penalized likelihood method, which reduces the asymptotic bias and leads to finite estimats in case of complete separation and quasi-complete separation. BUGFIXES o Singular initial covariance matrices no longer cause errors. o A warning about unreliable results is issued if anova() is applied to models with random effects. o Estimating of overdispersion with group data now works. IMPROVEMENTS o mclogit() and mblogit() check whether the list passed as control is complete i.e. contains all the relevant named arguments. o A ranef() method is provided for objects created by mclogit() or mblogit(). o Redundant columns are now handled in the same way as in glm() by setting their coefficients ot NA. Changes in version 0.8 NEW FEATURES o It is now possible to use the MQL estimation technique as an alternative to PQL. o As an alternative to extending a logit model with random effects, it is now possible to add an over-dispersion parameter to the model. o In addition to approximate the ML estimator, MQL and PQL have a variant that approximates the REML estimator. o There is now a simulate() method for objects returned by mblogit() or mclogit() (but only for those without random effects). o Predictions from random-effects models estimated using the PQL technique now are now conditional on the random effects (unless requested otherwise). BUGFIXES o mclogit() now handles empty responses (i.e. counts that sum to zero) correclty. o mclogit() now flags non-numeric response vectors as an error. o predict() now handles scaled independent variables correcty. IMPROVEMENTS o summary() shows the number of groups per random effects level (if present). o mclogit() and mblogit() with random effects now work with formula=-argumements passed in variables. Changes in version 0.7 IMPROVEMENTS o The algorithm for fitting random-effects models tended to stop prematurely returning the starting values obtained using a methods of moments. It has been completely refactored and proceeds similar to the PQL algorithm in Professor Brian Ripley's MASS package: Now an inner step, in which a linear mixed model is fitted to a working dependent variable is nested into outer step iterations, in which the the working dependent variable is updated. o Also, the PQL algorithm no longer builds on starting values from a no-random-effects model, because surprisingly this makes the algorithm more stable and not less. As a consequence, the algorithm does a much better job at avoiding divergence or running into numerical difficulties. o The PQL estimator for random-effects model uses a (inverse) Cholesky factor parametrisation, which makes sure that random-effects (Co-)Variance matrices are always positive (semi-)definite. Changes in version 0.6 (2018-05-10) NEW FEATURES o mclogit now complains about (i.e. throws an error exception) when the random effects structure cannot be estimated, e.g. because random effects are constant within choice sets and therefore drop out by the formation of conditional logits. BUGFIXES o mblogit now handles responses with only two columns. o mblogit now can deal with matrix responses that have rows that sum to zero. o mclogit and mblogit now return a component named "df.residual" instead of "residual.df". Changes in version 0.5 NEW FEATURES o mclogit now supports conditional logit models with random slopes. o mblogit now supports multinomial baseline models with random intercept and random slopes. BUGFIXES o predict methods of objects created by mclogit and mblogit are better in handling missing data. Changes in version 0.4 NEW FEATURES o New nobs and extractAIC methods for mclogit objects, so that drop1.default should work with these. o New function mblogit to fit multinomial baseline logit models. o mclogit mclogit.fit now allow user-provided starting values. BUGFIXES o getSummary methods now return "contrasts" and "xlevels" components. o Fixed prediction method for mclogit results. o Corrected handling of weights and standard errors of prediction. o Matrices returned by the mclogit method of vcov() have row and column names. o The number of observations is now displayed where it was not before. o nobs is defined in mclogit.fit.rePQL. USER-VISIBLE CHANGES o mclogit.fit and mclogit.fit.rePQL are exported to enable their use by other packages.