__Title__

**Additions to Stata since release 15.0**

__Description__

Update history:

**Stata 15.0 base 06jun2017**
**Stata 15.1 base 06nov2017**
**updated to 21mar2019**

This file records the additions and fixes made to Stata since the release
of version 15.0. The end of this file provides links for earlier
additions and fixes.

Updates are available for free over the Internet. Click here to obtain
the latest update, or see updates for detailed instructions.

The most recent changes are listed first.

-------- **update 21mar2019** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 19(1).

2. **asclogit** with option **vce(cluster** *clustvar***)** using a string *clustvar*
variable, when the case variable was not nested in clusters,
incorrectly reported results instead of producing an error message.
This has been fixed.

3. **churdle** with frequency weights reported the wrong number of
observations. This has been fixed. The reported coefficients, test
statistics, and confidence intervals were correct.

4. **compare**, in cases with extreme double-precision values outside the
range of float precision (such as **c(mindouble)** or **c(maxdouble)**),
could show missing values in the output table. This has been fixed.

5. **estat sd** after **mixed** now allows option **coeflegend** when option **post**
is also specified. **coeflegend** requests that **estat sd** display a
legend that identifies how posted coefficients, standard deviations,
and correlations should be specified in expressions.

6. **estat sd** after **meglm**, **melogit**, **meprobit**, **meologit**, **meoprobit**,
**mepoisson**, **menbreg**, **meqrlogit**, and **meqrpoisson** no longer allows
option **coeflegend** unless option **post** is also specified. The old
behavior is not preserved under version control.

7. After the 20feb2019 update, **estimates table** specified with results
containing two-part named free parameters, such as **/mills:lambda** of
**heckman, twostep**, exited with error message /mills not found. This
has been fixed.

8. **nlogit** with option **vce(cluster** *clustvar***)**, when the case variable was
not nested in clusters, incorrectly reported results instead of
producing an error message. This has been fixed.

-------- **update 20feb2019** -----------------------------------------------------

1. Functions **tin()** and **twithin()** now support dates in business calendar
(**%tb**) format.

2. **describe** now stores the dataset label in **r(datalabel)**.

3. **areg** specified with a factor variable having a single chosen level,
when that factor level was not observed in one or more of the
absorption groups and the model contained subsequent interaction
terms containing a continuous variable, produced incorrect
coefficients and standard errors. This has been fixed.

4. **ereturn post** and **ereturn repost** with option **esample()** failed to
update variable indices in the existing Mata views. For Mata views
that were created using variables with an index greater than that of
the variable specified in option **esample()**, those columns were
referencing variables with a higher index than they should have.
This has been fixed.

5. **fracreg** with frequency weights reported the wrong number of
observations. This has been fixed. The reported coefficients,
standard errors, test statistics, and confidence intervals were
correct.

6. **gsem** no longer requires option **nocapslatent** when option **lclass()** is
specified and any of the observed variable names in the model begins
with a capital letter.

7. **svy****:** **gsem**, when **svyset** weights contained zero values, sometimes
exited with an unhelpful error message. **svy** now properly marks the
estimation sample for **gsem** in this case.

8. **gsem** now exits with an informative error message when
factor-variable operators are specified on a latent variable not
identified in option **lclass()**. The old behavior, where **gsem** ignored
factor-variable operators specified on latent variables not
identified in option **lclass()**, is not preserved under version
control.

9. After the 15 Oct 2018 update, **import excel**, when importing an **.xlsx**
file that was already open in Excel, exited with an uninformative
error message. This has been fixed.

10. **makecns** now allows the number of constraints to be equal to the
number of parameters. This affects estimation commands such as
**cnsreg** and any estimation command that uses **ml**.

11. Mata functions **fputmatrix()** and **fgetmatrix()** were unable to save
Mata structure matrices and vectors. This has been fixed.

12. Mata function **regexr()**, when a) the regular expression to match was
a single byte, b) the match occurred at the end of the source
string, and c) the replacement string was length 0 or 1, failed to
replace the matching substring.

For example,

**mata: regexr("ABCDa","a","")**
**mata: regexr("ABCDa","a","c")**

both wrongly returned **"ABCDa"** instead of **"ABCD"** and **"ABCDc"**. This
has been fixed.

13. **ml**, when fitting a model with option **svy** and survey weights were not
**svyset**, posted the name of a temporary variable in macros **e(wvar)**
and **e(wexp)**. This has been fixed.

14. **predict**, when specified with a new variable name that matches a
variable in the current estimation results, now exits with an error
message even when that variable does not exist in the current
dataset. The old behavior, which provided invalid predicted values,
is not preserved under version control.

15. **predict** after **asmixlogit**, when specified with option **scores** and a
specified variable type, retained the specified variable type for
only the first score variable. This has been fixed.

16. **predict** after **asmixlogit** and with option **scores**, when **asmixlogit** was
specified with a full-factorial interaction among variables with
fixed coefficients and was specified with option **random(***varlist***,**
**correlated)** where *varlist* consisted of only a single variable,
produced scores that were incorrectly set to 0. This has been
fixed.

17. **predict** after **gsem**, when specified with option **classposteriorpr** and
when the fitted model contained two or more multinomial outcomes
with missing-value patterns that would cause one or more
observations to be dropped from the estimation sample, exited with
an unhelpful error message. This has been fixed.

18. **predict** after **ologit** and **oprobit** ignored option **nooffset**. This has
been fixed.

19. **predict** after **ologit** and **oprobit**, when specified with option **scores**,
failed to exit with an error message when option **nooffset** was
specified. This has been fixed.

20. **sem** now exits with an informative error message when factor-variable
operators are specified on a latent variable. The old behavior,
where **sem** ignored factor-variable operators specified on latent
variables, is not preserved under version control.

21. **sem** with observed exogenous variables and two or more latent
exogenous variables sometimes had difficulty fitting an
otherwise-identified model depending on the order of the specified
paths. This has been fixed.

22. The SEM Builder has the following fixes:

a. The SEM Builder, when the standard error was included in the
customized appearance for a selected connection, would report
the standardized estimate instead of the standard error
estimate. This has been fixed.

b. The SEM Builder, when attempting to change a path's arrow size,
resulted in no change. This has been fixed.

c. The SEM Builder, when changing a path's arrow barb size to 0,
resulted in the arrow being replaced by a line that ran off the
canvas. This has been fixed.

23. **svy****:** **total**, for data with a stratum having a single sampling unit
and data that have been **svyset** with option **singleunit(centered)**, now
centers using the average of the stratum totals for a given stage
instead of using the grand mean. The old behavior produced standard
errors that were too large and is not preserved under version
control.

24. **teffects nnmatch** using both exact and distance matching ignored the
specified caliper for the distance matching. This has been fixed.

25. Stata now creates random names for SVG path elements when exporting
graphs to the SVG format. When an HTML document contains multiple
Stata SVG graphs that share common SVG path names, a browser can
have trouble rendering the SVG graphs; randomizing the path names
helps prevent that. If you would like control over how the SVG path
names are generated, specify option **pathprefix()** when exporting the
graph. Stata will use your path prefix and an index that is
incremented for each path to create stable path names. See **[G-3]**
*svg_options* for more information.

-------- **update 17dec2018** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 18(4).

2. **churdle** has the following fixes:

a. **churdle**, when specified with prefix **svy** and weights with missing
values, incorrectly exited with an error message. Now, point
estimates are produced.

b. **churdle**, when specified with prefix **svy**, produced incorrect
standard errors for the auxiliary parameter. This affected only
models where heteroskedasticity was not modeled. This has been
fixed.

3. **cpoisson**, when constraints were specified and initial values were
not feasible, incorrectly exited with an uninformative error
message. This has been fixed.

4. **ereturn display**, when specified with results from **mean** and **total**,
ignored option **eform()** instead of reporting the estimated parameters
in exponentiated form. This has been fixed.

5. **estat sbknown**, when estimated on one panel of a multiple-panel
dataset, exited with an uninformative error message. This has been
fixed.

6. **histogram**, when specified with an **if** expression or **in** range,
incorrectly applied these sample restrictions to additional plots
specified in option **addplot()**. This has been fixed.

However, when option **by()** is also specified, the **if** expression or **in**
range sample restrictions will be applied to additional plots
specified in option **addplot()**. In other words, **histogram**'s behavior
has not changed when option **by()** is specified.

7. **mestreg** did not check for the presence of delayed entries or gaps.
**mestreg** now returns error message "delayed entries or gaps not
allowed".

8. **predict** with option **pr** after **gsem**, **meologit**, **meoprobit**, **xtologit**,
and **xtoprobit** did not allow you to predict probabilities for
negative ordinal outcomes. This has been fixed.

9. **predict** with option **scores** after **tpoisson**, which was not
left-truncated at zero, produced incorrect scores. This has been
fixed.

10. **stteffects ipwra** with survival-time outcome model **weibull**,
**exponential**, or **lnormal** sometimes failed to converge. Convergence
has been improved.

-------- **update 15oct2018** -----------------------------------------------------

1. **icd10cm** and **icd10pcs** have been updated for the 2019 fiscal year.
Type **icd10cm query** or **icd10pcs query** to see information about the
changes.

2. **areg**, when specified with factor variables and weights, sometimes
failed to omit a factor level that was constant within the **absorb()**
variable. When this happened, the standard error for the
coefficient on the associated factor level was typically
astronomical compared with the other standard error estimates. This
has been fixed.

3. **estat lcmean** and **estat lcprob**, when **fmm** or **gsem** fit a model with a
**pointmass** outcome in the base level of the latent class, incorrectly
exited with error message "prediction is a function of possibly
stochastic quantities other than e(b)". This has been fixed.

4. **estimates table**, when **set emptycells drop** was in effect and an
interaction term was specified in option **keep()** or option **drop()**,
exited with error message "invalid syntax". This has been fixed.

5. **fredsearch** with option **tags()**, when the number of tags specified was
greater than 5, returned an uninformative error message. **fredsearch**
now returns error message "at most 5 tags can be specified in option
tags()".

