Skip to content

Releases: stan-dev/cmdstanr

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)

cmdstanr v0.3.0

17 Dec 21:38
46ae80f
Compare
Choose a tag to compare

Bug fixes

  • Fixed reading inverse mass matrix with values written in scientific format in
    the CSV. (#394)

  • Fixed error caused by an empty data list. Previously if a model didn't require
    data then data had to either be NULL or be a non-empty list, but now list()
    is allowed. (#403)

New features

  • Added $sample_mpi() for MCMC sampling with MPI. (#350)

  • Added informative messages on compile errors caused by precompiled headers (PCH). (#384)

  • Added the cmdstanr_verbose option for verbose mode. Intended for
    troubleshooting, debugging and development. See end of How does CmdStanR work?
    vignette for details. (#392)

  • New $loo() method for CmdStanMCMC objects. Requires computing pointwise
    log-likelihood in Stan program. (#366)

  • The fitted_params argument to the $generate_quantities() method now also
    accepts CmdStanVB, posterior::draws_array, and posterior::draws_matrix
    objects. (#390)

  • The $optimize() method now supports all of CmdStan's tolerance-related
    arguments for (L)BFGS. (#398)

  • The documentation for the R6 methods now uses @param, which allows package
    developers to import the CmdStanR documentation using roxygen2's
    @inheritParams. (#408)

cmdstanr v0.2.2

03 Dec 20:21
Compare
Choose a tag to compare

Bug fixes

  • Fixed bug with reading Stan CSV when grep used coloring by default (#364,#371)

  • Depend on posterior v0.1.3 to avoid potential error in $summary(). (#383)

New features

  • Added support for native execution on the macOS with the M1 ARM-based CPU. (#375)

  • Added threading support via threads argument for $optimize() and $variational()
    (was already available via threads_per_chain for $sample()). (#369)

cmdstanr v0.2.0

12 Nov 22:13
8a69115
Compare
Choose a tag to compare

You can install version 0.2.0 using either of the following lines:

install.packages("cmdstanr", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))

remotes::install_github("stan-dev/cmdstanr", ref = "v0.2.0")

Bug fixes

  • Fix potential indexing error if using read_cmdstan_csv() with CSV files
    created by CmdStan without CmdStanR. (#291, #292, @johnlees)

  • Fix error when returning draws or sampler diagnostics for a fit with only warmup
    and no samples. (#288, #293)

  • Fix trailing slashes issue for dir in cmdstan_model() and output_dir
    in fitting methods. (#281, #294)

  • Fix dimensions error when processing a list of matrices passed in as data. (#296, #302)

  • Fix reporting of time after using fixed_param method. (#303, #307)

  • With refresh = 0, no output other than error messages is printed with
    $optimize() and $variational(). (#324)

  • Fix issue where names of generated files could clash. (#326, #328)

  • Fix missing include_paths in $syntax_check(). (#335, @mike-lawrence)

New features

  • CSV reading is now faster by using data.table::fread(). (#318)

  • install_cmdstan() gains argument version for specifying which version of
    CmdStan to install. (#300, #308)

  • New function check_cmdstan_toolchain() that checks if the appropriate
    toolchains are available. (#289)

  • $sample() method for CmdStanModel objects gains argument chain_ids for
    specifying custom chain IDs. (#319)

  • Added support for the sig_figs argument in CmdStan versions 2.25 and above. (#327)

  • Added checks if the user has the necessary permissions in the RTools and temporary folders. (#343)

cmdstanr v0.1.0 (beta release)

29 Jul 21:39
Compare
Choose a tag to compare

Overview

CmdStanR is a lightweight interface to Stan for R users (see CmdStanPy for Python).

We recommend starting with these vignettes:

Goals

  • A clean interface to Stan services so that CmdStanR can keep up with Stan
    releases.

  • R code that doesn't interface directly with C++, only calls compiled executables.

  • Modularity: CmdStanR runs Stan's algorithms and lets downstream modules do the
    analysis.

  • Flexible BSD-3 license.

Installation

You can install the beta release of the cmdstanr R package with

install.packages("cmdstanr", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))

or you can install the latest development version from GitHub:

# install.packages("devtools")
devtools::install_github("stan-dev/cmdstanr")