With the help of our users, we have identified a few issues with the latest release which is why we have just released CmdStan 2.30.1. The issues that were identified and fixed for this patch release are given below.
If you have not experienced any issues compiling your models with the 2.30.0 release, there is no need to upgrade immediately. Most of the fixed issues occured only when using the Stan-to-C++ compiler optimization
We would like to thank Hamada S. Badr, Sean Pinkney, Aki Vehtari for reporting the issues and Brian Ward for a heroic effort in addressing all of them.
The following bugs were addressed in the patch release:
- A for loop generated for the function inliner would prevent detection of for loops higher in the control flow graph, which was an issue with memory pattern optimization.
- The function inliner would cause compilation failure when a function-local variable had the same name as a variable in the calling scope.
- Recursive functions which called themselves with a slice of their arguments would lead to infinite template expansion in C++ compilation.
- The compile-time flags were not listed correctly listed in the generated C++ when generated using stanc.js.
- The imaginary components of complex vectors and matrices were initialized to zeros, instead of NaN. The real components of complex vectors and matrices as well as non-complex vectors and matrices all initialize to NaN.
- The pedantic mode warning for parameters without priors is known to flag false positive cases. The message now highlights when it is safe to ignore it.