6. When exporting a graph to EPS or PDF format, Stata now hides lines
with a line width of **none** or **0**.

7. **gsem**, when specified with a truncated Poisson outcome, sometimes
caused Stata/MP to crash. This has been fixed.

8. The 02 April 2018 update caused **import excel** with option
**sheetreplace** to remove all workbook cell ranges. This has been
fixed.

9. **logit**, when fitting a model where a large number of the levels of a
factor variable are perfect predictors and when **set emptycells drop**
is in effect, could cause Stata to crash. This has been fixed.

10. **margins** after **npregress** with option **noderivatives** always used
default kernels **epanechnikov** and **racine** even if the user specified
another kernel during estimation. This has been fixed.

11. **margins** after **npregress** with option **noderivatives**, when **margins** was
called more than once, removed the auxiliary variable used to store
the mean function prediction. This has been fixed. Marginal
effects and predictions were not affected by this issue.

12. **marginsplot** failed to plot margins values larger than **c(maxfloat)**.
This has been fixed.

13. As of Stata 15, matrix subscripting did not recognize **/:** as a
shortcut for retrieving all the free parameters from the specified
matrix. This problem was noticed when running community-contributed
command **esttab** with option **unstack**. This has been fixed.

14. **mixed**, **meqrlogit**, and **meqrpoisson** now store the number of iterations
in **e(ic)**.

15. **ml display**, when working with estimation results containing
free-parameter notation in the column stripe of **e(b)**, now interprets
each of those free parameters as a separate equation when counting
how many parameters to exponentiate when an *eform_option* is
specified. The old behavior, grouping the elements with
free-parameter notation into a single equation, is not preserved.

16. **mleval**, **mlvecsum**, **mlmatsum**, and **mlmatbysum** exited with error message
"equation 1000 out of range" for estimation commands that specified
more than 999 equations. This restriction has been removed. Now
the number of equations allowed by these estimation commands is only
limited by **set matsize**.

17. **program** lines containing multiple adjacent spaces enclosed by
compound double quotes, **`""'**, would have those spaces compressed to
a single space. This has been fixed.

18. **stcoxkm**, which is not an estimation command, incorrectly modified
existing stored estimation results or incorrectly created new
estimation results when there were none. This has been fixed.

19. Stata would crash at the end of the following sequence of events:
a. Create a Mata view from a varlist with time-series operators
or factor variables.
b. Call **discard**.
c. Run an estimation command that posts **e(sample)**.
d. Create a new Mata view.
This has been fixed.

20. (Linux) **c(username)** could return a truncated copy of the user ID
from the operating system. The truncation would occur after 8
characters or after a nonalphanumeric character. This has been
fixed.

-------- **update 20sep2018** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 18(3).

2. **bootstrap**, when used with panel-data commands and variables having
time-series operators, produced incorrect standard errors. More
lagged observations than necessary were excluded from the bootstrap
replication samples. Under standard assumptions, the reported
standard-error estimates were conservative. Stata's xt estimation
commands that allow both time-series operators and the
**vce(bootstrap)** option were also affected. This has been fixed.

3. **levelsof**, when used with **strL** variables and with only one
observation in the dataset, produced an error message. This has
been fixed.

4. **margins** has the following fixes:

a. **margins**, after fitting a model with an offset, when options
**expression()** and **at()** were both specified, in rare cases
computed margins from the expression using only the first
observation instead of the entire estimation sample.
Specifically, only the first observation was used when the
expression included more than a single prediction, the
prediction relied on the offset, and each variable included in
option **at()** was set to a constant value. This has been fixed.

b. **margins** with option **nose**, option **dydx()**, and multiple **predict()**
options reported marginal effects using only the first **predict()**
option instead of computing the marginal effect for all
specified predictions. This has been fixed.

5. **mixed** with option **dfmethod(kroger)** or option
**dfmethod(satterthwaite)**, when group identifiers were string
variables, exited with an uninformative error message. This has
been fixed.

6. **predict** after **menl** now estimates predictions for observations with a
missing dependent variable.

7. Beginning with the 07 August 2018 update, **reshape wide** with option
**string** and option **j(***varname***)**, where *varname* was a string variable
containing spaces, did not correctly identify unique values of
*varname* if the characters before the first space were identical for
two or more categories of *varname*. **reshape wide** now exits with an
error message indicating that string **j** variables are not allowed to
contain spaces.

To use a string variable that contains spaces with **reshape wide**, you
can first create a corresponding numeric variable using **encode** and
then specify the resulting variable in **reshape**'s option **j()**.

-------- **update 07aug2018** -----------------------------------------------------

1. The following new functions are added to Stata and Mata:

a. **expm1(***x***)** returns e^*x* - 1 with higher precision than **exp(***x***)**-1 for
small values of |*x*|.

b. **ln1p(***x***)** and **log1p(***x***)** return the natural logarithm of 1+*x* with
higher precision than **ln(1+***x***)** for small values of |*x*|.

c. **ln1m(***x***)** and **log1m(***x***)** return the natural logarithm of 1-*x* with
higher precision than **ln(1-***x***)** for small values of |*x*|.

2. **export excel** has new option **keepcellfmt** that preserves the cell
style and format of an existing worksheet when writing data.

3. **estat wcorrelation** could generate an incorrect correlation or
covariance matrix when used after **menl**. This occurred only when
option **rescovariance(unstructured, index(***indexvar***))** or option
**rescorrelation(unstructured, index(***indexvar***))** was specified with
**menl** and the user dropped observations from the dataset after
fitting the model such that all observations from one or more levels
of *indexvar* were omitted. This has been fixed.

4. **irf create** with option **order()** did not produce the correct order
when more than two variables changed position in the new order.
This has been fixed.

5. **metobit** and **meintreg** incorrectly omitted the variance component for
the outcome variable, resulting in **e(k_rs)** being one less than it
should have been. This has been fixed.

6. **mlogit** and **mprobit**, when the specified *depvar* had long value labels
that started with a number, exited with error message "invalid
name". This has been fixed.

7. **predict** could generate incorrect predictions after **menl**. This
occurred only when option **rescovariance(unstructured,**
**index(***indexvar***))** or option **rescorrelation(unstructured,**
**index(***indexvar***))** was specified with **menl**, and the requested
prediction was a function of the random effects, and the user
dropped observations from the dataset after fitting the model such
that all observations from one or more levels of *indexvar* were
omitted. This has been fixed.

8. **proportion**, when specified without the **svy** prefix, without option
**vce(cluster** *...***)**, and without *pweight*s, now computes the standard
error of the estimated proportion using the formula

sqrt(*phat*(1-*phat*)/*n*)

as originally documented in *Methods and formulas*. The old behavior,
using a similar formula that has *n*-1 in the denominator instead of
*n*, is not preserved under version control.

9. The 06 June 2018 update caused **putexcel** to remove a cell fill-color
format when any font format was written to the same cell. This has
been fixed.

10. **reshape wide** with option **string** and option **j(***varname***)**, where *varname*
is a string variable containing spaces, failed to generate the
variables corresponding with the observations where the string
variable contained spaces. This has been fixed.

11. **svy: mean** with option **over()** identifying more than 100 groups and
stage-level sampling weights exited with error message "*varname* not
byte". This has been fixed.

12. **xtile**, when an **if** condition was specified after an expression that
ended with a parenthesis, incorrectly produced an error message.
This has been fixed.

13. Stata-Java API Specification, when called with **version** less than 14,
incorrectly encoded native strings from Stata to Java using either
iso-8859-1 or MacRoman, depending on the platform. This was
incorrect because all strings in Stata are now represented with the
UTF-8 encoding. This is now fixed so that the UTF-8 encoding is
always used when converting Stata native strings to Java.

14. When using the Stata-Java API Specification, the method
ValueLabel.removeVarValueLabel(int index) failed with return code
**r(198)** when a valid variable index was specified. This has been
fixed.

15. (Mac) When printing from the Viewer or Results window, changing the
font size in the print dialog caused Stata to crash. This has been
fixed.

16. (Mac) When printing from the Viewer or Results window, changing the
scale in the print dialog could result in blank pages being printed.
This has been fixed.

-------- **update 27jun2018** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 18(2).

2. **graph bar** with option **percentages**, when using a scheme that sets a
nonzero number of minor ticks, used the wrong scale for the bar
heights when the maximum value among the variables in *yvars* was
greater than the maximum computed percentage. This has been fixed.

3. **gsem** using the default integration method, **intmethod(mvaghermite)**,
and with prefix **svy**, in the rare situation where **predict** failed to
compute the adaptive parameters within the default maximum number of
adaptive iterations, reported standard errors that were too large,
usually by a multiple of 3 or more. This situation will now cause
**svy** to exit with an error message stating that the scores could not
be computed and also suggesting that the model be refit using a
different integration method.

Other commands affected by this change are **meglm**, **metobit**, **meintreg**,
**melogit**, **meprobit**, **meologit**, **meoprobit**, **mepoisson**, **menbreg**, and
**mestreg**.

4. **meglm**, **metobit**, **meintreg**, **melogit**, **meprobit**, **meologit**, **meoprobit**,
**mepoisson**, **menbreg**, and **mestreg**, when the fixed-effects equation
contained factor variables, returned an incorrect number of
parameters in **e(k_f)**. This has been fixed.

5. **sem** has improved starting values logic for models where some latent
variables have only latent indicators, such as in hierarchical CFA
models.

-------- **update 06jun2018** -----------------------------------------------------

1. **menl** has the following improvements:

a. **menl** now uses standard maximization options such as **iterate()**
and **tolerance()** to control maximization of the NLS algorithm.
It was previously controlled by **pnlsopts()**'s suboptions.
**pnlsopts()** is no longer allowed with the NLS algorithm.

b. **menl** with nonlinear least-squares (NLS) models -- models without
random effects and with i.i.d. errors -- used a default of only
five maximum number of iterations. Now it uses the current
value of **set maxiter**, which is **iterate(16000)** by default. The
increased default maximum number of iterations may result in
convergence of the NLS models that previously failed to converge
in five iterations.

2. **putdocx** has the following improvement and fix:

a. **putdocx table** has new argument *bwidth* in option
**border(***bordername* [, *bpattern* [, *bcolor* [, *bwidth*]]]**)**, which is
used to set the width of the specified border.

b. **putdocx table** *tablename***(***i***,***j***)** **=** **(***exp***)**, when *exp* contained
unbalanced parenthesis **(** or **)**, incorrectly exited with error
message "expression must be enclosed in ()". This has been
fixed.

3. **graph export** has the following fixes:

a. **graph export**, when exporting to a PDF file a **twoway scatter**
graph that contained multiple overlayed scatterplots where the
symbols in each plot specified transparency settings on the same
color, failed to display symbols with transparency. This has
been fixed.

b. **graph export** could crash Stata when exporting to SVG format a
graph that contained many graph items. This has been fixed.

4. When Mata function **LA_DGEHRD()** was called within a timing code
section using timer 1, the reported time was wrong. This has been
fixed.

5. When using Mata, views and subviews that were created using variable
lists containing factor-variables notation or time-series operators
used more memory than necessary. Although calculations were
correct, Stata typically became noticeably slower. This has been
fixed.

6. **matrix list** and **matlist**, when used to display matrices posted by
**contrast** and **pwcompare**, failed to include the coding or contrast
operators in the output. This has been fixed.

7. **putpdf table** with option **width()**, when the widths for each column in
the table were specified as a group of numbers and the sum of those
numbers equaled 100 as required, sometimes incorrectly exited with
error message "failed to set table width". This has been fixed.

8. **regress** with **aweight**s or **iweight**s and option **vce(hc2)** or option
**vce(hc3)** did not use properly weighted leverage values when
computing the variance estimates. This typically resulted in
standard-error values that differed in the third significant digit.
This has been fixed.

9. (Windows) The 18 April 2018 update caused the exporting of Stata
graphs to WMF format using **translate** to fail. This has been fixed.
However, WMF is a legacy metafile format and does not support modern
graphics features such as transparency and smooth lines. Users are
encouraged to switch to the EMF format, which is also supported by
older versions of Stata.

-------- **update 08may2018** -----------------------------------------------------

1. The extended regression model commands now allow greater flexibility
in modeling treatment effects.

a. New suboptions **povariance** and **pocorrelation** are now available
within options **entreat()** and **extreat()** where the treatment model
is specified.

Different variance parameters can be estimated for each
potential outcome (for each treatment level) by specifying the
suboption **povariance**. **povariance** may be specified only when
fitting a model with **eregress** or **eintreg**.

Different correlation parameters can be estimated for each
potential outcome (for each treatment level) by specifying the
suboption **pocorrelation**.

b. New suboptions **povariance** and **pocorrelation** are now available
within option **endogenous()** when the suboption **probit** or **oprobit**
has also been specified.

Different variance parameters can be estimated for each level of
the endogenous covariate by specifying the suboption **povariance**.
**povariance** may be specified only when fitting a model with
**eregress** or **eintreg**.

Different correlation parameters can be estimated for each level
of the endogenous covariate by specifying the suboption
**pocorrelation**.

2. **meglm**, **metobit**, **meintreg**, **melogit**, **meprobit**, **meologit**, **meoprobit**,
**mepoisson**, **menbreg**, and **mestreg**, when integration method
**mvaghermite**, **mcaghermite**, or **ghermite** is specified, have improved
performance for crossed models specified using the **R.** operator.

3. **areg**, when specified with factor variables and option **vce(cluster**
*clustvar***)**, exited with an error message if any of the independent
variables contained **_cons** in their names. This has been fixed.

4. **bootstrap** with option **bca** and a variable named **_merge** in the dataset
incorrectly exited with error message "variable **_merge** already
defined". This has been fixed.

5. **jackknife** with option **keep** and a variable named **_merge** in the
dataset incorrectly exited with error message "variable **_merge**
already defined". This has been fixed.

6. **margins** after **npregress** has the following fixes:

a. **margins** with option **dydx()**, when value labels contained spaces,
exited with an error message. This has been fixed.

b. **margins** with option **at(***varname* **= generate(***exp***))**, when *exp*
contained spaces, exited with an error message. This has been
fixed.

7. **predict** after **arch**, when **arch** was specified with both options
**archmlags()** and **archmexp()**, produced an error message. This has
been fixed.

8. **predict** after **meglm**, **metobit**, **meintreg**, **melogit**, **meprobit**, **meologit**,
**meoprobit**, **mepoisson**, **menbreg**, and **mestreg** now produces an error
message if option **ebmeans** or **ebmodes** is specified without option
**reffects**. Previously, predictions of the mean response or another
specified statistic that used the empirical Bayes means or empirical
Bayes modes were produced. That behavior was not documented and is
not preserved under version control.

9. **pwcorr**, when specified with two variables and option **obs**, reported
the wrong number of observations for the individual variables when
some of the observations contained missing values in one variable
but not the other. This has been fixed.

-------- **update 18apr2018** -----------------------------------------------------

1. The Java Runtime Environment that is redistributed with Stata is now
updated to version 8 update 162.

2. **graph twoway** with option **by()**, when using a scheme that sets a
nonzero number of minor ticks, sometimes rescaled the axes
differently between the individual graphs. This usually happened to
the y axes but could also happen to the x axes. This has been
fixed.

3. **import fred** with proxy settings enabled exited with error message
"connection timed out". This has been fixed.

4. **predict** with option **score** after **eteffects**, when one score was
requested rather than one score for each equation, exited with an
error message. This has been fixed.

5. (Mac) Stata could randomly crash when printing from the Results or
Viewer window. This has been fixed.

-------- **update 02apr2018** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 18(1).

2. **npregress** has the following new features and fix:

a. **npregress** with new option **citype()** allows you to specify
normal-based and bias-corrected bootstrap confidence intervals
in addition to the default percentile confidence interval.

b. **margins** after **npregress** with new option **citype()** allows you to
specify normal-based and bias-corrected bootstrap confidence
intervals in addition to the default percentile confidence
interval.

c. **margins** after **npregress** now allows contrast operators.

d. **npregress** produced an error message when a specific level of a
factor variable was specified as a regressor. This has been
fixed.

3. **levelsof** has new option **hexadecimal** for numeric variables, which
formats the levels in hexadecimal format. This is useful when the
variable's levels are noninteger or extremely large integers
(absolute value >= 1e19). This option guarantees that the values in
the macro that **levelsof** creates are exactly numerically equal to
their values in the variable. This option is unnecessary for
integers whose absolute values are less than 1e19.

4. **bayes** prefix for multilevel models (for example, **bayes: melogit**)
sometimes would not allow crossed effects, issuing an error message
that the crossed latent variables were in conflict. This has been
fixed.

5. **bayes: mvreg** with option **gibbs** performed incorrect full Gibbs
sampling that affected the joint distribution of regression
coefficients from different equations. This has been fixed. Note
that the marginal sampling distributions of regression coefficients
were unaffected and correct.

6. **ci proportions** exited with an error message when *varlist* included a
Stata wildcard character (**~**, **?**, **-**, or *****). This has been fixed.

7. **predict** after **glm**, when **glm** was used with a user-written link
function that required specification of a variable, exited with
error message "invalid syntax". This has been fixed.

8. **svy: tabulate**, when the specified variable(s) or the value label of
the specified variable(s) contained a single left quote (**`**), exited
with error message "too few quotes". This has been fixed.

