Changes to Version 0.7-0 o Fixed problem with analytic gradient, which caused convergence problems for some models. o Simplified optimization. o Added modification indices (preliminary version). o Some changes to start values. o Added RMSEA to fit indices. o Added Klein dataset. Changes to Version 0.7-1 o Replaced F with FALSE as logical, F with f as variable. Changes to Version 0.7-2 o Fixed tsls examples to run even if a global variable named F exists. Changes to Version 0.7-3 o Fixed bug in start-values routine that affected unstandardized models. o Added code to try to detect under-identified models. Changes to Version 0.7-5 o Made arguments to method functions consistent with generics (mostly adding ...). Changes to Version 0.7-6 o Check for negative degrees of freedom. Changes to Version 0.7-7 o Fixed bug in sem.default and startvalues that prevented the model from being fit when there are all equality constraints affect precisely the same numbers of parameters. o Fixed bug in tsls.formula that could cause the wrong variable to be identified as the response (causing the fit to fail). o Added code to detect more instances of nonconvergence. o Other small changes to code and documentation. Changes to Version 0.7-8 o Fixed bug in tsls.formula that could prevent model formula from being evaluated (producing an error). Changes to Version 0.7-9 o Fixed bug that caused a model with only one endogenous variable to fail. o Improved computation of RMSEA confidence limits Changes to Version 0.8-0 o Put in a warning for (unfixed) observed or latent variable without either variance or error-variance term specified (i.e., double-headed arrow). As far as I know, this will always produce an error. Changes to Version 0.8-1 o Fixed a bug in tsls.formula that caused the function to fail when the printed representation of the instruments formula extended over more than one line. Changes to Version 0.8-2 o Fixed a bug in startvalues() and sem.default() that caused the variables (observed + unobserved) in the model to be counted incorrectly in some (unusual) circumstances. Changes to Version 0.9-0 o Added function specify.model() to simplify the process of sem model specification. o Added boot.sem() to compute bootstrapped standard-error estimates and confidence intervals for sem parameters. o sem package now has a namespace. o Added digits argument to path.diagram(), as suggested by William Revelle. o New argument raw to sem() to accommodate raw moment matrices (for models with intercepts, after a suggestion by Mike Stoolmiller). Added generic function raw.moments() with formula and default methods to compute raw-moment matrices. o Small changes. Changes to Version 0.9-1 o Compute and report the chisquare for a null model in which the observed variables are uncorrelated. Added associated additional fit indices (suggested by Barbara Bredner). Changes to Version 0.9-2 o Added sem methods for deviance and df.residual generics. o Small changes. Changes to Version 0.9-3 o Changed definition to BIC to conform to recommendation in Raftery (1995), from his previous suggestion in Raftery (1993). Thanks for Ken Bollen for pointing this out. o Small documentation changes. o Fixed a bug that could cause summary.sem() to fail for a just-identified model (reported by Ingo Feinerer). Changes to Version 0.9-4 o Fixed version synchronization error. o Small changes. Changes to Version 0.9-5 o Corrected null model chisquare and, consequently, fit statistics that depend on it. o Added package stats to dependencies, and changed coefficients.tsls() to coef.tsls(), so sem compiles without a warning under R 2.4.0. o Brought sample output in ?sem up to date. o Fixed another version synchronization error. Changes to Version 0.9-6 o The input observed-variable covariance or moment matrix may now contain variables that are not used in the model, in which case a warning is printed (in response to a problem reported by Jarrett Byrnes). o Stray escape character removed from print.summary.sem to avoid warning in r-devel. Changes to Version 0.9-7 o Small fixes to docs. o Fixed standardized.coefficients() so that it works even when there is only one structural parameter in the model (fixing a bug reported by Jarrett Byrnes). o Added read.moments() to facilitate input of covariance, correlation, and raw-moment matrices; cov2raw() to compute raw-moments matrix from a covariance or correlation matrix; and anova.sem() to compare nested models (all suggested by Michael Friendly). o Added SRMR fit index (requested by Mathieu d'Acremont). Changes to Version 0.9-8 o sem() will now fit a model with no free parameters (as suggested by Ken Bollen). Changes to Version 0.9-9 o Fixed bug in summary.sem() that sometimes prevented computation of confidence limits for RMSEA (problem reported by Frank Lawrence). o Small fixes to docs. Changes to Version 0.9-10 o Fixed bug in anova.tsls(), which was computing the error variance from the smaller rather than the larger model (pointed out by Achim Zeleis). Changes to Version 0.9-11 o Replaced obsolete \non_function{} markup in Rd files (reported by Kurt Hornik). Changes to Version 0.9-12 o Fixed bug in path.diagram() that prevented customized parameter labels (reported by Christopher Marcum). o Small fixes/changes. Changes to Version 0.9-13 o Added vcov.sem() and coef.sem() methods (suggested by Achim Zeileis). o If sem() can't compute the covariance matrix of the coefficients, then summary.sem() now prints an informative error message rather than failing cryptically. Changes to Version 0.9-14 o Changed test for symmetry of input covariance matrix so that it uses isSymmetric() (suggested by Brian Lai). o Added a test for positive-definiteness of the input covariance matrix. o Intercept error in summary.sem() when bounds of RMSEA can't be computed (following problem reported by Andrew J. Wawrzyniak). o Fixed error in summary.bootsem() produced by elimination in R of partial matching of list elements (problem reported by Sergio A. Estay). Changes to Version 0.9-15 o Small fixes to mod.indices.Rd. Changes to Version 0.9-16 o tsls() now uses Cholesky decomposition to speed up computations with many variables (slightly). o Added fscores() function to compute factor scores, after serveral requests. Changes to Verstion 0.9-17 o standardized.coefficients() now standardizes both path coefficients and variances/covariances (thanks to code provided by Adam Kramer). o path.digram() now has an option for displaying standardized coefficients (again thanks to Adam Kramer). Changes to Version 0.9-18 o path.diagram() can now run dot to create graphics output (thanks to a contribution from Michael Friendly). o Fix to URL in DESCRIPTION (broken link reported by Jonathan Henkelman). o Fix to startvalues() to avoid an error when the user unnecessarily but not incorrectly sets fixed variance parameters to 0 (problem reported by Rob Cribbie). Changes to Version 0.9-19 o Fix to cross-reference in sem.Rd.