Changes in version 1.1.15 NEW FEATURES o Dunn-Smyth residuals (type = "dunn-smyth" in residuals()) are now available for the bell and genpois families; the Bell distribution uses internal C-level implementations of the PMF and Lambert W function o density and cumulative distribution functions for the Bell (dbell, pbell) and generalized Poisson (dgenpois, pgenpois) distributions are now exported BUG FIXES o profile.glmmTMB with a custom parallel cluster produced error on "object 'new_cl' not found" (GH #1265; Henrik Bengtsson) o Fix mapping for models with rr structures (GH #1276) Changes in version 1.1.14 (2026-01-15) BUG FIXES o Fix theta initialization for propto/equalto and enable them in disp/zi components (GH #1255) o more informative error message when family=ziGamma is specified, with zeros in the data, without setting ziformula (GH #1213) o simulate_new with return_val="pars" no longer requires newparams to be specified (GH #1242) o Non-estimated parameters (via map) no longer cause an error message in vcov.glmmTMB with the default arguments (GH #1269) NEW FEATURES o new covariance structure equalto (GH #1253, Coralie Williams), see vignette("covstruct") USER-VISIBLE CHANGES o more compact printing of covariance structures, see vignette("covstruct") o functions and methods for formatting/printing covariance matrices have moved to the reformulas package Changes in version 1.1.13 (2025-10-09) BUG FIXES o Pearson residual calculation corrected for Beta models (GH #1229, @amdavenport). NEW FEATURES o new covariance structure homtoep (homogeneous Toeplitz) has been added (GH #1095, Daniel Sabanés Bové) o EXPERIMENTAL implementation of Kenward-Roger and Satterthwaite denominator-degree-of-freedom approximations; see ddf argument for summary.glmmTMB, ?dof_KR USER-VISIBLE CHANGES o Log-normal and skew-normal variance models (family(model)$variance) have been changed to return scaled Pearson residuals; beta-binomial returns unscaled Pearson residuals, with a message (see ?residuals.merMod) Changes in version 1.1.12 (2025-08-18) BUG FIXES o default value for allow.new.levels in predict.glmmTMB is now NULL, meaning that new levels in grouping variables are allowed when predicting at the population level (i.e., re.form is NA or ~0) - unless allow.new.levels is explicitly set to TRUE (GH#1189, @fisher-j) o implementation of hetar1 covstruct was wrong, fixed now (GH #1204, Daniel Sabanés Bové and Nik Krieger) o prediction on rank-deficient X matrices could throw a false positive error (Erin McCallum, ) o predict method no longer fails on subsets of data involving ordered factors (resolving an issue comparing contrasts associated with factors in original data and newdata) (GH #1197, @fisher-j); we no longer check contrasts of factors that appear only as grouping variables NEW FEATURES o robust sandwich covariance matrix vcovHC has been added for glmmTMB objects, please see the Model evaluation vignette for details (GH #443, Daniel Sabanés Bové) o new argument full_corr for glmmTMBControl to enable/disable computation and storage of full correlation matrices for random effect terms (helps with GH#995) USER-VISIBLE CHANGES o improved formatting of random effects standard deviations/variances/correlation matrices o mismatches in contrasts between original data and prediction data now throw a warning rather than an error (related to GH #1197) Changes in version 1.1.11 (2025-04-02) NEW FEATURES o glmmTMB gains a subset argument (GH #1128, @strengejacke) o added a heterogeneous-variance AR1 (hetar1) covariance structure (GH #1095) (experimental, still prints badly) o added the Bell distribution (bell()) as in Castellares et al. 2018 doi:10.1016/j.apm.2017.12.014 (Hatice Tül Kübra Akdur) o added aggregated predictions with bias correction as in Kindt-Larsen, Glemerec, et al. 2023 doi:10.1098/rspb.2022.2570 and Thorson & Kristensen 2016 doi:10.1016/j.fishres.2015.11.016 BUG FIXES o likelihood profiling now works for models with mapped parameters o glmmTMB no longer changes the order of terms in fixed-effect model matrices (GH #1122, @dongwenluo). Note that this bug fix will change the order of results (parameter vectors) in some cases. o vcov() behaviour improved for models with mapped parameters, especially the case where parameters are set equal rather than fixed to starting values (e.g. map = list(beta = factor(c(1,1)))) (GH #1120, @DrJerryTAO) o fixed newly introduced bug in Pearson residuals for zero-inflated models (GH #1101, @strengejacke) o fix bug in 'exotic' families (those such as truncated distributions using the internal make_family helper function) that caused errors when calling effects::Effect() (GH #1133, @strengejacke) o fixed bug blocking reduced-rank models with binomial response (GH #1151, @toddvogel1628) o fixed minor bug with confint applied to models with random effects in the dispersion model USER-VISIBLE CHANGES o headline of print and summary output now labels the minimum of the objective function (correctly) as "-2*log(L)" rather than "deviance" (GH #1156, @ladin100) Changes in version 1.1.10 (2024-09-26) NEW FEATURES o added random effect structure propto to fit multivariate random effects proportional to a known variance-covariance matrix. This feature is EXPERIMENTAL; please post any problems at . See vignette("covstruct") o added "nbinom12" family after Lindén and Mäntyniemi (2011) o random effects, including smooth terms with s(), can now be included in the dispersion model. This feature is EXPERIMENTAL; please post any problems to the issues list o added "skewnormal" family (@psmorris) (EXPERIMENTAL: some manual adjustment of starting values may be required) o predict() now offers type = "latent", which returns the values of the latent variables (with conditional standard deviations if se.fit = TRUE) o now works with automatic parallelization based on the underlying TMBad autodiff library (specify parallel=list(..., autopar=TRUE) in glmmTMBControl or set options(glmmTMB.autopar = TRUE)) USER-VISIBLE CHANGES o the name of the vector of fixed-effect parameters for the dispersion model has changed from betad to betadisp; code that specifies parameter values (e.g. as part of a start argument or in newparams for simulate_new) may need to be adjusted. (For developers: There are similar name changes to other internal model components, e.g. Xd becomes Xdisp.) BUG FIXES o fixed bug in simulate_new for family = "beta_family" o simulation now works for models fitted with the (scaled) t distribution (GH #1024) o vcov works better for cases where map is used to fix sets of parameters equal to each other o fix printing bug for zero-inflation covariance matrices (SO 78393784) o up2date now works for models with mapped parameters (GH #874) o ranef() now works properly for reduced-rank models o Pearson residuals now work for models with non-trivial dispersion components (GH #1053) o bug fixes to get_cor(), put_cor() utility functions o mgcv smooths with no unpenalized components (e.g. s(..., bs = "sos")) now work o better calculation of df.residual when REML=TRUE (#1039)= OTHER CHANGES o now imports random effect machinery from the reformulas package rather than from lme4 Changes in version 1.1.9 (2024-03-20) USER-VISIBLE CHANGES o the underlying parameterization of the dispersion for Gaussian models has changed from the variance to the standard deviation scale, with the following user-visible consequences: • results of fitting Gaussian models may change slightly, especially for unstable fits • stored model objects need to have their betadisp parameters halved for consistency: use up2date(..., adjust_gauss_disp = TRUE) • parameter estimates for dispersion components will change, e.g. from fixef(.)$disp or confint() for models with dispersion components • any operations that directly handle dispersion parameters (e.g. offset terms for dispersion models) should be specified on the SD rather than the variance scale o interpretation of the _weights_ variable for binomial-type GL(M)Ms has changed. Previously, the _weights_ argument was _ignored_ for a vector- (rather than matrix-valued) numeric response, if all observations were either 0 or 1. Now the _weights_ variable is multiplied by the resonse variable to compute the number of successes (consistently with stats::glm(., family = "binomial")). (This change makes it easier to use _weights_ to specify the number of trials per observation for simulate_new().) o simulate_new gives useful warning and error messages about unrecognized parameter names and length mismatches (length mismatches previously gave only a warning) NEW FEATURES o lognormal-hurdle models now work (i.e., zero values can occur in the response if ziformula is specified) o better checking for illegal (negative or non-integer) values in response variables o experimental support for priors: see ?priors and vignette("priors", package = "glmmTMB") BUG FIXES o predictions now work when weights variables have attributes (GH #977) Changes in version 1.1.8 (2023-10-07) NEW FEATURES o "lognormal" family available (log-Normal, parameterized by the mean and standard deviation on the _data scale_) o an experimental implementation of penalized splines (and related smooth terms) is available, based on mgcv. See the example using s in ?glmmTMB. Constructive feedback welcome at o population-level prediction with new data no longer requires that the variables involved in the random effects be explicitly specified as NA (GH #923, Russ Lenth) o the simulate method now works for models fitted with family=ordbetareg (GH #942, Daniel Lüdecke) o deviance residuals are now available for some families (built-in families from base R (see ?family) plus nbinom1, nbinom2); deviance residuals for other families may be implemented on request. o setting option(glmmTMB_openmp_debug=TRUE) will produce debugging output about the number of OpenMP threads used o getME(., "b") returns the vector of conditional modes (BLUPs, in the case of linear mixed models) USER-VISIBLE CHANGES o changes related to handling rank-deficient fits: • default value of rank_check in glmmTMBControl changed to "adjust" (i.e., rank-deficient columns of fixed-effect model matrices are automatically dropped, with a message, by default) • the include_mapped argument of vcov and confint is changed to include_nonest, controlling both mapped parameters and those dropped due to rank-deficiency, and is now TRUE by default for vcov • model.matrix now returns the fixed-effect model matrix actually used in fitting (including dropping columns for rank-deficiency) o glmmTMB now accepts single-column matrices (e.g. as produced by scale as response variables (GH #937, @santoshbs) Changes in version 1.1.7 (2023-04-05) o up2date() adds a dispersion component to family objects where required, for compatibility when checking stored fits across R versions Changes in version 1.1.6 (2023-03-19) BUG FIXES o fix bug in diagnose for Tweedie, other models with 'psi' parameter (@nalimilan, GH #135) NEW FEATURES o added a doOptim argument to fitTMB, to return the constructed TMB object without fitting the parameters o new (experimental) function simulate_new, to simulate from a formula, list of parameters, and covariate data (rather than from a fitted object) o emmeans.glmmTMB method adds two options for the component argument: "response" and "cmean", corresponding to type = "response" and type = "conditional" in predict.glmmTMB (Russ Lenth) o new covariance structure homdiag (homogeneous diagonal; the existing diagonal covariance structure, diag, assumes heterogeneous variances) USER-VISIBLE CHANGES o The emmeans method for glmmTMB fits now returns infinite "df" (i.e., normal- rather than t-based CIs and tests) for non-Gaussian families, consistent with glm and other packages (GH #893) Changes in version 1.1.5 (2022-11-16) BUG FIXES o improve predict-handling of complex bases (GH #632, #845, #853) o all standard deviations are now printed in output for models using cs() (GH #851) o corrected conditional and response predictions for truncated distributions (GH #634, #860, #873) o ranef() now works correctly for families with extra parameters (Tweedie etc.) (GH #870) USER-VISIBLE CHANGES o glmmTMB has switched to using a different (newer, under active development) autodifferentiation library under the hood (from CppAD to TMBad). This is likely to lead to small changes in estimates, including tipping marginally stable computations to instability or vice versa (e.g. presence or absence of convergence warnings, positive-definite Hessian warnings, NaN values of standard errors, etc.) You can revert to using the older autodiff engine by commenting out the line PKG_CPPFLAGS = -DTMBAD_FRAMEWORK in src/Makevars and reinstalling the package (make sure to delete .o/.so files from the src directory first if installing from the package directory, as the Makefile doesn't recognize know that this change requires recompilation). o glmmTMB now warns if fixed-effect model matrices are rank deficient (i.e., perfectly collinear predictors); this warning can be suppressed by setting glmmTMBControl(rank_check="skip") (rank_check = "stop" will throw an error). If rank_check="adjust", glmmTMB will automatically drop appropriate columns from the model matrix (Daniel B. Stouffer) o the vector of "extra" family parameters (Tweedie power, Student-t df, etc.) has been renamed from "thetaf" to "psi"; start and map arguments that set this parameter will need to be changed. Users will need to run up2date() when loading stored model objects from previous versions of the package. o predict now warns if extra (ignored) arguments are provided in ... NEW FEATURES o Student-t response distribution is now implemented (see t_family) o ordered beta regression as in Kubinec (2022), for proportion data containing exact 0 and 1 values, is now implemented (ordbeta) o glmmTMBControl now has a conv_check argument that allows suppressing convergence warnings (the intended use is when these warnings are irrelevant, e.g. when running small examples for testing purposes) Changes in version 1.1.4 (2022-07-12) USER-VISIBLE CHANGES o row names of confint output for random effects parameters have changed (new format is Std.Dev . (term) | (grouping variable) for standard deviations, Cor . (term1) . (term2) | (grouping variable) for correlations) BUG FIXES o predict(., "zprob") now returns 0 and predict(., "zlink") returns -Inf for all observations for models without zero-inflation (GH #798, Brenton Wiernik) [was previously supposed to throw an error, but incorrectly returned conditional values] o bug fixes and other improvements for diagnose (inverted Z-score; now handles models without random effects) o confint now works for models with more than one random effect o confint works better (although not completely) for models with mapped parameters NEW FEATURES o now provides Pearson residuals for zero-inflated and variable-dispersion models (Brenton Wiernik) Changes in version 1.1.3 (2022-03-13) USER-VISIBLE CHANGES o minor improvements in diagnose() BUG FIXES o offset variables with attributes now work properly (previously threw an error; now stripped before being passed to TMB) o emmeans methods now work when component is non-default (GH #780, @rvlenth/@marosteg) o vcov(., full = TRUE) is now named for models with multiple variance components NEW FEATURES o implemented working residuals (residuals(., type = "working"); GH #776, @lionel68) o new option print_trivial for the print method for fixed effects (fixef objects); contributed by @d-morrison Changes in version 1.1.2.3 (2021-09-20) USER-VISIBLE CHANGES o Double-bar notation ((x+y||g)) is now translated to a diagonal-covariance term (diag(x+y|g)) rather than being split into separate random effects terms as in lme4. This should not change modeling results, but may change their presentation/ordering/etc.. (This is also a bug fix, as double-bar notation was not working in several previous versions.) o glmmTMB now issues a warning when (1) $ is used within formulas or (2) the data argument is not specified (the latter warning can be suppressed by specifying data=NULL). NEW FEATURES o New (experimental) function up2date for updating stored glmmTMB fits that were created with an earlier version of TMB than the one used when glmmTMB was compiled to binary/installed from source o Utility functions dtruncnbinom1, dtruncnbinom2, dtruncpoisson for k-truncated count distributions Changes in version 1.1.2.2 (2021-09-01) o This is an administrative release (minor revisions for CRAN). Changes in version 1.1.2 (2021-07-20) BUG FIXES o resolved OpenMP thread-safety issues on Windows o resolved bug that caused Tweedie models to crash on Solaris o resolved problems with vignettes on Solaris (GH #721) USER-VISIBLE CHANGES o improved control of OpenMP threading for prediction, profiling etc. Changes in version 1.1.0 NEW FEATURES o reduced rank covariance for GLVMs implemented by M.McGillycuddy (see covstruct vignette for details) o diagnose function to investigate potential causes of convergence problems o improved parallel processing (GH #620 #652) o truncated nbinom2 family now includes a variance component BUG FIXES o Anova with type="III" now handles component argument correctly, more robust to trivial models o fixed a typo/omission in the type-3 Anova method that made zi Anova break in some conditions (GH #674) o fixed bugs/inconsistencies in handling of mapped parameters (GH #678) o confint with parm="beta_" or parm="theta_" now work correctly with more complex models (e.g. including both zero inflation and random effects) (reported by @MKie45 on Stack Overflow) o confint works for single-parameter models and those with a dispformula (GH #622) o mapped (fixed) variables could give incorrect predictions (GH #644) o simulate is more robust for truncated_nbinom1 and truncated_nbinom2 (GH #572) USER-VISIBLE CHANGES o "mapped" parameters (i.e., fixed by user rather than optimized) are now given variances/standard deviations of NA rather than 0 in vcov(., include_mapped=TRUE) and by extension in summary; hence Z-statistics and P-values will also be NA for these parameters o row ordering has changed in confint output data frames (random effects parameters come _last_, matching the row/column order in vcov(., full=TRUE)) o new fast flag for predictions decreases memory use and computational time (only if newdata, newparams not specified); default in fitted() method o improved robustness of beta-binomial fits (results of fitting such models may change slightly from previous versions) o consistent predictions between link and inverse-link (GH #696) o improved vignette titles o The emm_basis method for glmmTMB objects now accepts a user-specified covariance matrix (vcov. argument) Changes in version 1.0.2.1 (2020-07-02) o fix documentation links for CRAN checks Changes in version 1.0.2 USER-VISIBLE CHANGES o the refit() function is now re-exported (i.e., you no longer need to load lme4 to use it) o a modelparm.glmmTMB method is now provided (so that multcomp::glht should work out of the box with glmmTMB objects) NEW FEATURES o new sparseX argument to specify sparse fixed-effect model matrices for one or more components BUG FIXES o summary and model printing now work if control=glmmTMBControl(optimizer=optim) is used (GH #589) o structured covariance models now work in zero-inflation components (GH #579) o documentation of formula for variance in beta family (GH #595) Changes in version 1.0.1 (2020-03-15) o updated for R-devel changes (R 4.0.0 will set stringsAsFactors=FALSE by default) Changes in version 1.0.0 (2020-02-03) NEW FEATURES o new map argument to glmmTMB allows for some parameter values to be fixed (see ?TMB::MakeADFun for details) o new optimizer and optArgs arguments to glmmTMBControl allow use of optimizers other than nlminb o predict can make population-level predictions (i.e., setting all random effects to zero). See ?predict.glmmTMB for details. o beta_family now allows zero-inflation; new ziGamma family (minor modification of stats::Gamma) allows zero-inflation (i.e., Gamma-hurdle models) BUG FIXES o vcov(., full=TRUE) (and hence profiling) now work for models with dispformula=~0 o Documentation fix: when family=genpois, the index of dispersion is known as phi^2. o Anova now respects the component argument (GH #494, from @eds-slim) o predict now works when contrasts are set on factors in original data (GH #439, from @cvoeten) o bootMer now works with models with Bernoulli responses (even though simulate() returns a two-column matrix in this case) (GH #529, @frousseu) o better support for emmeans applied to zero-inflation or dispersion models (correct link functions) (Russ Lenth) USER-VISIBLE CHANGES o sigma(.) now returns NA for models with non-trivial dispersion models (i.e. models with more than one dispersion parameter) (raised by GH #533, from @marek-tph) o VarCorr no longer prints residual variances for models with dispformula=~0 o the model.matrix() and terms() methods for glmmTMB objects have been slightly modified Changes in version 0.2.3 (2019-01-11) NEW FEATURES o ranef now returns information about conditional variances (as attributes of the individual random effects terms) by default; this information can easily be retrieved by as.data.frame(ranef(.)). o coef method now available: as in lme4, returns sum of fixed + random effects for each random-effects level. (Conditional variances for coef _not_ yet available.) o simulate works for models with genpois family o parametric bootstrapping should work, using bootMer from the lme4 package as a front end. BUG FIXES o models with multiple types of RE (e.g. ar1 and us) may have failed previously (GH #329) o predict was not handling data-dependent predictors (e.g. poly, spline, scale) correctly o profile now works for models without random effects USER-VISIBLE CHANGES o The value returned from simulate for binomial models is now a non-standard data frame where each element contains a two-column matrix (as in the base-R simulate method for binomial GLMS). Changes in version 0.2.2 NEW FEATURES o REML is now an option (GH #352). It is typically only for Gaussian response variables, but can also be useful for some non-Gaussian response variables if used with caution (i.e. simulate a test case first). USER-VISIBLE CHANGES o Because family functions are now available for all families that have been implemented in the underlying TMB code, specifying the family argument as a raw list (rather than as a family function, the name of a family function, or the output of such a function) is now deprecated. Changes in version 0.2.1 NEW FEATURES o likelihood profiles (via profile) and likelihood profile confidence intervals (via confint(profile(.))) can now be computed; confint(fitted,method="profile") and confint(fitted,method="uniroot") (find CIs by using a root-finding algorithm on the likelihood profile) o offsets are now allowed in the zero-inflation and dispersion formulas as well as in the main (conditional-mean) formula (if offset is specified as a separate argument, it applies only to the conditional mean) o zero-truncated generalized Poisson family=truncated_genpois o zero-truncated Conway-Maxwell-Poisson family=truncated_compois o predict now allows type ("link", "response", "conditional", "zprob", "zlink") BUG FIXES o built-in betar() family for Beta regression fixed (and name changed to beta_family()) (GH #278) o fixed segfault in predict method when response is specified as two columns (GH #289) o fixed summary-printing bug when some random effects have covariance terms and others don't (GH #291) o fix bugs in binomial residuals and prediction (GH #307) USER-VISIBLE CHANGES o in predict.glmmTMB, the zitype argument has been rolled into the new type argument: *default prediction type is now "link" instead of "response", in order to match glm() default*