Skip to content

Release notes

Every release of this package is published as a GitHub release. The most recent are reproduced below, as they were written there.

v0.2.0

Released 2026-08-06. Read it on GitHub.

Diff since v0.1.0

Breaking changes
  • One hook per family_check_moments is now folded into to_native. Families override a single hook instead of two. Update any custom families accordingly. (#84)

  • Exported API rename_to_nativeto_native, _nativenative. The underscore prefix is dropped. (#47)

  • Registration surface cut from seven hooks to three — most families now need only _to_native, _native, and _check_validity. (#82)

  • Infrastructure modernised onto EpiAwarePackageTools managed kit. (#23)

New features
  • reparameterise() — wrap any distribution so its parameters are its moments (#19). The core verb. (#26)

  • Closed-form moment conversions for several families:

    • Gamma(mean, sd), Gamma(mean, var), Gamma(mean, shape) — exact algebra, no solve. (#27)

    • NegativeBinomial(mean, overdispersion) — overdispersion as excess variance relative to Poisson. (#27)

    • Beta(mean, sd) and InverseGaussian(mean, sd). (#75)

    • SkewNormal(location, scale, tail_prob) — parameterised by a tail probability rather than skew. (#62)

    • Exponential(rate) and Gamma(shape, rate) — rate parameterisations. (#61)

    • NegativeBinomial(mean, reciprocal_dispersion) — reciprocal dispersion alternative. (#60)

  • Numeric moment matching via a solver extension using Roots.jl, with Weibull as its first user. Compatible with every major AD backend. (#78, #85)

  • Family-agnostic rescale verb — shift a distribution's moments without knowing its parameterisation. (#59)

  • Fully inferred construction — family names threaded as Val so type inference works through construction. (#49)

Fixes
  • Author credits aligned per community ruling (#48). (#64)

  • Replaced broken ConvolvedDistributions link with correct /dev/ docs URL. (#63)

  • Docs deploy URL now uses https:// so CSS resolves on the deployed site. (#33, #34)

Documentation
  • Full README and getting-started overview refresh to org standards. (#79)

  • Release notes page now points at GitHub Releases. (#76)

  • Added a Related packages section to the README. (#50)

  • Logo, richer REPL show, and scaffold text improvements. (#46)

Infrastructure
  • CI dependencies bumped: actions/checkout to v7, actions/github-script to v9, julia-actions/setup-julia to v3, julia-actions/cache to v3. (#28, #29, #30, #31)

  • Dependabot updates grouped and template sync repaired (#67, #66).

  • Julia dependency bumps (JET, compat updates). (#70, #74)

  • Other GitHub Actions group bumps. (#69, #73)

Merged pull requests:

  • ci(deps): Bump the github-actions group with 8 updates (#73) (@dependabot[bot])

  • chore(deps): Update JET requirement from 0.9, 0.10, 0.11 to 0.9, 0.10, 0.11, 0.12 in the julia group (#74) (@dependabot[bot])

  • feat: register Beta and InverseGaussian analytical moment conversions (#39) (#75) (@seabbs-bot)

  • docs: point the release-notes page at GitHub Releases (#72) (#76) (@seabbs-bot)

  • feat: numeric moment matching via a solver extension, with Weibull as its first user (#41) (#78) (@seabbs-bot)

  • docs: bring the README and getting-started overview back to org standards (#79) (@seabbs-bot)

  • refactor: cut the registration surface from seven hooks to three (#80) (#82) (@seabbs-bot)

  • refactor!: one hook per family — fold the validity guard into to_native (#84) (@seabbs-bot)

Closed issues:

  • Add support for an increased range of dists with analytical moment conversions (#39)

  • Numeric moment matching (#41)

  • Release (#65)

  • Point the release-notes docs page at GitHub Releases (#72)

  • Family registration is documented as a public extension path but half of it is private (_valid_moments, plus five more from #41) (#80)

v0.1.0

Released 2026-07-31. Read it on GitHub.

First release. Adds core functionality as well as package infrastructure.

Closed issues:

  • Add package infrastructure (#1)

  • Update to hosting at EpiAware (#3)

  • Update to use EpiAware skeleton (#4)

  • Add mean and sd parameterisation for common univariate distributions (#5)

  • Gamma: mean and sd (#6)

  • Lognormal: mean and sd (#7)

  • Negative binomial parameterisations (#8)

  • Neg bin: mean and dispersion (#9)

  • Neg bin: mean and clustering factor (#10)

  • Neg bin: Log input (#11)

  • Neg bin: GLM optimised likelihood (#12)

  • Poisson (#13)

  • Poisson: Log input (#14)

  • Poisson: GLM optimised (#15)

  • Package rename (#16)

  • Explore DistributionFactories to see what the overlap is (#17)

  • Modernise onto current EpiAwarePackageTools infra (ad=true) + KIT AD harness (#18)

  • Core: AbstractReparameterisedDistribution + reparameterise() constructor (moment-param wrapper) (#19)

  • Closed-form mean+sd reparameterisations: LogNormal + Gamma (priority) + NegBinomial mean+overdispersion (#20)

  • Port the moment-parameterisation wrapper from CensoredDistributions (CD#725) (#21)

  • Triage the legacy #7–#17 per-family backlog against the generic wrapper (#22)

  • Manual setup for ReparameterisedDistributions (Codecov, Pages, branch protection, registration) (#24)

  • Scaffold text left in docs. (#36)

  • Remove refs to other packages/epi people won't know (#37)

  • Add a approach to get the original params of the distribution i.e the internal params (#38)

  • Review AD support and make sure all working (#40)

  • Package logo missing (#42)

  • _to_native (#43)

  • Custom show method (#44)

  • Type stability of reparameterised named tuple (#45)

  • Align author credits across Project.toml, CITATION.cff and docs (needs @seabbs ruling) (#48)

  • Family-agnostic mean rescaling verb (#52)

  • Register the reciprocal dispersion parameterisation for the negative binomial (#53)

  • Rate parameterisations for the exponential and gamma families (#54)

  • Register a skew-normal parameterisation keyed on a tail probability (#55)

Every release, including any older than those above, is listed on the releases page.