• Update to match CRAN’s patched version by @jgabry in #114
  • Include additional template imports to suppress NOTEs by @andrjohns in #115
  • Fix packages with stanfunctions under rstan 2.33+ by @andrjohns in #117
  • Deprecated init_cpp. (#105)
  • Bugfix for standalone functions under 2.31 (#110)
  • Only add Makevars for current platform. (#109)
  • Suppress false-positive warning for standalone functions. (#111)
  • Updated C++ standard to C++17 (#100)
  • Updated the handling of exporting standalone stan functions in packages for compatibility with the 2.26 (and beyond) versions of StanHeaders and rstan (#101)
  • Added Andrew Johnson (@andrjohns) as an author

(Github issue/PR numbers in parentheses)

  • Updated “Step by step guide” vignette with instructions for adding new Stan models to an existing R package that already has Stan models. (#79, @rerickson-usgs)

  • Fixed R CMD check NOTE “configure does not appear to have a #! interpreter line”. (#83)

  • Use writeLines instead of cat to fix line endings issue reported by CRAN. (#87)

  • Switch to GitHub Actions for CI. (#90, @andrjohns)

  • Deprecate automatic creation of .travis.yml file. We now recommend the use of GitHub Actions. (#89)

  • Ensure compatibility with future versions of RStan. (#85, #94, @andrjohns, @hsbadr)

(Github issue/PR numbers in parentheses)

  • Compatibility with StanHeaders 2.21.0-5
  • Added Martin Lysy as a coauthor.

  • New function rstan_create_package() (based on usethis::create_package()) replaces rstan_package_skeleton() for the purpose of starting a new package with Stan functionality.

  • Stan functionality can be added to an existing package by calling use_rstan() instead of starting a new package from scratch.

  • Stan folder infrastructure now puts all .stan files in inst/stan and all auto-generated C++ files directly in src. This last step ensures that custom Rcpp source code can coexist with the Stan C++ code.

  • Each time a .stan file gets added/removed/modified requires a call to rstan_config() in order to generate the Stan C++ code and Rcpp::loadModule() calls. However, setting auto_config = TRUE (the default) in rstan_create_package() ensures rstan_config() is called whenever the package is installed (including via devtools::load_all()), so no need to call it manually unless the user wishes to inspect the Stan C++ code for issues.

  • roxygen2 documentation is now optional, but remains the default.

  • Rather than generating Stan “system files” via cat commands, rstantools now stores these as template files in inst/include/sys, so the build process can be easily modified as improvements become apparent.

(Github issue/PR numbers in parentheses)

(Github issue/PR numbers in parentheses)

(Github issue/PR numbers in parentheses)

(Github issue/PR numbers in parentheses)

(Github issue/PR numbers in parentheses)

(Github issue/PR numbers in parentheses)

Changes to rstan_package_skeleton:

  • Add comment in Read-and-delete-me about importing all of Rcpp and methods packages.

  • Include methods in Depends field of DESCRIPTION file.

  • Also download rstanarm’s Makevars.win file.

  • Initial CRAN release