Releases: stan-dev/cmdstanr
v0.8.1 - Bugfix Release
What's Changed
- Fix linking error when exposing SUNDIALS/KINSOL functions or model methods by @andrjohns in #977
- Add CMDSTANR_USE_RTOOLS envvar to force use of stock RTools by @andrjohns in #980
- Fix spurious cmdstan config errors by @andrjohns in #981
- Fix incorrect sizing for
unconstrain_draws()
in some cases by @andrjohns in #983 - fix process_init_approx by @avehtari in #984
- Automatically init model methods, add
inc_warmup
argument tounconstrain_draws()
method by @andrjohns in #985 - Update repo links to use r-universe by @andrjohns in #988
- Bugfixes - Fix Windows path change, aarch64 rtools, 2.35 seed changes by @andrjohns in #990
- Prepare v0.8.1 bugfix release by @andrjohns in #989
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Major new features
- Add functionality for passing
CmdStanFit
objects as initial values by @SteveBronder in #937
Other improvements
- Add compatibility with CmdStan 2.35 by @andrjohns in #972
- Add
show_messages
andshow_exceptions
arguments to all methods for controlling output by @andrjohns in #897 - Drop RcppEigen dependency, implement basic Eigen -> C++ interop by @andrjohns in #899
- Add compatibility with CmdStan 2.34 by @andrjohns in #905 #910
- Add a format argument to the
unconstrain_draws()
method to specify draws format of return by @andrjohns in #886 - Align
cmdstanr
EBFMI diagnostic threshold with CmdStan by @andrjohns in #892 - Add global option
cmdstanr_print_line_numbers
to add line number to model printing by @sbfnk in #967 - Add new CmdStan arguments
save_metric
andsave_cmdstan_config
by @venpopov in #932 - Add documentation for CmdStanR global options by @jgabry in #951
- Add documentation for how to obtain structured output similar to
rstan::extract()
using a combination ofcmdstanr
andposterior
by @jgabry in #955 - Added coercion generics for CmdStanFit objects by @gowerc in #943
psis_resample
andcalculate_lp
arguments added to Pathfinder method by @SteveBronder in #903- Documentation and tests for LOO method updated by @jgabry in #923
- Global option
cmdstanr_warn_inits
added to disable warnings about partially specified initial values by @jgabry in #913 - Updates to MCMC
output_dir
documentation by @jgabry in #929
What's Changed
Bugfixes
- Fix broken link in OpenCL documentation by @eipi10 in #908
- Fix a minor typo in the README by @jgabry in #911
- Make exported RNG functions respect changes to R's seed by @andrjohns in #973
- Optimisations for model methods functions by @andrjohns in #960
- Bugfix for passing function for initial values with Pathfinder method and default
num_paths
by @andrjohns in #964 - Continue with compilation if
compile_stanalone=TRUE
but no functions are found by @jgabry in #956 - Update tests and CI for compatibility with MacOS ARM64 by @andrjohns in #958
- Fix handling of
inv_metric
argument with only 1 parameter by @venpopov in #935 - Fixes for compatibility with RTools44 by @andrjohns in #952 #959
New Contributors
- @eipi10 made their first contribution in #908
- @venpopov made their first contribution in #935
- @gowerc made their first contribution in #943
Full Changelog: v0.7.1...v0.8.0
cmdstanr v0.7.1
What's Changed
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #887
- Allow latest version check to take retries arg by @andrjohns in #890
- Add dedicated hpp generation step for future cmdstan compatibility by @andrjohns in #863
- Prepare v0.7.1 bugfix-release by @andrjohns in #893
Full Changelog: v0.7.0...v0.7.1
cmdstanr v0.7.0
Major changes
- New laplace method by @jgabry in #800
- New pathfinder method by @SteveBronder in #848
Other improvements and bug fixes
- Add missing link to diagnose method in CmdStanModel doc by @jgabry in #833
- Update array syntax in website vignette by @andrjohns in #841
- Compatibility fixes for cmdstan 2.33+ by @jgabry in #843
- Changed the delay behavior in wsl_installed by @martinmodrak in #839
- Improvements to compile tests by @martinmodrak in #836
- Suggest format method after error due to old syntax by @jgabry in #852
- Update linux/wsl detection for install arch by @andrjohns in #856
- Clarifications in R-markdown vignette by @jgcolman in #854
- Fix handling of single-length inits for containers by @andrjohns in #857
- Add support/tests for exposing functions with tuples by @andrjohns in #860
- Add support/tests for exporting functions with complex types by @andrjohns in #861
- Add option for installing from release archive by @andrjohns in #866
- Improve Pathfinder doc by @avehtari in #875
- Rename
jacobian_adjustment
argument tojacobian
by @jgabry in #879 - Fix get_cmdstan_flags('STANCFLAGS') in recursive make by @pearsonca in #881
New Contributors
- @jgcolman made their first contribution in #854
- @SteveBronder made their first contribution in #848
- @avehtari made their first contribution in #875
- @pearsonca made their first contribution in #881
Full Changelog: v0.6.1...v0.7.0
cmdstanr v0.6.1
What's Changed
- Store return codes instead of always querying exit status by @jgabry in #798
- enable jacobian argument for optimization by @jgabry in #799
- Fix init_model_methods for models with no data by @andrjohns in #801
- Document a CmdStan-focused way to pre-compile Stan models in R packages by @wlandau in #809
- Describe how to efficiently save model fit objects by @wlandau in #816
- fix errors in doc for new methods by @jgabry in #823
- Give informative error when exposing stan functions with precompiled model by @andrjohns in #831
- Bugfixes in .stanfunctions, hessian model method, and exposing RNG functions by @andrjohns in #811
- Fix variable_skeleton() with containers by @andrjohns in #832
- Improve handling of user header by @martinmodrak in #818
- change duplicate stdout_file to stderr_file by @jgabry in #834
Full Changelog: v0.6.0...v0.6.1
cmdstanr v0.6.0
Major new features
- New methods for accessing log_prob, grad_log_prob, hessian, un/constrain variables by @andrjohns in #701. See
?init_model_methods
. - New
expose_functions()
method to expose Stan functions to R by @andrjohns in #702. See?expose_functions
.
Other changes
mod$variables
works w includes in precompile state (fix #680) by @MKyhos in #682- Update broken link for Stan OpenCL support page by @erictleung in #686
- Add newline to check syntax output by @rok-cesnovar in #689
- Allow exposing functions without sampling by @andrjohns in #705
- Expose skeleton by @andrjohns in #706
- WSL - Run
cmdstan
and models under WSL filesystem by @andrjohns in #696 - Bugfix - Deep copy method/function environments by @andrjohns in #709
- Add option for including jacobian adjustments in hessian method by @andrjohns in #710
- WSL Optimisations and Bugfixes for CI by @andrjohns in #711
- add stancflags from make/local by @rok-cesnovar in #690
- Update co-authors by @andrjohns in #715
- Update model methods parameter naming and extract skeleton function by @andrjohns in #724
- Add method for unconstraining all parameter draws by @andrjohns in #729
- Improve efficiency of variable matching by @sbfnk in #736
- Add verbosity to download output and errors by @andrjohns in #745
- Update handling of show_messages, add show_exceptions by @andrjohns in #746
- Rtools43 support by @andrjohns in #755
- Add stanc M1 make patch, suppress boost warnings by @andrjohns in #756
- more examples of summary method by @gravesti in #751
- Fix model$format and model$check_syntax for compiled models with include-paths by @adrian-lison in #775
- Generalise RTools config/support by @andrjohns in #777
- New posterior vignette by @gravesti in #719
- Add moment-matching support to
$loo()
method by @andrjohns in #778 - replace \ with function (enables cmdstanr to install on R versions <= 4.0) by @jsocolar in #789
New Contributors
- @MKyhos made their first contribution in #682
- @erictleung made their first contribution in #686
- @sbfnk made their first contribution in #736
- @gravesti made their first contribution in #751
- @adrian-lison made their first contribution in #775
Full Changelog: v0.5.3...v0.6.0
cmdstanr v0.5.3
-
On Windows, users can now install and use CmdStan with WSL (Windows Subsystem for Linux). Set
wsl=TRUE
ininstall_cmdstan()
to install CmdStan for use with WSL. This can offer significant speedups compared to native Windows execution. (#677, credit goes to @andrjohns) -
In
cmdstan_default_path()
we now ignore directories inside~/.cmdstan
that don't start with "cmdstan-". (#651) -
Fixed Windows issues related to not locating grep.exe. (#661, #663, credit goes to @weshinsley)
-
Fixed a bug in diagnostic checks when
ebfmi
isNaN
. -
Fixed a bug that caused issues when using
~
or.
in paths supplied to thecmdstanr_write_stan_file_dir
global option. -
Fixed a bug that caused the
$time()
method to fail when some of the chains failed to finish successfully.
cmdstanr v0.5.2
-
Refactored toolchain installation and checks for R 4.x on Windows and added support
for Rtools42. (#645) -
Expanded the use of
CMDSTAN
environment variable to point to CmdStan installation
or directory containing CmdStan installations. (#643) -
New vignette on how to handle deprecations using the
$format()
method. (#644)
cmdstanr v0.5.1
- Temporarily disable
format="draws_rvars"
in the$draws()
method due to a
bug. Until this is fixed users can make use ofposterior::as_draws_rvars()
to
convert draws from CmdStanR to thedraws_rvars
format. (#640)
cmdstanr v0.5.0
Bug fixes
-
Fixed bug that caused stdour/stderr not being read at the end of
optimization. (#522) -
Fixed issue with handling
NA
as the reported external process
status. (#544, @myshkin) -
Fixed issue with handling models with no parameters and CmdStan
2.27+.
New features
-
Default directory changed to
.cmdstan
instead of.cmdstanr
so that
CmdStanPy and CmdStanR can use the same CmdStan installations. Using.cmdstanr
will continue to be supported until version 1.0 butinstall_cmdstan()
will now
default to.cmdstan
and CmdStanR will first look for.cmdstan
before falling
back on.cmdstanr
. (#454) -
New method
diagnose()
for CmdstanModel objects exposes CmdStan'sdiagnose
method for comparing Stan's gradient computations to gradients computed via
finite differences. (#485) -
New method
$variables()
for CmdstanModel objects that returns a list of
variables in the Stan model, their types and number of dimensions. Does
not require the model to be compiled. (#519) -
New method
$format()
for auto-formatting and canonicalizing the Stan models. (#625) -
Added the option to create
CmdStanModel
from the executable only with the
exe_file
argument. (#564) -
Added a convenience argument
user_header
to$compile()
andcmdstan_model()
that simplifies the use of an external .hpp file to compile with the model. -
Added the
cmdstanr_force_recompile
global option that is used for forcing
recompilation of Stan models. (#580) -
New method
$code()
for all fitted model objects that returns the Stan code
associated with the fitted model. (#575) -
New method
$diagnostic_summary()
for CmdStanMCMC objects that summarizes the
sampler diagnostics (divergences, treedepth, ebfmi) and can regenerate the
related warning messages. (#205) -
New
diagnostics
argument for the$sample()
method to specify which
diagnostics are checked after sampling. Replacesvalidate_csv
argument. (#205) -
Added E-BFMI checks that run automatically post sampling. (#500, @jsocolar)
-
New methods for
posterior::as_draws()
for CmdStanR fitted model objects.
These are just wrappers around the$draws()
method provided for convenience. (#532) -
write_stan_file()
now choose file names deterministically based on the code
so that models do not get unnecessarily recompiled when calling the function
multiple times with the same code. (#495, @martinmodrak) -
The
dir
argument forwrite_stan_file()
can now be set with a global
option. (#537) -
write_stan_json()
now handles data of class"table"
. Tables are converted
to vector, matrix, or array depending on the dimensions of the table. (#528) -
Improved processing of named lists supplied to the
data
argument to JSON
data files: checking whether the list includes all required elements/Stan
variables; improved differentiating arrays/vectors of length 1 and scalars
when generating JSON data files; generating floating point numbers with
decimal points to fix issue with parsing large numbers. (#538) -
install_cmdstan()
now automatically installs the Linux ARM CmdStan when
Linux distributions running on ARM CPUs are detected. (#531) -
New function
as_mcmc.list()
for converting CmdStanMCMC objects to mcmc.list
objects from the coda package. (#584, @MatsuuraKentaro)