9. (Windows) When the current working directory was a drive letter (for
example, "c:"), **dyndoc**, **dyntext**, and **markdown** constructed the output
file path using a relative path notation "c:outputfile" instead of
absolute path notation "c:/outputfile". In this case, clicking on
the link to the file failed to open it in the web browser. This has
been fixed.

-------- **update 08mar2018** -----------------------------------------------------

1. **estat teffects**, when specified after commands **eregress**, **eintreg**,
**eprobit**, or **eoprobit** with prefix **svy:**, incorrectly exited with error
message "invalid subcommand teffects". This has been fixed.

2. **graph twoway** with option **by()**, when using a scheme that turned off
y-axis grid lines, produced graphs with y-axis grid lines anyway.
This has been fixed.

3. **levelsof** did not correctly format large integers (__>__ 1e7). This has
been fixed.

4. **margins** with option **vce(unconditional)**, when used after **nl**, produced
incorrect standard errors that were, on average, the square of what
they should have been. This means that if the previously reported
standard error was larger than 1, then it was too large, and if the
previously reported standard error was smaller than 1, then it was
too small. This has been fixed.

5. **moptimize()**, when **moptimize_init_indepvars()** was specified using a
Mata subview that was created by selecting a subset of the columns
of a Mata view containing time-series operators or factor variables,
sometimes caused Stata to crash. This has been fixed.

6. **putdocx table** with options **title()** and **headerrow()**, when the table
continued on more than one page, only created the table header on
the first page and did not repeat the table header on subsequent
pages. This has been fixed.

7. **putexcel** *ul_cell*** = formula(***formula***)**, when double quotes were
specified in *formula*, created an invalid workbook. When the
workbook was opened in Excel, a stopbox was issued. This has been
fixed.

8. **svy**, when specified using the prefix syntax to replay survey
estimation results from **meglm**, **metobit**, **meintreg**, **melogit**, **meprobit**,
**meologit**, **meoprobit**, **mepoisson**, **menbreg**, and **mestreg**, such as

**svy: meglm**

exited with error message "last estimates not found". This has been
fixed.

9. **svy: nl**, when the specified model contained a constant term,
produced standard errors that were slightly too large by the factor
f = (df_t - df_m) / (df_t - df_m - 1). Here, df_t is the total
degrees of freedom, and df_m is the model degrees of freedom. This
has been fixed.

10. **teffects nnmatch** with option **biasadj()** and frequency weights
produced incorrect standard errors for the estimated average
treatment effect (ATE) and the average treatment effect on the
treated (ATET). This has been fixed.

