| NEWS | R Documentation | 
glmmTMB News
CHANGES IN VERSION 1.1.13
BUG FIXES
- Pearson residual calculation corrected for Beta models (GH #1229, @amdavenport). 
NEW FEATURES
- new covariance structure - homtoep(homogeneous Toeplitz) has been added (GH #1095, Daniel Sabanés Bové)
- EXPERIMENTAL implementation of Kenward-Roger and Satterthwaite denominator-degree-of-freedom approximations; see - ddfargument for- summary.glmmTMB,- ?dof_KR
USER-VISIBLE CHANGES
- 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
- default value for - allow.new.levelsin- predict.glmmTMBis now NULL, meaning that new levels in grouping variables are allowed when predicting at the population level (i.e.,- re.formis- NAor- ~0) - unless- allow.new.levelsis explicitly set to TRUE (GH#1189, @fisher-j)
- implementation of - hetar1covstruct was wrong, fixed now (GH #1204, Daniel Sabanés Bové and Nik Krieger)
- prediction on rank-deficient X matrices could throw a false positive error (Erin McCallum, https://stackoverflow.com/q/77517125/190277) 
-  predictmethod no longer fails on subsets of data involving ordered factors (resolving an issue comparing contrasts associated with factors in original data andnewdata) (GH #1197, @fisher-j); we no longer check contrasts of factors that appear only as grouping variables
NEW FEATURES
- robust sandwich covariance matrix - vcovHChas been added for- glmmTMBobjects, please see the Model evaluation vignette for details (GH #443, Daniel Sabanés Bové)
- new argument - full_corrfor- glmmTMBControlto enable/disable computation and storage of full correlation matrices for random effect terms (helps with GH#995)
USER-VISIBLE CHANGES
- improved formatting of random effects standard deviations/variances/correlation matrices 
- 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
-  glmmTMBgains asubsetargument (GH #1128, @strengejacke)
- added a heterogeneous-variance AR1 ( - hetar1) covariance structure (GH #1095) (experimental, still prints badly)
- 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)
- 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
- likelihood profiling now works for models with mapped parameters 
-  glmmTMBno 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.
-  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)
- fixed newly introduced bug in Pearson residuals for zero-inflated models (GH #1101, @strengejacke) 
- fix bug in 'exotic' families (those such as truncated distributions using the internal - make_familyhelper function) that caused errors when calling- effects::Effect()(GH #1133, @strengejacke)
- fixed bug blocking reduced-rank models with binomial response (GH #1151, @toddvogel1628) 
- fixed minor bug with - confintapplied to models with random effects in the dispersion model
USER-VISIBLE CHANGES
- headline of - printand- summaryoutput 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
- 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 https://github.com/glmmTMB/glmmTMB/pull/1068. See - vignette("covstruct")
- added "nbinom12" family after Lindén and Mäntyniemi (2011) 
- 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
- added "skewnormal" family (@psmorris) (EXPERIMENTAL: some manual adjustment of starting values may be required) 
-  predict()now offerstype = "latent", which returns the values of the latent variables (with conditional standard deviations ifse.fit = TRUE)
- now works with automatic parallelization based on the underlying TMBad autodiff library (specify - parallel=list(..., autopar=TRUE)in- glmmTMBControlor set- options(glmmTMB.autopar = TRUE))
USER-VISIBLE CHANGES
- the name of the vector of fixed-effect parameters for the dispersion model has changed from - betadto- betadisp; code that specifies parameter values (e.g. as part of a- startargument or in- newparamsfor- simulate_new) may need to be adjusted. (For developers: There are similar name changes to other internal model components, e.g.- Xdbecomes- Xdisp.)
BUG FIXES
- fixed bug in - simulate_newfor- family = "beta_family"
- simulation now works for models fitted with the (scaled) t distribution (GH #1024) 
-  vcovworks better for cases wheremapis used to fix sets of parameters equal to each other
- fix printing bug for zero-inflation covariance matrices (SO 78393784) 
-  up2datenow works for models with mapped parameters (GH #874)
-  ranef()now works properly for reduced-rank models
- Pearson residuals now work for models with non-trivial dispersion components (GH #1053) 
- bug fixes to - get_cor(),- put_cor()utility functions
-  mgcvsmooths with no unpenalized components (e.g.s(..., bs = "sos")) now work
- better calculation of - df.residualwhen- REML=TRUE(#1039)=
OTHER CHANGES
- now imports random effect machinery from the - reformulaspackage rather than from- lme4
CHANGES IN VERSION 1.1.9 (2024-03-20)
USER-VISIBLE CHANGES
- 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 - betadispparameters halved for consistency: use- up2date(..., adjust_gauss_disp = TRUE)
- parameter estimates for dispersion components will change, e.g. from - fixef(.)$dispor- confint()for models with dispersion components
- any operations that directly handle dispersion parameters (e.g. - offsetterms for dispersion models) should be specified on the SD rather than the variance scale
 
- 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().)
-  simulate_newgives useful warning and error messages about unrecognized parameter names and length mismatches (length mismatches previously gave only a warning)
NEW FEATURES
- lognormal-hurdle models now work (i.e., zero values can occur in the response if - ziformulais specified)
- better checking for illegal (negative or non-integer) values in response variables 
- experimental support for priors: see - ?priorsand- vignette("priors", package = "glmmTMB")
BUG FIXES
- predictions now work when - weightsvariables have attributes (GH #977)
CHANGES IN VERSION 1.1.8 (2023-10-07)
NEW FEATURES
- "lognormal" family available (log-Normal, parameterized by the mean and standard deviation on the data scale) 
- an experimental implementation of penalized splines (and related smooth terms) is available, based on - mgcv. See the example using- sin- ?glmmTMB. Constructive feedback welcome at https://github.com/glmmTMB/glmmTMB/issues/928
- 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)
- the - simulatemethod now works for models fitted with- family=ordbetareg(GH #942, Daniel Lüdecke)
- 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.
- setting - option(glmmTMB_openmp_debug=TRUE)will produce debugging output about the number of OpenMP threads used
-  getME(., "b")returns the vector of conditional modes (BLUPs, in the case of linear mixed models)
USER-VISIBLE CHANGES
- changes related to handling rank-deficient fits: - default value of - rank_checkin- glmmTMBControlchanged to "adjust" (i.e., rank-deficient columns of fixed-effect model matrices are automatically dropped, with a message, by default)
- the - include_mappedargument of- vcovand- confintis changed to- include_nonest, controlling both mapped parameters and those dropped due to rank-deficiency, and is now- TRUEby default for- vcov
-  model.matrixnow returns the fixed-effect model matrix actually used in fitting (including dropping columns for rank-deficiency)
 
-  glmmTMBnow accepts single-column matrices (e.g. as produced byscaleas response variables (GH #937, @santoshbs)
CHANGES IN VERSION 1.1.7 (2023-04-05)
-  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
- fix bug in diagnose for Tweedie, other models with 'psi' parameter (@nalimilan, GH #135) 
NEW FEATURES
- added a - doOptimargument to- fitTMB, to return the constructed TMB object without fitting the parameters
- new (experimental) function - simulate_new, to simulate from a formula, list of parameters, and covariate data (rather than from a fitted object)
-  emmeans.glmmTMBmethod adds two options for thecomponentargument: "response" and "cmean", corresponding totype = "response"andtype = "conditional"inpredict.glmmTMB(Russ Lenth)
- new covariance structure - homdiag(homogeneous diagonal; the existing diagonal covariance structure,- diag, assumes heterogeneous variances)
USER-VISIBLE CHANGES
- The - emmeansmethod for glmmTMB fits now returns infinite "df" (i.e., normal- rather than t-based CIs and tests) for non-Gaussian families, consistent with- glmand other packages (GH #893)
CHANGES IN VERSION 1.1.5 (2022-11-16)
BUG FIXES
- improve predict-handling of complex bases (GH #632, #845, #853) 
- all standard deviations are now printed in output for models using - cs()(GH #851)
- corrected conditional and response predictions for truncated distributions (GH #634, #860, #873) 
-  ranef()now works correctly for families with extra parameters (Tweedie etc.) (GH #870)
USER-VISIBLE CHANGES
- glmmTMB has switched to using a different (newer, under active development) autodifferentiation library under the hood (from - CppADto- 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,- NaNvalues of standard errors, etc.) You can revert to using the older autodiff engine by commenting out the line- PKG_CPPFLAGS = -DTMBAD_FRAMEWORKin- src/Makevarsand reinstalling the package (make sure to delete .o/.so files from the- srcdirectory first if installing from the package directory, as the Makefile doesn't recognize know that this change requires recompilation).
- 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)
- the vector of "extra" family parameters (Tweedie power, Student-t df, etc.) has been renamed from "thetaf" to "psi"; - startand- maparguments 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.
-  predictnow warns if extra (ignored) arguments are provided in...
NEW FEATURES
- Student-t response distribution is now implemented (see - t_family)
- ordered beta regression as in Kubinec (2022), for proportion data containing exact 0 and 1 values, is now implemented ( - ordbeta)
-  glmmTMBControlnow has aconv_checkargument 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
- row names of - confintoutput 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
-  predict(., "zprob")now returns 0 andpredict(., "zlink")returns-Inffor all observations for models without zero-inflation (GH #798, Brenton Wiernik) [was previously supposed to throw an error, but incorrectly returned conditional values]
- bug fixes and other improvements for - diagnose(inverted Z-score; now handles models without random effects)
-  confintnow works for models with more than one random effect
-  confintworks better (although not completely) for models with mapped parameters
NEW FEATURES
- 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
- minor improvements in - diagnose()
BUG FIXES
- offset variables with attributes now work properly (previously threw an error; now stripped before being passed to TMB) 
-  emmeansmethods now work whencomponentis non-default (GH #780, @rvlenth/@marosteg)
-  vcov(., full = TRUE)is now named for models with multiple variance components
NEW FEATURES
- implemented working residuals ( - residuals(., type = "working"); GH #776, @lionel68)
- new option - print_trivialfor the- printmethod for fixed effects (- fixefobjects); contributed by @d-morrison
CHANGES IN VERSION 1.1.2.3 (2021-09-20)
USER-VISIBLE CHANGES
- 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.)
-  glmmTMBnow issues a warning when (1)$is used within formulas or (2) thedataargument is not specified (the latter warning can be suppressed by specifyingdata=NULL).
NEW FEATURES
- New (experimental) function - up2datefor updating stored- glmmTMBfits that were created with an earlier version of- TMBthan the one used when- glmmTMBwas compiled to binary/installed from source
- Utility functions - dtruncnbinom1,- dtruncnbinom2,- dtruncpoissonfor k-truncated count distributions
CHANGES IN VERSION 1.1.2.2 (2021-09-01)
- This is an administrative release (minor revisions for CRAN). 
CHANGES IN VERSION 1.1.2 (2021-07-20)
BUG FIXES
- resolved OpenMP thread-safety issues on Windows 
- resolved bug that caused Tweedie models to crash on Solaris 
- resolved problems with vignettes on Solaris (GH #721) 
USER-VISIBLE CHANGES
- improved control of OpenMP threading for prediction, profiling etc. 
CHANGES IN VERSION 1.1.0 (2021-06-24)
NEW FEATURES
- reduced rank covariance for GLVMs implemented by M.McGillycuddy (see covstruct vignette for details) 
-  diagnosefunction to investigate potential causes of convergence problems
- improved parallel processing (GH #620 #652) 
- truncated nbinom2 family now includes a - variancecomponent
BUG FIXES
-  Anovawithtype="III"now handlescomponentargument correctly, more robust to trivial models
- fixed a typo/omission in the type-3 Anova method that made zi Anova break in some conditions (GH #674) 
- fixed bugs/inconsistencies in handling of mapped parameters (GH #678) 
-  confintwithparm="beta_"orparm="theta_"now work correctly with more complex models (e.g. including both zero inflation and random effects) (reported by @MKie45 on Stack Overflow)
-  confintworks for single-parameter models and those with adispformula(GH #622)
- mapped (fixed) variables could give incorrect predictions (GH #644) 
-  simulateis more robust for truncated_nbinom1 and truncated_nbinom2 (GH #572)
USER-VISIBLE CHANGES
- "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
- row ordering has changed in - confintoutput data frames (random effects parameters come last, matching the row/column order in- vcov(., full=TRUE))
- new - fastflag for predictions decreases memory use and computational time (only if- newdata,- newparamsnot specified); default in- fitted()method
- improved robustness of beta-binomial fits (results of fitting such models may change slightly from previous versions) 
- consistent predictions between link and inverse-link (GH #696) 
- improved vignette titles 
- The - emm_basismethod for- glmmTMBobjects now accepts a user-specified covariance matrix (- vcov.argument)
CHANGES IN VERSION 1.0.2.1 (2020-07-02)
- fix documentation links for CRAN checks 
CHANGES IN VERSION 1.0.2 (unreleased)
USER-VISIBLE CHANGES
- the - refit()function is now re-exported (i.e., you no longer need to load- lme4to use it)
- a - modelparm.glmmTMBmethod is now provided (so that- multcomp::glhtshould work out of the box with- glmmTMBobjects)
NEW FEATURES
- new - sparseXargument to specify sparse fixed-effect model matrices for one or more components
BUG FIXES
-  summaryand model printing now work ifcontrol=glmmTMBControl(optimizer=optim)is used (GH #589)
- structured covariance models now work in zero-inflation components (GH #579) 
- documentation of formula for variance in beta family (GH #595) 
CHANGES IN VERSION 1.0.1 (2020-03-15)
- updated for R-devel changes (R 4.0.0 will set stringsAsFactors=FALSE by default) 
CHANGES IN VERSION 1.0.0 (2020-02-03)
The 1.0.0 release does not introduce any major changes or incompatibilities, but signifies that glmmTMB is considered stable and reliable for general use.
NEW FEATURES
- new - mapargument to- glmmTMBallows for some parameter values to be fixed (see- ?TMB::MakeADFunfor details)
- new - optimizerand- optArgsarguments to- glmmTMBControlallow use of optimizers other than- nlminb
-  predictcan make population-level predictions (i.e., setting all random effects to zero). See?predict.glmmTMBfor details.
-  beta_familynow allows zero-inflation; newziGammafamily (minor modification ofstats::Gamma) allows zero-inflation (i.e., Gamma-hurdle models)
BUG FIXES
-  vcov(., full=TRUE)(and hence profiling) now work for models withdispformula=~0
- Documentation fix: when - family=genpois, the index of dispersion is known as phi^2.
-  Anovanow respects thecomponentargument (GH #494, from @eds-slim)
-  predictnow works when contrasts are set on factors in original data (GH #439, from @cvoeten)
-  bootMernow works with models with Bernoulli responses (even thoughsimulate()returns a two-column matrix in this case) (GH #529, @frousseu)
- better support for - emmeansapplied to zero-inflation or dispersion models (correct link functions) (Russ Lenth)
USER-VISIBLE CHANGES
-  sigma(.)now returnsNAfor models with non-trivial dispersion models (i.e. models with more than one dispersion parameter) (raised by GH #533, from @marek-tph)
-  VarCorrno longer prints residual variances for models withdispformula=~0
- the - model.matrix()and- terms()methods for- glmmTMBobjects have been slightly modified
CHANGES IN VERSION 0.2.3 (2019-01-11)
NEW FEATURES
-  ranefnow returns information about conditional variances (as attributes of the individual random effects terms) by default; this information can easily be retrieved byas.data.frame(ranef(.)).
-  coefmethod now available: as inlme4, returns sum of fixed + random effects for each random-effects level. (Conditional variances forcoefnot yet available.)
- simulate works for models with genpois family 
- parametric bootstrapping should work, using - bootMerfrom the- lme4package as a front end.
BUG FIXES
- models with multiple types of RE (e.g. ar1 and us) may have failed previously (GH #329) 
-  predictwas not handling data-dependent predictors (e.g.poly,spline,scale) correctly
-  profilenow works for models without random effects
USER-VISIBLE CHANGES
- The value returned from - simulatefor binomial models is now a non-standard data frame where each element contains a two-column matrix (as in the base-R- simulatemethod for binomial GLMS).
CHANGES IN VERSION 0.2.2 (2018-07-03)
NEW FEATURES
- 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
- Because family functions are now available for all families that have been implemented in the underlying TMB code, specifying the - familyargument 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 (2018-05-11)
NEW FEATURES
- 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)
- offsets are now allowed in the zero-inflation and dispersion formulas as well as in the main (conditional-mean) formula (if - offsetis specified as a separate argument, it applies only to the conditional mean)
- zero-truncated generalized Poisson - family=truncated_genpois
- zero-truncated Conway-Maxwell-Poisson - family=truncated_compois
-  predictnow allowstype("link", "response", "conditional", "zprob", "zlink")
BUG FIXES
- built-in - betar()family for Beta regression fixed (and name changed to- beta_family()) (GH #278)
- fixed segfault in predict method when response is specified as two columns (GH #289) 
- fixed summary-printing bug when some random effects have covariance terms and others don't (GH #291) 
- fix bugs in binomial residuals and prediction (GH #307) 
USER-VISIBLE CHANGES
- in - predict.glmmTMB, the- zitypeargument has been rolled into the new- typeargument: default prediction type is now "link" instead of "response", in order to match- glm()default