Dates correspond (roughly) to SSC Archive releases.

22feb2019 (1.8.2)
- cirecast() can now be used as shorthand notation for ciopts(recast()) 
- citype() can now has additional methods: probit, atanh, and log
- offset() can now contain expressions, e.g. offset(1/7)
- model options from p#() were only applied in the first relevant subgraph and
  were omitted in subsequent subgraphs; this is fixed
- computation of CIs failed if degrees of freedom were larger than 2e17
  (can happen with -mi estimate-); this is fixed

18sep2017 (1.8.1)
- mlabel() now supports string expressions to generate complicated marker labels
- the backslash is no longer required between models when merging multiple 
  models into one series (as long as the same options are to be used for all
  models); that is, you can now type "(m1 m2 m3, opts)" instead of 
  "(m1 \ m2 \ m3, opts)"
- noeqlabels did not remove the gap between equations; this is fixed; if you 
  want to keep the gap, type noeqlabels together with eqlabels(, gap(1))
- eform(), rescale() and transform() returned error if no match was found
  in a model that had only one coefficient; this is fixed

14feb2017 (1.8.0)
- options p1(), p2(), etc. are now allowed to specify plot options
- wildcard characters (*, ?) can now be used in model names
- eform() and rescale() broke computation of t and p values; this is fixed

02feb2017 (1.7.8)
- rename() and eqrename() now have a regex suboption

24jan2017 (1.7.7)
- new sort() option
- new orderby() option
- paired-coordinate plots are now supported in ciopts(recast()); in addition to
  the official types, plot type -pcrarrow- is provided for reverse arrows
- cismooth() now has suboptions color() and pstyle()
- p-values are now available internal variable @pval; t (or z) statistics as @t
- shorthand syntax se(#), ci((# #) ...), aux(# ...), and at(#) is now allowed 
  when plotting results from a matrix
- df(.) is now allowed (set the DFs to missing)
- twoway option pcycle() is now supported (default is set to 15)
- coeflabels() did not support the angle() suboption; this is fixed
- eqlabels() now has suboption -labels- to use variable labels
- eqrename() now also affects equation names set by asequation()
- mlabels() could crash if there were no matches; this is fixed
- addplot(, below) now no longer messes up the legend; options nodraw, draw, 
  by(), name(), saving(), play() are no longer allowed within addplot()
- changed behavior of rename()/eqrename(): rename(* = str) will now add str as
  a suffix, not as a prefix; this is useful, e.g., for plotting results from
  -proportion- or -mean, over()-
- coefficients starting with "." caused error when trying to retrieve the 
  labels; this is fixed

29jan2015 (1.7.5)
- coefplot accidentally left behind extra observations in the dataset if the 
  existing number of observations was lower than the number of observations 
  required to hold the results plotted by coefplot; this is fixed

08dec2014 (1.7.4)
- fysize() and fxsize() did not work in case of multiple plots; this is 
- there was a small chance that coefplot left behind a mata object if the 
  user pressed break; this is fixed
- option -nodrop- added
- now uses "equation" as plot label instead of ".=equation" if model is .
- twoway plot options such as msymbol() were not correctly passed through
  to the plots if specified at the subgraph level; this is fixed
- collecting plot options across subgraphs has been improved (not relevant 
  if norecycle is specified); the rules are: (1) plot options specified at
  a lower level take precedence over later plot options specified at an 
  upper level. (2) within level, the rightmost option is used.
- coefplot now picks up results from e(b_mi) and e(V_mi) by default if 
  plotting results from -mi estimate-
- transform() suboption added to at()
- interaction() suboption added to coeflabels()
- plot options key() and nokey added
- replace option could fail due to conflicts with existing labels; this is 

05jun2014 (1.7.1)
- grid() now allows suboptions

15may2014 (1.7.0)
- internal variables are now accessed as @b, @ll, @ul, ...
  (syntax \`...' is discontinued)
- variances, SEs and DFs now available as internal variables (@V, @se, @df)
- mlabels() option added
- transform() option added
- aux() option added
- weight() option added
- asequation now allowed without argument
- default prefix for generate() is now "__"
- CIs are now stored in wide format (i.e. as separate variables)

26feb2014 (1.6.5)
- if() option added

29jan2014 (version 1.6.1)
- citype(logit|normal) added
- ci() now uses syntax ci((ll ul) ...)
  ci("ll ul" ...) is still supported but undocumented
- option swapnames added
- options at(_coef) and at(_eq) added

23nov2013 (version 1.5.8)
- improved recovery of plot positions from e(at) for margins
- syntax at(matrix(...)) now possible
- axis() option added
- new suboptions in eqlabels(), groups(), headings(): 
  gap(), wrap(), truncate(), nobreak 
- plotlabels() and bylabels() options added

28aug2013 (version 1.5.4)
- cismooth() added; cishade removed
- problem with too many ciopts() fixed

26aug2013 (version 1.5.2)
- pstyles are now sensitive to plot types

25aug2013 (version 1.5.1)
- coefplot released on SSC