Releases: TuringLang/JuliaBUGS.jl
JuliaBUGS-v0.13.0
JuliaBUGS JuliaBUGS-v0.13.0
Breaking changes
- Bump AbstractPPL to 0.14
Merged pull requests:
- Bump AbstractPPL to 0.14, release v0.13.0 (#422) (@github-actions[bot])
- DoodleStan: Generate Stan Code for DoodleBUGS graph (#431) (@shravanngoswamii)
- fix Dependabot alerts (#444) (@shravanngoswamii)
Closed issues:
- Imcompatibility of the latest DynamicPPL and JuliaBUGS (#442)
JuliaBUGS-v0.12.3
JuliaBUGS JuliaBUGS-v0.12.3
Merged pull requests:
- CompatHelper: bump compat for MetaGraphsNext to 0.8 for package JuliaBUGS, (keep existing compat) (#425) (@github-actions[bot])
- fix serializing BUGSmodel and add tests (#435) (@hardik-xi11)
- CI: consolidate test matrix, fix benchmark fork permissions, misc cleanup (#438) (@sunxd3)
- Add codecov.yml for multi-upload coverage (#440) (@sunxd3)
- Release v0.12.3 (#441) (@sunxd3)
Closed issues:
JuliaBUGS-v0.12.2
JuliaBUGS JuliaBUGS-v0.12.2
Merged pull requests:
- fix dependabot security alert (#424) (@shravanngoswamii)
- improve DoodleWidget (#426) (@shravanngoswamii)
- Tons of Improvements and reduce code duplication across DoodleBUGS and DoodleWidget (#428) (@shravanngoswamii)
- fix maths and inline latex (#430) (@shravanngoswamii)
- fix security issues -- Dependabot Alerts (#432) (@shravanngoswamii)
- Catch DomainError in logdensity to prevent HMC crashes (#434) (@sunxd3)
Closed issues:
JuliaBUGS-v0.12.1
JuliaBUGS JuliaBUGS-v0.12.1
Add support for TensorBoardLogger.jl via AbstractMCMC.mcmc_callbaks. See here.
Merged pull requests:
- Add AbstractMCMC Callbacks support (#423) (@shravanngoswamii)
JuliaBUGS-v0.12.0
JuliaBUGS JuliaBUGS-v0.12.0
Breaking changes
This release brings major improvements to gradient-based inference with DifferentiationInterface.jl replacing LogDensityProblemsAD, and automatic marginalization of discrete parameters.
Highlights
-
DifferentiationInterface.jl for gradient computation (#397): Gradient computation now uses DifferentiationInterface.jl instead of LogDensityProblemsAD. Pass an
adtypeparameter tocompile()to get a gradient-enabled model.- Example:
model = compile(model_def, data; adtype=AutoReverseDiff()) - Supports
AutoReverseDiff,AutoForwardDiff,AutoMooncake
- Example:
-
Auto-marginalization for discrete parameters (#385): Automatically marginalize discrete latent variables to enable gradient-based inference on models with discrete parameters.
- Example:
model = set_evaluation_mode(settrans(compile(model_def, data), true), UseAutoMarginalization()) - Supports models where discrete parameters have finite support (e.g.,
Categorical,Bernoulli)
- Example:
-
On-demand log density function generation (#416): Log density functions are now generated on-demand when
set_evaluation_mode(model, UseGeneratedLogDensityFunction())is called, rather than at compile time. All models start withUseGraph()mode.
Breaking Changes
LogDensityProblemsAD.ADgradientis no longer supported. Usecompile(...; adtype=...)orBUGSModelWithGradient(model, adtype)instead.
Migration Notes
With on-demand generation (#416), some internal options from 0.10.x are no longer needed:
skip_source_generationparameter removed fromcompile()- no longer necessary since functions are generated lazily.regenerate_log_densitykwarg removed fromcondition()- conditioned models start inUseGraphmode; callset_evaluation_mode(model, UseGeneratedLogDensityFunction())when needed.regenerate_log_density_function()removed - useset_evaluation_mode(model, UseGeneratedLogDensityFunction())instead.
Improvements
- Expanded support for generated log density functions via dependence vectors (#390)
- Julia 1.12 compatibility improvements (#404)
Merged pull requests:
- Auto-marginalization discrete model parameters (#385) (@sunxd3)
- Integrate DifferentiationInterface.jl for gradient computation (#397) (@shravanngoswamii)
- Remove macOS test workflow (#414) (@sunxd3)
- Simplify benchmark logic and output (#415) (@sunxd3)
- Make log density function generation on-demand (#416) (@sunxd3)
- Prepare for release 0.12 (#417) (@sunxd3)
- DoodleBUGS: Build as Library for Integration in Any Web App (#418) (@shravanngoswamii)
- Reorganize documentation structure (#420) (@sunxd3)
- Fix UseGeneratedLogDensityFunction to support @bugs_primitive functions (#421) (@sunxd3)
Closed issues:
JuliaBUGS-v0.11.1
JuliaBUGS JuliaBUGS-v0.11.1
Merged pull requests:
- DoodleBUGS: Make zooming smooth (#360) (#384) (@Govindggupta)
- Add DoodleBUGS PR Preview cleanup workflow (#387) (@Copilot)
- Use dependence vectors to support generating Julia code for more models (#390) (@sunxd3)
- DoodleBUGS: Implement Undo/Redo functionality (#398) (@kundangosavii)
- CompatHelper: bump compat for JSON to 1 for package JuliaBUGS, (keep existing compat) (#399) (@github-actions[bot])
- Use
invokelatestin tests (because of Julia 1.12) (#404) (@sunxd3) - DoodleBUGS: fix Dependabot security alerts (#407) (@shravanngoswamii)
- DoodleBUGS: Use
PrimeVuefor UI & Implement “Figma-like” Layout & Model Sharing Feature (#408) (@shravanngoswamii) - DoodleBUGS: fix sharing model with validation errors (#410) (@shravanngoswamii)
- DoodleBUGS: Remove node only when
Alt/Option (⌥)is pressed (#413) (@shravanngoswamii)
Closed issues:
- Compile to JAX to enable GPU/TPU acceleration and
vmap. (#209) - DoodleBUGS: Add GHA for PR Preview cleanup (#342)
- DoodleBUGS: Backend (#355)
- DoodleBUGS: Allow plate resizing (#358)
- DoodleBUGS: Undo/Redo Functionality (#359)
- DoodleBUGS: Make zooming smooth (#360)
- JuliaBUGS: Plates not supported in plotting (#412)
JuliaBUGS-v0.11.0
JuliaBUGS JuliaBUGS-v0.11.0
v0.11.0 Breaking Changes
Simplified sampling API in AbstractPPL.evaluate!!: Replaced sample_all and respect_observed (added in 0.10.5) kwargs with sample_observed.
Migration:
- From 0.10.5: Default behavior unchanged (samples latents, keeps observed fixed)
sample_all=true, respect_observed=false→sample_observed=true- Other uses → remove (now default)
- From 0.10.4 or earlier: Default behavior changed
- Old default sampled all nodes including observed
- New default keeps observed fixed; use
sample_observed=truefor old behavior
Merged pull requests:
JuliaBUGS-v0.10.5
JuliaBUGS JuliaBUGS-v0.10.5
Merged pull requests:
JuliaBUGS-v0.10.4
JuliaBUGS JuliaBUGS-v0.10.4
Merged pull requests:
- DoodleBUGS: Now works in WebKit broswers (Safari, all iPad/iOS browsers) (#402) (@shravanngoswamii)
- Allow disabling source generation during compilation (#403) (@sunxd3)
Closed issues:
JuliaBUGS-v0.10.3
JuliaBUGS JuliaBUGS-v0.10.3
Merged pull requests: