Recent Releases of BridgeStan

BridgeStan - v2.6.2

BridgeStan 2.6.2

What's Changed

Fixes

  • Fix log_density calls not being thread safe by @WardBrian in https://github.com/roualdes/bridgestan/pull/273

Documentation

  • Start using sphinxcontrib-rust for Rust API documentation by @WardBrian in https://github.com/roualdes/bridgestan/pull/264

Misc.

  • Update rand requirement from 0.8.5 to 0.9.0 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/265
  • Update ureq requirement from 2.7 to 3.0 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/266
  • Update dirs requirement from 5.0 to 6.0 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/261
  • Cleanup R tests by @WardBrian in https://github.com/roualdes/bridgestan/pull/263

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.6.1...v2.6.2

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] about 1 year ago

BridgeStan - v2.6.1

BridgeStan 2.6.1

What's Changed

  • Mark the version numbers as const in bridgestan.h. This fixes a regression in the Send and Sync traits in Rust. Contributed by @aseyboldt in https://github.com/roualdes/bridgestan/pull/259

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.6.0...v2.6.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

BridgeStan - v2.6.0

BridgeStan 2.6.0

What's Changed

Features

  • Added bounds checks to input arrays by @WardBrian in https://github.com/roualdes/bridgestan/pull/241
  • Update Stan to 2.36.0 by @dependabot in https://github.com/roualdes/bridgestan/pull/256

Documentation

  • Add example of loading at runtime from C by @WardBrian in https://github.com/roualdes/bridgestan/pull/248
  • Fix error printing in c-example by @WardBrian in https://github.com/roualdes/bridgestan/pull/249

Other

  • Update thiserror requirement to 2.0.3 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/251
  • Bump r-lib/actions to 2.11.1 by @dependabot in https://github.com/roualdes/bridgestan/pull/253
  • Bump pypa/gh-action-pypi-publish to 1.12.2 by @dependabot in https://github.com/roualdes/bridgestan/pull/254
  • Update bindgen requirement to 0.71.1 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/255

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.5.0...v2.6.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 1 year ago

BridgeStan - v2.5.0

BridgeStan 2.5.0

What's Changed

Features

  • implement BridgeStan download and module compilation on Rust by @randommm in https://github.com/roualdes/bridgestan/pull/212
  • R: Warn if error is too long to print properly by @WardBrian in https://github.com/roualdes/bridgestan/pull/232
  • Support for USER_HEADER in build system by @WardBrian in https://github.com/roualdes/bridgestan/pull/233
  • Update Stan to 2.35 by @dependabot in https://github.com/roualdes/bridgestan/pull/235
  • Add a download flag to getbridgestanpath by @WardBrian in https://github.com/roualdes/bridgestan/pull/236

Documentation

  • Updates following Rust compilation by @WardBrian in https://github.com/roualdes/bridgestan/pull/231
  • Update Julia doc to cross link, remove mention of Artifact by @WardBrian in https://github.com/roualdes/bridgestan/pull/228

Other

  • Clean up our usage of Bool in FFI by @WardBrian in https://github.com/roualdes/bridgestan/pull/229

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.4.1...v2.5.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] almost 2 years ago

BridgeStan - v2.4.1

BridgeStan 2.4.1

What's Changed

Documentation

  • Update install doc after R build features by @WardBrian in https://github.com/roualdes/bridgestan/pull/221

Other

  • Julia: Switch from LazyArtifacts to a manual download for the C++ sources by @WardBrian in https://github.com/roualdes/bridgestan/pull/227

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.4.0...v2.4.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] about 2 years ago

BridgeStan - v2.4.0

BridgeStan 2.4.0

What's Changed

Features

  • Bump Stan to 2.34.1 by @dependabot in https://github.com/roualdes/bridgestan/pull/197 and https://github.com/roualdes/bridgestan/pull/201
  • Add flag warn to each constructor to control re-load warnings by @WardBrian in https://github.com/roualdes/bridgestan/pull/218

Documentation

  • Automate R docs build from roxygen comments by @WardBrian in https://github.com/roualdes/bridgestan/pull/205
  • Improve panic error message on the Rust example by @randommm in https://github.com/roualdes/bridgestan/pull/211

