Skip to content

Update Turing requirement from 0.43 to 0.43, 0.44#21

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

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

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github Apr 25, 2026

Updates the requirements on Turing to permit the latest version.

Release notes

Sourced from Turing's releases.

v0.44.2

Turing v0.44.2

Diff since v0.44.1

Fix a bug in v0.44 where extra keyword arguments passed to vi (e.g. callback) would cause Turing to error.

Merged pull requests:

Changelog

Sourced from Turing's changelog.

0.44.2

Fix a bug in v0.44 where extra keyword arguments passed to vi (e.g. callback) would cause Turing to error.

0.44.1

Re-export pointwise_logdensities and pointwise_prior_logdensities from DynamicPPL.

0.44.0

Breaking changes

Variational inference interface

The VI interface in Turing has been modified to make it more interoperable with the rest of Turing.

  • The arguments to vi(...) are slightly different: instead of specifying a q_init argument (the initial variational approximation), you now directly pass a function that constructs this for you. For example, instead of

    q_init = q_meanfield_gaussian(model)
    vi(model, q_init, n_iters)

    you would now do

    vi(model, q_meanfield_gaussian, n_iters)
  • The return value of vi is now a VIResult struct (please see the documentation for information), which bundles the previous return values together in a more cohesive way. Most importantly, you can now call rand([rng,] result::VIResult) to obtain new samples from the variational approximation. This returns a VarNamedTuple of raw values, which can be used directly in all other Turing interfaces without any further wrangling. (In contrast, the previous return value of rand(q) would yield a vector of transformed parameters.)

Internally, the VI interface has been reworked to directly use DynamicPPL.LogDensityFunction instead of relying on a transformed distribution from Bijectors.jl.

Gibbs sampler interface

This section is only relevant if you are writing a sampler that is intended to be directly used as a component sampler in Turing's Gibbs sampler. (If Gibbs calls your sampler via Turing's externalsampler interface, this section does not apply to you.)

Turing's Gibbs sampler has been reworked in this release to fix a number of correctness and performance issues. The main change is that the Gibbs state carries a VarNamedTuple of raw values, instead of a VarInfo of vectorised (transformed) parameters. This fixes correctness issues that arise with value-dependent transformations, and also leads to much reduced overhead when sampling with Gibbs: see TuringLang/Turing.jl#2803 for some representative benchmarks.

In Turing v0.43, you would have to define two methods

  • Turing.Inference.get_varinfo(::MyState) -> returns a VarInfo of values from your sampler's state

  • Turing.Inference.setparams_varinfo!!(::DynamicPPL.Model, ::MySampler, ::MyState, params::AbstractVarInfo) -> uses a VarInfo of values to update your sampler's state

... (truncated)

Commits

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.44.2)

---
updated-dependencies:
- dependency-name: Turing
  dependency-version: 0.44.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 Apr 25, 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