Download Latest Version v0.5.0 source code.zip (340.8 kB) Google Add to Preferred Sources
Home / v0.5.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-06-21 4.9 kB
v0.5.0 source code.tar.gz 2026-06-21 257.4 kB
v0.5.0 source code.zip 2026-06-21 340.8 kB
Totals: 3 Items   603.2 kB 0

StructuralEquationModels v0.5.0

Diff since v0.4.2

StructuralEquationModels.jl v0.5.0

This is a large, breaking release centered on a modular redesign of the model/type system to unify single models and collections/multigroup models.

Highlights

  • a Sem is now a weighted sum of loss terms, each SEM loss bundling its own observed + implied parts.
  • New inference methods: CFI, p-values (z-test) and confidence intervals, parallel bootstrap.
  • Multigroup χ²/RMSEA/estimates now match lavaan.
  • Optimization backends (NLopt, Proximal) moved to package extensions.
  • Data simulation, FIML mean structures, and efficient re-fitting via replace_observed.

Breaking changes

  • Type-system & evaluation overhaul.
    • Loss functions are now AbstractLoss/SemLoss; evaluate! is implemented per loss term (no model argument) (#214).
    • SemImplySemImplied (#235).
    • Multigroup/collections handled by the new Sem term structure (#317).
    • Specification and Variables APIs refactored (#203, #207).
  • SemOptimizer API refactor (#299).
  • Optimization backends are now extensions — you must using NLopt / using ProximalAlgorithms to enable engine = :NLopt / :Proximal (#228, [#234]).
  • Renames: params / param_labels (#253, [#257]); dfdof (#254).
  • Multigroup fit statistics now use the per-group Wishart/GLS convention: χ² = Σ_g (N_g−1)·F_g (new :nsamples_corrected default weighting; N−G χ² multiplier for ML/WLS; matching RMSEA). Multigroup ML/WLS results now match lavaan wishart/GLS; single-group results are unchanged except ML RMSEA. FIML is unchanged.

New features

  • CFI fit measure (#313).
  • Inference: z-test p-values and normal-theory confidence intervals (#316).
  • Bootstrap standard errors refactored, with optional parallel fitting (#314).
  • replace_observed for collections (#266).

Bug fixes

  • Multigroup fit-measure corrections (#311), RMSEA correction, and the χ² multiplier/weighting fix.

Merged pull requests:

  • No-op code & docs cleanups (#245) (@alyst)
  • build(deps): bump julia-actions/julia-format from 3 to 4 (#264) (@dependabot[bot])
  • main into devel (#265) (@Maximilian-Stefan-Ernst)
  • Replace observed collections (#266) (@Maximilian-Stefan-Ernst)
  • build(deps): bump actions/github-script from 7 to 8 (#269) (@dependabot[bot])
  • Main to devel (#278) (@Maximilian-Stefan-Ernst)
  • build(deps): bump actions/checkout from 4 to 6 (#287) (@dependabot[bot])
  • explicitely import types for extensions (#291) (@Maximilian-Stefan-Ernst)
  • workaround for StenoGraph import (#294) (@Maximilian-Stefan-Ernst)
  • Update partable syntax (#295) (@Maximilian-Stefan-Ernst)
  • Update FormatCheck (#296) (@alyst)
  • update concept figures (#297) (@Maximilian-Stefan-Ernst)
  • Update action (#298) (@Maximilian-Stefan-Ernst)
  • Refactor SemOptimizer API (#299) (@alyst)
  • .gh/FormatCheck: run on pull_request (#302) (@Maximilian-Stefan-Ernst)
  • Cleanup FIML, enhance em_mvn() (#303) (@alyst)
  • Fiml meanstructure argument (#304) (@Maximilian-Stefan-Ernst)
  • fix printing of Optim solution (#305) (@Maximilian-Stefan-Ernst)
  • require StenoGraphs v0.5; closes [#289] (#306) (@aaronpeikert)
  • Update actions on devel (#307) (@Maximilian-Stefan-Ernst)
  • remove unused Stenograph exports (#308) (@Maximilian-Stefan-Ernst)
  • Update loss checks (#309) (@alyst)
  • Update docstring for fit measures (#310) (@alyst)
  • Cleanup fitmeasures mg (#311) (@Maximilian-Stefan-Ernst)
  • Add CFI (#313) (@Maximilian-Stefan-Ernst)
  • refactor bootstrap se and allow parallel fitting (#314) (@Maximilian-Stefan-Ernst)
  • update to PrettyTable v3 (#315) (@Maximilian-Stefan-Ernst)
  • Convergence, bootstrap, p-values (#316) (@Maximilian-Stefan-Ernst)
  • Refactor Sem multi-group support (#317) (@alyst)
  • build(deps): bump julia-actions/cache from 2 to 3 (#318) (@dependabot[bot])
  • build(deps): bump codecov/codecov-action from 5 to 6 (#319) (@dependabot[bot])
  • build(deps): bump actions/github-script from 8 to 9 (#320) (@dependabot[bot])
  • build(deps): bump julia-actions/setup-julia from 2 to 3 (#323) (@dependabot[bot])
  • build(deps): bump codecov/codecov-action from 6 to 7 (#325) (@dependabot[bot])
  • Documentation and bugfixes for 0.5.0 (#329) (@Maximilian-Stefan-Ernst)
  • Release 0.5.0 (#330) (@Maximilian-Stefan-Ernst)
  • fix macos CI runs (#331) (@Maximilian-Stefan-Ernst)

Closed issues:

  • se for WLS and FIML (#57)
  • v0.4.1 (#261)
  • v0.4.2 (#263)
  • sem_fit() was deprecated for fit()? (#267)
  • (in)equality constraints via StenoGraphs specification (#270)
  • Status message for converged models (#273)
  • Error (#274)
  • Numerical precision of model-implied covariance matrix (#276)
  • Simulate data from a model (#282)
  • StenoGraphs has to be loaded manually (#289)
Source: README.md, updated 2026-06-21