Other

  • Move Julia TBB detection to instantiation time by @WardBrian in https://github.com/roualdes/bridgestan/pull/213
  • Fix Windows R tests by @WardBrian in https://github.com/roualdes/bridgestan/pull/210

New Contributors

  • @randommm made their first contribution in https://github.com/roualdes/bridgestan/pull/211

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.3.0...v2.4.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] about 2 years ago

BridgeStan - v2.3.0

BridgeStan 2.3.0

What's Changed

Features

  • Python: allow ctypes pointers for in/out parameters by @WardBrian in https://github.com/roualdes/bridgestan/pull/193
  • R: Add functionality to build models inside R by @WardBrian in https://github.com/roualdes/bridgestan/pull/172
  • Unify constructors to always allow a .stan file to be passed by @WardBrian in https://github.com/roualdes/bridgestan/pull/188
  • Set up visibility controls for public symbols in the library by @WardBrian in https://github.com/roualdes/bridgestan/pull/185

Documentation

  • Improve developer documentation and experience by @WardBrian in https://github.com/roualdes/bridgestan/pull/184
  • Add implementation details docs page, note on propto=True for log_density by @WardBrian in https://github.com/roualdes/bridgestan/pull/192
  • Add README sections on known users of BridgeStan by @WardBrian in https://github.com/roualdes/bridgestan/pull/186

Other

  • Update bindgen requirement from 0.68.1 to 0.69.1 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/183
  • Misc. cleanups by @WardBrian in https://github.com/roualdes/bridgestan/pull/191

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.2.2...v2.3.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 2 years ago

BridgeStan - v2.2.2

BridgeStan 2.2.2

What's Changed

  • Update stanc to version 2.33.1 by @WardBrian in https://github.com/roualdes/bridgestan/pull/181
  • Fix memory leak in log_density(propto=True) by @WardBrian in https://github.com/roualdes/bridgestan/pull/180
  • Python: Move all metadata to pyproject.toml by @WardBrian in https://github.com/roualdes/bridgestan/pull/177
  • Python: Issue warning when re-loading the same module by @WardBrian in https://github.com/roualdes/bridgestan/pull/178

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.2.1...v2.2.2

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 2 years ago

BridgeStan - v2.2.1

BridgeStan 2.2.0

What's Changed

  • This release is identical to 2.2.0, but fixes an issue with the release tarball (#176). This should resolve some installation issues on Windows.

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.2.0...v2.2.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 2 years ago

BridgeStan - v2.2.0

BridgeStan 2.2.0

What's Changed

  • Update preferred citation to point to JOSS by @WardBrian in https://github.com/roualdes/bridgestan/pull/162
  • Remove unnecessary backward pass in log_density by @WardBrian in https://github.com/roualdes/bridgestan/pull/165
  • Update to Stan 2.33 by @WardBrian in https://github.com/roualdes/bridgestan/pull/167
  • Feature: Hessian-vector product function by @WardBrian in https://github.com/roualdes/bridgestan/pull/126
  • Update bindgen requirement from 0.66.1 to 0.68.1 in /rust by @dependabot in https://github.com/roualdes/bridgestan/pull/170
  • Update CI and Makefile by @WardBrian in https://github.com/roualdes/bridgestan/pull/171

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.1.2...v2.2.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 2 years ago

BridgeStan - v2.1.2

BridgeStan 2.1.2

What's Changed

  • fix(rust): Allow loading more recent libraries by @aseyboldt in https://github.com/roualdes/bridgestan/pull/153
  • Fix Sundials make config by @aseyboldt in https://github.com/roualdes/bridgestan/pull/152
  • Docs: Formatting tweaks and fixes by @WardBrian in https://github.com/roualdes/bridgestan/pull/155
  • Clarify usage of set_bridgestan_path in examples by @WardBrian in https://github.com/roualdes/bridgestan/pull/157
  • Various other documentation updates

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.1.1...v2.1.2

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] almost 3 years ago

BridgeStan - v2.1.1

BridgeStan 2.1.1

This change only impacts Python users on Windows

