                       Changes in version 4.85.0                        

  - Date: 2026-10-12 R 4.6.1
  - IMPROVED: geometric_mean() tells you when a negative value is a
    return entered without adding 1 (a 30% loss is 0.7, not -0.3). The
    help example for a +50% gain followed by a -50% loss now gives the
    geometric mean as -13.4% per period.
  - IMPROVED: umx_score_scale_get_base_names() accepts a data.frame, and
    excluding = drops original column names, stopping if any of those
    names are absent.
  - NEW: umxLGCM() biometric latent growth curve (age/tim def.var) for
    twins and siblings: linear, exponential, logistic, or Gompertz
    shape, A/C/E(/T), invariant covariates, trios and SIB groups. plot()
    draws the model-implied growth curve with observed wave means; table
    output via umxSummary(). (based on #282 @lf-araujo Luis De Araujo)
  - IMPROVED: umx_long2wide() converts tibbles, data.tables, and lazy
    dtplyr/dbplyr pipelines to as.data.frame() (@lf-araujo).

                 Changes in version 4.80.1 (2026-10-13)                 

  - IMPROVED: umx_make("release") no longer prints the devtools
    release() deprecation. The CRAN upload name is one string.
  - BREAKING: Helpers and main functions use modern WLS path only (hard
    refuse misleading name "acov").
  - NEW: umxACE_DE double-entry ID: overwrite Paras Mehta - avoids
    forcing continuous trait variance to 1. All DE pairs release binary
    Vtot==1, share free cont/cens means; fixCensorThresholds fixes
    thresh at known cut or leaves thresh free (cut estimated in data
    units).
  - NEW: umxMI runs on multi-group models, and notes/skips un-identified
    changes.
  - NEW: umxMI Vignette inc. multi-group example.
  - NEW: xmu_make_mxData subsets modern summary WLS observedStats
    (useWeight / asymCov).
  - NEW: xmu_gsem_subset_covstruc
  - NEW: umxGSEM_std function to standardize GSEM S and V matrices
    (Delta method) and scale intercepts.
  - NEW: umxSummary for covstruc/mxData Nice for understanding the new
    covstruc format from built in Psych_LDSC
  - NEW: mxRAM now emits topologically sorted models automatically
    (great for optimizer, esp with hard models!)
  - NEW: umxGSEM_label_ldsc() labels GenomicSEM-style lists (S/V/I/N)
    with OpenMx residual names (var_* / poly_*_*).
  - NEW: umxGSEM() fits one model to LDSC S/V via modern OpenMx.
  - NEW: umxGSEM()Accepts lavaan/umx strings OR umxRAM/mxModel
    structures.
  - NEW: umxGSEM_sumstats() allele-align GWAS files to a 1000G ref
    (baseDir for basenames).
  - NEW: umxGSEM_GWAS() per-SNP expand of S/V, DWLS fit, table of
    factor~SNP effects.
  - NEW: umxGSEM_sim_snps() fake beta.*/se.* table for umxGSEM_GWAS()
    smoke (not real GWAS).
  - NEW: umxACE_DE double-entry ACE model for censored data.
  - NEW: umxLISREL make LISREL Models!
  - NEW: plot supports MxLISRELModels
  - NEW: xmu_standardize_LISREL standardize LISREL models.
  - NEW: LDSC object for GSEM with dimnames on S, I, V, and N.
  - NEW: Toy 1k-SNP SCZ/BIP/MDD + 1000G subset via
    umxGSEM_dl_tutorial_files() (not a data() object; munge/GWAS smoke
    only).
  - NEW: Built-in ldsc data("Psych_LDSC") data("Anthro_LDSC")
  - NEW: vignettes for WLS, umxRAM robust SEs, and GSEM!
  - NEW: umx_scale_reliabilities accumulates the reliabilities computed
    across calls to umx_score_scale() as markdown table.
  - NEW: umxMeasurementInvariance runs configural/metric/scalar/strict
    multi-group CFA sequences, returns comparison tables
  - NEW: umxGxE handles ordinal DVs
  - NEW: umxPlotCP Show CIs (or SEs via mxSE)
  - NEW: umxPlotIP Show CIs (or SEs via mxSE)
  - IMPROVED: umxCompare: constraints affecting df now noted for user!
  - IMPROVED: umx_make_double_entry_data stores attr(*,
    "umxDoubleEntry") (cut/side/fixable); left-censor levels are
    c("censored","observed") with censored state assigned by name (not
    levels[2]). Free-threshold models may see thresh sign/direction
    change; default still free thresh.
  - NEW: umx_tutorials to let users list and open package vignettes
    interactively.
  - IMPROVED: umxCompare / umxSummary WLS + Satorra-Bentler 2010 /
    robust metrics notes for GSEM.
  - IMPROVED: comprehensive test suite!
  - IMPROVED: umxRun shows fit change for run models. messages
    distinguish WLS Chi-Square vs -2LL.
  - IMPROVED: umxStart values are MUCH better.
  - IMPROVED: umxParan takes cov input (and n)
  - IMPROVED: umx_lower2full preserves names, pads non-square input.
  - IMPROVED: umx_complete_dollar makes console autocomplete MUCH
    BETTER.
  - IMPROVED: umxACE_DE: Added doubleEntrySuffix parameter and improve
    detection logic
  - IMPROVED: plot.umx_GWAS umxGSEM Expand and clarify docs and examples
    for GWAS plotting
  - IMPROVED: vignette WLS example code, notes on misspecification,
    formatting).
  - IMPROVED: umxRAM now adds the fixes means for binary vars at 0 when
    adding these for a wayward user doing WLS with raw data.
  - IMPROVED: umxRAM now shows the user the correct mxPath to add for
    WLS means.
  - IMPROVED: umx_make("dev") will install development version of umx
    for user.
  - IMPROVED: umx_aggregate support multiple DVs and output='string' for
    easier paste into procedure.
  - IMPROVED: umxRun passes intervals argument through to
    xmu_safe_run_summary
  - IMPROVED: umxSummary now robust to models that lack standard fit
    indices.
  - IMPROVED: umxSummarizeTwinData add a sex parameter, print mean age
    with SD, M/F counts, 95% CIs for correlations.
  - IMPROVED: umxDoC Better mean starts
  - IMPROVED: libs now works with symbols as well as quoted strings
  - IMPROVED: umx_msg Refactored to improve debugging output and
    robustness
  - IMPROVED: umx_makeRefactored to normalize package path, tidy
    function arguments, and use pkgPath throughout.
  - IMPROVED: umxPlotPredict now locates "r= xx" string automatically.
  - IMPROVED: umxAPA has tabular output for lm etc.
  - IMPROVED: xmu_topo_sort documented (used to aid umxRAM optimization)
  - IMPROVED: umx_cor can take a formula
  - CHANGED: fin_tax_FIF() applies FDR to opening equity plus assets
    bought with the loan. Neutral loan is $L/E = ft / (r - i(1-t) -
    ft)$. Prints loan/assets; plot LTV is loan/opening.
  - BETA: umxGSEM_ldsc() calls OpenMx imxLDSC on munged .sumstats.gz and
    returns a labeled covstruc (var_* / poly_*_*) for [umxGSEM()].
  - BETA: umxGSEM_dl_tutorial_files()
      - Downloads the IBG/GenomicSEM ~45 MB tutorial pack (1k-SNP
        SCZ/BIP/MDD, 1000G subset, w_hm3.snplist, eur_w_ld_chr/) into
        tools::R_user_dir("umx", "data")/GSEM_tutorial.
      - Production HapMap3 / Alkes LD scores / 1000G plink are not
        auto-fetched.
  - BETA: umxACE_GLM Cholesky on mxFitFunctionGLM (nVar-general; MZ
    Laplace dimension 4 * nVar). 3-trait Poisson recovers a diagonals /
    a_r2c1 on eta. plot() / umxPlotACE_GLM is the compact a/c/e diagram
    (printed e is chol(ee'+D)).
      - Binomial e diagonal fixed at 1 (scale). trials= / per-row n
        columns are not implemented (Bernoulli only; no beta-binomial).
      - Poisson recovered a,c,e on eta. Hessian/SEs left off: n=50
        Poisson ACE Hessian not PD (SEs NA); n=200 SEs finite but a/c
        SEs ~1. Family-score SEs: mxComputeOnce('fitfunction',
        'information', 'meat') then mxComputeStandardError().
      - Poisson ACE starts A/E diagonals at sqrt(0.8)/sqrt(0.2) (C
        at 0.2). Free ACE Cholesky diagonals have lbound = 1e-4.
      - Gamma / inverse Gaussian leftover (shape / lambda) is fixed at 1
        (phi = 1/theta) so it does not collide with e. Documented as not
        for ACE (trial-level RT / first-passage; twin ACE is one
        phenotype per person).
      - Extra-Gaussian e Cholesky kept (unique covariance).
      - umxSummaryACE_GLM uses E = ee' + D (D = 1 probit, pi^2/3 logit).
      - umxSummaryACE_GLM bivariate prints rA, rC, rE = cov2cor(E_total)
        (unique correlation diluted by leftover; rA is not).
  - FIXED: umxCompare no longer asks umx_is_MxModel() whether its
    comparison list is one model. Avoids "set listOK = TRUE" print
  - FIXED: umxCompare / xmu_compare_WLS use GSEM DWLS chi-square only
    for MxModelGSEM. numObs > 50000 no longer routes ordinary WLS onto
    the genomic track.
  - FIXED: umxGSEM_munge maps columns per file (tutorial BIP snpid/pval
    vs SCZ SNP/P). \dontrun example uses umxGSEM_dl_tutorial_files().
  - FIXED: umx_is_GSEM() is TRUE only for class MxModelGSEM. Ordinary
    RAM models are no longer treated as GSEM via MxRAMObjective.
  - FIXED: tmx_show.MxModelGSEM defaults to A, residual S, data.S,
    data.V (LDSC cov / sampling cov in observedStats). Bare "V" is not a
    RAM matrix.
  - FIXED: umxGSEM string parse uses a PD identity named by traits, not
    raw S. WLS still gets the real (possibly smoothed) S/V.
  - FIXED: multi-DE Cholesky zeroed entire cens columns (phantom free
    factors);
  - FIXED: umxSummary/plot use cont factor cols not 1:nKeep;
  - FIXED: summary hard-stops on failed/unfitted models;
  - FIXED: umxSuperModel handles more complex nested models.
  - FIXED: Package testing on Github build working!
  - FIXED: geometric and harmonic mean NA handling, inc. in weights
  - TESTS: tests cover two DE pairs free+fixed.
  - MISC: umx_tail() prints the n most extreme rows on a column. what is
    high, low, both, or abs (furthest from the median). Markdown by
    default; report = "html" opens the [umx_print()] table.
  - DEV: gh_message_search() lists commits whose message matches a
    regex, newest first, with the GitHub commit page. open = 1 shows
    that row in the browser. Part of full git support.
  - ROBUSTNESS: umx_yj_wide_twin_data() uses car::powerTransform /
    yjPower (Yeo-Johnson). Dropped Suggests bestNormalize (and its large
    dependency tree).
  - ROBUSTNESS: Lots more tests/testthat.R
  - SAFE: inst/developer/GenomicSEM (toy SNP subsets, developer tests)
    is .Rbuildignored; tutorial files come from
    umxGSEM_dl_tutorial_files(), not the CRAN tarball.
  - SAFE: R CMD check — mxFamily via get0 in umxACE_GLM / umxRAM_GLM
    (GenomicMx-only). umxPlot imports ggplot2 .data.
  - SAFE: umxModify now validates labels and suggests fixes from similar
    names if not found. Prevents silent failures when calling
    omxSetParameters.
  - SAFE: umxRAM Validate dot items & fix loop with clearer error
    messages.
  - SAFE: umx_paste_names usage to use suffixes.
  - Refactor: financial utils
  - MINOR: rename several financial functions to clarify intent

                 Changes in version 4.65.0 (2026-05-18)                 

  - Date: 2026-05-20 R 4.6.0
  - NEW: umx_log_wide_twin_data
  - NEW: umx_yj_wide_twin_data
  - OFFTOPIC: fin_option teaching about options
  - OFFTOPIC: fin_StockCAGR  compute CAGR from stock feed
  - OFFTOPIC: fin_carryCost  compute the rent vs. invest cost of shelter
    via carry cost concept
  - Minor: clean up non Ascii characters for cran

                       Changes in version 4.30.00                       

  - March 2025 R 4.4.3
  - NEW: umxPlotPredict to plot predicted outcomes nicely with an R2
  - NEW: twin models now know about SEstyle = TRUE for mxSE SE
    reporting.
  - IMPROVED: umxSummary Has improved notes: showing what column names
    abbreviations are (for publication)
  - IMPROVED: umx_show control over parameter colors, examples
  - IMPROVED: umx_wide2long much more capable
  - IMPROVED: umx_score_scale correctAnswer mode now works with NAs
  - IMPROVED: umx_time can return current time.
  - IMPROVED: umxCP standardized model reporting.
  - IMPROVED: umxPlotFun log scales.
  - IMPROVED: prolific_anonymize alsoDrop naming.
  - IMPROVED: xmu_get_CI under the hood improvements.
  - IMPROVED: umxConfint edge case handling.
  - IMPROVED: umxAPA gains html report for lm models
  - IMPROVED: umxAPA pretty printing enhanced.
  - IMPROVED: umxPlotFun` gains ability to log X axis of plot.

                       Changes in version 4.21.00                       

  - November 2024 R 4.4.1
  - IMPROVED: umx_scale_wide_twin accepts sibs #253 from
    lf-araujo/patch-6
  - IMPROVED umxBrownie makes a rare steak
  - IMPROVED umxSummarizeTwinData reports complete pairs for rMZ and rDZ
  - IMPROVED: umx_as.numeric explicit drop = TRUE
  - IMPROVED: umxReduce ACE can skip ADE model
  - IMPROVED: umxReduce output better formatted
  - IMPROVED: umx_check_parallel gains set optimizer, and row parallel
  - IMPROVED: umxEFA error reporting is more robust
  - HELP: umx_scale better
  - HELP: umx_scale clarify polychoric and pairwise functionality

                       Changes in version 4.20.00                       

  - April 2024 R 4.3.3
  - NEW: umxRAM Can include definition variables! h/t @lf-araujo
  - HELP: umxRAM example a model with a def var on means
  - IMPROVED: umxMR can standardize manifests.
  - IMPROVED: prolific_read_demog outputs a ready to paste demographics
    string.
  - IMPROVED: prolific_anonymize can delete more columns.
  - IMPROVED: various messages, and help improvements.
  - FIXED: umxReduce.MxModelACE now aware of umx_set_auto_run #241
    @lf-araujo

                       Changes in version 4.19.00                       

  - November 2023 R 4.3.1 (2023-06-16)
  - FIXED: encode unicode beta in an expression instead of using uXXXX
  - IMPROVED: Move DiagrammeRsvg rsvg to Enhances
  - FIXED: umxMatrixFree undocumented argument 'byrow'
  - FIXED: umxMRDoC sketch mode fixed

                       Changes in version 4.17.00                       

  - Sept 2023 R 4.3.1 (2023-09-15)
  - NEW: fin_ticker open a stock in the browser.
  - IMPROVED: umxTwinMaker can manage definition variables (by
    @lf-araujo)
  - IMPROVED: umxSummary suppress duplicate paths
  - FIXED: umxGxE_window handles target range without error once more
    (h/t Marla Kürten)
  - FIXED: umxMRDoC byrow misspelling

                       Changes in version 4.16.00                       

  - August 2023 R 4.3.1 (2023-06-16)
  - NEW: umxMRDoC Direction of causation with twins! (by @lf-araujo)
  - NEW: umxMatrixFree to help in simulations (by @lf-araujo)
  - NEW: prolific_anonymize() remove IDs and other identifying columns:
    Ideal when sharing data.
  - NEW: ggAddR helper to add R/beta to a graph
  - NEW umx_strings2numeric helper function to recode strings to numbers
  - IMPROVED: RMSEA()
  - IMPROVED: umxAPA gains cols to allow input checking in place of Rs…
  - IMPROVED: umx_strings2numeric example, handle 1 col df
  - IMPROVED: prolific_read_demog handle "DATA_EXPIRED"
  - IMPROVED: umx_score_scale reliability works with correctAnswers
  - IMPROVED: umx_is_numeric works with tibble input h/t @psychelzh
  - IMPROVED: libs can for package update using force.update = TRUE
  - IMPROVED: umxAPA cor/means output data.frame input
  - FIXED: umxModify works with new R null behavior
  - FIXED: umxAPA (and others) report = "html" works properly.
  - REFS: umx_score_scale omega refs
  - RENAME: umx_read_prolific_demog -> prolific_read_demog

                 Changes in version 4.15.1 (2022-09-20)                 

  - Nov 2022 R 4.2.1
  - NEW: umx_merge_randomized_columns wide-2-mingled (rather than
    wide2long) to unify data from people assigned to different
    conditions.
  - NEW: umxDiscTwin Discordant twin test for causal effects.
  - NEW: umxDiscTwin Graphical output for publication.
  - NEW: umxPlot ease customized/journal-close, e.g. y~x, -> x y plot,
    with r^2.
  - IMPROVED: umxAPA t-test reporting.
  - IMPROVED: umx_score_scale gains error and proportion.
  - IMPROVED: umx_score_scale report only omega total when 1 factor
    extracted.
  - IMPROVED: umx_read_prolific_demog gains functionality.
  - IMPROVED: umxMR: gained `tryHard'
  - IMPROVED: umxGxEwindow: gained tryHard, smarter print control.
  - IMPROVED: umxGxEwindow: removes un-needed columns.
  - IMPROVED: umxGxE checks that selDefs are numeric (closes #196, h/t
    @salvatoj)
  - IMPROVED: umxRun: gained summary control.
  - IMPROVED: umx_read_prolific_demog more control, better defaults, and
    more reliable summary table.
  - IMPROVED: umx_score_scale cleaner output for 1 factor case with
    omega.
  - FIXED: xmu_twin_print_means now takes >1 covariate h/t @Eren Kafadar
    #201
  - FIXED: xmu_safe_run_summary now takes refModels = FALSE h/t
    @lf-araujo #200
  - FIXED: umxACEcov plot and summary working (needed to filter covs
    from DVs).
  - FIXED: xmu_twin_print_means handles more than 1 covariate and
    improves labeling.
  - FIXED: umx_score_scale handles NA correctly.
  - SAFE CODING: umxPath stops when v*m* is used with firstAt or
    fixedAt.
  - SAFE CODING: umxAlgebra warns that it isn't functional.
  - MINOR: umx_print call fixed where was being called with file.
  - HELP: umxCP help .svg figure instead of `.png`` (smaller).
  - HELP: umxMR Remove unsupported 'weights' parameter.
  - ADMIN: copyright, tests, Rd improvements.

                Changes in version 4.10.50 (2021-12-16)                 

  - December 2021 R 4.1.1 (2021/11/30)
  - IMPROVED: umxDoC can take data (#ht @lf-araujo )
  - IMPROVED: umxDoC plot Rd figure includes specifics.
  - IMPROVED: umxPower search plot with fixed N has effect size on the x
    axis.
  - IMPROVED: umxGxE plot legend location works for ggplot.
  - IMPROVED: umx_score_scale gains omega reliability.
  - IMPROVED: CI printing more robust (e.g. when they fail).
  - BUG: umx_score_scale bug in handling new mapstrings.
  - FIXED: umxDoC plot.
  - FIXED: omxLocateParameters call was breaking umxSummary.
  - FIXED: xmu_safe_run_summary supports intervals parameter.
  - FIXED: umxSummary works with umxSuperModel now that paths have
    types.
  - FIXED: umx_make_twinData works with custom names
  - FIXED: umx_make_twinData no longer shifts means now that mean and sd
    parameters are available.
  - NEW: helpers to umxGetModel, umxGetLatents, and `umxGetManifests

                Changes in version 4.10.10 (2021-11-29)                 

  - November 2021 R 4.1.1 (2021/11/30)
  - NEW: umxPower can plot power search space! (beta!)
  - NEW: noNAs() helper returning complete rows of a data.frame.
  - NEW: umxThresholdMatrix can handle one value columns
  - IMPROVED: umxPath gains v0m.
  - IMPROVED: umxPower parameters ==1 for power search with fixed n
  - IMPROVED: umxPower ref
  - IMPROVED: power.ACE.test can run ADE model
  - IMPROVED: power.ACE.test Clarify which of power, effect, and n are
    fixed or being estimated.
  - IMPROVED: umxReduce.ACE gains tryHard (compute ACE/ADE/CE/AE,
    outputs a table an also AIC-based probability weights for which is
    the preferable model)
  - IMPROVED: umxReduce tests familiality (E model)
  - IMPROVED: umxReduce(ACE) includes the parameters of the reduced
    models. #ht @nick martin
  - IMPROVED: umxSummarizeTwinData takes an age column and notes when it
    can’t be found
  - IMPROVED: umx_score_scale can score items with character labels
  - IMPROVED: umx_score_scale gains the ability to report Cronbach alpha
  - CHANGED: umx_score_scale changed default na.rm = TRUE.
  - IMPROVED: umxAPA gains OR output for logit models
  - IMPROVED: tmx_show handles matrices
  - IMPROVED: umx_rename better names for deprecated parameters
  - IMPROVED: umxRun has tryHard (not a very useful function)
  - IMPROVED: umxCompare can silently return a data.frame for further
    modification
  - IMPROVED: umxCP warning to not use correlatedACE
  - IMPROVED: umxAPA (invisibly) returns the standardized model for lm
  - IMPROVED: bucks more control for formatting money
  - IMPROVED: libs now install.packages() if not found
  - IMPROVED: umx_make_TwinData shifts data to be positive if it not
    being scaled
  - IMPROVED: grViz() in place of print(DiagrammR())` (should work
    better with knitr)
  - CHANGE: fin_interest more memo/type-able parameter name for
    inflation
  - CHANGE: umxRun defaults to tryHard= "yes"
  - FIX: umxPower supports multiple path drop.
  - HELP: FishersMethod Rd ref
  - HELP: umxCP ref Martin, N. G., & Eaves, L. J. (1977). The Genetical
    Analysis of Covariance Structure. Heredity, 38, 79-95.
  - HELP: deg2rad Rd better in html
  - HELP: umxRAM sketch mode help
  - HELP: umxCP more refs for Rd
  - HELP: improvements

                 Changes in version 4.9.0 (2021-07-04)                  

  - July 2021 R 4.1.0 (2021-06-27)
  - NEW: umxACEv and umxACE work with nSib = 3!
  - BETA: umxCP correlatedACE was not being filtered out of the
    expectation #hat-tip @micanzach But still working on what the right
    choices are here...
  - CHANGED: umxCP defaults to tryHard = "yes"
  - REMOVED: umxRAM deprecated parameter show after 4 years deprecation
  - FIXED: tmx_show works for M matrix, closed #163
  - FIXED: kable and kbl get format passed in at all calls
  - IMPROVED: umx_make_TwinData supports nSib > 2 for MZ/DZr mode
  - IMPROVED: umxAPA more use of cat to print (easier to read and copy)
  - IMPROVED: umx_open_CRAN_page printing if installed version if found
  - IMPROVED: umxAPA more use of cat to print (easier to read and copy)
  - IMPROVED: fin_interest compute effective interest
  - IMPROVED: xmuTwinSuper_NoBinary update for nSib > 2
  - MINOR: kable formats (pandoc "pipe" and "simple" added, "pandoc"
    removed)
  - MINOR: add_footnote in place of footnote...
  - HELP: umxPath and umxRAM help
  - HELP: better organization of functions/families
  - xmu: xmuTwinUpgradeMeansToCovariateModel can handle nSib=3
  - xmu: xmu_twin_make_def_means_mats_and_alg helper
  - xmu: xmu_start improved closes #158

                 Changes in version 4.8.0 (2021-05-31)                  

  - June 2021 R 4.1.0 (2021-06-01)
  - NEW: umxPlot now detects and plots Pearson-Aitken selection paths
    (solid red headless).
  - NEW: umxPlotFun plot functions without hassles. e.g
    umxPlotFun("sin(x)")
  - NEW: umxModelNames to get model and submodel names from a model.
  - NEW: libs as a short cut for multiple library() calls
      - e.g. libs("x", "y", c("a", "b"))
  - NEW: fin_valuation uses revenue, margin, expenses and PE to compute
    a market cap.
  - IMPROVED: fin_interest shorter parameter name dinflate and other
    improvements.
  - IMPROVED: umxACEv Tables now include markdown-compatible table
    captions.
  - IMPROVED: umxAPA reports R^2 for lm (in addition to beta & CI[] for
    each parameter)
  - IMPROVED: umxSummary sorts RAM parameters by type (factor loading
    etc.) and can filter means and residuals for ease of use.
  - IMPROVED: umxSummary gives desired levels for good TLI and RMSEA.
  - IMPROVED: umxSuperModel checks for duplicate names in incoming model
    names and makes them unique.
  - IMPROVED: umxCompare Maintain compatibility with new OpenMx changes
    to mxCompare (esp. for WLS).
  - IMPROVED: umx_read_lower accept names for lower diag.
  - IMPROVED: umxCP correlatedACE leaves the covariances fixed@0.
  - IMPROVED: umxACE added A_std closes #151
  - IMPROVED: umxAPA pretty printing.
  - IMPROVED: umxPlotFun check for character input.
  - NEW: xmu_summary_RAM_group_parameters sort and filter RAM model
    parameters for ease of understanding.
  - MINOR: umxFactor now used in all examples involving factor making.

                        Changes in version 4.5.0                        

  - October 2025 R 4.5.0
  - REMOVED: dependency on hrbrthemes

                        Changes in version 4.4.0                        

  - August 2025 R 4.5.0
  - NEW: umx_wide4lmer make data wide without having to understand the
    arcane reshape symbology
  - IMPROVED: umxPlotPredict can do R^2 or r, italic format
  - IMPROVED: bucks knows about umx_set_dollar_symbol.
  - IMPROVED: umxSummarizeTwinData wraps M/F reporting in a try-catch.
  - IMPROVED: umxSummarizeTwinData prints non-NA data for each twin
    group and each variable.
  - IMPROVED: xmu_check_variance conditionally reports too-small data
    variance.
  - IMPROVED: umx_score_scale handles INF in max mode.
  - IMPROVED: umxDiffMZ clean up.
  - IMPROVED: umxGxEbiv checks selDefs for user.
  - NEW: fin_expected  for expected return based on current and fair
    value and cost of capital.
  - NEW: fin_valuation computes net present value, gets ticker, verbose
    mode.
  - IMPROVED: fin_expected gets verbose mode, new examples
  - FIXED: fin_interest off by 1 error for "final" mode.

                 Changes in version 4.3.0 (2021-01-24)                  

  - January 2021 R 4.0.3 (2020-10-10)
  - NEW plot can output to pdf, png, svg!
  - NEW umx_set_plot_format adds pdf, png, svg plot output (in addition
    to DiagrammeR and graphviz)
  - NEW: umx_lower.tri helper to get lower.tri values in 1 call
  - NEW: umx_set_plot_use_hrbrthemes control
  - NEW: plot.percent plot support for percent change questions
  - IMPROVED: umxSummary now reports algebra values when present in RAM
    models closes #70
  - IMPROVED: umxSummary tables have pandoc captions (see #145)
  - IMPROVED: umxCompare table output and plain-English summary printing
    (cat)
  - IMPROVED: umxCP practical workflows for correlated ACE
  - IMPROVED: fin_compound_interest now outputs a table of annual
    returns
  - IMPROVED: umxAPA uses cat to improve usability of summary data
  - HELP: umxCP Document that correlatedA works on a, c and e, allowing
    factors to correlate.
  - BETA: umxGxEbiv "lboundACE" @ 0 by default
  - FIXED: umxSimplex example
  - FIXED: umxGxEbiv fix nonfunctional lboundACE and lboundM (thanks
    @mcneale)
  - FIXED: umxGxEbiv selVars order was imposed on expectation dimnames
    but didn't match the cov matrix due to bespoke nature of expCov
    algebras...

                 Changes in version 4.2.5 (2020-12-12)                  

  - December 2020 R 4.0.3 (2020-10-10)
  - NEW: tmx_show display model matrices on the web, with color-coded
    free/false, values + roll-over labels.
  - NEW: harmonic_mean with support for weights.
  - HELP: harmonic_mean Example averaging speeds across distance.
  - NEW: geometric_mean
  - NEW: fin_compound_interest
  - NEW: fin_percent
  - IMPROVED: umxPlotGxE Gains CI ribbons (closes #96)
  - IMPROVED: umxPlotGxE Defaults to use ggplot and now returns the
    graphs for further decoration (closes #139)
  - IMPROVED: umxPlotGxE Can now plot user-specified moderator ranges
    (closes #96)
  - IMPROVED: umxPlotIP Now relies on matrix cells, not their labels
    (closes #61)
  - IMPROVED: umxACE Returns group models invisibly #134 @khusmann.
  - IMPROVED: plot Now allows "ortho" "compound" and "polyline" spline
    control.
  - IMPROVED: umx_set_optimization_options Can get and set "Parallel
    diagnostics"
  - IMPROVED: tmx_show Smart about not printing NULL matrices.
  - IMPROVED: 'umxEquateGained anewlabels` parameter for the equated
    paths (rather than one path adopting the label of the other)
  - IMPROVED: umx_score_scale Supports minManifests for factor scores
  - IMPROVED: umx_open_CRAN_page Can now install a package, as well as
    open the CRAN page for the package.
  - IMPROVED: umx_rename_file Better feedback about matches and files
    checked.
  - IMPROVED: umx_long2wide More resilient to zygosity column type.
  - IMPROVED: umxSummarizeTwinData More resilient to name of age column
  - IMPROVED: plot strip_zero option works for fixed (@) parameters
  - IMPROVED: umx_is_class Handle non-df input.
  - IMPROVED: umxCI: Gains regex parameter to support adding and
    removing CIs on labels matching a string pattern.
  - IMPROVED: umx_is_class Handles non-df input.
  - IMPROVED: umx_set_table_format Defaults to "markdown" on load.
  - FIXED: umxPlotIP Wasn't working with threshold models (didn't ignore
    thresh names for plot).
  - FIXED: umx_time Was using time units for model 1 for all models...
    h/t @khusmann
  - FIXED: umxPlotACEv Was not displaying half the variables in an MV
    model as NA.
  - FIXED: umx_set_cores No longer use imxGetNumThreads which is
    hard-coded to not report number of threads.
  - FIXED: Check for more than one named CI requested (closes #136).
  - FIXED: tmx_show Has html_font parameter in help.
  - WORKAROUND: 'umxSummaryCatchesmxRefModels` error for WLS models and
    politely informs user OpenMx doesn't support fit stats for WLS yet.
  - BACKWARD: umxThresholdMatrix Changed parameter from selDVs to
    fullVarNames to prevent user error.
  - NEW: umx_read_prolific_demog to read prolific academic demographics
    files.

                        Changes in version 4.1.0                        

  - July 2020 R 4.0.0
  - CHANGE: umxRAM Groups in multi-group models now independent by
    default (label style "path_group" )
  - FIXED: 'umxRAM` Group option failing to pass autoRun tryHard Merge
    pull request #134 @khusmann
  - FIXED: umxRAM No longer demand new data if a model is given as the
    first parameter. Updates data if provided.
  - IMPROVED: umxACE Return group models invisibly #134 @khusmann
  - IMPROVED: umxACEv support for covariates enabled.
  - IMPROVED: umx_score_scale gains the ability to return a factor
    score.
  - IMPROVED: umxEFA returns scores by default when requested (used to
    require user to also set return = "loadings" (thanks to user!)
  - IMPROVED: umx_r_test handles case of overlapping variables, i.e.,
    compare r(ab) to r(ac)
  - IMPROVED: umxPlotACE uses matrix cells, not labels to draw the plot
    (so now labels are arbitrary)
  - IMPROVED: umxIP checks names of nFac for each of a, c, and e
  - IMPROVED: umxSimplex default sep is now "_T" instead of NULL (should
    do this throughout?)
  - IMPROVED: residuals can now suppress 0s - helpful for large tables
  - IMPROVED: xmu_dot_mat2dot can cope with 1-variable name lists
  - DEVELOPER umxValues -> xmuValues clean up namespace
  - DEVELOPER umxLabels -> xmuLabels clean up namespace
  - FIXED: parameters: std wasn't being used.
  - INFO: TLI /CFI vs. RMSEA
  - HELP: umxEFA examples.
  - HELP: umxTwinMaker.

                 Changes in version 4.0.0 (2020-05-25)                  

  - May 2020 R 4.0.0
  - FIXED: umx_score_scale Fix a bad design decision where I was storing
    the reversed items in the data returned to the user. Worked for 1
    run, but not repeats...
  - FIXED: umx_long2wide now looks for zygosity in more than just twin 1
    h/t @nathangillespie for catching this case.
  - NEW: Covariates in twin models for ordinal and continuous manifests!
      - m1 = umxACE(selVars = "wt", selCovs= "age", sep="_T")
  - NEW: umxTwinMaker: Make twin models by specifying just the
    within-twin paths for one twin
      - umxTwinMaker handles making twin2, variance components
        covariances, MZ and DZ groups, makes a umxSuperModel and runs
        it!
      - plot() and "std= TRUE" work for any model now!
  - NEW: umxDoCp Path-based Direction of causation model.
  - IMPROVED: umxSummaryACE prints a means table!
      - including for intercepts only, no means model, and intercepts +
        covariate betas.
      - All RAM and twin models gain this also.
  - IMPROVED plot for umxACEv now prints model name on the diagram.
  - IMPROVED plot for umxACE now uses tips for printing.
  - IMPROVED: FishersMethod: accepts p-values for meta-analysis in "..."
    argument.
  - IMPROVED: namez handles class(list) objects, returning $ components.
  - IMPROVED: parameters supports standardizing parameters (closes
    #92)	.
  - IMPROVED: power.ACE.test now prints the parameter and value when
    testing power (closes #111).
  - IMPROVED: umxCompare includes Delta-AIC.
  - IMPROVED: umxCP plot prints model name.
  - IMPROVED: umxGxE code to detect mismatched moderators
  - IMPROVED: umxGxE code to include co-twin moderator in means model
  - IMPROVED: umxGxE simplified algebra
  - IMPROVED: umxIP gains report option.
  - IMPROVED: umxIP plot prints model name.
  - IMPROVED: umxSummaryGxEbiv working, with a note that the whole
    function is beta. h/t @MikeNeale.
  - IMPROVED: umxThresholdMatrix re-implemented l_u_bound - wasn't
    working for some time h/t @NathanGillespie.
  - IMPROVED: umxThresholdMatrix supports leaving all thresholds free
    with method= "allFree"	h/t @NathanGillespie.
  - IMPROVED: umx_check_names returns TRUE when no names are entered.
  - IMPROVED: umx_check can concatenate extra messages, and is by
    default polite with messages.
  - IMPROVED: umx_check handles ... items better
  - IMPROVED: umx_is_ordered can process mxData as well as df.
  - IMPROVED: umx_make_TwinData has dzAr.
  - IMPROVED: umx_make_twin_data_nice can turn numeric zyg column into
    human readable "MZMM" etc.
  - IMPROVED: umx_print gains option to append to existing file.
  - IMPROVED: umx_print gains option to make tables sort-able.
  - IMPROVED: umx_print gains option to output content in "both" md and
    html.
  - IMPROVED: umx_print supports report to html.
  - IMPROVED: umx_rename now uses "from=, to=" format for renaming
    columns.
  - IMPROVED: umx_rename was using old/replace instead of from/to (and
    so generating a polite note).
  - IMPROVED: umx_residualize now prints the betas (and CIs) of the
    residualization it performs.
  - IMPROVED: umx_score_scale checks input ranges
  - IMPROVED: umx_score_scale tell user what the max response is for
    reversed items if they leave this blank.
  - IMPROVED: umx_score_scale Warns user if there are NAs when "score"
    is totals.
  - IMPROVED: umx_rename_file: Perl mode is TRUE (allows
    lookahead/behind features; default list pattern is NULL.
  - IMPROVED: umx_rename_file now ignores file suffix by default.
  - IMPROVED: umx_rot can NA the last value.
  - IMPROVED: umx_var upgrades input to df (e.g. if you feed it a
    column, it now works).
  - IMPROVED: xmu_data_missing can hint= to user which dataset had
    missingness.
  - IMPROVED: xmu_make_mxData handles dropping rows, alerting about
    variance ratios.
  - IMPROVED: xmu_make_mxData now handles cov matrix input (added numObs
    parameter).
  - IMPROVED: better labels for output tables.
  - IMPROVED: standardize on expMean as name of means matrix even when
    it's a local algebra.
  - IMPROVED: twin Models print out means now.
  - HELP: umxACE improved tutorial, more tips * IMPROVED plot for umxACE
    now prints model name on the diagram.
  - HELP: umxACE covariate examples
  - HELP: umx_explode_twin_names links for find-ability
  - HELP: umxACE residualize examples match
  - NEW: umxRenameMatrix wrap up the multiple lines of code needed to
    modify a matrix in OpenMx.
  - NEW: umx_str_chars return selected characters of a string.
  - NEW: umxTwinUpgradeMeansToCovariateModel function to add def-based
    covariates to means in umx twin models.
  - NEW: xmu_data_missing helper to drop rows with missing def vars or
    stop and alert the user to do this.
  - NEW: xmu_extract_column to allow mxData
  - NEW: xmu_twin_add_WeightMatrices helper.
  - NEW: xmuDefMean helper
  - NEW: xmuDefBetas helper
  - NEW xmu_twin_upgrade_selDvs2SelVars helper.
  - NEW: xmu_make_TwinSuperModel handles selCovs
  - REPLACE: parallel::detectCores -->  imxGetNumThreads (as OpenMx
    does).

                        Changes in version 3.1.0                        

  - 13 March 2020 R 4.0.0 compatibility
  - BETA: plot for umxTwinMaker models!!
  - NEW: data for example with direction of causation work on umxSummary
    for DoC
  - NEW: xmu_path2twin twin model helper for umxPath users
  - NEW: xmu_path_regex helper for making twin models for umxPath users
  - NEW: umx_file_load_pseudo to load and process non-transmitted genome
    files for the method we developed in Bates, ... Gillespie, N. A.
    (2018). The Nature of Nurture: Using a Virtual-Parent Design to Test
    Parenting Effects on Children's Educational Attainment in Genotyped
    Families. Twin Res Hum Genet, 21(2), 73-83. doi:10.1017/thg.2018.11
  - NEW: xmu_data_missing helper to drop rows with missing def vars or
    stop and alert the user to do this
  - NEW: xmu_make_TwinSuperModel handles selCovs
  - IMPROVED: umxFitIndices Many new indices! @bwiernik
  - IMPROVED: umxPath(v.m0 = ) now uses values (if provided) to set
    starts for variance
  - IMPROVED: umx_check_parallel use all cores (instead of half) by
    default
  - IMPROVED: umxPlotACE variable labels (trimmed off _T1 like umxPlotCP
    does
  - IMPROVED: umxDoCp bound e/es above zero
  - IMPROVED: umxDoCp start with all variance as specific
  - IMPROVED: power.ACE.test
  - IMPROVED: umxLabel 100x speedup for RAM and Matrix model labeling!
  - IMPROVED: xmuLabel_RAM_Model 100x speedup
  - IMPROVED: xmu_safe_run_summary has smarter default for std (model
    summary default)
  - IMPROVED: xmu_dot_mat2dot now accepts algebra input begin umxPlot
    for DoC
  - IMPROVED: umx_check handles ... items better
  - IMPROVED: xmu_make_mxData handles dropping rows, alerting about
    variance ratios
  - BUGFIX: power.ACE.test no longer fails when estimating power at a
    fixed n
  - HELP: umxSummary: Improve Rd file
  - HELP: umxACE covariate examples
  - HELP: umx_explode_twin_names links for find-ability

                 Changes in version 3.0.6 (2020-02-06)                  

  - Feb 2020 R 4.0.0 compatibility
  - BETA: umxDoc example but summary and plot TODO
  - NEW: umxRAM2Lav export umx to lavaan
  - IMPROVED: xmu_safe_run_summary has smarter default for std (model
    summary default)
  - IMPROVED: umx_score_scale: implemented score = "mean" and score =
    "max"
  - IMPROVED: umx_score_scale: better documentation
  - IMPROVED: umxGxE gains dzAr and dzCr control so ADE is possible as
    well as assortative mating
  - IMPROVED: xmu_twin_check works with mxData * IMPROVED:
    xmu_twin_starts works with mxData
  - IMPROVED: xmu_make_top_twin works with mxData
  - IMPROVED: xmu_twin_check support mxData (was just data.frame input)
  - IMPROVED: umx_long_2_wide: gains some notes on processing TWINID
    into famID and twinID
  - REPAIR: umxSummary handles std=NULL as documented (don't show
    parameter table)
  - RENAME: umx_nice_data --> umx_make_twin_data_nice with future
    improvements planned to cope with non numeric twin schemes.

                 Changes in version 3.0.5 (2019-12-06)                  

  - December 2019 R 4.0.0 compatibility
  - BUG FIXED: umx_is_ordered was broken by previous fix to support the
    un-tidyverse mucking with dataframes... Now fixed
  - BETA: umxRAM supports multi-group via `group = "column"
  - IMPROVED: umx_score_scale now works with binary (0-1) items
  - IMPROVED: umx_time gains "lap" (report elapsed time without
    restarting timer)
  - IMPROVED: umx_time behavior with no input - now prints the current
    time and date
  - IMPROVED: umxFactorScores can now return SEs
  - IMPROVED: umxFactorScores allows abbreviated type names
  - IMPROVED: umx_reorder can operate without verifying data (ignore
    precision digits in triangles of cov matrices)
  - IMPROVED: residuals can re-order variables for ease of checking
    patterns of residuals
  - IMPROVED: umxPath(defn= Definition vars now auto-named if labels not
    given closes #107
  - IMPROVED: umxACEv uses default name "ADEv" (instead of "ACEv") if
    user sets dzCr = .25
  - IMPROVED: umxAPA only uses italic Beta when std = TRUE
  - IMPROVED: umxRAM now respects umx_set_silent
  - CLEANUP: More removal of unused and obscure functions:
  - CLEANUP: umxRAM2Ordinal to xmuRAM2Ordinal
  - CLEANUP: umx_fix_latents and umx_fix_first_loadings to encourage
    user to be more explicit in their modeling.
  - CLEANUP: Reorganized function groupings to be easier to navigate.

                 Changes in version 3.0.0 (2019-09-19)                  

  - August 2019 R 3.6.1 "Action of the Toes"

  - This release has major new features in beta including support for
    lavaan syntax, AND a over 80 additional improvements
    clean-out/cleanup of old functions and parameters that impede
    getting learning and using umx: Think of it like ggplot2 version 2.

  - ALPHA: umxRAM lavaan string syntax support!

  - ALPHA: umxRAM multi-group models with group="column"!

  - BETA: power.ACE.test and examples. (beta)

  - BETA: umxPower and examples (beta).

  - BETA: umxRotate Rotate the factor loadings in umxCP models.

  - NEW: umxCP and umxIP can take data and create MZ and DZ datasets.
    
      - Preparation for expansion to 5-group models.

  - NEW: deg2rad rad2deg utility functions

  - NEW: FishersMethod To combine p-values.

  - NEW: oddsratio.

  - NEW: SE_from_p helper to get SE from b and p, or get a p from CI.

  - NEW: umxMendelianRandomization alias to umxTwoStage.

  - NEW: umx_nice_data converts your twinData to the standard format
    (zyg = zygosity, "_T1" , "_T2" suffixing of twin variable names).

  - NEW: umx_select_valid to replace values in one column with those in
    another, if first column is NA.

  - NEW: umx_set_silent preference (option) for other functions to
    listen too and choose how much junk to print to console. Like a
    global verbose.

  - NEW: xmu_safe_run_summary can listen to silent to turn off summary
    and progress from models - use when running big simulation loops.

  - IMPROVED: namez has a better default action (call names )

  - IMPROVED: oddsratio teaches about limitations; supports odds-format
    as input (closes #102)

  - IMPROVED: plot can do pathLabels = "labels" to show the labels for
    paths

  - IMPROVED: plot for umxIP supports means=TRUE

  - IMPROVED: power.ACE.test now reports searches with fixed n nicely

  - IMPROVED: umxAPA now returns its output, rather than printing it.
    makes for easier consumption in programmatic uses.

  - IMPROVED: umxAPA supports cor.test and t.test

  - IMPROVED: umxConfint uses smart confidence intervals (just the free
    standardized parameters) for umxCP models.

  - IMPROVED: umxEFA can suppress printing when umx_set_silent(TRUE)
    #103

  - IMPROVED: umxEFA now has an option about reporting the summary fit
    statistics of a model (default is FALSE) see #103

  - IMPROVED: umxGxE removed border from legend (obscures plot to no
    benefit)

  - IMPROVED: umxGxE supports digits (rounding for tables)

  - IMPROVED: umxlav2RAM catch means

  - IMPROVED: umxPlotCP can show (non-zero) fixed paths closes #97

  - IMPROVED: umxReduce.GxE Don't try and drop means moderation.

  - IMPROVED: umxReduceGxE gains a tryHard option

  - IMPROVED: umxReduceGxE more rational set of reductions - means obey
    principle of marginality.

  - IMPROVED: umxSummaryGxE prints parameter table and SEs as well as
    the interaction plot.

  - IMPROVED: umx_cor quieter, more informative

  - IMPROVED: umx_is_class robust to being given a tibble (closes #101
    Might need to re-open if there are more cases of where toggling drop
    from TRUE to FALSE interferes with data types)

  - IMPROVED: umx_make_raw_from_cov can add names to generated data

  - IMPROVED: umx_make_TwinData bivariate parameters (e.g., aMod) -->
    bivAmod for more clarity (closes #78)

  - IMPROVED: umx_make_TwinData can now simulate D i.e., A, C, D & E

  - IMPROVED: umx_make_TwinData More robust

  - IMPROVED: umx_move_file supports wildcards (closes #83)

  - IMPROVED: umx_rename examples

  - IMPROVED: umx_rename reorder parameters, call x-> data, deprecate
    grep in favor of regex for consistency,

  - IMPROVED: umx_scale_wide_data gains twins parameter

  - IMPROVED: umx_set_data_variance_check: set default minvar to .1

  - IMPROVED: umx_set_silent returns old value

  - IMPROVED: umx_var robustness + support ordinal variables.

  - IMPROVED: xmu_dot_move_ranks set min, max or same to "" to take
    these ranks out of the diagram - Aids tricky layouts. (closes #84)

  - IMPROVED: xmu_make_mxData drop duplicates from manifests list

  - IMPROVED: xmu_make_mxData handles manipulating a 1-column mxData
    input

  - IMPROVED: xmu_safe_run_summary supports digits (rounding for tables)

  - CHANGED: power.ACE.test now uses semantic labels ("a", "c" ) and can
    test a dropped after c. Better feedback for boundDiag

  - CHANGED: umx_show -> tmx_show.

  - CHANGED: umx_set_optimization_options to
    umx_set_mvn_optimization_options for user clarity.

  - CHANGED: umx_default_option to xmu_match.arg as programming aids are
    moved into xmu space.

  - CHANGE: umx_aggregate now uses df as default data.

  - CHANGED: showEstimates -> show across all functions: makes
    learning/usage more consistent.

  - CHANGED: umxGetParameters doesn't anchor search strings to front of
    label, nor suffix with digit label.

  - DROPPED: umx_drop_ok - orphan function - just use umxCompare

  - DROPPED: umxEval - broken anyway - just use mxEval

  - FIX: mxPath v0m0 , v.m0 now use labels (if two provided)

  - FIXED: umxACE standardizes model in summary

  - DEPRECATED: The parameter to show standardized parameters is
    universally std=TRUE (show =  no longer works).

  - REMOVE: umxIPold

  - NAMESPACE clean up to make it easier for users to focus on functions
    they (rather than devs) will use
    
      - umxCovData -> xmu_DF_to_mxData_TypeCov
      - xmu_model_needs_means -> xmu_check_needs_means
      - umx_swap_a_block -> xmu_data_swap_a_block
      - umxDescribeDataWLS -> xmu_describe_data_WLS
      - umx_cov2raw -> umx_make_raw_from_cov
      - umx_make_bin_cont_pair_data -> xmu_make_bin_cont_pair_data
      - umxPadAndPruneForDefVars -> xmu_PadAndPruneForDefVars

  - HELP: @md links

  - HELP plot Better explanation of graphing: can still be improved

  - HELP umx_as_numeric:better examples

  - HELP: umxMendelianRandomization nice figure

  - HELP: NEWS layout improved for R 3.6.0

  - HELP: Rd doi link, spell-check,

  - HELP: umxEFA notes it can use formulas, e.g. umxEFA(~v1+v2+v3, data)

  - HELP: NEWS updated

  - HELP: GxEbiv Improved help page

  - HELP: umxPower gains text and a nice figure

                       Changes in version 2.15.0                        

  - May 2019, R 3.6.0 "Planting of a Tree"
  - tip: Try new plot splines = T|F and min= , max = same= controls to
    layout your graphs!
  - NEW: umxLav2RAM: detect ngroup, and a umxSuperModel of groups.
  - NEW: plot.MxRAMModel plots multiple groups (on separate pages)!
  - NEW: plot gains control of object clustering with max min and same.
  - NEW: plot select whether to allow splines with spline=T\F
  - NEW: plot opt paths out of layout constraints!
  - IMPROVED: plot now labels plots with the group name.
  - IMPROVED: umx_time Handles stop without prior start. New now option
    returns current date.
  - FIX: uxmSummary the annoying "umxSummary not defined" error should
    be fixed!
  - FIX: umxSimplex
  - HELP: umxLav2RAM: multiple group example in help.
  - Minor
      - NEW: umx_set_separator allows Europeans to use ; in place of
        comma.
      - NEW: xmu_lavaan_process_group
      - NEW: xmu_clean_label
      - NEW: xmu_name_from_lavaan_str helper

                 Changes in version 2.10.0 (2019-04-25)                 

  - April 2019, R 3.5.3 "Great Truth"
  - CITATION: citation("umx") Our paper on umx is out!
      - Bates, Neale and Maes (2019). umx: twin and path-based
        structural equation modeling in R. Twin Research and Human
        Genetics. 22, 27-41. doi: 10.1017/thg.2019.2
  - tip: Try ?umxExamples to see the example code from Bates, Neale and
    Maes (2019).
  - NEW: umxSexLim multivariate sex-limitation working.
  - NEW: umxSexLim Gained nonlinear, linear, and homogeneity modes
  - NEW: umxSexLim Gained examples.
  - NEW: umxRAM supports WLS, UWLS, DWLS models!
  - NEW: umxACE supports WLS, UWLS, DWLS models!
  - NEW: umxPlotCP Supports CIs on the diagram!
  - NEW: umx_make_top_twin_models increases the robustness and
    improve-ability of all twin scripts.
  - NEW: umx_set_data_variance_check to set the criteria for warning
    users about excessively small variance or divergence of variance.
  - NEW: xmu_dot_define_shapes builds the latents and manifest shape
    definitions (should be xmu_)
  - NEW: xmu_check_variance checks data for minVar (default > 0.1) and
    comparable scale for variables (maxVarRatio default = 500)
      - umx_set_data_variance_check get/set variance tolerance.
  - NEW: umx is checked on travis
  - NEW: github has build, doi, etc info boxes!
  - NEW: plot allows user control over splines, as well as max, min,
    same positioning.
  - NEW: xmu_dot_move_ranks.
  - NEW: xmu_dot_rank_string.
  - CHANGED: default for stripping zeros is reversed for plot.
  - CHANGED: namez options for collapse get easier to short-cut names.
  - DATA: data(Fischbein_wt) weight of 66 females record over
    six 6-month intervals (from Fischbein (1977) weight data).
  - BETA: umxRAM2 Beginning support for lavaan syntax strings.
  - BETA: Adding type (WLS) added to twin models...
  - BETA: Universal weighted rows support for all twin models
  - FIXED: umxValues to work more reliably with data with no means.
  - FIXED: umx_rename Didn't give correct values when test = TRUE for
    non-grep searches (drop NAs)
  - FIXED: umxSexLim match.arg tryHard
  - FIXED: use of selVars vs. selDVs across different functions (search
    for "# New-style build-block" to see these changes
  - IMPROVED: umxSuperModel can take a list of models.
  - IMPROVED: tryHard - allow "yes" for default mxTryHard across all
    twin and RAM models.
  - IMPROVED: umxPlotCP revamped - now not dependent on labels! (old
    function now umxPlotCPold)
  - IMPROVED: xmu_model_needs_means
  - IMPROVED: umxDescribeDataWLS to check whether the form of WLS
    requested will have means of not.
  - IMPROVED: umx_make: use check_win_devel; set working director for
    release; spelling check
  - IMPROVED: xmu_dot_mat2dot add model, toLabel and fromLabel +
    fromType & toType
  - IMPROVED: xmu_dot_mat2dot example
  - IMPROVED: xmu_safe_run_summary now copes with warnings in models,
    summary, compare etc. (as it should have)
  - IMPROVED: umxModify now supports find and replace labels with grep
    (not just find with grep and set free/value)
  - IMPROVED: xmu_assemble_twin_supermodel no longer take bVector (uses
    existence of weights instead)
  - IMPROVED: umxModify now obeys verbose option
  - IMPROVED: umx_time reports % change between model times
  - IMPROVED: umIP help
  - IMPROVED: umx_make now supports quick-make as default
  - IMPROVED: tmx_show printing.
  - IMPROVED: umx_score_scale help and examples.
  - IMPROVED: umxModify now supports find and replace labels with grep
    (not just find with grep and set free/value).
  - IMPROVED: umxModify now obeys verbose.
  - IMPROVED: umxValues and elsewhere more robust to new data types.
  - IMPROVED: umx_read_lower examples and input checking.
  - IMPROVED: xmu_cell_is_on now has lower and upper triangle with or
    without diagonal included
  - IMPROVED: xmu_dot_mat2dot now can get parameter values with CIs
  - IMPROVED: umxRAM feedback when no data provided
  - RENAME: xmu_make_top_twin lose "models" for shorter name.
  - RENAME: tmx_show (was umx_show - it is mostly a teaching function
  - RENAME: xmu_dot_define_shapes
  - RENAME: xmu_dot_rank
  - RENAME: umx_mat2dot --> xmu_dot_mat2dot
  - RENAME: umx_APA_model_CI --> xmu_get_CI
  - REMOVED: umx_add_variances old function not used and not very safe.
  - CLEANUP: Removed thresholds option from several functions (always
    doing deviation-based, WLS isn't thresholds, and left-censored will
    be implemented differently)

                 Changes in version 2.9.9 (2019-01-18)                  

  - December 2018, R 3.5.2
  - Compatibility with OpenMx changes.
  - NEW: umxSummarizeTwinData to create summary tables for papers using
    twin Data.
  - IMPROVED: umxRAM: support definition variables to some extent in
    umxRAM.
  - IMPROVED: umxMatrix advice user when they specify
    umxMatrix("me", 1,1).
  - IMPROVED: umxModify nicer free-parameter report as default output
    with no changes requested (calls parameters).
  - IMPROVED: umxRAM preserve definition variables in data.
  - IMPROVED: plot strip_zero more reliable.
  - INCOMPATIBLE: plot dropped deprecated showMeans and showFixed from
    plot after 3 years (use means= and fixed = ).
  - INCOMPATIBLE: umx_scale_wide_twin_data dropped support for
    deprecated suffix parameter.

                 Changes in version 2.9.0 (2018-12-19)                  

  - December 2018, R 3.5.1: "More love"
  - INCOMPATIBLE: Support for suffix as a synonym for sep removed
    after 3-years of deprecation warnings.
  - FIXED: umxSummaryfor ACEv models: CI now works - (was 'a' not 'A').
  - NEW: xmu_safe_run_summary Runs a model safely, optionally
    summarizing and comparing it to a base model.
  - IMPROVED: All models now support tryHard as a parameter!!
  - IMPROVED: autoRun option in more places.
  - IMPROVED: plot functions now have strip_zero option (default = strip
    leading zeroes from parameter estimates)
  - IMPROVED: umx_standardize_ACEv now working!
  - IMPROVED: Models use xmu_safe_run_summary so even bad models are
    returned for the user to diagnose them.
  - IMPROVED: OmniGraffle stencil improved. Use to draw diagrams.
  - IMPROVED: umxRAM now labels paths when no data are provided
    (simulation of sketch modes).
  - IMPROVED: umx_score_scale can cope with a single item.
  - IMPROVED: xmu_safe_run_summary don't error on code red non-run
    models.
  - IMPROVED: xmu_twin_check tells user how to rename selVars and sep
    when sep is not provided, but is enforced.
  - IMPROVED: umx_as_numeric allows user to select which columns to
    convert.
  - IMPROVED umxSimplex start values now flexible and robust (was hard
    coded for 4-times).
  - IMPROVED xmu_simplex_corner Takes a full values list (not just 1).
  - IMPROVED: umxAPA uses .Last.value as default input if none provided.
  - IMPROVED: umx_make supports what = "rhub".
  - IMPROVED: umxlong2wide now allows user to retain only desired twin
    IDs.
  - IMPROVED: Help-file model diagrams use pdf for pdf output.
  - MINOR: xmu_mean_var_starts uses "expMean_" as the name for means
    cells (was "mean").
  - MODIFY: xmu_safe_run_summary don't return bVector (already
    available)
  - HELP: umxACE help diagrams improved with clearer ACE_matrix picture.
  - HELP: umxRAM help gained an example of sketch-mode and diagram.
  - HELP: umx_scale help file improved
  - HELP: new pdfs for images in pdf help; remove _ from image names
  - HELP: Examples cleaned up

                 Changes in version 2.8.5 (2018-10-06)                  

  - October 2018, R 3.5.1: "More love"
  - NEW: xmu_make_mxData function to make mxData functions out of
    dataframes (and also drop variables from cov/cor dataframes.
  - NEW: SE style confidence information for CP and IP plots.
  - IMPROVED: umxCompare gains ability to output Weight AIC conditional
    model probabilities! h/t @mNivard
  - IMPROVED: umxReduce returns AIC weight-based probability of being
    best model.
  - IMPROVED umxReduce.MxModelGxE returns best model (invisibly).
  - IMPROVED: umxReduce for GxE, don't run no-A and no-C models with
    moderation in place.
  - IMPROVED: namez given a list of models will return the names of
    each.
  - IMPROVED: namez allow global replace.
  - IMPROVED: umx_lower2full can now take a data.frame.
  - IMPROVED: umx_aggregate can now open tables in a web browser.
  - IMPROVED: install.OpenMx can now install a package file if selected
    in the Finder (MacOS only)
  - IMPROVED: install.OpenMx now works with windows.
  - IMPROVED: umx_print more robust to non table input.
  - IMPROVED: xmu_make_mxdata more robust to non dataframe input.
  - IMPROVED umx_apply robustness.
  - IMPROVED: umx_simplex_corner can take a numeric to set matrix size.
  - IMPROVED: umx_long2wide warn if twinID (order) has too many levels;
    improved help; @md
  - BUG: umxAPA test parameter had no effect.
  - HELP: Better links, text, layout, etc., umxCP/IP HELP figures.

                        Changes in version 2.8.2                        

  - June 2018, R 3.5.0: Simplex or s**t sticks
  - FIXED: umxSexLim now works for univariate tests (thanks to Michael
    Zakharin for reporting!)
  - FIXED: umxSummary Corrected Chi^2 df for RAM models.
  - NEW: umxCP handles ordinal, continuous and binary data
      - Note: old version still available as umxCPold
      - Note: new version also lower-bounds specifics at 0 by default.
  - NEW: umxCPplot re-written to allow arbitrary labels and correlated
    factors.
  - NEW helper functions: umx_graphviz_rank, umx_mat2dot
  - NEW: umx_set_optimization_options function to set "mvnRelEps"
    tolerances which impact, especially, ordinal model.
  - REFACTOR: new twin model creation helper will help ensure
    consistency and improve multiple twin functions
  - IMPROVED: umx_is_class reports classes if not given a set of classes
    to check
  - IMPROVED: umx_scale(verbose=TRUE) now lists the vars it didn't touch
    as well as those it didn't (also formatted better)
  - IMPROVED: umx_make_TwinData can set mean and SD of data
  - IMPROVED: umx_simplex_corner can take a numeric to set matrix size
  - FIXED: umx_standardize_CP was ignoring existing CIs
  - DELETED: umxAlgebra This appears broken in some circumstances?
  - HELP: verbose option for twin helper; better feedback;

                 Changes in version 2.6.5 (2018-04-30)                  

  - May 2018, R 3.5.0: "Poly gets a cracker"
  - NEW: Beta versions of umx_polychoric, umx_polypairwise, and
    umx_polytriowise
  - NEW: umxSimplextwin model!
      - umxSummary for simplex
      - `plot support for simplex
      - iqdatlongitudinal IQ twin data for simplex modeling
  - NEW: namez alias for the ever-useful umx_names function.
  - NEW: umxAlgebra (just allows name first).
  - FIX: install.OpenMx URLs for NPSOL and travis builds of OpenMx
  - BREAK: Following reports of problems in RStudio, changed umx class
    names to remove the period character from MxModel derivative classes
  - This will break hard-coded calls, for instance to
    umxSummary.MxModel.ACE instead of umxSummary.
  - "Just" replace with umxSummary.MxModelACE # i.e. delete the last
    period in the name... Sorry :-(
  - IMPROVED: parameters now returns helpful near-match names as
    suggestions on not finding actual matches.
  - IMPROVED: parameters now handles vectors of regular selections
  - IMPROVED: umx_print now handles vectors.
  - IMPROVED: umxConfint "smart" feature to request only free algebra
    cells for models I understand (umxCP in the first instance)
  - IMPROVED: namez can handle a model summary (accesses names() of the
    summary)
  - IMPROVED: umxGxE added option to control plot colors
  - IMPROVED: umxPlotCP can handle >9 manifests issue
  - HELP: umxGxE example improved
  - HELP: More related-function links in help files.
  - HELP: Better error messages.
  - HELP: Help titles, parameter documentation.
  - INTERNAL: xmu_simplex_corner helper function for simplex modeling.
  - INTERNAL: umx_make_sql improved

                 Changes in version 2.4.0 (2018-03-19)                  

  - March 21 2018, R 3.4.4
  - NEW: umxIP nFac now allows specifying different numbers of a, c, and
    e factors!
  - NEW: umxACEv plot works (shows correlated factors).
  - NEW: umxACEv standardize mostly functional.
  - NEW: umxEFA can now take a formula to select variables.
  - IMPROVED: umxIP and CP examples improved (3-variables, GFF data).
  - IMPROVED: umxIP reporting of as, cs, es simplified into compact
    stack.
  - IMPROVED: umxCP reporting of as, cs, es simplified into compact
    stack.
  - IMPROVED: umxPlotCP labeling of variables improved (catching more
    _Tn).
  - IMPROVED: umxEFA reports factor correlation matrix (thanks
    @ConorDolan)!
  - IMPROVED: umxEFA can return a loadings object.
  - IMPROVED: umx_makenot supports spelling check.
  - IMPROVED: umxACEv diagonal now unbounded by default (which is it's
    whole purpose)
  - IMPROVED: umxACEv got major improvements to help file.
  - IMPROVED: umxSummaryCP got ability to print to html.
  - IMPROVED: plot made more robust to unexpected labels (now that
    umxModify can write newlabels)!
  - MINOR: umx_names Added GFF examples.
  - DROPPED: deleted deprecated showStd and showMeans parameters from
    plot ACE.
  - BUG-FIX: umxSummaryIP was assuming nFac = 1

                 Changes in version 2.0.2 (2018-02-13)                  

  - Feb 12 2018, R 3.4.3 Higher goals edition
  - NEW: umxSummary works with multi-group models!
      - (make these with umxSuperModel)
  - NEW: umxModify supports multiple find strings and replace strings!
  - IMPROVED: umxAPA supports glm, more robust input checking.
  - FIXED: umxEquate allows vectors of labels.
  - DOCS: umxGetParameters has better help.
  - DOCS: umxHetCor docs now note is will return a pos-def version if
    given a cov matrix.
  - DOCS: umxAPA now has t-test and glm examples
  - DROPPED: umx_install_OpenMx (use install.OpenMx)

                        Changes in version 2.0.0                        

  - January 29 2018, R 3.4.3 Birthday edition
  - BETA: umxSexLim multivariate twin sex-limitation.
  - BETA: umxGxE_biv bivariate Gene-environment interaction model.
  - BETA: umx_make_TwinData Can now make bivariate moderated twin data.
  - BETA: Beginning a umxGroup function as part of measurement
    invariance support.
  - NEW: umx_stack Slightly more powerful version of base stack.
  - NEW: umx_array_shift Shifts an item off the beginning of a list.
  - IMPROVED: umxRAM can take lists of paths as input (contributed by
    @bwiernik).
  - IMPROVED: umxModify can write newlabels.
  - IMPROVED: umxAPA can back-out an SE if given b and CI.
  - IMPROVED: Help pages and examples improved and reorganized.
  - DROPPED: umxReRun (use umxModify)
  - DROPPED: support for suffix parameter (use sep instead)

                        Changes in version 1.9.2                        

  - December 2017, R 3.4.2
  - TIP: Filter paths by estimated size with umx_parameters(model,
    "below", .1)
  - NEW: tmx_genotypic_effect Part of a suite of teaching functions for
    biometric genetics!

                 Changes in version 1.9.1 (2017-11-02)                  

  - November 2017, R 3.4.2
  - TIP: ?umxRAM has a sketch mode. just set data to a list of manifest
    variable names.
  - NEW: umxSuperModel function to automate multiple-group model
    creation.
  - NEW ?umxACEv Variance component version of ACE. (beta)
  - NEW: CIs in output tables!
  - NEW ?umxACEcov_fixed Beta1: Handles main effects of covariates in
    the means of continuous variables.
  - NEW umxModify can now equate parameters (set master = ), update is
    slave set of labels.
      - As a result, umxEquate now doesn't autoRun by default. Let me
        know if this is a pain.
  - NEW: Dataset on general family functioning in twins. ?GFF
  - NEW: optimiser parameter for umxACE and other twin models: Set the
    optimizer in your model code!
  - NEW: umx_is_numeric boolean check if variables in a dataframe are
    numeric.
  - NEW: umx_is_class boolean check if variables in a dataframe match a
    desired class.
  - NEW: umx_twin_check internal function for common input checks.
  - NEW: umx_set_plot_file_suffix(c("gv", "dot") function (to control
    the filename used for figures)/
  - FIXED: umxACE was broken with large cov inputs h/t @NathanGillespie.
  - FIXED: umxAggregate now actually supports user functions as input...
  - BEGINNING: to add umxACEv variance components method
  - IMPROVED: umxPath(Cholesky = ) method: supports labels, bounds,
    lbound at 0.
  - IMPROVED: umxPath(Cholesky = ) method: return one statement instead
    of a list for clarity.
  - IMPROVED: umxACE and umxReduce.ACE run intervals
  - IMPROVED: umxReduce works better with umxACE models.
  - IMPROVED: umxEFA Supports minManifests.
  - IMPROVED: umxEFA Works better when returning a single factor score.
  - IMPROVED: umxParameters now supports digits.
  - IMPROVED: umxSummary "inline" reporting now includes AIC.
  - IMPROVED: umx_aggregate works with factor input/
      - umx_aggregate(sex_T1 ~ zyg_2grp, data = x)
  - IMPROVED: umx_long2wide can passalong variables.
  - IMPROVED: umx_wide2long much more powerful
  - IMPROVED: umx_msg supports dataframes
  - IMPROVED: umxACE gains ability to set plot format: format =
    "graphviz" or "DiagrammeR"
  - IMPROVED: umx_set_auto_plot take TRUE/FALSE as input.
  - IMPROVED: umx_names: added a find and replace option for names
  - IMPROVED: umxRAM in "sketch mode" now plots models automatically.
  - IMPROVED: install.OpenMx from University of Virginia, travis, or
    open travis build page.
  - IMPROVED: umx_cor automatically drops non-numeric columns.
  - IMPROVED: umxCI now supports setting interval and one- or two-sided
    type (h/t @Conor Dolan).
  - INTERNAL: Switch from R2HTML to xtable
  - MINOR: umxParameters now supports non-run models

                        Changes in version 1.8.0                        

  - September 2017, R 3.4.1 "Single Candle"
  - TIP: ?umxAPA can format lots of things for you: from dataframes to
    p-values - try it out! Let me know what you'd like.
  - NEW ?umx_parameters function, report parameter estimates, filtering
    by name and value!
      - aliased as umxParameters
      - umx_parameters(model, "below", .1, "loading")
  - NEW ?umx_long2wide: Merges long data on famID, for an unlimited
    number of individuals in a family (twinIDs).
  - NEW ?umx_wide2long: Takes a wide df (currently limited to 2 per
    family), & returns a long-format version.
  - FIXED: Removed superfluous print call from umx_MakeTwinData.
  - IMPROVED: html tables by switching to xtable (R2HTML is abandoned,
    strips decimals from AIC, etc.)
  - IMPROVED: Plotting: Models now plot by default. Turn off with
    umx_set_auto_plot(FALSE).
  - IMPROVED forEach option in umxPath. This is a one.headed version of
    "unique.pairs".
  - IMPROVED: Output: Twin models now show summary when autoRun.
  - IMPROVED: Graphics: umxGxE plot colors now use the universal ACE ->
    RGB scheme.
  - IMPROVED: umxACEcov Now tries to detect violations: Age and Sex are
    good examples.
  - IMPROVED: Stability: bound diag to 0 by default in umxACE.
  - IMPROVED: Stability: Stop on covs that are identical across twins in
    umxACEcov!
  - IMPROVED: Better default model name for umxACEcov;
  - IMPROVED: More helpful default core list for umx_check_parallel (1
    and n-1);
  - IMPROVED: Output formatting of times in umx_check_parallel
  - IMPROVED: umxReduce does a much better job reporting automated
    umxGxE model reduction.
  - IMPROVED: umxAPA handles lme models.
  - IMPROVED: umxPrint error messages.
  - DOCUMENT logic.MxModel now has an Rd page.
  - CHANGE: Showing Rg (genetic correlation) table is now off by default
    for umx twin model summaries.
  - CHANGE: confint. OpenMx now supports this, so I dropped it from umx
    (added alias to umxConfint).
  - CHANGE: anova. OpenMx now supports, this so I dropped it from umx.
  - CHANGE: umx_fix_first_loadings now skips latents with fixed
    variance.

                 Changes in version 1.7.5 (2017-04-07)                  

  - April 04 2017, R 3.3.3 "Another Canoe"
  - TIP: In twin models, mzData and dzData can contain unused variables
    (umx removes them for you!)
  - NEW: umxVersion (returns mxVersion + information on umx).
  - IMPROVED: umxACE start values much better for univariate models.
  - NEW: umx_make_TwinData
      - Use variance input
      - Option to set seed
      - SetvarName
      - nThresh to threshold the created variables, and return as
        mxFactors
      - Surface the empirical parameter of mvrnorm
      - More flexible: Leave out any one of A, C, or E.
      - omit nDZPairs to get equal numbers
      - Option to allow A+C+E ≠ 1
      - Full set of examples
      - NOTE: umx_make_TwinData uses variance input. This was ambiguous
        previously.
      - Docs much improved.
  - NEW: install.OpenMx can install UVA parallel, travis latest (on mac)
    or opening the travis list.
      - BUG-FIX: install.OpenMx had a broken URL, now corrected.
  - NEW: umxRAM can now be used in "sketch" mode, to plot demos without
    data: just add the list of manifests as a character string to data.
     m1 <- umxRAM("test", data = paste0("itemC", 1:4),
     	umxPath(unique.bivariate = paste0("itemC", 1:4)),
     	umxPath(var="X")
     )
     plot(m1)
  - NEW: umx_cont_2_quantiles now allows returning cut points, better
    examples, level_names
      - BUG-FIX: umx_cont_2_quantiles lowest threshold was empty
  - NEW: umxAPA now reports mode for factor data
  - NEW: Allow umxLabel to rename the returned model
  - IMPROVED: sep is now the preferred separator (synonym for suffix in
    umxACE, umxCP, umxIP)
  - DOCUMENT: Examples use zygosity string from twinData instead of
    numeric code
  - DOCUMENT: Fix typo in umxPath docs
  - INCOMPATIBLE: renamed umx_cov_diag to umx_var

                 Changes in version 1.5.5 (2017-03-21)                  

  - March 20 2017, R 3.3.3 "Another Canoe"
  - NEW: umx_write_to_clipboard
  - NEW: umx_r_test
  - IMPROVED: Add autoRun option to umxModify.
  - FIXED: Switch away from CSOLNP in umxCP example.
  - ROLLBACK: No longer generically alter CSOLNP tolerance.

                 Changes in version 1.5.1 (2017-03-07)                  

  - March 05 2017 R 3.3.2
  - IMPROVED: umxCP example for improved compatibility with OpenMx 2.7
  - IMPROVED: umx twin models now set a better (less likely to fail)
    precision for CSOLNP
  - IMPROVED: improved help files; document forms parameter for umxPath
  - IMPROVED: handling list inputs
  - IMPROVED: behavior of confint()
  - IMPROVED: formatting of umxAPA table output
  - ADD: "check" option to umx_make
  - FIXED: umxPath(a, forms= , arrows = 2) bug

                 Changes in version 1.5.0 (2017-01-12)                  

  - December 2016
  - Features + OpenMx 1.7.3 compatibility release
  - IMPROVED: umxRAM returns invisibly
  - IMPROVED: umx_aggregate can summarize multiple DVs in a table
  - IMPROVED: umx_aggregate can return a formatted table (kable = TRUE)
  - IMPROVED: umxAPA returns lower-triangle of data.frame correlations
    (by default)
  - REMOVED: umxSE now included in OpenMx 2.7.0!
  - FIXED: umx_set_plot_format uses silent = TRUE internally where
    needed

                 Changes in version 1.4.9 (2016-12-05)                  

  - December 2016
  - Bug fix
  - FIXED: umx_make_TwinData fix bug in DZ moderator code and A+C
    computation
  - IMPROVED: more functionality hints in man page titles

                 Changes in version 1.4.5 (2016-11-08)                  

  - November 2016 "Usability is queen/Sincere Pumpkin Patch"
  - IMPROVED: Reorganize function families to increase clarity
  - IMPROVED: umx_set functions now show legal options by default
  - NEW: umx_set functions have silent option
  - FIX secure http URLs

                 Changes in version 1.4.0 (2016-10-13)                  

  - Mid October 2016 "New features and improvements"
  - BUG FIX: umxFitIndices RMR and SRMR (h/t Brenton Wiernik!)
  - NEW: umxMatrix with default labels and name as 1st parameter
  - NEW: Definition variable umxPath type, e.g.
      - umxPath(defn = "def", labels = "data.age")
  - IMPROVED: More concise feedback
  - IMPROVED: umxEquate supports autoRun and compare
  - IMPROVED: umx_names can, as a convenience, take string vectors
  - RENAME: umxGetOpenMx aliased to install.OpenMx or umx_install_OpenMx
  - IMPROVED: umxFitIndices additional fit-indices and now automatically
    computes reference models if needed.
  - IMPROVED: umxRAM remove_unused_manifests no longer updates
    manifestVars + leaves variable in data by default.
  - RENAME: plot "showFixed" deprecated in favor of easier to type
    "fixed"

                 Changes in version 1.3.0 (2016-08-18)                  

  - R 3.3.1 companion: "Bug in your Hair" August 2016
  - NEW: umxPath allows unique.pairs connection
  - Useful for growth curve models
  - IMPROVED: umxRAM handles suffix labels
      - Useful for models embedded in multi-group
  - IMPROVED: umxSummary to show parameters from first model in
    multi-group
      - Begin to support multi-group in umxSummary
  - IMPROVED: twin model figures tweaked
  - CHANGE showStd= to std= in most remaining cases
      - Might need to update your code!
  - CHANGE: umx_show_options to umx_get_options
      - Might need to update your code!
  - FIX: umx_check_parallel typo
  - FIX: plot calls from summary
  - REMOVE: dependency on non-condensed slots

                        Changes in version 1.2.8                        

  - R 3.3.0 companion: "Very compatible" May 2016
  - NEW: umxRAM can now build and run Joint Continuous Ordinal models!!
  - NEW: umx_show_options function to help users learn the options
    available
  - BETA: umxACE can now implement a form of left-censoring.
  - BETA: umxThresholdMatrix can now implement a form of left-censoring.
  - IMPROVE: umxRAM & umxRAM2Ordinal can turn off reference models
    computation with refModels = FALSE;
  - IMPROVE: umx_show can show thresholds
  - IMPROVED: umx_is_MxModel can take a list: listOK option
  - IMPROVED: umx_check_parallel options for row-wise parallel and
    number of subjects
  - CHANGE: I changed "suffix" to "sep" in several places for
    consistency: this will break some low level code: nearly all of it
    mine, and fixed. But might affect some users!!
  - UPDATE: umx_time and umx_check_parallel to work with new S4 list
    deprecation
  - MINOR: umxTwoStage shorter run-time on 2-stage least squares

                 Changes in version 1.2.7 (2016-05-06)                  

  - May 2016 stable release
  - ADDED: umxTwoStage FIML-based Instrumental variable and Mendelian
    Randomization (beta)
  - ADDED: umx_make_MR_data to simulate SNP-based Mendelian
    randomization data (beta)
  - ADDED: umx_set_condensed_slots(TRUE|FALSE): Get and set matrix
    compression
  - ADDED: umx_get_OpenMx (download OpenMP/parallel version of OpenMx
    with NPSOL)
  - ADDED: umx_cont_2_quantiles(x, nlevels = )
  - ADDED: umx_factor alias to umxFactor
  - FIXED: plot(resid = "none") was not suppressing plotting residuals
  - IMPROVED: umxFactor now handles dataframes and allows non-ordered
    output
  - IMPROVED: umx_CI more flexible, now allows removing CIs
      - Old code will break: replace "add" with "which"
  - IMPROVED: umx_time handling of no input arguments
  - IMPROVED: umx_pb_note better feedback and setup
  - IMPROVED: loadings() generic
  - CHANGE: umxModify - if free is a string, it will be used as input
    and the found paths will be freed.
  - CHANGE: umxModify - show summary as well when comparison = TRUE
  - CHANGE: plot defaults for std and showFixed changed h/t @MikeNeale
  - CHANGE: umx_scale_wide_twin_data argument names for consistency:
    "suffix" "data"
  - CHANGE: umx_residualize ditto.
  - UPDATE: "Read me" file.

                 Changes in version 1.2.5 (2016-04-03)                  

  - April 2016 R 3.2.5 "Very, Very Secure Dishes"
  - Bug fix release
  - FIX: $models bug in umxStandardizeACE
  - EXPAND: test suite

                 Changes in version 1.2.0 (2016-03-31)                  

  - April 2016 R 3.2.4 "Very Secure Dishes"
  - NEW: plot using DiagrammeR!
  - NEW: Choose plot format!
      - umx_set_plot_format("DiagrammeR")
      - umx_set_plot_format("graphviz")
  - NEW: Choose table format!
      - umx_set_table_format("markdown")
      - umx_set_table_format("latex")
  - NEW: set plotting by default: umx_set_auto_plot(TRUE)
  - NEW: Exploratory factor analysis! with umxEFA (beta!)
  - NEW loadings() support for umxEFA
  - CHANGE: .dot --> .gv suffix for plotting (more compatible)
  - CHANGE: To $ from @ accessors for OpenMx compression compatibility
  - BETTER: Help! ACECov figure, ... many other improvements
  - ENHANCED: umx_print, umx_show, umxCompare
  - REQUIRE knitr, DiagrammeR
  - INCREASE minimum R / OpenMx to >= 3.2.0 / >= 2.5.0

                 Changes in version 1.1.5 (2016-03-07)                  

  - March 2016 Boulder Workshop feedback updates
  - NEW: plot now works on Windows and Unix as well as OS X! (h/t
    @mhunter)
  - CHANGE: umxReRun to umxModify (h/t @hmaes)
  - BETTER: compatibility with OpenMx 2.5.2

                 Changes in version 1.1.1 (2016-02-07)                  

  - Feb 2016 R 3.2.3 Wooden Christmas Tree edition
  - NEW: auto-run now the default for all models!
      - Added option to switch this: options("umx_auto_run" = TRUE)
  - NEW: plot should generate pdfs for Windows and Unix users now
  - NEW: umxACEcov support for ACE with covariates
  - NEW: umx_make_TwinData added to support simulation studies
  - BETTER: umx_check_parallel now returns timing information
  - BETTER: umx_time now supports "start" and "stop")
  - BETTER: umxAPA can format more objects in APA style, inc just a
    p-value)
  - BETTER: summaryAPA can now summarize a data.frame with mean, sd, and
    correlations
  - BETTER: umxLabel now preserves existing labels in umxRAM models:
    labels = is now saved
  - BETTER: Help improvements (wording, see-also etc)
  - DEEP: Removed dependency on formula.tools

                 Changes in version 1.1.0 (2015-12-10)                  

  - December 2015, R 3.2.3 "Wooden Christmas-Tree"
  - NEW: vcov() added
  - NEW: Begin support for sex-lim twin models
  - NEW: New data file for sex-limitation
  - IMPROVED: umxRAM can take existing model as input (very useful)
  - IMPROVED: umxRAM reports model fit and comparison (if old model
    exists)
  - IMPROVED: umxPath now lbounds var@0 for v.m.
  - IMPROVED: umx_residualize can now take multiple DVs
  - IMPROVED: umxMI enhanced to cope with more situations
  - IMPROVED: umxSummary more resilient with missing CIs (#ht Nathan
    Gillespie!)
  - IMPROVED: summaryAPA now handles data as well as lm
  - IMPROVED: Help for twin functions
  - IMPROVED: Various new function features
  - IMPROVED: umx_print resilient to 0-row input
  - IMPROVED: summary helpers (e.g. umx_fun_mean_sd)
  - IMPROVED: consistency in parameter names (minor backward
    incompatibility)
  - DEEP: Replacing @ with $ accessor begun

                 Changes in version 1.0.0 (2015-10-28)                  

  - NEW umxCP twin models! + plot(), umxSummary()
  - NEW umxIP twin models! + plot(), umxSummary()
  - NEW umxGxE twin models! + plot(), umxSummary()
  - FIXED umxPath limitation where "to" was not being set.
  - SUPPORT Circles as well as lines for residual variance.
  - IMPROVE Help text. Thanks Mike Neale esp.!
  - IMPROVE Organization of functions into @families in the help.
  - IMPROVE Example for umx_lower2full
  - DROPPED umxRAM functionality to set endogenous, exogenous, and
    latent traits
  - DROPPED Deprecated a dozen functions.

                       Changes in version 0.50.0                        

  - March 2015 R 3.1.3, "Smooth Sidewalk"
  - First CRAN release!

                       Changes in version 0.49.0                        

  - IMPROVE Edge cases work
  - IMPROVE Improving help files and feedback
  - IMPROVE Rationalizing function names into @families

                        Changes in version 0.45                         

  - Feature complete
  - Bug squashing
  - Optimizing function names for memorability and typing

                        Changes in version 0.40                         

  - Beta level!
  - Standard confint(); plot() etc functions implemented
  - Adding umxRAM() and umxPath shortcuts

                        Changes in version 0.30                         

  - Alpha release
  - 90% feature complete
  - Lots of name rationalization

                        Changes in version 0.25                         

  - Alpha release
  - 80% feature complete
  - Function prefix reflects usage:: camel-case for major functions,
    underscore for utility functions, "xmu" prefix, "not for end-user"
