Skip to content

Releases: stan-dev/cmdstanr

v0.8.0

18 May 13:24
12fe0f8
Compare
Choose a tag to compare

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 and show_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 and save_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 of cmdstanr and posterior by @jgabry in #955
  • Added coercion generics for CmdStanFit objects by @gowerc in #943
  • psis_resample and calculate_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

Full Changelog: v0.7.1...v0.8.0

cmdstanr v0.7.1

09 Jan 09:29
2bec769
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v0.7.1

cmdstanr v0.7.0

13 Dec 20:23
7e10703
Compare
Choose a tag to compare

Major changes

Other improvements and bug fixes

New Contributors

Full Changelog: v0.6.1...v0.7.0

cmdstanr v0.6.1

25 Aug 15:44
a13c798
Compare
Choose a tag to compare

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

26 Jul 20:49
cbb570a
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v0.5.3...v0.6.0

cmdstanr v0.5.3

17 Jul 18:41
22b391e
Compare
Choose a tag to compare
  • On Windows, users can now install and use CmdStan with WSL (Windows Subsystem for Linux). Set wsl=TRUE in install_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 is NaN.

  • Fixed a bug that caused issues when using ~ or . in paths supplied to the cmdstanr_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

28 Apr 21:48
Compare
Choose a tag to compare
  • 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

07 Apr 21:01
Compare
Choose a tag to compare
  • Temporarily disable format="draws_rvars" in the $draws() method due to a
    bug. Until this is fixed users can make use of posterior::as_draws_rvars() to
    convert draws from CmdStanR to the draws_rvars format. (#640)

cmdstanr v0.5.0

21 Mar 20:25
2e24ec8
Compare
Choose a tag to compare

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 but install_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's diagnose
    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() and cmdstan_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. Replaces validate_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 for write_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)

cmdstanr v0.4.0

15 Apr 19:01
Compare
Choose a tag to compare

Bug fixes

  • Fixed issue with retrieving draws with models with spaces in their names. (#453)

  • Fixed bug with spaces in path to the temporary folder on Windows. (#460)

  • Fixed issue with not reporting model executable name clashing with folder name. (#461)

New features

  • New function as_cmdstan_fit() that creates CmdStanMCMC/MLE/VB objects
    directly from CmdStan CSV files. (#412)

  • read_cmdstan_csv() now also returns chain run times for MCMC sampling CSV
    files. (#414)

  • Faster CSV reading for multiple chains. (#419)

  • New $profiles() method for fitted model objects accesses profiling
    information from R if profiling used in the Stan program. Support for profiling
    Stan programs requires CmdStan >= 2.26. (#434)

  • New vignette on profiling Stan programs. (#435)

  • New vignette on running Stan on the GPU with OpenCL. OpenCL device ids can
    now also be specified at runtime. (#439)

  • New check for invalid parameter names when supplying init values. (#452, @mike-lawrence)

  • Suppressing compilation messages when not in interactive mode. (#462, @wlandau)

  • New error_on_NA argument for cmdstan_version() to optionally return NULL
    (instead of erroring) if the CmdStan path is not found (#467, @wlandau).

  • Global option cmdstanr_max_rows can be set as an alternative to specifying
    max_rows argument to the $print() method. (#470)

  • New output_basename argument for the model fitting methods. Can be used in
    conjunction with output_dir to get completely predictable output CSV file
    paths. (#471)

  • New format argument for $draws(), $sampler_diagnostics(),
    read_cmdstan_csv(), and as_cmdstan_fit(). This controls the format of the
    draws returned or stored in the object. Changing the format can improve speed
    and memory usage for large models. (#482)