11. Stata ignored the last line of some Stata text files, such as
do-files and dictionaries, if the last line did not contain an
end-of-line delimiter. This has been fixed.

12. (Windows) Stata displayed an empty confirmation dialog box if you
opened a read-only file in the Do-file Editor and attempted to edit
or execute the file. Stata no longer displays the empty dialog box
and now requires you to use a different filename if you try to save
the file.

13. (Windows) The "Recent files" menu truncated file paths at the end
instead of the middle for extremely long file paths. This has been
fixed.

14. (Mac) On macOS 10.13 (High Sierra), using the Data Editor to keep or
drop observations issued an invalid command. This has been fixed.

15. (Unix) On some Unix operating systems, the Do-file Editor would not
remember all syntax highlighting preferences between Stata sessions.
This has been fixed.

-------- **update 13feb2018** -----------------------------------------------------

1. **bayesmh** and prefix **bayes** now allow option **initsummary** to be
specified with option **dryrun**. This is useful for inspecting the
initial parameter values before performing MCMC simulations.

2. **irtgraph icc** with option **blocation**, when the style of decimal point
was set to comma, did not render the lines for the estimated item
difficulties. This has been fixed.

3. **margins**, when used with estimation results from **ologit** or **oprobit**
where the last term in the main equation was an interaction
involving a continuous variable and that continuous variable was
also specified in option **dydx()**, did not compute the standard error
of the marginal effect correctly. The affected standard errors were
typically inflated. This has been fixed.

4. After the 11jan2018 update, Mata function **st_addvar()**, when used to
create new variables and when there were estimation results already
present in **e()**, returned variable indices that were off by one
position. This typically only affected calls to **st_view()** that used
these indices instead of variable names. This has been fixed.

5. **stset** incorrectly cleared variable **_stack**, which was generated by a
previous **stack** command. This has been fixed.

6. The matching logic for estimated coefficients specified in
expressions, such as those allowed by **lincom**, **test**, and **generate**,
was lacking version control for matrix stripe name elements of **e(b)**
that look like functions. For example, stripe name element **cov(y)**
in an expression was transformed to **var(y)** before attempting to
match against the stripe elements of **e(b)**. The matching logic has
been updated to search for the original specification when **version**
is less than 15.0 and to search for both variants when **version** is
15.0 or higher.

-------- **update 30jan2018** -----------------------------------------------------

1. **import excel**'s option **allstring** now has an optional argument,
**allstring("***format***")**, that allows you to control the display format
of numeric spreadsheet columns being converted to Stata string data.

2. New command **lmbuild** makes creating Mata function libraries easier
than does **mata mlib**.

3. **clonevar**, when *newvar* started with the name or an abbreviated name
of the cloned variable, incorrectly exited with error message
"ambiguous abbreviation". This has been fixed.

4. **collapse** **(min)** *varlist*, when a variable in *varlist* contained all
missing values and when at least one of those was an extended
missing value, could return any missing value for that variable
instead of the smallest missing value. This has been fixed.

5. **estat lcprob**, after **fmm** or **gsem**, when the name of the categorical
latent variable was a valid abbreviation of a variable in the
dataset, reported value labels attached to the variable (in the
dataset) instead of the class levels. This has been fixed.

6. **estat mindices**, when specified after **sem** with a large number of
observed endogenous variables, sometimes reported a missing value
for all the modification indices representing an omitted path or
covariance. This has been fixed.

Our technical services team previously recommended using the
undocumented option **slow** when **estat** **mindices** reported missing
values. This option is no longer necessary.

7. **gsem**, when specified using the variable range syntax but with a
space on either side of the dash character, such as

**gsem** ... **fvar -lvar**
**gsem** ... **fvar- lvar**
**gsem** ... **fvar - lvar**

exited with error message nothing found where name expected. **gsem**
now tolerates spaces in this specification.

8. **histogram**, when specified with both options **horizontal** and **addlabel**,
incorrectly placed the bar height labels as if option **horizontal** had
not been specified. The histogram was correctly presented
horizontally, but the bar height labels were incorrectly placed as
if the histogram were vertical. This has been fixed.

9. **logistic**, **logit**, **mlogit**, **ologit**, **oprobit**, and **probit** now accumulate
log-likelihood values using quad precision. These commands now
converge to a solution for some extreme datasets that previously
caused these models not to converge.

10. **logistic**, **logit**, and **probit**, when specified with an interaction term
that had a level that was a perfect predictor and when **set**
**emptycells drop** was in effect, incorrectly exited with error message
"initial vector: extra parameter ... found". This has been fixed.

11. Matrix stripe parsing and matching logic was lacking version control
for stripe name elements that look like functions. For example,
stripe name element **cov(y)** was transformed to **var(y)** without regard
for version control. Now the behavior is to transform only when
**version** is set to 15.0 or higher.

12. **ml**, when specified with option **technique(bhhh)**, sampling weights,
and option **group()**, exited with an uninformative error message even
when the weights were constant within group. This has been fixed.

13. When a graph was exported to SVG format, rotated marker symbols
would not render properly. This has been fixed.

14. (Mac) The 11 Jan 2018 update improved scrolling performance of
tables in the Results window but introduced a bug where horizontal
lines would render only in black. This has been fixed.

-------- **update 11jan2018** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 17(4).

2. **grmap** has new options that control the alignment of borders and
outlines for polygons and text boxes.

3. Function **nt(***df***,***np***,***t***)** incorrectly returned missing values in rare
cases where the iterative method failed to reach convergence. The
iterative method now converges and correct values are returned.

4. Function **tden(***df***,***t***)**, in extreme cases where the degrees of freedom
*df* was greater than about 1e+10, returned incorrect values. This
has been fixed.

5. **gsem**, when option **capslatent** was specified or implied, ignored
variables in the model if their first letter was a capital letter.
**gsem** now recognizes those variables as latent variables.

6. **hausman**, when used with fitted models from **sem** or **gsem** with fitted
covariances, unintentionally exited with an error message such as
"option varname not allowed". This has been fixed.

7. **margins** has the following fixes:

a. **margins** with option **asbalanced**, when working with estimation
results from ordinal outcome models like **ologit** and **oprobit** and
when a factor variable was not among the *marginsvars*,
incorrectly exited with error message "**not conformable**". This
has been fixed.

b. **margins** with option **expression()**, when the expression contained
a time-series-operated variable and when that same variable
specification was also specified in option **at()**, **dydx()**, **dyex()**,
**eydx()**, or **eyex()**, did not correctly compute the requested
margin or marginal effect. This has been fixed.

c. **margins** after **gsem**, **meglm**, **melogit**, **meprobit**, **metobit**, **meintreg**,
**meologit**, **menbreg**, or **mepoisson** with factor variables and random
effects, when *marginsvars* were specified and when **set emptycells**
**drop** was in effect, exited with error message "could not
calculate numerical derivatives". **margins** now computes the
margins as specified.

d. **margins** with option **expression()**, when the expression contained
a factor-variable indicator and in the rare case when the level
values of that factor variable were set to fractional values
using option **at()**, did not correctly compute the requested
margin or marginal effect. This has been fixed.

8. **marginsplot**, when plotting marginal effects of multiple factor
variables in options **dydx()** and **eydx()**, has improved spacing of the
x-axis scale.

9. **predict** after **gsem**, when specified with a single new variable name
and option **pr**, predicted the mean of the first outcome variable even
when it was not a multinomial, ordinal, or Bernoulli outcome.
**predict** now predicts probabilities for the first outcome that is
multinomial, ordinal, or Bernoulli.