What's Changed

  • Fix: Windows TBB path logic fails if BridgeStan is not yet downloaded by @WardBrian in https://github.com/roualdes/bridgestan/pull/149

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.1.0...v2.1.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] almost 3 years ago

BridgeStan - v2.1.0

BridgeStan 2.1.0

What's Changed

  • New: Rust interface by @aseyboldt in https://github.com/roualdes/bridgestan/pull/105
  • Windows: add TBB (and MinGW DLLs) to load path by @WardBrian in https://github.com/roualdes/bridgestan/pull/118
  • Python: Warn if user has 5+ copies in .bridgestan by @WardBrian in https://github.com/roualdes/bridgestan/pull/128
  • R: Allow NaN and Inf to be passed in foreign function calls by @WardBrian in https://github.com/roualdes/bridgestan/pull/132
  • Bump Stan to 2.32.2 by @dependabot in https://github.com/roualdes/bridgestan/pull/135
  • Add Julia function new_rng by @roualdes in https://github.com/roualdes/bridgestan/pull/146

Minor Changes

  • Tweaks following 2.0 release action by @WardBrian in https://github.com/roualdes/bridgestan/pull/116
  • Split Windows CI by @WardBrian in https://github.com/roualdes/bridgestan/pull/119
  • Fix R example and run examples in CI by @WardBrian in https://github.com/roualdes/bridgestan/pull/122
  • Re-enable Julia 1.9 MacOS Tests by @WardBrian in https://github.com/roualdes/bridgestan/pull/123
  • Add links to documentation of _R functions in C API by @WardBrian in https://github.com/roualdes/bridgestan/pull/140
  • Add warning to R doc about conda by @WardBrian in https://github.com/roualdes/bridgestan/pull/142
  • Docs: Add note on features not available in all interfaces by @WardBrian in https://github.com/roualdes/bridgestan/pull/143
  • Update Getting Started documentation by @WardBrian in https://github.com/roualdes/bridgestan/pull/141
  • Delete extra sentence in R docs by @WardBrian in https://github.com/roualdes/bridgestan/pull/144
  • Rust: documentation and release pipelines by @WardBrian in https://github.com/roualdes/bridgestan/pull/130
  • Add to Julia interface docs required STAN_THREADS for tests by @roualdes in https://github.com/roualdes/bridgestan/pull/147

New Contributors

  • @aseyboldt made their first contribution in https://github.com/roualdes/bridgestan/pull/105

Full Changelog: https://github.com/roualdes/bridgestan/compare/v2.0.0...v2.1.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] almost 3 years ago

BridgeStan - v2.0.0

BridgeStan 2.0.0

This version of BridgeStan features several breaking changes, primarily to the C API which is used "under the hood", but also to how models with generated quantities must be called. Additionally, many "quality of life" features have been added, ranging from const correctness in the C API, to vastly improved error messages in the interfaces.

The BridgeStan documentation has been updated, and old versions of the docs are now available via a dropdown at the top of each page.

Interface changes

Breaking Changes

  • For all interfaces, the param_constrain family of functions now accept an rng argument of type StanRNG. This is required if include_gq is set in the function, otherwise it may be omitted. These RNGs are now used in any RNG function calls inside the generated quantities block, rather than using an RNG stored inside the BridgeStan model object.
  • This means that the param_constrain function is now thread-safe if each thread has its own StanRNG. See the documentation for your preferred interface for more on how to instantiate StanRNGs.

Other Changes

  • BridgeStan has updated to Stan 2.32.1
  • Error messages are now properly reported by each language's preferred exception mechanism. This means no more "See C++ stderr for details" messages when an error occurs.
  • All interfaces: print() statements inside of Stan models will now be directed to stdout instead of stderr.
  • Python: print() statements inside of Stan models are re-directed to sys.stdout by default to allow them to appear in things like Jupyter notebooks. See the capture_stan_prints argument to the StanModel constructor for more details.

C API

