- CmdStanPy can now format (and canonicalize) your Stan files with `CmdStanModel.format()`
- Stan variables can now be accessed from fit objects using the `.` syntax when no naming conflicts occur. For example, previous code `fit.stan_variable("my_cool_variable")` can now be written `fit.my_cool_variable`
- CmdStanPy is more robust to running in threaded environments and tries harder to not overwrite its own output files
- The `install_cmdstan` script can now be run in interactive mode using `--interactive`/`-i`
- CmdStanPy now computes some diagnostics after running HMC and will warn you about post-warmup divergences and treedepth exceptions
- Runtime exceptions in the `generated quantities` block should be recognized better now.
- The default level of precision to `fit.summary()` is now 6, as it is when `stansummary` is used from the command line.\
- Various documentation improvements