I am happy to announce that the latest release candidates of CmdStan and Stan are now available on Github!
This release cycle focused on stability and usability improvements, with a few new features and a lot of work under the hood for upcoming features.
You can find the release candidate for CmdStan here. Instructions for installing are given at the bottom of this post.
Please test the release candidate with your models and report if you experience any problems. We also kindly invite you to test the new features and provide feedback. If you feel some of the new features could be improved or should be changed before the release, please do not hesitate to comment.
The Stan development team appreciates your time and help in making Stan better.
If everything goes according to plan, the 2.38 version will be released next week.
Below are some of the highlights of the new release.
Compiler usability improvements
The Stan compiler’s job is primarily to turn Stan code into C++ code, but a very close second is to turn invalid Stan code into error messages. Both of these functionalities saw improvements this version.
The C++ code generation saw several changes to try to improve compatibility with different compilers, avoid bad numeric properties that can arise when mixing integers into function calls expecting reals, and avoid some issues for user-defined functions that accepted complicated tuples or used names that are common in other C++ code.
On the warning-and-error front, almost all the messages that the compiler can emit were given a once-over for wording consistency and clarity. Additionally, supported terminals can now display the messages in color!
Finally, the compiler build now also provides autocomplete scripts for powershell, zsh, and bash. If you download and source these in your shell profile, you can get tab to suggest flags:
New functions for the Wiener first passage time distribution
After significant effort by @Franzi, @stevebronder, and @Bob_Carpenter, Stan now has support for CDF and CCDF functions for the wiener distribution family. These functions do not asymptote at 1, but rather at the probability to hit the top boundary, so they are called wiener_l[c]cdf_unnorm to reflect this.
Preliminary documentation is available here
Other changes
There have been various other bug fixes and usability improvements this release, thank you to everyone who reported a bug in the last few months!
jacobian is now a reserved word in the language.
While not quite ready for a release, a lot of other work has been in-progress on the embedded Laplace approximation feature. We hope to get this in your hands soon!
More details on all of the above and more are available in the preliminary release notes
How to install?
Download the tar.gz file from the link above, extract it and use it the way you use any Cmdstan release. We also have an online Cmdstan guide available at CmdStan User’s Guide .
If you are using cmdstanpy you can install the release candidate using
cmdstanpy.install_cmdstan(version='2.38.0-rc1')
With CmdStanR you can install the release candidate using
cmdstanr::install_cmdstan(version = "2.38.0-rc1", cores = 4)