Breaking Changes

  • Mirroring the above changes for param_constrain, the bs_model_rng type has been split into two types, bs_model and bs_rng. The creation and destruction functions have been renamed to bs_model_construct/bs_rng_construct and bs_model_destruct/bs_rng_desctruct.
  • The param_constrain function accepts a new bs_rng* argument, which can be NULL if include_gq is false.
  • Any function in the C API which can fail (those which return integer return codes) now accept an additional argument of type char **. If a non-null pointer is provided, it will be set to a newly allocated error message string if a failure occurs. Error messages are no longer printed to stderr. These strings must later be freed by calling a new function bs_free_error_msg.

Other Changes

  • The C API functions now properly mark bs_model* arguments as const where appropriate. With the param_constrain changes, this means all functions except for bs_model_destruct take a const pointer now.
  • Three new constants are available in the C API - bs_major_version, bs_minor_version, bs_patch_version.
  • The data argument to the bs_model_construct function can now be NULL, indicating "no data".
  • A new function, bs_set_print_callback is available. This can be used to provide a function which is called when print statements in the Stan model are run. This is primarily used in the Python interface to re-direct to sys.stdout.
  • The C API now uses the stdbool.h header file's bool type, rather than typedef int bool

Full Changelog: https://github.com/roualdes/bridgestan/compare/v1.0.2...v2.0.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] about 3 years ago

BridgeStan - v1.0.2

What's Changed

  • Bump r-lib/actions from 2.3.1 to 2.4.0 by @dependabot in https://github.com/roualdes/bridgestan/pull/74
  • Do not create ChainableStacks except when threading by @WardBrian in https://github.com/roualdes/bridgestan/pull/75
  • Add a few more tests to the R interface by @WardBrian in https://github.com/roualdes/bridgestan/pull/76
  • example.R: add missing instructions by @jgabry in https://github.com/roualdes/bridgestan/pull/78
  • bridgestan.R: fix a few doc typos and use consistent punctuation by @jgabry in https://github.com/roualdes/bridgestan/pull/77
  • Make sure -fPIC is set globally so Sundials can link by @WardBrian in https://github.com/roualdes/bridgestan/pull/81
  • Update list of test models in Makefile by @WardBrian in https://github.com/roualdes/bridgestan/pull/82
  • Python: Download bridgestan source if needed by @WardBrian in https://github.com/roualdes/bridgestan/pull/80

New Contributors

  • @jgabry made their first contribution in https://github.com/roualdes/bridgestan/pull/78

Full Changelog: https://github.com/roualdes/bridgestan/compare/v1.0.1...v1.0.2

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] about 3 years ago

BridgeStan - BridgeStan v1.0.1

What's Changed

The major changes for this version are that the Python interface is available on PyPI (https://pypi.org/project/bridgestan/) and the Julia interface is being added to the Julia General Registry (pending a 3-day waiting period).

  • fix links to python & julia examples in readme by @mike-lawrence in https://github.com/roualdes/bridgestan/pull/63
  • change JSON object to JSON string literal for all BridgeStan owned files by @roualdes in https://github.com/roualdes/bridgestan/pull/66
  • Add Julia doc to emphasize compile_model args in StanModel; re issue #64 by @roualdes in https://github.com/roualdes/bridgestan/pull/65
  • Download bridgestan repo as artifact for BridgeStan.jl by @sethaxen in https://github.com/roualdes/bridgestan/pull/70
  • Add compatibility with Julia LTS by @sethaxen in https://github.com/roualdes/bridgestan/pull/72
  • Add unified release action by @WardBrian in https://github.com/roualdes/bridgestan/pull/73

New Contributors

  • @mike-lawrence made their first contribution in https://github.com/roualdes/bridgestan/pull/63
  • @sethaxen made their first contribution in https://github.com/roualdes/bridgestan/pull/70

Full Changelog: https://github.com/roualdes/bridgestan/compare/v1.0.0...v1.0.1

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] over 3 years ago

BridgeStan - BridgeStan v1.0.0

The initial release of BridgeStan.

BridgeStan provides efficient in-memory access through Python, Julia, and R to the methods of a Stan model, including log densities, gradients, Hessians, and constraining and unconstraining transforms.

Check out the documentation at https://roualdes.github.io/bridgestan/

Scientific Software - Peer-reviewed - Python
Published by WardBrian over 3 years ago