10. **putdocx image** with option **width(***#*[*unit*]**)**, when *#* was set to a width
larger than the body width of the document, caused the image to be
clipped or not to be displayed in the document. This has been
fixed. Now if the image width specified is larger than the body
width, the image width in the document is set to the body width.

11. **putdocx table** with option **drop()**, when the row index *i* equaled the
last row in the table, incorrectly exited with an error message.
This has been fixed.

12. **putexcel** *ul_cell***=picture(***filename***)** gave an error message if you used
compound quotes around *filename*. This has been fixed.

13. **putpdf table** with option **margin(***type***,** *#*[*unit*]**)**, when *#* was specified
as a floating-point number, set the margin to the greatest integer
less than or equal to *#*. This has been fixed.

14. The SEM Builder has the following fixes:

a. The SEM Builder incorrectly drew double-thick lines when
rendering the box for a generalized response variable. This has
been fixed.

b. In the SEM Builder, when the outline width for any variable was
set to a sufficiently thick width, the paths connecting that
variable to other variables would have a visible gap from the
oval or rectangle outlining the variable. This has been fixed.

15. **svy: tabulate** in a two-way specification, when there were empty
cells and option **row** or **column** was specified with option **ci**,
incorrectly exited with error message "conformability error". This
has been fixed.

16. **xtreg, fe**, when used to fit a constant-only model, sometimes posted
the total sum of squares in **e(rss)** instead of the residual sum of
squares. This affected the values posted in **e(rmse)**, **e(sigma_e)**,
and **e(rho)**. This has been fixed.

17. The previous update (20dec2017) enabled simplified Chinese
localization by default when the system language was set to Chinese
(zh). Now Chinese localization is only enabled by default if the
system language is set to Chinese (zh) and the region is set to
China (CN). If you wish to manually enable simplified Chinese in
the user interface, type **set locale_ui zh_CN**.

18. Edit > Copy Table could omit the minus sign from negative numbers if
they were in the first cell of a row being copied. This has been
fixed.

19. (Windows) Exporting a graph to a file or the Clipboard in the EMF
format could result in an image that contained a graph that was
incorrectly sized within the image's boundaries. This has been
fixed.

20. (Unix GUI) Stata sometimes crashed when using the Data Editor or
Data Browser, especially when Stata had previously loaded Java.
This has been fixed.

-------- **update 20dec2017** -----------------------------------------------------

1. Stata 可选择中文本土化用户界面 (Chinese language support has been
added).

Stata's menus, dialogs, and the like can now be displayed in
Chinese, as well as Japanese, Spanish, and Swedish. Manuals, help
files, and output remain in English.

If your computer language is set to Chinese (**zh**), Stata will
automatically display the user interface in Chinese. To change
languages manually using Stata for Windows or Unix, select **Edit >**
**Preferences** **> User-interface language...**; to change languages
manually using Stata for Mac, select **Stata 15 > Preferences** **>**
**User-interface language...**. You can also change the language from
the command line; see **[P] set locale_ui**.

2. **bayesstats summary**, **bayesstats ess**, **bayestest interval**, and
**bayesgraph**, after fitting prefix command **bayes** and subsequently
calling **estimates use** or **estimates restore**, failed with error
message "file not found" if the simulation results were not saved by
**bayes** with option **saving()**. This has been fixed.

3. **predict** with option **ystar**, **ystar(***a***,***b***)**, or **e(***a***,***b***)** after **churdle**
**exponential** produced incorrect results. This has been fixed.

The difference between the old and the new results is negligible
when the values of the dependent variable are large, such as 100 or
larger in our experiments. Large values of the dependent variable
are typical with exponential mean models. However, in the rare case
where the dependent variable is small, differences between old and
new predictions may be larger; in our experiments, the change was at
most 6%.

4. **eregress**, when the model included a variable that began with a
capital letter, sometimes incorrectly exited with an error message
regarding specification of initial values. This has been fixed.

5. **esize twosample**, when a string variable was specified in option
**by()**, incorrectly exited with an uninformative error message. This
has been fixed.

6. **mecloglog**, **meglm**, **meintreg**, **melogit**, **menbreg**, **meologit**, **meoprobit**,
**mepoisson**, **meprobit**, **mestreg**, and **metobit** ignored user-specified
constraints imposed on **R.***varname* terms in random-effects equations.
This has been fixed.

7. **putdocx table** with option **title()**, when there was only one column in
the table, exited with error message "failed to add table title".
This has been fixed.

8. **pwcorr** has the following fixes:

a. **pwcorr** with no observations and only two variables specified
incorrectly stored **r(rho)** as 0. It now exits with error message
"no observations".

b. **pwcorr** with no observations for the first two variables and more
than two variables specified incorrectly stored **r(rho)** as 0. It
now correctly stores **r(rho)** as missing.

9. **stepwise** with options **lockterm1** and **lr** and forward selection or
forward stepwise selection computed likelihood ratios at the first
addition step by comparing each model with an additional term with
an empty model rather than with the model that includes the forced
first term. Thus, terms could be added to the model that did not
satisfy the specified significance level for inclusion. This has
been fixed.

-------- **update 21nov2017** -----------------------------------------------------

1. **areg**, when fitting a model with the **absorb()** variable specified
among the *indepvars* and with option **vce(cluster** *clustvar***)** where
*clustvar* was a variable other than the **absorb()** variable,
incorrectly exited with error message "not sorted". This has been
fixed.

2. In Stata 15.1, **drop** and **keep** were modified under version control to
store the number of observations dropped in **r(N_drop)** and the number
of variables dropped in **r(k_drop)**. However, they cleared previously
set **r()** results too soon, meaning that an **r()** result passed to an **if**
condition on **drop** or **keep** was treated as missing. This has been
fixed.

3. **graph** commands that specified option **msangle()** to change the angle
of marker symbols in the current plot retained the adjusted marker
angle for all plots even when **msangle()** was not specified with
subsequent commands. This has been fixed.

4. **graph matrix**, when using the default stroke alignment for bounding
boxes of plots and diagonal text boxes, did not align correctly.
The result was that some borders appeared too thick. This has been
fixed.

5. **gsem** has the following fixes:

a. **gsem**, when fitting a model with both endogenous and exogenous
latent variables and with an interaction term containing a
latent variable, exited with an uninformative error message.
**gsem** now fits the model as specified.

b. **gsem**, when specified with a multinomial logit outcome variable
and crossed random effects, incorrectly exited with an
uninformative error message. **gsem** now fits the model as
specified.

6. Prefix command **mfp** used with **intreg** incorrectly dropped all left- or
right-censored observations from the estimation sample. **mfp** now
keeps these observations.

7. **ml** with method **d1debug** or method **d2debug**, when the specified model
contained factor variables, exited with error message "could not
calculate numerical derivatives". This has been fixed.

8. **predict** after **logit** and **probit**, when the fitted model omitted the
base level of a factor variable because it was a perfect predictor,
did not properly assign missing values to the predictions according
to the information in the matrix **e(rules)**. This has been fixed.

9. **stcox**, when specified with option **shared()** and variable names in
*indepvars* that exceeded the default 12-character width for the
table, produced a coefficient table with misaligned elements in the
row for the **theta** parameter estimate. This has been fixed.

10. **xtile** with option **altdef** failed to use the alternative formula for
calculating percentiles and instead calculated them using the
default formula. This has been fixed.

11. (Mac) When Stata was run on macOS High Sierra, the autocompletion
list box from the Command window remained visible after the user
attempted to cancel it. This has been fixed.

-------- **update 06nov2017** (Stata version 15.1) --------------------------------

1. **bayesmh** has new likelihood **t()** in option **likelihood()** for fitting
Bayesian regression models with Student's t distributed errors, also
known as Bayesian Student-t regression models. This option is
useful for performing robust linear regression inference in the
presence of outliers or when the error terms are not normally
distributed. This option specified with the *t* prior permits **bayesmh**
to fit robust multilevel models in which error terms and random
effects follow Student's t distribution.

2. **margins**, for some nonlinear predictions after certain estimation
commands, now runs faster and computes standard errors and marginal
effects more accurately. These improvements are a direct result of
implementing analytical derivatives of the prediction with respect
to each linear form and free parameter in the fitted model.

Affected estimation commands include, but are not limited to:
**heckman**, **logit**, **nbreg**, **poisson**, and **probit**. See margins derivatives
for the complete list.

3. **menl** has the following new features and fix:

a. **menl** now allows you to specify **unstructured** and **exchangeable**
within options **rescovariance(***rescovspec***)** and
**rescorrelation(***rescorrspec***)** and to specify **distinct** within
option **resvariance(***resvarspec***)**. These new residual covariance
structures let you either estimate each variance and covariance
parameter separately or estimate equal variances and a common
covariance for the residuals.

b. **menl** has new suboption **group()** within options **rescovariance()**
and **rescorrelation()**. This option lets you model residual
covariance and correlation structures at the lowest level of
your model hierarchy without having to include random effects at
that level in your model. This is useful, for instance, when
fitting nonlinear marginal or population-averaged models that
model dependence of residuals directly, without introducing
random effects.

c. **menl** no longer requires you to include random effects in your
model specification. The improved flexibility in model
specification, in combination with option **resvariance()**,
**rescorrelation()**, or **rescovariance()**, permits fitting nonlinear
models without random effects but with heteroskedastic and
dependent error terms.

d. **menl** with option **rescovariance(independent)**, when the data
contained a residual panel with more than two observations,
displayed the standard errors for the residual variance (or
standard deviation) incorrectly. This has been fixed.

e. **menl** for models with uncorrelated heteroskedastic errors now
performs a more numerically efficient scaling computation for
the residuals, which may lead to slightly different parameter
estimates for small datasets or for ill-identified models.

4. **svyset** has the following improvements:

a. **svyset** has new option **rake()** that provides a specification for
calibrating weights using the raking-ratio method.

b. **svyset** has new option **regress()** that provides specifications for
calibrating weights using generalized regression (GREG) or
truncated regression methods.

c. **svyset** with a list of variables specified in option **brrweight()**,
**bsrweight()**, **jkrweight()**, or **sdrweight()** now reports the
weighting variables in a more compact form. Only the first and
last variables in the list are shown. For example, typing the
following command would produce output of the form below:

. **svyset, jkrweight(jk1 jk2 jk3)**

...
jkrweight: **jk1 .. jk3**

5. **estat esize** has the following improvements and change:

a. **estat esize** has new option **epsilon** that reports the table of
effect sizes using epsilon-squared instead of eta-squared. In
comparison with eta-squared, epsilon-squared provides a less
biased estimate of the effect size.

b. **estat esize** with option **omega** now computes omega-squared using
the modern method of Grissom and Kim (2012). Previously, **estat**
**esize** used the method of Hays (1963).

c. **estat esize** reported confidence intervals for omega-squared.
However, these confidence intervals were found to lack the
proper coverage. As such, they are no longer reported, and the
lower and upper bounds are no longer stored in the matrix of
effect sizes, **r(esize)**. The old behavior is preserved under
version control.

6. **esizei**, when specified using the syntax form for effect sizes for F
tests after an ANOVA, has the following changes:

a. **esizei** has new effect-size estimate epsilon-squared that is
reported in the default output. In comparison with eta-squared,
epsilon-squared provides a less biased estimate of the effect
size.

b. **esizei** now computes omega-squared using the modern method of
Grissom and Kim (2012). Previously, **esizei** used the method of
Hays (1963).

c. **esizei** reported confidence intervals for omega-squared.
However, these confidence intervals were found to lack the
proper coverage. As such, they are no longer reported, and the
lower and upper bounds are no longer stored in **r(lb_omega2)** and
**r(ub_omega2)**. The old behavior is preserved under version
control.

7. **estat icc** has the following improvements:

a. **estat icc** is now available after **meglm** using a **gaussian** family
with an **identity** link, a **bernoulli** family with a **logit** or **probit**
link, and a **binomial** family with a **logit** or **probit** link. This
lets you calculate intraclass correlations after fitting a
linear, logit, or probit mixed-effects model when using **meglm**.
Previously, you had to use separate commands for each
family-link combination.

b. **estat icc** is now available after estimation with svy estimation
results from **melogit**, **meprobit**, **meglm**, **metobit**, and **meintreg**.
This lets you calculate intraclass correlations for survey data.

8. **icd10cm** and **icd10pcs** have been updated for the 2018 fiscal year.
Type **icd10cm query** or **icd10pcs query** to see information about the
changes.

9. **putdocx** has the following improvements:

a. New command **putdocx sectionbreak** lets you add a section break to
the current document. You may apply document formatting options
**pagesize()** and **landscape** to the new section. This improvement
makes it possible to set different properties for different
pages in the document. For example, you can mix the landscape
and portrait layouts in a single document.

b. **putdocx table** now lets you customize the format of all cells in
adjacent or noncontiguous ranges. You may apply existing cell
formatting options **halign()**, **valign()**, **border()**, and **shading()**
and existing cell text formatting options **font()**, **bold**, **italic**,
**strikeout**, **underline()**, **nformat()**, **smallcaps**, and **allcaps**. This
improvement makes it possible to format many cells at once.

c. **putdocx text** and **putdocx table** have new options **smallcaps** and
**allcaps** to format text in a paragraph or a cell with a mix of
larger and smaller capital letters or with all capitalized
letters, respectively.

d. **putdocx table** has new options **title()** and **note()** to add a title
or a note to a table. Option **note()** may be repeated to add
multiple notes with the same format after a table.

e. **putdocx text**, **putdocx image**, and **putdocx table** with option
**linebreak(***#***)** now let you add line breaks to a paragraph or a
cell. Previously, you needed to specify **linebreak** multiple
times to add more than one line break. You may still specify
**linebreak** multiple times as you did before, but we recommend
using the new, more concise syntax.

10. **putexcel** has the following improvements:

a. **putexcel set** has new option **open**. Specifying **open** opens the
specified filename in memory and leaves the file in memory for
all future **putexcel** changes.

b. New command **putexcel close** closes the workbook and saves all
changes to disk. You must use **putexcel close** when you are done
editing the workbook if you have opened the workbook with
**putexcel set** and option **open**.

c. **putexcel** has new output type **etable**, which lets you more easily
add the reported coefficient table(s) from the most recent
estimation command to an Excel file.

d. **putexcel** now supports existing option **overwritefmt** when using
the syntax for formatting cells. This lets you write Excel cell
formats more efficiently.

11. **putpdf** has the following improvements and fixes:

a. New command **putpdf sectionbreak** lets you add a section break to
the current document. You may apply document formatting options
**pagesize()**, **landscape**, **font()**, **halign()**, **margin()**, and **bgcolor()**
to the new section. This improvement makes it possible to set
different properties for different pages in the document. For
example, you can mix the landscape and portrait layouts in a
single document.

b. **putpdf table** now lets you customize the format of all cells in
adjacent or noncontiguous ranges. You may apply existing cell
formatting options **halign()**, **valign()**, **border()**, **bgcolor()**, and
**margin()** and existing cell text formatting options **font()**, **bold**,
**italic**, **strikeout**, **underline**, and **nformat()**. This improvement
makes it possible to format many cells at once.

c. **putpdf text** and **putpdf table** have new option **allcaps** to format
text in a paragraph or a cell with all capitalized letters.

d. **putpdf table** has new options **title()** and **note()** to add a title
or a note to a table. Option **note()** may be repeated to add
multiple notes with the same format after a table.

e. **putpdf table** has new option **linebreak(***#***)** to add line breaks in a
cell.

f. **putpdf text** and **putpdf image** with option **linebreak(***#***)** now let
you add line breaks to a paragraph. Previously, you needed to
specify **linebreak** multiple times to add more than one line
break. You may still specify **linebreak** multiple times as you
did before, but we recommend using the new, more concise syntax.

g. **putpdf table** now places the cell text 1 point higher within the
cell when the content of the cell is string. The old behavior
is preserved under version control.

h. **putpdf table** with option **margin()**, when the margin was set to
less than 2 points, did not set the **top** or **bottom** margins. This
has been fixed.

12. **levelsof** has the following improvements:

a. **levelsof** is now faster. Speed is improved when there are many
observations (>10,000) and many distinct values (>100) or when
the data are integers.

b. **levelsof** has new option **matrow()** for saving the levels of the
variable to a matrix. Previously, you also had to run **tabulate**
to obtain the levels as a matrix.

c. **levelsof** has new option **matcell()** for saving the frequency of
each level to a matrix. Previously, you also had to run
**tabulate** to obtain the frequencies as a matrix.

13. **drop** and **keep** now store the number of observations dropped in
**r(N_drop)** and the number of variables dropped in **r(k_drop)**. This
change means that these commands now clear results previously stored
in **r()** by other commands. The old behavior is preserved under
version control.

14. Mata function **uniqrows()** is now faster, especially when the number
of observations is large (>10,000) and the data are integers.

15. Mata class **xl()** has 28 new member functions for writing Excel cell
formats and font formats more efficiently.

16. **zipfile** and **unzipfile** now produce and extract compressed files
larger than 2 GBs.

17. Community-contributed command **dataex**, which generates properly
formatted data examples for Statalist, is now being distributed with
official Stata for the convenience of anyone who wishes to post data
on Statalist.

18. **estat lcgof**, after **gsem** with option **lclass()** was used to fit a model
where the observed variables predicted latent class outcomes,
reported the likelihood-ratio test of the fitted model versus the
saturated model even though the methods currently implemented for
computing the likelihood-ratio test do not support this situation.
**estat lcgof** no longer reports the likelihood-ratio test in this
case.

19. **estat sd**, after fitting a model with **mixed** where the residual
structure was one of **ar**, **ma**, **unstructured**, **banded**, **toeplitz**, or
**exponential**, labeled the residual structure coefficients in **r(b)** and
**r(V)** in an incorrect order. This has been fixed.

20. **etregress** has the following fixes:

a. **etregress** with option **lrmodel** incorrectly included the
coefficients from the treatment equation in the likelihood-ratio
model test. This has been fixed.

b. **etregress** with options **lrmodel** and **hazard(***newvar***)** stored in
*newvar* the hazards that corresponded to the treatment model with
only the constant term (intercept). This has been fixed.

21. **gsem** with option **lclass()** to specify models with categorical latent
variables no longer implies option **listwise**. The old behavior is
preserved under version control.

22. **graph export**, when exporting a graph with a Greek letter in the
italic style to a PDF file, did not display the Greek letter as
italicized. This has been fixed.

23. **import excel**, when the Excel file was specified as a path and
filename without an extension, exited with error message "file not
found", even when the file existed. This has been fixed.

24. **margins** has the following fixes:

a. **margins** after **stintreg**, when option **expression()** contained
anything other than a single **predict()** statement, exited with
error message "expression is a function of possibly stochastic
quantities other than e(b)". This has been fixed.

b. **margins** with option **pwcompare**, when used to compute margins for
two or more interaction terms that involved the same number of
factor variables, incorrectly computed the values of the
margins. This has been fixed.

25. **melogit** and **mepoisson** with option **intmethod(laplace)**, when used to
fit a two-level model, may not have converged when the model could
have been identified. This has been fixed.

26. **merge** with options **keep()** and **assert()** did not always verify the
required match results before keeping the requested observations.
This could result in **merge** not reporting an error when it should
have. This has been fixed.

27. **mi impute chained**, when option **include()** specified an expression
longer than 80 characters, exited with error message "too few ')' or
']'" instead of producing imputations. This has been fixed.

28. **spset**, when the data had been **xtset** with option **delta(***timevar***)**,
reset the data with the periodicity information removed. This has
been fixed.

29. **svy jackknife**, when option **mse** was specified at estimation or set by
**svyset**, ignored the finite population correction if option **fpc()** was
specified in the first sampling stage. This has been fixed.

30. (Windows) When exporting a Stata graph to the Clipboard or to an EMF
file, Stata now includes image data in both the EMF+ and the EMF
formats. Stata previously included image data only in the EMF
format. The EMF+ format is an extension to the EMF format that
supports features such as color transparency. Exporting both
formats together allows modern applications that support the EMF+
format to display color transparency in Stata's graphs while still
supporting legacy applications that can only display the EMF format.

31. (Windows) **graph export**, when exporting to a bitmap format such as
PNG, did not respect option **width()** or **height()** when **set graphics**
was set to **off**. This has been fixed.

32. (Windows) **window fopen** always displayed all files instead of the
filtered list of files. This has been fixed.

33. (Mac) macOS 10.13 introduced a change that caused Stata's Data
Editor to crash when used with an **if** expression. This has been
fixed.

34. (Mac) macOS 10.13 introduced a bug that caused Stata's Do-file
Editor to be unresponsive if Stata was installed on an SMB share.
This has been fixed.

35. (Unix GUI) The Save preferences dialog did not open to the correct
directory. This has been fixed.

-------- **update 25sep2017** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 17(3).

2. **zip**, **zinb**, and **zioprobit** no longer support option **vuong**, which
specifies that the Vuong test for nonnested models be reported.
This test was used to compare zero-inflated and noninflated models.
However, recent work has shown that testing for zero inflation using
the Vuong test is inappropriate. If you wish to proceed with the
test anyway, use the zero-inflated commands with undocumented option
**forcevuong**.

-------- **update 05sep2017** -----------------------------------------------------

1. **teffects ra**, **teffects aipw**, **teffects ipw**, **teffects ipwra**, **stteffects**
**ra**, **stteffects wra**, **stteffects ipw**, and **stteffects ipwra** now allow
you to specify option **vce(cluster** *clustvar***)** to compute variance
robust to intragroup correlation.

2. **asclogit**, **asmprobit**, **asroprobit**, and **nlogit**, when option **case()**
specified a variable with values exceeding **c(maxlong)** =
2,147,483,620, grouped all the associated observations into a single
case. This has been fixed.

3. **bayesmh** and prefix **bayes** with option **initrandom**, when the Cauchy or
Laplace distribution was used as the prior for some model
parameters, incorrectly exited with error message "not implemented".
This has been fixed.

4. **bootstrap** and **jackknife**, when used to prefix **logistic** specified with
an invalid *eform_option*, now exits with an error message before
entering the replication loop.

5. **estimates table** with option **varlabel**, when not all variables in the
estimation results were present in the dataset, exited with error
message "variable *varname* not found". **estimates** **table** now uses the
variable name in the table instead.

6. Expressions using system variables **_b** and **_se**, when used to access
coefficients and standard errors after **mlogit** with a value label
attached to *depvar*, did not recognize equations specified using the
level values of *depvar*. This has been fixed.

7. **forecast solve**, when computing dynamic forecasts with estimates from
a model fit using **arima** with options **arima(0,1,1)** and
**sarima(0,1,1,12)**, incorrectly exited with error message "missing
values encountered". This has been fixed.

8. **graph** ignored legend option **ring()** if the scheme placed the legend
within the plot region. This has been fixed.

9. **gsem** with more than one outcome variable and with multilevel latent
variables, when missing-value patterns in the observed variables
caused the omission of one or more of the multilevel groups,
incorrectly exited with an error. This has been fixed.

10. **heckman** with options **twostep** and **vce(bootstrap)** incorrectly exited
with error message "name conflict". This has been fixed.

11. **margins** with weighted estimation results, with the first observation
in the dataset containing a missing weight value, and with all the
independent variables fixed to a constant value incorrectly
estimated all margins as zero valued with the "(omitted)" note.
This has been fixed.

12. **predict**, **predictnl**, and **estat wcorrelation** in the unusual case that
out-of-sample predictions were obtained after **menl** with option
**rescovariance(independent, index(***varname***))** have the following fixes:

a. **predict** with statistic **rstandard** or with another statistic but
without option **fixedonly**, when the values of the index *varname*
in the new data did not exactly match the set of values from the
estimation sample, gave predictions based on an incorrect
residual covariance matrix. **predict** now correctly computes the
predictions for values of *varname* that match the estimation
sample and returns missing values for those that do not.

b. **predictnl** without option **fixedonly** to obtain nonlinear
out-of-sample predictions after **menl** when the values of the
index *varname* in the new data did not exactly match the set of
values from the estimation sample, gave predictions based on an
incorrect residual covariance matrix. **predict** now correctly
computes the predictions for values of *varname* that match the
estimation sample and returns missing values for those that do
not.

c. **estat wcorrelation**, when used to obtain a correlation or
covariance matrix for a cluster outside the estimation sample,
returned matrices based on an incorrect residual covariance
matrix. This has been fixed.

13. **predict**, **predictnl**, and **estat wcorrelation** in the unusual case that
out-of-sample predictions were obtained after **menl** with option
**rescovariance()** or **rescorrelation()** and suboption **by(***varname***)** or
with option **resvariance()** and suboption **strata(***varname***)** have the
following fixes:

a. **predict** without option **fixedonly**, when the by or strata variable
in the new dataset contained values that were different from
their values in the estimation sample, computed predictions when
it should have returned missing values. This has been fixed.

b. **predictnl** without option **fixedonly**, when the by or strata
variable in the new dataset contained values that were different
from their values in the estimation sample, computed nonlinear
predictions when it should have returned missing values. This
has been fixed.

c. **estat wcorrelation**, when the by or strata variable in the new
dataset contained values that were different from their values
in the estimation sample, could produce a correlation or
covariance matrix when it should have exited with error message
"invalid level specification: *<levelspec>*". This has been
fixed.

14. **_ms_extract_varlist**, when used after **mlogit** with a value label
attached to *depvar*, did not recognize equations specified using the
level values of *depvar*. This has been fixed.

15. **putdocx** and **putpdf** have the following improvements and fix:

a. **putdocx table** and **putpdf table** with output type **etable()** now
support the export of results after **estimates table**. This makes
it easier to export formatted estimation results and export
results from multiple models to a single table.

b. **putdocx table** and **putpdf table** with output type **etable()** now
support the export of results after **margins**. This makes it
easier to create tables of marginal effects.

c. **putdocx describe** and **putpdf describe**, when *tablename* is
specified, now store the number of rows in **r(nrows)** and the
number of columns in **r(ncols)** for the specified table.

d. **putdocx table**, when exporting data in memory to the document
using output type **data()** and when there was no space between the
equal sign **=** and **data()**, incorrectly exited with error message
"ddata: invalid table specification". This has been fixed.

16. The SEM Builder, when working with a path model with estimation
results from Stata 14, incorrectly exited with an error message when
the model was fit again using Stata 15. This has been fixed.

17. **streg** and **stintreg** with option **distribution(ggamma)**,
**distribution(loglogistic)**, or **distribution(lognormal)**, when **set**
**varabbrev off** was in effect, incorrectly exited with error message
"[/] not found". This has been fixed.

18. **tebalance box**, when used after **teffects** with a treatment variable
using value labels with spaces, incorrectly exited with error
message "invalid syntax". This has been fixed.

19. (Windows) For system administrators, **update** did not preserve batch
mode during its restart sequence, which prevented the use of silent
updates. This has been fixed.

20. (Mac) **graph export**, when multiple graphs were exported and the Graph
window preference "Keep list of graphs visible in window" was
enabled, could export some images as blank. This has been fixed.

21. (Mac) When using an input source to enter characters into the
Command window from a language other than that of the keyboard,
pressing **Enter** to choose from a list of characters from the input
source instead submitted the current contents of the Command window.
This has been fixed.

-------- **update 20jul2017** -----------------------------------------------------

1. Prefix **bayes** and command **bayesmh** support three new prior
distributions in option **prior()**.

a. **t(***mu***,***sigma2***,***df***)** specifies the location-scale *t* distribution with
mean *mu*, squared scale *sigma2*, and degrees of freedom *df*.

b. **laplace(***mu***,***beta***)** specifies the Laplace distribution with mean *mu*
and scale *beta*.

c. **cauchy(***loc***,***beta***)** specifies the Cauchy distribution with location
*loc* and scale *beta*.

2. New postestimation command **estat gofplot** after **stintreg** allows you
to visually assess the goodness of fit of the model by plotting the
Cox-Snell residuals versus the estimated cumulative hazard function
corresponding to these residuals.

3. **estat lcmean** after fitting a model with **gsem** or prefix **fmm:** can now
handle up to 256 class-specific outcome means. The previous limit
was 70.

4. **putdocx** has the following improvements and fixes:

a. New command **putdocx clear** lets you clear the current document in
memory without saving.

b. **putdocx table** has new output type **etable**. The **etable** output
type lets you more easily add the reported coefficient table(s)
from the most-recent estimation command to the active document.

c. **putdocx table** has new option **linebreak** to add a line break to a
cell.

d. **putdocx table** now lets you customize the format of all cells in
a row or column. You may apply existing cell formatting options
**halign()**, **valign()**, **border()**, and **shading()** and existing cell
text formatting options **font()**, **bold**, **italic**, **strikeout**, and
**underline()**. Previously, you could only edit formatting for a
single cell. This improvement makes it possible to format many
cells at once.

e. **putdocx table** now lets you apply option **nformat()** to the numeric
values of all cells in a row, the values of all cells in a
column, or the value of a single cell when editing a table.
Previously, you could only specify this option when exporting
results from a Stata or Mata matrix.

f. **putdocx table** now lets you apply text formatting option **script()**
to individual cells when editing a table.

g. **putdocx table**, when option **append** was specified for a cell,
appended the new text or image to the start of the next line
rather than the end of the current text or image. This has been
fixed.

h. **putdocx table**, when exporting the data in memory as a table to
the document, incorrectly removed the leading and trailing
whitespace from string variables. This has been fixed.

5. **putpdf** has the following improvements:

a. New command **putpdf clear** lets you clear the current document in
memory without saving.

b. **putpdf table** has new output type **etable**. The **etable** output type
lets you more easily add the reported coefficient table(s) from
the most-recent estimation command to the active document.

c. **putpdf table** now lets you customize the format of all cells in a
row or column. You may apply existing cell formatting options
**halign()**, **valign()**, **border()**, **bgcolor()**, and **margin()** and
existing cell text formatting options **font()**, **bold**, **italic**,
**strikeout**, and **underline()**. Previously, you could only edit
formatting for a single cell. This improvement makes it
possible to format many cells at once.

d. **putpdf table** now lets you apply option **nformat()** to the numeric
values of all cells in a row, the values of all cells in a
column, or the value of a single cell when editing a table.
Previously, you could only specify this option when exporting
results from a Stata or Mata matrix.

e. **putpdf table** now lets you apply text formatting option **script()**
to individual cells when editing a table.

6. **syntax** can now parse up to 256 options. The previous maximum was
70.

7. **estat bootstrap**, after a command that estimates multiple free
(auxiliary) parameters and with option **vce(bootstrap)** or prefix
**bootstrap** specified at estimation, exited with error message
"estimation command error: e(k_eq) does not equal the number of
equations". Examples of affected commands include **meglm**, **sem**, and
**gsem**. This has been fixed.

8. Expressions using system variables **_b** and **_se** to access coefficients
and standard errors, when **set varabbrev** was **on**, returned the value
from the first element that had a possible match instead of the
element with an exact match. This has been fixed.

9. **graph export**, when exporting to PDF a map drawn by **grmap** that
contained a polygon with no fill color, incorrectly exited with
error message "unable to save PDF file". This has been fixed.

10. **graph twoway** has the following fixes:

a. **graph twoway**, when an option included a color style that
specified a color adjusted for both intensity using the *****
operator and opacity using the **%** operator (for example,
**red*.8%20**), did not use the correct color or effect. This has
been fixed.

b. **graph twoway**, when an option included a linepattern formula with
consecutive **l**s, showed a small gap between segments that should
have been solid. This has been fixed.

11. **grmap**, when a single variable was specified in suboption **variables()**
within option **diagram()**, did not render the mid-line in the
diagrams. This has been fixed.

12. **margins** has the following fixes:

a. **margins** with option **dydx()** could cause Stata to crash if
marginal effects were calculated only for a single level of a
factor variable. This has been fixed.

b. **margins**, when an interaction was specified in *marginslist* after
**dfactor**, **gsem**, **mecloglog**, **meglm**, **meintreg**, **melogit**, **menbreg**,
**menl**, **meologit**, **meoprobit**, **mepoisson**, **meprobit**, **mestreg**,
**metobit**, **mgarch**, **nl**, **nlsur**, **sem**, **spivregress**, **spregress**,
**spxtregress**, **sspace**, or **ucm**, produced margins for each factor
variable separately instead of for the level combinations
specified by the interactions. This has been fixed.

c. **margins** after **eintreg**, **eoprobit**, **eprobit**, or **eregress**, when an
endogenous categorical variable was specified in **at()** but not
specified in either option **fix()** or option **base()**, incorrectly
used the observed values instead of the values specified in
**at()**. This affected only computations using the endogenous
categorical variable in auxiliary equations. This has been
fixed.

d. **margins**, when syntax *op***(***numlist***)** was used with one of the
contrast operators **g**, **gw**, **h**, **hw**, **j**, **jw**, **p**, **pw**, **q**, or **qw** to
request only a subset of all possible contrasts, reported
incorrect values of the contrasts. This has been fixed.

e. **margins** after **clogit**, with default prediction **pu0**, when the sum
of the values of the first variable in *indepvars* that contained
no 0 values totaled less than **1e-9** in absolute value, reported
missing standard errors. This has been fixed.

f. **margins** after **npregress**, when *marginslist* or option **at()** was
specified, incorrectly included in its computations of the
reported point estimates observations that were missing in the
estimation sample. This has been fixed.

g. **margins** after **npregress**, when option **over()** was specified and
when more than one variable was specified in option **at()**, more
than one variable was specified in option **dydx()**, or more than
one variable was specified in the *marginslist*, labeled
coefficients with the wrong variable names. This has been
fixed.

13. **marginsplot**, after **margins** where a factor-variable name could also
have served as an abbreviation for a continuous variable and both
variables were specified in option **at()**, exited with error message
"_marg_save has a problem. Margins not uniquely identified." This
has been fixed.

14. **odbc insert**, when using a Unicode ODBC driver, truncated **strL**
variables to 2,045 characters. This has been fixed.

15. **pctile** with option **genp(***newvarp***)** and more than 1,000 quantiles
specified in option **nquantiles()** did not store the percentages in
the observations that held the corresponding percentiles. This has
been fixed.

16. **tebalance box** and **tebalance density** after **teffects**, when the working
directory contained many **.gph** files that contained spaces in their
filenames, incorrectly exited with error message "invalid syntax".
This has been fixed.

17. **unicode convertfile** with option **dstcallback()** applied default method
**stop** regardless of the method specified. This has been fixed.

18. (GUI) The "Save as" dialog, when used to save a dataset to a format
used by an older version of Stata, specified the incorrect version
number when it issued command **saveold**. This has been fixed.

19. (Windows) **graph export**, when used to export a graph to the legacy
WMF format, did not display the plotted values. This has been
fixed.

Stata for Windows users are encouraged to use the EMF format when
exporting graphs because it supports modern features, such as
transparency, that WMF does not.

20. (Mac) **graph export**, when the exported graph was saved to a Windows
share and when the graph was exported to PDF or PNG format,
correctly exported the graphs but the files were not visible from
the Finder because of a bug in macOS. This has been fixed.

21. (Unix GUI) When using a MobaXterm Windows client, the Find dialog in
the Do-file Editor froze if no matches were found for the text
specified in the "Find what:" field. This has been fixed.

-------- **update 29jun2017** -----------------------------------------------------

1. Online help and the search index have been brought up to date for
Stata Journal 17(2).

2. **bayes** with multilevel models did not allow string variables to be
specified as identifiers of random-effects levels. This has been
fixed.

3. **predict** with option **latent()** after **gsem**, when the fitted model had
paths between endogenous latent variables, incorrectly exited with
an error. This has been fixed.

4. **putdocx**, when an RBG value was specified in option **border()**, **font()**,
or **shading()**, did not apply the appropriate color. This has been
fixed.

-------- **update 19jun2017** -----------------------------------------------------

1. **proportion** and **svy proportion** now support new methods to compute
limits for confidence intervals. Option **citype()** lets you specify
that the Wilson, exact (Clopper-Pearson), Jeffreys, or Agresti-Coull
method be used in addition to the normal (Wald) and logit methods
that were previously supported.

2. **estat lcgof** has the following fixes:

a. **estat lcgof**, after fitting a model using **gsem** with option
**lclass()** and 10 or more outcome variables, exited with error
message "too many terms in interaction". This has been fixed.

b. **estat lcgof**, after fitting a model using **gsem** with both options
**lclass()** and **group()**, used the wrong number of degrees of
freedom and wrong saturated model for the likelihood-ratio test
of the fitted model versus the saturated model. This has been
fixed.

3. Expressions that included a numeric literal that was longer than 129
characters could cause Stata to crash. This has been fixed so that
Stata can handle numeric literals of arbitrary length.

4. **gsem** has the following fixes:

a. **gsem**, with multiple outcome variables, multilevel latent
variables, and option **group()**, incorrectly exited with an
uninformative error message. **gsem** now works as documented.

b. **gsem**, with multilevel latent variables, multiple outcome
variables, and missing values in some of the observed variables,
incorrectly exited with error message "missing values not
allowed in S". This has been fixed.

5. **icd10**, **icd10cm**, and **icd10pcs** have the following fixes:

a. **icd10 generate**, **icd10cm generate**, and **icd10pcs generate** with
option **range(***codelist***)**, when specified with an invalid *codelist*
that included a range ending with a code using the wildcard
character (*****), incorrectly created a new variable. For example,
a range of B10/B29* is invalid, but **icd10 generate** still created
a new variable. These commands now return error message
"invalid range specification".

b. **icd10 search**, **icd10cm search**, and **icd10pcs search**, when the
specified *codelist* included a range that ended with a code using
the wildcard character (*****), incorrectly returned all ICD-10,
ICD-10-CM, or ICD-10-PCS codes after the code at the start of
the range. For example, a range of B10/B29* is invalid, but
**icd10 search** still returned a list of codes and their
descriptions for all ICD-10 codes from B10 and later. These
commands now return error message "invalid range specification".

c. **icd10 check**, **icd10cm check**, and **icd10pcs check**, when option
**version()** was not specified, did not check for codes that were
valid for previous versions (error 77) or valid for later
versions (error 88) of the ICD data. This has been fixed.

6. **import delimited**, when used with option **stringcols()** or option
**numericcols()**, could incorrectly import the first row as variable
names. This has been fixed.

7. **import excel** with option **firstrow**, when the specified workbook
contained no data, exited with an uninformative error message. This
has been fixed. **import excel** now executes without an error message
but does not create a Stata dataset.

8. **margins** has the following fixes:

a. **margins**, when used after **eoprobit** with option **entreat()** and when
the treatment was interacted with the cutpoints and when
**margins**'s computations were restricted to a single treatment
group, incorrectly reported some marginal predictions as not
estimable. This has been fixed.

b. **margins**, when used after **gsem** with option **group()** and when
**margins**'s computations were restricted to a single group,
incorrectly reported some marginal predictions as not estimable.
This has been fixed.

9. **ml**, when option **technique()** specified a switch between **nr** and **bfgs**
or between **nr** and **dfp** and when constraints were specified,
incorrectly exited with an error message. This has been fixed.

10. **putpdf table**, in the rare case when the specified cell contents were
another table and the cell comprised multiple cells that were merged
vertically using option **rowspan()** or option **span()** and the merged
cell crossed a page break, drew the bottom border of the cell
incorrectly. This has been fixed.

11. **stcrreg**, with prefix **stepwise** and parentheses binding the first
predictor, incorrectly exited with error message "option compete()
required" even when option **compete()** was specified. This has been
fixed.

12. Prefix **svy**, when version control was set to 11 through 14.2 and when
a command specified an interaction using factor-variable notation,
exited with an error message such as "c: operator invalid" or "1b:
operator invalid". This has been fixed.

13. (Windows) **tempfile**, in the rare case when the Stata temporary
directory path contained certain rarely used Unicode characters and
when Windows could not provide an ASCII-compatible version of that
name, produced tempfile names that were invalid for some operations.
Affected commands exited with an error message reporting that the
path was incorrect or the file could not be opened. This has been
fixed.

14. (Windows) The Do-file Editor, when content had not been saved before
closing, reissued the prompt "Do you want to save the changes to
...?" when "Don't save" was selected the first time. This has been
fixed.

15. (Mac) In the Command window or Do-file Editor, dragging a file onto
the window did not insert the file path into the window. This has
been fixed.

-------- **previous updates** -----------------------------------------------------

See whatsnew14to15.

+---------------------------------------------------------------+
| Help file Contents Years |
|---------------------------------------------------------------|
| **this file** Stata 15.0 and 15.1 2017 to present |
| whatsnew14to15 Stata 15.0 new release 2017 |
| whatsnew14 Stata 14.0, 14.1, and 14.2 2015 to 2017 |
| whatsnew13to14 Stata 14.0 new release 2015 |
| whatsnew13 Stata 13.0 and 13.1 2013 to 2015 |
| whatsnew12to13 Stata 13.0 new release 2013 |
| whatsnew12 Stata 12.o and 12.1 2011 to 2013 |
| whatsnew11to12 Stata 12.0 new release 2011 |
| whatsnew11 Stata 11.0, 11.1, and 11.2 2009 to 2011 |
| whatsnew10to11 Stata 11.0 new release 2009 |
| whatsnew10 Stata 10.0 and 10.1 2007 to 2009 |
| whatsnew9to10 Stata 10.0 new release 2007 |
| whatsnew9 Stata 9.0, 9.1, and 9.2 2005 to 2007 |
| whatsnew8to9 Stata 9.0 new release 2005 |
| whatsnew8 Stata 8.0, 8.1, and 8.2 2003 to 2005 |
| whatsnew7to8 Stata 8.0 new release 2003 |
| whatsnew7 Stata 7.0 2001 to 2002 |
| whatsnew6to7 Stata 7.0 new release 2000 |
| whatsnew6 Stata 6.0 1999 to 2000 |
+---------------------------------------------------------------+
-------------------------------------------------------------------------------