Skip to content

Instantly share code, notes, and snippets.

@WardBrian
Last active January 8, 2024 16:06
Show Gist options
  • Save WardBrian/e3a6b534f6220df5439df05f08445584 to your computer and use it in GitHub Desktop.
Save WardBrian/e3a6b534f6220df5439df05f08445584 to your computer and use it in GitHub Desktop.
Stan 2.34 Release notes drfting
- Add option `adaptation save_metric=1` to save adapted metric in separate JSON file with elements "stepsize", "metric_type" and "inv_metric" (#1203, #1229)
- New argument under `output save_cmdstan_config`. If set to `1`, creates `output_config.json` which contains the argument tree and extra information (equivalent to the CSV file header) (#1204)
- Adds `psis_resample` and `calculate_lp` as options for Pathfinder (#1234)
- Removed usages of boost::lexical_cast (#1205)
- Resolved various compiler warnings (#1206)
- Fixed a linking issue when building `stansummary` (#1209)
- Fixed an issue where the default values of some arguments were not printed in sufficient precision (#1215)
- Improved the error users see if they are missing the stan or stan_math submodules (#1217)
- Improved the dependency detection in the build system (#1219)
- Added a warning when more PSIS draws are requested than total number of draws from single-pathfinders (#1221)
- Disallowed pathfinder when the model has no parameters. (#1221)
- Fixed a typo in `make help-dev`. (#1225)
- Fixed several edge cases and unexpected behaviors in the way output filenames were generated for multi-chain sampling and multi-path Pathfinder (#1228)
- Added a `version.hpp` header (#1231)
- Updated Boost headers to v1.81 (#2955)
- Added the Dirichlet-Multinomial distribution to the Stan Math library (dirichlet_multinomial_lpmf, dirichlet_multinomial_log, and dirichlet_multinomial_rng). (#2979)
- `binomial_logit_glm_lpmf` distribution added (#2946)
- Improved numerical stability of Bernoulli CDF functions (#2784)
- Replaced the `std::vector`s for read/write events in `matrix_cl` with `tbb::concurrent_vectors` (#2905)
- Added framework for generic higher-order autodiff support through finite-differences. (#2929)
- Minor cleanup of numerical stability, constants, compound functions in OpenCL kernels (#2934)
- Fixes aliasing issue in adjoint acccumulation for OpenCL (#2943)
- Improve numerical stability of `binomial_logit` distribution (#2945)
- Automatically detect UCRT toolchain use on Windows (#2948)
- Update multiple functions to delegate to the compound functions (`log1p_exp`, etc.) where possible (#2950)
- Fixed the RPATH to the TBB library being passed twice on the command line (#2952)
- Split `eigendecompose` mix tests to fix CI memory issues (#2953)
- Fix distribution test failures with row-vector integer inputs to bernoulli CDF functions (#2954)
- Simplified usage of ref-type deduction (#2958)
- Added OpenCL support for the `binomial_logit_glm` distribution (#2960)
- Fixed a build configuration issue where the optional tbbmalloc and tbbmalloc_proxy libraries were built unconditionally. (#2969)
- Remove unused meta requires (#2976)
- Bugfix for uninitialized `var_value<Matrix>` types and assignment when the rhs of the assignment is an expression (#2978)
- Invert the input matrix in-place which reduces the memory requirement for this function. (#2981)
- Fixes the rng function for the Inverse Wishart Cholesky distribution. (#2984)
- Fixed a compilation issue with the `check_symmetric` function on complex-valued inputs under LLVM 17 (#2991)
- Fixed missing include guard for OpenCL rev headers (#2996)
- Add helpful context to the failure message for the ad testing framework (#2997)
- Resolved an issue in Pathfinder's multithreading which lead to non-reproducible results (#3239)
- Improved the human-readability of the output of the JSON writer class (#3227)
- Resolved various compiler warnings (#3228, #3234)
- Added hooks to adaptive sampler methods to write adapted metric to JSON file. (#3230, #3248)
- Changed bfgs and lbfgs's error messaging behavior so that the message is not split between stderr and stdout but is entirely sent to stderr. (#3238)
- Fixed a bug in the stan opencl assign tests (#3219)
- Updated PSIS to not add back the max and return the unnormalized resample ratios for stability (#3243)
- Fixed an issue where trying to compute the potential scale reduction factor on an empty set of draws would lead to a crash (#3246)
- Added flags to the Pathfinder service functions for turning off resampling and the calculation of the lp for the approximate draws. (#3249)
- Added the `binomial_logit_glm` distribution (#1367)
- Added the `dirichlet_multinomial` distribution. (#1389)
- Added the ability to unpack a tuple during an assignment. For example, the following is now valid:
```stan
parameters {
matrix[N, M] A;
}
model {
matrix[N, M] Q;
matrix[M, M] R;
(Q, R) = qr_thin(A); // qr_thin returns a tuple(matrix, matrix)
}
```
(#1360)
- Exposed vectorized signatures for the `atan2` function. (#1364)
- The Stan compiler will now warn you when you reassign a variable to itself. (#1358)
- Updated the OCaml-to-JS compiler used to create stanc.js (#1365, #1381)
- Updated the compiler to use OCaml 4.14 and newer versions of its dependencies. (#1366)
- Reverted a change to SoA initialization, as the Math library has implemented a better fix. (#1376)
- Fixed an issue with clang compilers and constructing tuples. (#1382)
- The compiler no longer recognizes language constructs removed in 2.33. (#1388)
- The deprecated implicit conversion of reals to boolean conditions has been removed. (#1388)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment