StataNowTM

Straight from development to you. With StataNow, you always have the latest features.

This page summarises the latest StataNow additions and enhancements. If you’re comparing options, see Stata editions and the full Stata features list.

                                                       ___  ____  ____  ____  ____(R)
                                                      /__    /   ____/   /   ____/   
                                                     ___/   /   /___/   /   /___/    
                                                       Statistics/Data analysis      
      
      
      Title
      
          Additions to Stata since release 19
      
      
      Description
      
          Update history:
      
                  Stata 19.0 base    08apr2025
                  updated to         18feb2026
      
                  StataNow 19.5      08apr2025
                  updated to         18feb2026
      
      
          This file records the additions and fixes made to Stata since the release of version 19.  See What's new table of contents for changes in other Stata versions.
      
          Updates are available for free over the internet.  Updates and items available only in StataNow are marked as such.  Click here to obtain the latest update, or
          see updates for detailed instructions.
      
          The most recent changes are listed first.
      
      -------- update 18feb2026 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. (Win,Unix) When a file on disk is open in the Do-file Editor, the Do-file Editor will now prompt you if the contents of the file have been changed outside
              the Do-file Editor.  Click on OK to reload the file, click on Cancel to ignore the changes and leave the open file as-is, or click on Auto to reload the
              file and automatically load changed files in the future.  You may uncheck checkbox Automatically reload when a file changes on disk in the Do-file Editor's
              Advanced settings to always be prompted when a file changes on disk, or you may uncheck checkbox Watch for changes to a file on disk to stop watching for
              changes to files on disk.  Stata for Mac already supports watching for changes to a file on disk.  Stata for Windows has an additional checkbox Watch for
              changes to a file on a network drive to allow watching for changes to files on a network drive.
      
           2. The Java Development Kit (OpenJDK) that is redistributed with Stata is now updated to version 21.0.10+7-LTS acquired from Azul Systems.
      
           3. bootstrap and commands using option vce(bootstrap), when data were xtset with a specified period between observations using option delta(), failed to apply
              the specified value of delta() within each bootstrap sample, instead setting the value to the default.  This has been fixed.
      
           4. In the Data Editor, browse mode behavior was previously inconsistent in what was allowed and what was not.  Going forward, all actions that could
              accidentally change the data, such as typing in various fields or keyboard shortcuts, will continue to be disallowed.  All actions that are taken
              deliberately, such as overt menu actions, will now be allowed.
      
           5. estat aggregation, estat ptrends, and estat moderation after xthdidregress twfe formed Mundlak terms by averaging over the group variable instead of the
              panel variable, meaning that models were fit using group fixed effects instead of panel fixed effects as documented when the group variable was different
              from the panel variable.  This has been fixed.
      
           6. graph twoway bar and graph twoway rbar with options colorvar() and colorfillonly drew an extra outline with the fill color around bars.  This has been
              fixed.
      
           7. (StataNow) xtreg, fe with option absorb(varlist, halperin) could declare convergence prematurely when estimating the panel and residual variances, sigma_u
              and sigma_e.  This occurred in numerically difficult situations where there were many absorbed variables.  The numerical precision for these parameters was
              accurate to at least four digits.  The model coefficients were not affected.  This has been fixed.
      
      
      -------- update 28jan2026 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. (StataNow) Psychometric meta-analysis.  The meta suite has been extended to perform psychometric meta-analysis.  New command meta psycorr allows you to
              correct correlations for the distorting effects of measurement error, range restriction, and other statistical artifacts.
      
              A fundamental assumption in meta-analysis is that the reported effect sizes are accurate reflections of the true relationships being studied.  In many
              correlational studies, the variables of interest are latent constructs, like intelligence, job satisfaction, or depression, measured with error or limited
              sample ranges.  The observed correlations are often distorted due to these statistical artifacts.
      
              Psychometric meta-analysis corrects correlations and their standard errors for these distortions, providing more accurate estimates of the mean correlation
              and between-study variance and thus providing more valid, generalizable conclusions.
      
              Consider a fictional dataset in which variable rho records the observed correlations between cognitive ability test scores (X) and job performance ratings
              (Y) in the restricted sample of hired employees.  The unrestricted sample represents all job applicants, but because only top scorers are hired, the
              observed correlations are attenuated by range restriction -- a common situation in personnel selection studies.  Variable n contains the within-study sample
              sizes.  Reliability estimates of X (as a measure of true cognitive ability T) and Y (as a measure of true job performance P), both estimated from the
              restricted sample, are stored in rxxr and ryyr.  Variable ux contains the ratio of restricted to unrestricted variability in X.  The goal of meta psycorr is
              to use this information to recover the correlation between T and P in the unrestricted applicant population.
      
                  . meta psycorr rho n, xreliability(rxxr) yreliability(ryyr) xuratios(ux)
      
              You may update any setting of the psychometric meta-analysis, keeping all other settings the same, by using the meta update command.  For example, to assume
              that the range restriction is direct, type
      
                  . meta update, direct
      
              To estimate the overall effect size and its confidence interval, based on a random-effects model with the individual-correction meta-analysis (ICMA) method,
              type
      
                  . meta summarize
      
              All the commands in the meta suite that are available for standard meta-analysis are also available for psychometric meta-analysis. For example, to perform
              subgroup meta-analysis and plot the results on a forest plot with credibility intervals, we type
      
                  . meta forestplot, subgroup(grpvar) credinterval
      
              Learn more at stata.com/statanow/psychometric-meta-analysis/.
      
           2. (StataNow) Proportional odds test.  The ordered logit model fit by ologit relies on the proportional odds assumption, also called the parallel lines
              assumption, which implies that the cumulative probability curves for each outcome category plotted against a predictor should be parallel.
      
              New postestimation command estat parallel provides five tests of the proportional odds assumption: the Brant, likelihood-ratio, score, Wald, and Wolfe-Gould
              tests.
      
              Learn more at stata.com/statanow/proportional-odds-test-after-ologit/.
      
           3. (StataNow) Moderating effects for heterogeneous DID.  New postestimation command estat moderation is now available after fitting a heterogeneous DID model
              with hdidregress twfe or xthdidregress twfe.  estat moderation reports the moderating effects of covariates, which show how the cohort- and time-varying
              average treatment effects on the treated (ATETs) vary with covariates.
      
              Learn more at stata.com/statanow/moderating-effects-heterogeneous-DID/.
      
           4. (StataNow) Convert Word to HTML, EPUB, and more.  You can now convert Word documents (.docx files) to four new file types.
      
              a. New command docx2html converts a Word document to an HTML file.
      
              b. New command docx2epub converts a Word document to an EPUB file.
      
              c. New command docx2markdown converts a Word document to a Markdown file.  New command docx2md is a synonym for docx2markdown.
      
              d. New command docx2txt converts a Word document to a plain text file.
      
              Learn more at stata.com/statanow/convert-word-documents/.
      
           5. (StataNow) Discrete derivatives.  New mata classes are available for discrete numerical derivatives.
      
              a. New Mata class DerivDiscreteDiff() computes the coefficients for a real, discrete numerical derivative using finite difference approximation.
      
              b. New Mata class DerivDiscretePartial() computes discrete numerical partial derivatives.
      
           6. (StataNow) HDFE interactions.  areg, ivregress 2sls, and xtreg, fe now allow factor-variable notation within option absorb(varlist).  This is particularly
              useful when you wish to include interactions between high-dimensional fixed effects and continuous variables.
      
           7. (StataNow) Do-file Editor enhancements.  The Do-file Editor now includes the following new features:
      
              a. The Do-file Editor now supports bracket pair colorization for do- and ado-files.  Bracket pair colorization is a feature where matching brackets -- (),
                 {}, and [] -- are highlighted so that users can follow nested code structure at a glance.  Each nesting level of brackets receives a distinct, reusable
                 color, making it easy to trace from an opening (, {, or [ to its matching close bracket even in deeply nested, multiline expressions.  Unmatched brackets
                 are also displayed in a unique color, allowing them to stand out in the code.  You can enable or disable bracket pair colorization in the Do-file Editor
                 preferences as well as customize the different nesting level colors and the unmatched bracket color.
      
              b. The checkbox Display > Show line guide has been added to the Do-file Editor's preferences.  When checked, it displays a line guide in the code-folding
                 margin to denote where a code block begins and ends.
      
              c. The dropdown box Advanced > Default action of Do button: has been added to the Do-file Editor's preferences.  The selected action will be executed when a
                 user clicks the Do button in the Do-file Editor's toolbar.
      
           8. (StataNow) hdidregress twfe and xthdidregress twfe have new option over().  Specifying over(timecohort) when cohort-time ATETs or cohort ATETs are requested
              and covariates are specified causes cohort-time-specific covariate means to be used in estimation.  over(cohort), the default, yields the existing behavior
              of computing cohort-specific covariate means.
      
           9. (StataNow) hdidregress twfe and xthdidregress twfe have new option noxinteract.  Specifying noxinteract omits the interaction of specified covariates with
              difference-in-difference variables in the model so that covariates enter only as levels.
      
          10. (StataNow) New Mata class NDMatrix() defines an N-dimensional matrix.
      
          11. (StataNow) Mata function quantile() has two improvements:
      
              a. Quantile estimator method "galton" is now supported as a synonym for "parzen".
      
              b. Method "inv_cdf" is renamed to "invedf", and method "avg_inv_cdf" is renamed to "avginvedf".  The previous names are still supported but no longer
                 documented.
      
          12. collect remap, when specified to remap dimension levels that contain square brackets, such as colname's level var(_cons[id]) in
      
                  . collect remap colname[var(_cons[id])] = Variance[id]
      
              incorrectly exited with error message "too many brackets".  This has been fixed.
      
          13. irf create, bs after xtvar has the following fixes:
      
              a. irf create, bs after xtvar with option vce(bootstrap) incorrectly resampled within existing bootstrap samples.  This has been fixed.
      
              b. irf create, bs after xtvar could return an uninformative error message when the last bootstrap replication failed.  This has been fixed.
      
          14. twoway rpcap y1var y2var y3var xvar mistakenly drew the caps for observations whose y1var or y2var were missing.  This has been fixed.
      
      
      -------- update 14jan2026 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. lincom after logistic now accepts option coef.  By default, lincom after logistic continues to report the exponentiated estimated linear combination,
              labeled as "Odds ratio".  With option coef, lincom will report the estimated linear combination.
      
           2. Prefix commands bootstrap, collect, jackknife, nestreg, permute, simulate, statsby, and stepwise have been updated to accommodate community-contributed
              prefix commands.
      
           3. icd10cm and icd10pcs have been updated for the 2026 fiscal year.  Type icd10cm query or icd10pcs query to see information about the changes.
      
           4. SMCL paragraph mode directive {p} has an optional fourth argument that sets the overall width for the paragraph.  This argument had a minimum bound of 40.
              This has been changed to 20 to allow for more flexibility.
      
           5. Online help and the search index have been brought up to date for Stata Journal 25(4).
      
           6. frlink failed to properly set the time portion of the date characteristic on the generated link variable linkvar1.  This has been fixed so that the link
              creation date and time are reported by frlink describe.
      
              For linked datasets created prior to this fix, frlink describe will continue to only mention the date when the link was created.
      
           7. graph twoway with option color(), when a stylelist was used that contained either ".." or "...", mistakenly produced error message "option(s) qxav() not
              allowed", r(198).  This has been fixed.
      
           8. markdown, when the source file was in a path containing an uppercase letter, mistakenly looked for the file in the wrong path.  For example, if test.md was
              located in /home/user/Desktop, markdown test.md looked for /home/user/desktop/test.md.  This has been fixed.
      
           9. ologit and oprobit allowed aweights, even though they were not documented.  aweights are no longer allowed with these commands because these estimators are
              not suitable for aweighted data.  For reproducibility, aweights are available under version control; see version.
      
          10. (StataNow) regress, areg, and xtreg, fe with option vce(hc3 [clustvar], hansen) reported confidence intervals at the default confidence level of 95%, even
              when option level() specified a different value.  This has been fixed.
      
          11. streg with options distribution(weibull) and either vce(robust) or vce(cluster), when the fitted model included the constant term, displayed correct
              results, but the entry for the constant term in the posted e(V_modelbased) matrix was in a transformed scale instead of the original scale.  This has been
              fixed.
      
          12. svy: total, when used with survey data containing strata with a single sampling unit and when the data were svyset with option singleunit(centered), used
              the wrong denominator in computing the grand mean used to center the single sampling units.  It used the number of strata within the stage instead of the
              number of sampling units, and this usually resulted in greatly inflated variance estimates.  This has been fixed.
      
          13. Stata and Mata functions ustrpos(s1, s2) and ustrrpos(s1, s2), when either s1 or s2 contained characters with Unicode code points greater than U+FFFF (that
              is, Unicode characters known as supplementary characters, mainly emojis, rare CJK ideographs, and other specialized symbols), produced incorrect results.
              This has been fixed.
      
          14. (mac) macOS Tahoe made a change to alert dialogs that caused alert dialogs in Stata that are supposed to contain OK and Cancel buttons to display only the
              OK button with no ability to cancel the dialog.  This has been fixed.
      
      
      -------- update 12nov2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. (StataNow) Import data from Parquet files.  New command import parquet reads into memory a Parquet file.  Most of the Parquet compression methods and
              variable types are supported.
      
              Learn more at stata.com/statanow/import-data-parquet-files/.
      
           2. (StataNow) Causal mediation with two mediators.  Existing command mediate fits causal mediation models and estimates natural direct, natural indirect, and
              total effects of a treatment on an outcome.  mediate now supports estimation of these effects for two mediator variables.  mediate can fit both parallel
              mediation models (when there is no causal order among mediators) and sequential mediation models (when a causal order exists among mediators).  By
              accounting for each path-specific component of a treatment effect, mediate estimates the finest possible decomposition of a total effect into natural direct
              and indirect effects.  Because the number of decompositions grows at a rapid rate when more than one mediator is included, the finest possible decomposition
              potentially encompasses many estimands.  Coarser decompositions are available by estimating mediator-specific natural effects.  Postestimation commands are
              available to estimate controlled direct effects and to perform a sequential mediation sensitivity analysis.
      
              Learn more at stata.com/statanow/causal-mediation-analysis-two-mediators/.
      
           3. (StataNow) Mata quantile function.  New Mata function quantile(X, p[, method]) computes quantile values of data matrix X at specified quantile vector p.
              Optional argument method allows you to choose from several quantile calculation methods, including both discontinuous and continuous piecewise linear
              methods.
      
           4. h2oml postestimation commands now provide permutation variable importance and regression diagnostic plots:
      
              a. h2omlgraph permimp plots permutation variable importance after using h2oml to perform random forest or gradient boosting machine.
      
              b. h2omlgraph rvfplot produces a residual-versus-fitted plot after h2oml gbregress and h2oml rfregress.
      
              c. h2omlgraph rvpplot produces a residual-versus-predictor plot after h2oml gbregress and h2oml rfregress.
      
           5. The Stata-Python API Specification has the following new features:
      
              a. Class Data has new method fromNPArray(arr, prefix='v', force=False) that loads a NumPy array into Stata's memory, making it the current dataset.
      
              b. Class Data has new method fromPDataFrame(df, force=False) that loads a pandas DataFrame into Stata's memory, making it the current dataset.
      
              c. Class Data has new method toNPArray(var=None, obs=None, selectvar=None, valuelabel=False, missingval=_DefaultMissing()) that exports values from the
                 current Stata dataset into a NumPy array.
      
              d. Class Data has new method toPDataFrame(var=None, obs=None, selectvar=None, valuelabel=False, missingval=_DefaultMissing()) that exports values from the
                 current Stata dataset into a pandas DataFrame.
      
              e. Class Frame has new method fromNPArray(arr, stfr, prefix='v', force=False) that loads a NumPy array into a specified frame in Stata.
      
              f. Class Frame has new method fromPDataFrame(df, stfr, force=False) that loads a pandas DataFrame into a specified frame in Stata.
      
              g. Class Frame has new method toNPArray(var=None, obs=None, selectvar=None, valuelabel=False, missingval=_DefaultMissing()) that exports values from a Stata
                 frame into a NumPy array.
      
              h. Class Frame has new method toPDataFrame(var=None, obs=None, selectvar=None, valuelabel=False, missingval=_DefaultMissing()) that exports values from a
                 Stata frame into a pandas DataFrame.
      
              i. Class Mata has new method fromNPArray(arr, name) that exports values from a NumPy array into a Mata matrix.
      
              j. Class Mata has new method toNPArray(name, rows=None, cols=None) that exports values from an existing Mata matrix into a NumPy array.
      
              k. Class Matrix has new method fromNPArray(arr, name) that exports values from a NumPy array into a Stata matrix.
      
              l. Class Matrix has new method toNPArray(name, rows=None, cols=None) that exports values from an existing Stata matrix into a NumPy array.
      
           6. Postestimation command estat aggregation after hdidregress and xthdidregress with estimators ra, ipw, and aipw has new option weights().  Two weight types
              are allowed: timecohort and cohort.  The default weights(timecohort) accounts for variation of cohort size over time.  weights(cohort) provides weights for
              each cohort that are constant over time.  The two weights are equivalent if the proportions and sizes of groups are stable over time.
      
           7. The Java Development Kit (OpenJDK) that is redistributed with Stata is now updated to version 21.0.9+10-LTS acquired from Azul Systems.
      
           8. bayesmh, when used with a log-posterior evaluator and multiple chains, ignored initial values provided with option chain#() for chains 2, 3, etc.  This has
              been fixed.
      
           9. bayesselect, when the name of the outcome variable was longer than 16 characters, failed.  This has been fixed.
      
          10. didregress, xtdidregress, hdidregress, and xthdidregress, when specified with weights where the weight type was misspelled, failed to abort with an error
              message and returned unweighted results.  This has been fixed.
      
          11. esize twosample with option by(groupvar), where groupvar had attached but undefined value labels, failed to report the sample size for undefined value-label
              levels.  This has been fixed.
      
          12. estat ptrends after hdidregress twfe or xthdidregress twfe has the following fixes:
      
              a. estat ptrends after hdidregress twfe or xthdidregress twfe with option controlgroup(notyet) did not exclude the last-treated cohort from the regression
                 as documented, which affected test results in some cases.  This has been fixed.
      
              b. estat ptrends after hdidregress twfe or xthdidregress twfe failed to detect nonestimability of effects in some cases, leading to incorrect results.  This
                 has been fixed.
      
          13. estat series after cate ignored suboption saving() in option graph().  This has been fixed.
      
          14. ivregress 2sls using time-series operators in the model specification posted temporary variable names in ereturn.  This has been fixed.
      
          15. predict with statistic residuals, d, or xbd, after areg using a time-series operator on the dependent variable and a single absorbed variable, could exit
              with error message "not sorted".  This has been fixed.
      
          16. predict after nl using a user-written program with optional arguments would error because the options were not passed through to the program.  This has been
              fixed.
      
          17. predict after nlsur using a user-written program with optional arguments would error because the options were not passed through to the program.  This has
              been fixed.
      
          18. putdocx append, when merging multiple .docx files into a single .docx file and when one of them contained a table, in some cases would not properly open the
              resulting document in Word.  This has been fixed.
      
          19. When initializing Python 3.14 from within Stata, the initialization failed and Stata reported error code 7100.  This has been fixed.
      
          20. sts list has the following fixes:
      
              a. sts list with options saving() and risktable() stored all variables' storage types as float, which was inconsistent with the storage types when
                 specifying option saving() alone.  This has been fixed.
      
              b. sts list with option failure or cumhaz listed the reported value incorrectly as 1 when the reporting time points were smaller than the minimum of the
                 observed time values.  This has been fixed.
      
      
      -------- update 06oct2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. stcurve and estat gofplot with option saving(), when a space was used in the saving filename, exited with error message "only one filename is allowed".
              This has been fixed.
      
           2. (Windows) The 24sep2025 update could cause Stata to crash when the Do-file Editor opened or saved a file and if the user's profile contained Unicode
              characters.  This has been fixed.
      
      
      -------- update 24sep2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. (StataNow) In the Do-file Editor, you can now select Tools > Execute (do) lines on Windows and Unix or View > Do-file Editor > Execute (do) lines on Mac
              while multiple lines of text are selected to execute all selected lines.  After the lines are executed, the cursor will automatically advance to the next
              line that can be executed, skipping comments and blank lines.  If the next line is the beginning of a code block, such as a for loop or an if expression,
              then the entire code block will be selected so that it will all be executed.
      
           2. By default, the Do-file Editor will save a backup of an open document in the same directory that the document is saved in.  There is now an option for the
              Do-file Editor to store all backup files in an operating-system-specific directory that is local to the host computer.  This option is ideal when editing
              documents from a network drive where saving files may be slow, or when collaborating with other users where an existing backup file can cause conflicts when
              editing a shared document.  The setting for where to save backup files can be changed in the Do-file Editor's advanced settings.  For more information, see
              13 Using the Do-file Editor -- automating Stata in Getting Started with Stata for Windows, Getting Started with Stata for Mac, or Getting Started with Stata
              for Unix.
      
           3. graph bar, graph box, and graph dot have new option assecondcategory for treating the y variables as the second over() group.  This option is useful when
              you have specified multiple y variables and the over() option, and you want to group first based on the over() categories and second on the y variables.
      
           4. Command syntax now supports numbers in minimum option abbreviations, identified by capital letters at the beginning of option names.  You can now define an
              option name that includes a number between capital letters and this will not produce an error message.  For instance, previously, using option name, say,
              CASE1OPtion with syntax in a program would produce error message "option case1option not allowed", when option case1option was specified with the program.
              This is allowed now, and the desired minimum abbreviation case1op works as expected.  However, if a number appears at the end of the minimum abbreviation,
              such as CASE1option, the number will continue being ignored in the minimum abbreviation, such as case instead of case1, per the original design of syntax.
      
           5. Online help and the search index have been brought up to date for Stata Journal 25(3).
      
           6. (StataNow) The variance-covariance estimator in linear regression commands areg, regress, didregress, xtdidregress, and xtreg, fe with option vce(hc3,
              hansen) was not equivalent to the Hansen jackknife estimator in cases of cluster noninvertibility but instead was equal to the ordinary HC3 estimator.
              Cluster noninvertibility can occur when fixed-effect variables serving as the clustering variable are included in a regression rather than being partialed
              out or when some clusters are large relative to the sample size minus the number of regressors.  In these nonstandard cases, jackknife variance estimates
              provide conservative coverage.  This has been fixed.
      
           7. (StataNow) areg now disallows option vce(hc3 [clustvar], hansen) when not specified with a cluster variable that nests the absorbed variable.  This affects
              specifications in didregress with option vce(hc3 clustvar, hansen) when areg is used for estimation.
      
           8. (StataNow) areg with option vce(hac kernel) and xtreg, fe with option vce(dkraay kernel), when used with time-series operators, could return an
              uninformative error message.  This has been fixed.
      
           9. (StataNow) areg with option vce(hac kernel) and aweights as well as xtreg, fe with option vce(dkraay kernel) and aweights returned incorrect standard errors
              in some cases where the sample was restricted or there were missing values in some variables.  This has been fixed.
      
          10. (StataNow) regress and areg with option vce(hac kernel) and using the default lags, in cases where time-series operators were applied to the dependent or
              independent variables or when the absorbed variable had missing values, could fail to correctly define the estimation sample when computing the default lags
              (N - 2).  This has been fixed.
      
          11. (StataNow) regress and areg with option vce(hc3, hansen) or vce(hc3, dfadjust) specified without a cluster variable, when fweights were specified, could
              return standard errors that were too large.  This has been fixed.
      
          12. estat ptrends after hdidregress twfe in models with no available pretreatment differences exited with an uninformative error message.  This has been fixed.
      
          13. graph bar, graph box, and graph dot with suboption sort(1) of option over(), when specified with option ascategory, did not sort based on the first y
              variable.  graph bar, graph box, and graph dot with suboption sort(2) of option over(), when specified with option ascategory, exited with error message
              "sort() invalid, category 2 not found".  This has been fixed.
      
          14. graph box with options over(), by(), and ascategory, when some combination of the by-groups and over() variable produced an empty cell and when specified
              with two or more y variables, incorrectly exited with error message "barstyles[].remake_as_copy".  This has been fixed.
      
          15. gsem specified with no latent variables or with observation-level latent variables, when specified with options group(varname) and vce(cluster clustvar),
              incorrectly exited with error message "highest-level groups are not nested within clustvar".  Here "groups" was meant to refer to multilevel latent
              variables instead of group(varname), but in this case, there are no multilevel latent variables, so this should not have triggered the error message.  This
              has been fixed.
      
          16. hdidregress and xthdidregress with option controlgroup(notyet), with no never-treated groups, and with only one treated cohort exited with an uninformative
              error message.  This has been fixed.
      
          17. hdidregress twfe and xthdidregress twfe in models with covariates and a large number of cohorts and time periods could exit with an uninformative error
              message.  This has been fixed.
      
          18. regress with option vce(hc2 clustvar) (and also for StataNow with option vce(hc3 clustvar)) has the following fixes:
      
              a. regress with option vce(hc2 clustvar) (or vce(hc3 clustvar)) no longer displays the ANOVA table in the table header.
      
              b. regress with option vce(hc2 clustvar) (or vce(hc3 clustvar)) reported an incorrect model F test in the coefficient table header.  However, the
                 corresponding returned results e(F), e(df_m), and e(df_r) stored the correct values.  This has been fixed.
      
          19. return list, when displaying long variable names that use Unicode multibyte character sets used by languages such as Japanese and when set linesize was set
              to a value greater than 205, could cause Stata to crash.  This has been fixed.
      
          20. tobit, when instructed to use default weights, defaulted to using frequency weights instead of analytical weights as documented.  This has been fixed.
      
          21. Stata numerical formats %w.dgc and %w.dg might produce an incorrect string representation of number if the number of digits of the base 10 representation of
              the integer part of number was greater than or equal to 19.  This has been fixed.
      
          22. Opacity color modifiers such as %20 in mcolor(red%20) after the 13aug2025 update could produce error message "unknown function =int()" instead of producing
              the requested graph.  This has been fixed.
      
          23. (Mac) macOS 26 introduced a change that caused controls within Stata's programmable dialogs that contained radio buttons (such as twoway) to not respond to
              mouse clicks.  This has been fixed.
      
          24. (Unix GUI) The Command window now uses the same cursor color as the Do-file Editor when syntax highlighting is enabled.
      
      
      -------- update 13aug2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. (StataNow) Local average treatment effects (LATE).  New command lateffects estimates a local average treatment effect (LATE), also known as a complier
              average treatment effect.  When individuals do not comply with their assigned treatment, it may not be possible to estimate a treatment effect for the
              entire population.  But with lateffects, we can exploit information regarding the assigned treatment by using an instrumental variable.  This allows us to
              estimate the treatment effect for those who comply with the assigned treatment, the LATE.
      
              lateffects estimates LATE for a continuous, binary, count, or fractional outcome with a binary treatment.  Three estimators are available:
      
              o Normalized kappa weighted 
              o Normalized covariate-balancing propensity scores
              o Inverse-probability-weighted regression adjustment 
      
              Postestimation command latebalance provides two balancing diagnostics and an overidentification test.
      
              o latebalance summarize compares the means and variances of the raw data and the weighted data over the treatment-assignment groups.
      
              o latebalance density plots the density of the raw data and the weighted data over the treatment-assignment groups.
      
              o latebalance overid performs a test for covariate balance.
      
              Postestimation command lateoverlap provides a diagnostic plot for the overlap assumption.
      
              Learn more at https://www.stata.com/statanow/local-average-treatment-effects/.
      
           2. (StataNow) More VCE options for linear models.  Stata's most commonly used linear regression commands now come with a richer set of VCE specifications.
      
              If you have autocorrelated errors in your time-series or panel-data model, you can use regress or areg, which now allow for heteroskedasticity- and
              autocorrelation-consistent (HAC) standard errors with option vce(hac hacspec), or use xtreg, fe, which now allows users to specify Driscoll-Kraay standard
              errors with new option vce(dkraay hacspec).
      
              Commands regress, areg, xtreg, fe, didregress, and xtdidregress each now allow for both HC2 and HC3 standard errors with clustering.  The inference
              adjustment of Hansen (2025) is available with HC3 standard errors using new suboption hansen.
      
              You can also account for multiple nonnested clusters when fitting an instrumental-variables regression with ivregress.  And you can allow for arbitrary
              correlation within panels by specifying new option corr(unstructured) in xtgls.
      
              Learn more at https://www.stata.com/statanow/vce-options-for-linear-models/.
      
           3. (StataNow) The Do-file Editor can now indicate that changes have been made to a line by using colored markers in the change history ribbon located in the
              margin.  Two different markers indicate changes to a line: modified and reverted-to-original.  A modified marker indicates that a change was made to a line.
              A reverted-to-original marker indicates that a change was made to a line, saved, and then reverted to its original state.  To update the visibility of the
              change history ribbon, right-click in the Do-file Editor, select Preferences..., and check or uncheck Change history in the General tab for Windows and Unix
              and the Display tab for Mac.  Note that changes to the visibility of the change history ribbon will only take effect on new editors.
      
           4. (StataNow) In the Data Editor grid, variable names can now be truncated using several different methods, including at the end (the default), in the middle,
              or by selecting 1, 2, 3, or 4 characters before the end.  The behavior can be changed in the Data Editor's preference dialog.
      
           5. (StataNow) xtgls with option panels(iid) or panels(heteroskedastic) is now faster.
      
           6. Syntax highlighting now includes macros within strings.  Unchecking the Do-file Editor preference Advanced > Syntax highlight macros in strings disables the
              feature.
      
           7. dtable with option factor(, test(ftest)) now supports factor-variable test (ftest) kendall_p to report the p-value for Kendall's rank correlation test
              against zero.
      
           8. collect has new style properties that specify whether to break (wrap) long notes at the table's width.  See collect style smcl and collect style txt.
      
           9. table, dtable, and etable have new options wrapnotes and nowrapnotes that specify whether to break (wrap) long notes at the table's width.  The new default
              behavior is to break (wrap) long notes at the table's width.
      
          10. lcstats has new options wrapnotes and nowrapnotes that specify whether to break (wrap) long notes at the table's width.
      
          11. putdocx begin has new option compmode() that allows you to set the compatibility mode to be used by Word when opening the generated document.  You may
              choose to create a document that is compatible with the current version of Word or with Word 2013, Word 2010, Word 2007, or Word 2003.
      
          12. graph options for color now allow a noninteger value for opacity.  Previously,
      
                  scatter y x, mcolor(red%20.1)
      
              produced error code 198.  Now it is the same as specifying the integer part of the noninteger value for opacity,
      
                  scatter y x, mcolor(red%20)
      
          13. label copy has new options fromframe() and toframe() that allow you to copy value labels between frames.
      
          14. New command label rename allows you to rename a value label and automatically assign the new name to all variables associated with the old name.
      
          15. New command frame putlabel copies a list of value labels from the current frame to other frames.
      
          16. New Mata function moptimize_init_k_autoCns() allows you to record the number of base, empty, and omitted constraints from command makecns, that is,
              r(k_autoCns).  The effect of recording this value is that moptimize_report() will not show these constraints above the coefficient table.
      
          17. The Java Development Kit (OpenJDK) that is redistributed with Stata is now updated to version 21.0.8+9-LTS acquired from Azul Systems.
      
          18. Online help and the search index have been brought up to date for Stata Journal 25(2).
      
          19. didregress and xtdidregress with option aggregate(standard), when the time variable was specified using an abbreviation, could return an uninformative error
              message.  This has been fixed.
      
          20. estat aggregation after hdidregress or xthdidregress has the following fixes:
      
              a. estat aggregation after hdidregress with pweights or xthdidregress with pweights produced incorrect point estimates and standard errors.  This has been
                 fixed.
      
              b. estat aggregation after hdidregress with estimator twfe or xthdidregress with estimator twfe, when weights were specified, did not take weights into
                 account when displaying the sample size.  This has been fixed.
      
          21. estat effectsplot after mediate, when variable abbreviation was set to off, incorrectly exited with an uninformative error message.  This has been fixed.
      
          22. estat grangerplot after didregress or xtdidregress did not correctly parse the twoway_option xlabel().  Suboption valuelabel was ignored.  Also, manually
              specified axis labels within option xlabel() caused estat grangerplot to incorrectly exit with error message "invalid label specifier".  This has been
              fixed.
      
          23. estat summarize after hdidregress or xthdidregress, when weights were specified, did not take the weights into account.  This has been fixed.
      
          24. gsem with option group(), when specified with ordinal outcomes where one or more of the ordinal outcomes has observed predictor variables and there is a
              latent endogenous variable or an ordinal outcome specified without observed predictor variables, exited with an unhelpful error message even when the model
              specification was correct.  This has been fixed.
      
          25. graph twoway rbar with option colorvar() ignored suboption colorfillonly.  This has been fixed.
      
          26. hdidregress and xthdidregress with estimator twfe, when the dependent variable was specified using a wildcard operator, could drop covariates mistakenly or
              return an uninformative error message.  This has been fixed.
      
          27. ivregress 2sls has the following fixes:
      
              a. ivregress 2sls with option absorb(varlist, cimmino) ignored suboption cimmino and implemented method halperin.  This has been fixed.
      
              b. ivregress 2sls after some community-contributed commands exited with error message "last estimates not found", r(111).  This has been fixed.
      
          28. power and ciwidth have the following fixes:
      
              a. power and ciwidth, when a custom column label specified with option table() contained the "%" character, exited with an uninformative error message.  Now
                 an informative error message is produced.
      
              b. power and ciwidth, when a custom column label specified with option table() contained mismatched quotes, could exit with an uninformative error message.
                 Now an informative error message is produced.
      
              c. power usermethod and ciwidth usermethod, when option graph(ydimension()) was used to specify a parameter whose graph label contained a comma, could
                 produce an error message.  This has been fixed.
      
          29. regress has the following fixes:
      
              a. regress with option vce(hc2, dfadjust), when specified with pweights or iweights, returned adjusted degrees of freedom that did not use normalized
                 weights as documented.  This has been fixed.
      
              b. regress with option vce(hc2, dfadjust) or vce(hc2 clustvar), when specified with iweights, could return a sample size and other stored values that were
                 not computed using normalized weights as documented.  This has been fixed.
      
          30. reshape long, when specified with numeric variable j() with values that vary in their number of digits and when favor(speed) was in effect, such as reshape
              wide x, i(i) j(jvar 1 2 10) favor(speed), incorrectly exited with error message "variable x2 not found".  This has been fixed.
      
          31. The SEM Builder, when fitting a model with a node that identifies a range of observed variables instead of a single observed variable, incorrectly exited
              with an unhelpful error message.  The correct behavior is to produce a stopbox dialog mentioning the variables that were not found in the diagram.  This has
              been fixed.
      
          32. streg, stcox, stintcox, and stmgintcox with option strata(), in the rare case when the number of distinct values of the strata variables was extremely large
              and hit the limits imposed by the levelsof command, exited with error message "failed to compute".  This has been fixed.
      
          33. sts list has the following fixes:
      
              a. sts list with condition in, when the data were not sorted by the time variable _t and the sorted and unsorted data differed when condition in was
                 applied, displayed incorrect observed times.  This has been fixed.
      
              b. sts list with condition if, when the data were not sorted by the time variable _t, _n was specified in condition if, and the sorted and unsorted data
                 differed when condition if was applied, displayed incorrect observed times.  This has been fixed.
      
              c. sts list with option by() or strata() did not display the observed times in each group that were greater than the last observed time in the last group.
                 This has been fixed.
      
          34. use varlist using filename, when more than 40% of the variables in the dataset filename had variable labels and the number of variables with variable labels
              was greater than 200, could crash Stata.  This has been fixed.
      
          35. xtdidregress with option aggregate(standard) and either option vce(robust) or option vce(hc2) failed to cluster standard errors at the group level as
              documented.  This has been fixed.
      
      
      -------- update 21may2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. (StataNow) Power analysis for logistic regression.  New command power logistic calculates power, sample size, and effect size for tests of one covariate in
              a logistic regression model.  Logistic regression is used to examine the effect of continuous or discrete covariates on a binary outcome.  When you are
              designing an experiment that will be analyzed using logistic regression and you are interested in testing whether a particular covariate of interest affects
              the outcome, look no further than power logistic.  Up to 20 nuisance covariates, which are predictor variables included in the logistic regression model but
              whose coefficients are not tested, are allowed, as is correlation between the covariate of interest and nuisance covariates.  Multiple values of parameters
              may be specified to perform a sensitivity analysis, with the result presented as a table or a graph.
      
              Eleven covariate distributions are supported, with special syntaxes to facilitate use with one or two binary predictors.  Suppose your outcome Y is binary
              and you have two binary covariates: covariate of interest X and nuisance covariate Z.  To calculate the sample size needed to attain 80% power with type I
              error of 5%, type
      
              . power logistic 1.5, px(0.3) pz(0.2) py(0.6) pycondx1z1(0.8)
      
              To graph the power curve for a normally distributed covariate of interest and two nuisance covariates following uniform and binomial distributions, type
      
              . power logistic, x(distribution(normal 0 1) oratio(1.5)) z1(distribution(uniform 1 8) oratio(1.2)) z2(distribution(binomial 8 0.3) oratio(1.4))
                  pycondxmzm(0.4) n(150(25)300) graph
      
              Learn more at stata.com/statanow/power-analysis-logistic-regression/.
      
           2. xthdidregress and hdidregress have new option usercohort() that allows you to provide a cohort variable to be used during estimation.  This is useful when
              there are gaps in the data but researchers know treatment for a given group occurred during the missing time period.  When usercohort() is specified,
              xthdidregress and hdidregress will save the variable in usercohort() as _did_cohort or the name provided in cohortname().
      
           3. New command gencohort allows you to create a cohort variable that can be used in heterogeneous difference-in-differences commands (xthdidregress and 
              hdidregress).
      
           4. ttest and ttesti have the following new stored results:
      
                      r(N_combined)
                      r(se_1)
                      r(se_2)
                      r(se_combined)
                      r(sd_diff)
                      r(mu_combined)
                      r(mu_diff)
                      r(lb_1)
                      r(ub_1)
                      r(lb_2)
                      r(ub_2)
                      r(lb_combined)
                      r(ub_combined)
                      r(lb_diff)
                      r(ub_diff)
      
           5. table, when specified with an estimation command in option command() that contains option eform or eform(string), reported the fitted coefficients instead
              of the specified exponentiated coefficients.  This has been fixed.
      
           6. (Stata/SE and Stata/BE) sort with more than one billion observations could crash Stata.  This has been fixed.
      
           7. (Mac and Unix) python set exec pyexecutable, when pyexecutable contained spaces, could issue error message "failed to set the specified Python version",
              r(601).  This has been fixed.
      
      
      -------- update 07may2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. The Do-file Editor now populates the autocompletion list for macros using macro definitions in the current do-file in addition to macros in memory.
      
           2. icd10pcs has been updated for the 01apr2025 update.  Type icd10pcs query to see information about the changes.
      
           3. The Java Development Kit (OpenJDK) that is redistributed with Stata is now updated to version 21.0.7+6-LTS acquired from Azul Systems.
      
           4. collapse with weights and a stat of sum, when the entire group of the variable contained missing values, generated NaN (not a number) instead of 0.  This
              has been fixed.
      
           5. graph bar and graph dot with stat meanci failed to save the confidence interval lines when the graph was saved to a live .gph file.  This has been fixed.
      
           6. nl interactive version using free parameters grouped by a name ({group:param1}, {group:param2}, ...) would drop the group name and only display the free
              parameter names (/:param1, /:param2, ...) in the coefficient table.  This has been fixed.
      
           7. Mata function fileexists() failed to check whether a URL was readable.  This has been fixed.
      
           8. pchi did not preserve the dataset sort order.  This has been fixed.
      
           9. pchi, pnorm, qchi, qnorm, qqplot, and symplot could mistakenly mark the dataset in memory as changed.  This has been fixed.
      
          10. predict (newvar={param:}) or predict stub*, parameters after nl interactive version with param: as a free parameter would produce a Mata conformability
              error.  This has been fixed.
      
          11. reshape has the following fixes:
      
              a. reshape, when favor(speed) was in effect, failed to keep value labels for the xij variables in the converted data.  This has been fixed.
      
              b. reshape wide, when favor(speed) was in effect, and for xij variables without a label in the original data, did not label the corresponding xij variables
                 in the converted data.  The correct behavior, like when favor(memory) is in effect, is to compose the variable label for each xij variable using the i
                 level and the stub from the original variable.  This has been fixed.
      
          12. In Stata/SE, Stata/BE, and Stata/MP with set processors 1, when set sortmethod was set to fsort (the default) and Ctrl+c or Break was pressed during a
              long-running sort, the variable being sorted could mistakenly be marked as sorted.  This has been fixed.
      
          13. xtgls could fail to drop groups with only one observation in some cases, causing an error.  This has been fixed.
      
          14. (Mac) Using frames either directly or indirectly while the Data Editor was open could cause Stata to crash.  This has been fixed.
      
      
      -------- update 16apr2025 --------------------------------------------------------------------------------------------------------------------------------------------
      
           1. histogram, when specified with options addlabels, horizontal, and by(), failed to place the bar height labels correctly.  This has been fixed.
      
           2. ml check now restores the starting values instead of keeping the alternative coefficient vector that is randomly generated between tests 6 and 7.  The old
              behavior, which could result in randomly failed model fits, is not preserved under version control.
      
           3. predict, when called after meglm successfully fit a model with multiple random slopes, sometimes failed to compute the empirical Bayes means and their
              standard errors.  This has been fixed.
      
           4. After some estimation commands, such as regress, the dialog box for predict would not submit the command to Stata when the Submit button was pressed.  This
              has been fixed.
      
           5. (Windows) The Project Manager would not be visible after opening a project until View > Show Project Manager was selected.  This has been fixed.
      
           6. (Mac) The latest macOS update could cause Stata's windows that support tabbing to open as individual windows.  This has been fixed.
      
           7. (Unix) The GUI version of Stata for Unix, when attempting to convert a string to numeric (for instance, when using string function real()) and when the
              string contained a period for a decimal separator and the language or locale for the operating system used a comma for a decimal separator, incorrectly
              truncated the string after the decimal separator to an integer (for example, converted the string "4.01" to the number 4).  This has been fixed.
      
      
      -------- previous updates --------------------------------------------------------------------------------------------------------------------------------------------
      
          See whatsnew18to19.
      
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ready to use the latest Stata features?

Explore the full Stata feature set, compare Stata editions, or see how organisations are applying these tools in our real-world case studies.

Want advice on whether StataNow is right for your team? Contact SDAS and we’ll help you choose.