Skip to content

Update Turing requirement from 0.43 to 0.43, 0.47 - #26

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/julia/Turing-0.43-and-0.47
Open

Update Turing requirement from 0.43 to 0.43, 0.47#26
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/julia/Turing-0.43-and-0.47

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 29, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on Turing to permit the latest version.

Release notes

Sourced from Turing's releases.

v0.47.2

Turing v0.47.2

Diff since v0.47.1

Flat, FlatPos, BinomialLogit, OrderedLogistic, and LogPoisson moved to DynamicPPL and are re-exported, so Turing.Flat and the rest keep working. Requires DynamicPPL 0.42.7.

Merged pull requests:

Closed issues:

  • Move src/stdlib/distributions.jl to DynamicPPL. (#2858)
Changelog

Sourced from Turing's changelog.

0.47.2

Flat, FlatPos, BinomialLogit, OrderedLogistic, and LogPoisson moved to DynamicPPL and are re-exported, so Turing.Flat and the rest keep working. Requires DynamicPPL 0.42.7.

0.47.1

setprogress! is now a re-export of AbstractMCMC.setprogress!, so Turing.setprogress!(false) keeps working and there is a single progress logging switch instead of two. The internal Turing.PROGRESS flag is gone, its state lives in AbstractMCMC.PROGRESS.

0.47.0

Breaking changes

Particle MCMC (SMC and PG)

SMC and PG / CSMC have been reimplemented natively and no longer depend on AdvancedPS.

Resampling schemes are now types rather than functions: StratifiedResampler(), SystematicResampler(), and MultinomialResampler() (in Turing.Inference), optionally wrapped in ESSThresholdResampler(threshold, scheme) to resample only when the effective sample size falls below threshold * nparticles. For example SMC(Turing.Inference.SystematicResampler()), SMC(0.5), or PG(10, Turing.Inference.MultinomialResampler(), 0.5). The old function-based API (resample_systematic, AdvancedPS.ResampleWithESSThreshold, ...) is gone.

The default scheme is now stratified rather than systematic: it stays consistent as the number of particles grows, which systematic does not. The selected scheme applies to unconditional sweeps only; PG / CSMC draw a conditional sweep's ancestors from the categorical over the weights. Exact draws may therefore differ from previous releases, but remain statistically consistent (the same target distribution).

Chain statistics have changed: chain[:logevidence] is now chain[:log_normalizing_constant], and SMC's per-particle weight is gone, since the returned particles are now equal-weight.

SMC no longer has a sampler state, because it runs one sweep rather than an MCMC loop: save_state and initial_state are now warned about and ignored, so loadstate has nothing to return for an SMC chain. PG / CSMC are unaffected.

The rewrite also brings:

  • Reproducibility. Internal seeds are derived through a counter-based (Philox) generator, so a fixed user seed gives the same draws on every Julia version and platform. Previously, results could drift between Julia versions even under a StableRNG (TuringLang/Turing.jl#2781).
  • Parallelism within a sweep. SMC(; multithreaded=true) / PG(n; multithreaded=true) spread that sweep's particles across threads without changing the results; start Julia with multiple threads (e.g. julia -t auto) for this to take effect. It is independent of MCMCThreads() / MCMCDistributed(), which parallelise whole chains and work with SMC/PG as with any other sampler.
  • Equal-weight draws. SMC resamples once at the end of the sweep, so mean(chain[...]) and other summaries need no weighting.
  • A degeneracy diagnostic. SMC chains carry ess_per_step, the effective sample size after each filtering step; one entry per likelihood term, so an @addlogprob! adds one alongside the observations. MCMCChains exposes the entries as ess_per_step[1], ess_per_step[2], and so on.
  • For SMC, exp(log_normalizing_constant) is an unbiased estimator of the marginal likelihood p(y) under the usual particle-filter assumptions. For PG / CSMC it is biased and must not be used for model comparison (see the PG docstring).

0.46.1

Fixed a bug, present since v0.41.0, that biased PG / CSMC posteriors, whether sampled on their own or as a Gibbs component.

0.46.0

Breaking changes

DynamicPPL 0.42

Turing.jl v0.46 brings with it all the underlying changes in DynamicPPL 0.42. Most notably, gradient preparation and evaluation now go through AbstractPPL's prepare / value_and_gradient!! interface. This is an internal change and does not affect sampling results. Please see the DynamicPPL changelog for full details, and the AdvancedVI section below for the user-facing changes in this release.

... (truncated)

Commits
  • cf4110a Bump the all-julia-packages group across 3 directories with 3 updates (#2852)
  • 1195665 Re-export the distributions from DynamicPPL (#2861)
  • a6b3c52 Replace Turing.PROGRESS with AbstractMCMC.PROGRESS (#2851)
  • 7eebb9b Native particle MCMC (SMC/PG), revised: dropping AdvancedPS (#2859)
  • c55358d Move project instructions into AGENTS.md (#2857)
  • 6575e24 Fix biased PG/CSMC posteriors: make delete_retained! mutate (#2855)
  • 11f081b docs: fix some typos (#2850)
  • 6ba5152 Bump the all-julia-packages group across 5 directories with 13 updates (#2849)
  • 98e9773 Release 0.46.0 (#2846)
  • cdded58 Bump actions/checkout from 6 to 7 in the all-github-actions-packages group (#...
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [Turing](https://github.com/TuringLang/Turing.jl) to permit the latest version.
- [Release notes](https://github.com/TuringLang/Turing.jl/releases)
- [Changelog](https://github.com/TuringLang/Turing.jl/blob/main/HISTORY.md)
- [Commits](TuringLang/Turing.jl@v0.43.0...v0.47.2)

---
updated-dependencies:
- dependency-name: Turing
  dependency-version: 0.47.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file julia Pull requests that update julia code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants