# seroreconstruct 1.1.5

## Bug fixes

* Reduced total check time from >10 min to ~3 min by sharing pre-computed
  MCMC fixtures across test files and reducing vignette iterations.

* Added `inst/WORDLIST` for domain-specific terms (HAI, hemagglutination, titer)
  flagged by CRAN spell checker.

* Fixed GPL license badge URL in README that caused a connection timeout on
  CRAN's Windows pre-test server.

---

# seroreconstruct 1.1.3

## Bug fixes

* Platform-conditional LAPACK linkage via `configure`/`Makevars.in`/`cleanup`
  scripts, fixing macOS Abort trap from double-linking while retaining Linux
  `dpotrf_` symbol resolution.

* `.onLoad()` now respects pre-existing `RCPP_PARALLEL_NUM_THREADS` before
  capping to 2.

* Plot test examples wrapped in `pdf(NULL)`/`dev.off()` to prevent
  `Rplots.pdf` artifacts.

* `plot_diagnostics()` example limited to 2 parameters to avoid graphics
  device overflow in pkgdown.

---

# seroreconstruct 1.1.2

## Bug fixes

* Added LAPACK/BLAS linkage to `src/Makevars` for Linux/Debian, fixing
  `undefined symbol: dpotrf_` installation failure on CRAN's Debian
  (clang-21) pre-test environment.

---

# seroreconstruct 1.1.1

## Bug fixes

* Fixed variable length array (VLA) warnings in C++ code flagged by GCC 14
  on Windows (`-Wvla`). Replaced with `std::vector<double>`.

* Removed obsolete `CXX_STD = CXX11` from Makevars files and
  `SystemRequirements` — the default C++ standard is sufficient.

---

# seroreconstruct 1.1.0

## New features

* `sero_reconstruct()` gains a `group_by` argument for subgroup analysis — fit
  independent MCMCs for age groups, vaccination status, or other strata defined
  by a one-sided formula (e.g., `~age_group`).

* `sero_reconstruct()` gains a `shared` argument for joint models — run a single
  MCMC that shares measurement error (`"error"`) and/or antibody
  boosting/waning (`"boosting_waning"`) across groups while estimating
  group-specific infection risk. Measurement error is always shared when
  comparing groups of the same virus subtype.

* `sero_reconstruct()` gains a `subject_ids` argument for ID-based individual
  lookup in `plot_trajectory()`.

* **Multi-season support** — add a 0-indexed integer `season` column to input
  data; the model estimates season-specific infection risk and HAI protection
  parameters.

* **S3 classes** `seroreconstruct_fit`, `seroreconstruct_joint`, and
  `seroreconstruct_multi` with `print()` and `summary()` methods.

* **New plot functions:** `plot_trajectory()`, `plot_boosting()`,
  `plot_waning()`, `plot_infection_prob()`, `plot_diagnostics()`.

* **New table functions:** `table_parameters()`, `table_infections()`.

* **`simulate_data()`** — generate synthetic HAI titer datasets for validation
  and power analysis.

## Deprecated

* `output_model_estimate()` is deprecated. Use `table_parameters()` and
  `table_infections()` instead.

---

# seroreconstruct 1.0.0

* Initial release. Core Bayesian MCMC framework for inferring influenza
  infection status, antibody dynamics, and individual infection risks from
  longitudinal HAI titer data.

* Based on Tsang TK et al. (2022) *Nat Commun* 13:1557.
  <https://doi.org/10.1038/s41467-022-29310-8>
