Skip to content

Commit e775746

Browse files
kholdrexclaude
andcommitted
chore: release v0.2.0
Bundles up the multi-chain runner, discrete distributions, HMC gradient checker, first-class warmup workflow, serde-serializable diagnostics, the gamma log-probability accuracy fix, and the input-validation hardening landed since 0.1.0. All changes since 0.1.0 are additive — trait additions ship with default impls — so existing 0.1.x users upgrade without source changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b21c4f6 commit e775746

3 files changed

Lines changed: 35 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.2.0] - 2026-06-06
9+
10+
### Added
11+
- Discrete distributions module with discrete sampling primitives.
12+
- Hamiltonian Monte Carlo gradient checker with `finite_difference_gradient` and
13+
`gradient_check` helpers for validating user-supplied gradients.
14+
- Multi-chain runner (`multi_chain::run_multiple_chains` and `MultiChainOutput`)
15+
that drives several seeded samplers through a shared warmup/sample schedule
16+
and returns combined diagnostics.
17+
- First-class warmup/burn-in workflow on the `Sampler` trait: `run_with_warmup`,
18+
`sample_with_warmup`, `WarmupMetadata`, and `WarmupRun`. Sampler statistics
19+
are reset between the warmup and retained phases.
20+
- Optional `serde` support for `McmcDiagnostics`, `McmcDiagnosticSummary`,
21+
`ParameterDiagnosticSummary`, `TracePlot`, `WarmupMetadata`, `WarmupRun`, and
22+
`MultiChainOutput`, gated behind the `serde` feature.
23+
- Normal-normal and additional conjugate-model examples
24+
(`examples/conjugate_models.rs`, `examples/serde_diagnostics.rs`,
25+
`examples/discrete_distributions.rs`) plus a conjugate-models test suite.
26+
- MCSE summaries and richer per-parameter diagnostic output.
27+
28+
### Changed
29+
- Hardened sampler input validation across Metropolis-Hastings, Gibbs, and HMC
30+
constructors to reject non-finite or mis-sized inputs earlier.
31+
- Tightened gradient-check input validation (empty or non-finite points are
32+
rejected before evaluating the analytic gradient).
33+
34+
### Fixed
35+
- Improved numerical accuracy of the Gamma log-probability computation; locked
36+
with a regression test.
37+
38+
[0.2.0]: https://github.com/SyntaxSpirits/bayes-rs/releases/tag/v0.2.0
39+
840
## [0.1.0] - 2025-07-03
941

1042
### Added

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bayes-rs"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
edition = "2021"
55
authors = ["Alex Kholodniak <alexandrkholodniak@gmail.com>"]
66
description = "A Rust library for Bayesian inference with MCMC samplers"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ Add this to your `Cargo.toml`:
2121

2222
```toml
2323
[dependencies]
24-
bayes-rs = "0.1.0"
24+
bayes-rs = "0.2.0"
2525
```
2626

2727
Enable the optional `serde` feature when you want to serialize user-facing MCMC output:
2828

2929
```toml
3030
[dependencies]
31-
bayes-rs = { version = "0.1.0", features = ["serde"] }
31+
bayes-rs = { version = "0.2.0", features = ["serde"] }
3232
```
3333

3434
### Simple Example

0 commit comments

Comments
 (0)