Skip to content

Bump deps to latest, route AD through AbstractPPL instead of DifferentiationInterface#61

Draft
shravanngoswamii wants to merge 8 commits into
mainfrom
sg/bump-deps-drop-di
Draft

Bump deps to latest, route AD through AbstractPPL instead of DifferentiationInterface#61
shravanngoswamii wants to merge 8 commits into
mainfrom
sg/bump-deps-drop-di

Conversation

@shravanngoswamii

@shravanngoswamii shravanngoswamii commented Jul 16, 2026

Copy link
Copy Markdown
Member

Supersedes #58, carrying over dependabot's bump (Bijectors 0.16, CUDA 6.2) with the stale exact pins refreshed.

Also removes DifferentiationInterface as a dependency. Gradients now go through AbstractPPL's evaluator interface (AbstractPPL.prepare / AbstractPPL.value_and_gradient!!), same as AdvancedVI and the rest of the Turing ecosystem. The AD backend package must now be loaded first: using ForwardDiff or using Mooncake for those backends, plus using DifferentiationInterface for the DI-routed ones (Zygote, ReverseDiff, Enzyme).

dependabot Bot and others added 4 commits July 16, 2026 21:11
Updates the requirements on [Bijectors](https://github.com/TuringLang/Bijectors.jl), [CUDA](https://github.com/JuliaGPU/CUDA.jl), [Distributions](https://github.com/JuliaStats/Distributions.jl), [Flux](https://github.com/FluxML/Flux.jl), [Functors](https://github.com/FluxML/Functors.jl), [Documenter](https://github.com/JuliaDocs/Documenter.jl), [LiveServer](https://github.com/JuliaDocs/LiveServer.jl), [NormalizingFlows](https://github.com/TuringLang/NormalizingFlows.jl), [DifferentiationInterface](https://github.com/JuliaDiff/DifferentiationInterface.jl), [StatsBase](https://github.com/JuliaStats/StatsBase.jl), [DocStringExtensions](https://github.com/JuliaDocs/DocStringExtensions.jl), [ProgressMeter](https://github.com/timholy/ProgressMeter.jl), [Optimisers](https://github.com/FluxML/Optimisers.jl), [ADTypes](https://github.com/SciML/ADTypes.jl), [BenchmarkTools](https://github.com/JuliaCI/BenchmarkTools.jl), [DiffResults](https://github.com/JuliaDiff/DiffResults.jl), [LogDensityProblems](https://github.com/tpapp/LogDensityProblems.jl), [IrrationalConstants](https://github.com/JuliaMath/IrrationalConstants.jl), [ReverseDiff](https://github.com/JuliaDiff/ReverseDiff.jl), [Plots](https://github.com/JuliaPlots/Plots.jl), [Enzyme](https://github.com/EnzymeAD/Enzyme.jl), [Zygote](https://github.com/FluxML/Zygote.jl), [Mooncake](https://github.com/chalk-lab/Mooncake.jl), [MonotonicSplines](https://github.com/bat/MonotonicSplines.jl) and [ForwardDiff](https://github.com/JuliaDiff/ForwardDiff.jl) to permit the latest version.

Updates `Bijectors` to 0.16.1
- [Release notes](https://github.com/TuringLang/Bijectors.jl/releases)
- [Changelog](https://github.com/TuringLang/Bijectors.jl/blob/main/HISTORY.md)
- [Commits](https://github.com/TuringLang/Bijectors.jl/commits/v0.16.1)

Updates `CUDA` to 6.2.0
- [Release notes](https://github.com/JuliaGPU/CUDA.jl/releases)
- [Commits](JuliaGPU/CUDA.jl@v5.0.0...v6.2.0)

Updates `Distributions` to 0.25.128
- [Release notes](https://github.com/JuliaStats/Distributions.jl/releases)
- [Commits](JuliaStats/Distributions.jl@0.2.2...v0.25.128)

Updates `Bijectors` to 0.16.1
- [Release notes](https://github.com/TuringLang/Bijectors.jl/releases)
- [Changelog](https://github.com/TuringLang/Bijectors.jl/blob/main/HISTORY.md)
- [Commits](https://github.com/TuringLang/Bijectors.jl/commits/v0.16.1)

Updates `Flux` to 0.16.10
- [Release notes](https://github.com/FluxML/Flux.jl/releases)
- [Changelog](https://github.com/FluxML/Flux.jl/blob/master/NEWS.md)
- [Commits](FluxML/Flux.jl@v0.1.0...v0.16.10)

Updates `Functors` to 0.5.2
- [Release notes](https://github.com/FluxML/Functors.jl/releases)
- [Commits](FluxML/Functors.jl@v0.1.0...v0.5.2)

Updates `Documenter` to 1.17.0
- [Release notes](https://github.com/JuliaDocs/Documenter.jl/releases)
- [Changelog](https://github.com/JuliaDocs/Documenter.jl/blob/master/CHANGELOG.md)
- [Commits](JuliaDocs/Documenter.jl@v0.1.0...v1.17.0)

Updates `LiveServer` to 1.5.0
- [Release notes](https://github.com/JuliaDocs/LiveServer.jl/releases)
- [Commits](JuliaDocs/LiveServer.jl@v0.1.0...v1.5.0)

Updates `NormalizingFlows` to 0.2.2
- [Release notes](https://github.com/TuringLang/NormalizingFlows.jl/releases)
- [Commits](v0.1.0...v0.2.2)

Updates `Distributions` to 0.25.128
- [Release notes](https://github.com/JuliaStats/Distributions.jl/releases)
- [Commits](JuliaStats/Distributions.jl@0.2.2...v0.25.128)

Updates `Bijectors` to 0.16.1
- [Release notes](https://github.com/TuringLang/Bijectors.jl/releases)
- [Changelog](https://github.com/TuringLang/Bijectors.jl/blob/main/HISTORY.md)
- [Commits](https://github.com/TuringLang/Bijectors.jl/commits/v0.16.1)

Updates `DifferentiationInterface` to 0.7.18
- [Release notes](https://github.com/JuliaDiff/DifferentiationInterface.jl/releases)
- [Commits](JuliaDiff/DifferentiationInterface.jl@DifferentiationInterface-v0.1.0...DifferentiationInterface-v0.7.18)

Updates `StatsBase` to 0.34.12
- [Release notes](https://github.com/JuliaStats/StatsBase.jl/releases)
- [Commits](JuliaStats/StatsBase.jl@0.2.3...v0.34.12)

Updates `DocStringExtensions` to 0.9.5
- [Release notes](https://github.com/JuliaDocs/DocStringExtensions.jl/releases)
- [Commits](JuliaDocs/DocStringExtensions.jl@v0.1.0...v0.9.5)

Updates `ProgressMeter` to 1.11.0
- [Release notes](https://github.com/timholy/ProgressMeter.jl/releases)
- [Commits](timholy/ProgressMeter.jl@v0.0.2...v1.11.0)

Updates `Optimisers` to 0.4.7
- [Release notes](https://github.com/FluxML/Optimisers.jl/releases)
- [Commits](FluxML/Optimisers.jl@v0.1.0...v0.4.7)

Updates `Functors` to 0.5.2
- [Release notes](https://github.com/FluxML/Functors.jl/releases)
- [Commits](FluxML/Functors.jl@v0.1.0...v0.5.2)

Updates `ADTypes` to 1.22.1
- [Release notes](https://github.com/SciML/ADTypes.jl/releases)
- [Commits](SciML/ADTypes.jl@v0.1.0...v1.22.1)

Updates `NormalizingFlows` to 0.2.2
- [Release notes](https://github.com/TuringLang/NormalizingFlows.jl/releases)
- [Commits](v0.1.0...v0.2.2)

Updates `BenchmarkTools` to 1.8.0
- [Release notes](https://github.com/JuliaCI/BenchmarkTools.jl/releases)
- [Commits](JuliaCI/BenchmarkTools.jl@v0.0.1...v1.8.0)

Updates `DiffResults` to 1.1.0
- [Release notes](https://github.com/JuliaDiff/DiffResults.jl/releases)
- [Commits](JuliaDiff/DiffResults.jl@v0.0.1...v1.1.0)

Updates `LogDensityProblems` to 2.2.0
- [Release notes](https://github.com/tpapp/LogDensityProblems.jl/releases)
- [Changelog](https://github.com/tpapp/LogDensityProblems.jl/blob/master/CHANGELOG.md)
- [Commits](tpapp/LogDensityProblems.jl@v0.1.0...v2.2.0)

Updates `IrrationalConstants` to 0.2.6
- [Release notes](https://github.com/JuliaMath/IrrationalConstants.jl/releases)
- [Commits](JuliaMath/IrrationalConstants.jl@v0.1.0...v0.2.6)

Updates `ReverseDiff` to 1.17.0
- [Release notes](https://github.com/JuliaDiff/ReverseDiff.jl/releases)
- [Commits](JuliaDiff/ReverseDiff.jl@v0.0.1...v1.17.0)

Updates `Plots` to 1.41.6
- [Release notes](https://github.com/JuliaPlots/Plots.jl/releases)
- [Changelog](https://github.com/JuliaPlots/Plots.jl/blob/v2/NEWS.md)
- [Commits](JuliaPlots/Plots.jl@Plots-v1.41.5+docs...Plots-v1.41.6)

Updates `Enzyme` to 0.13.168
- [Release notes](https://github.com/EnzymeAD/Enzyme.jl/releases)
- [Commits](EnzymeAD/Enzyme.jl@v0.1.0...v0.13.168)

Updates `Zygote` to 0.7.11
- [Release notes](https://github.com/FluxML/Zygote.jl/releases)
- [Commits](FluxML/Zygote.jl@v0.1.0...v0.7.11)

Updates `Mooncake` to 0.5.33
- [Release notes](https://github.com/chalk-lab/Mooncake.jl/releases)
- [Changelog](https://github.com/chalk-lab/Mooncake.jl/blob/main/HISTORY.md)
- [Commits](chalk-lab/Mooncake.jl@v0.4.142...v0.5.33)

Updates `MonotonicSplines` to 0.3.3
- [Release notes](https://github.com/bat/MonotonicSplines.jl/releases)
- [Commits](bat/MonotonicSplines.jl@v0.1.0...v0.3.3)

Updates `Distributions` to 0.25.128
- [Release notes](https://github.com/JuliaStats/Distributions.jl/releases)
- [Commits](JuliaStats/Distributions.jl@0.2.2...v0.25.128)

Updates `Bijectors` to 0.16.1
- [Release notes](https://github.com/TuringLang/Bijectors.jl/releases)
- [Changelog](https://github.com/TuringLang/Bijectors.jl/blob/main/HISTORY.md)
- [Commits](https://github.com/TuringLang/Bijectors.jl/commits/v0.16.1)

Updates `DifferentiationInterface` to 0.7.18
- [Release notes](https://github.com/JuliaDiff/DifferentiationInterface.jl/releases)
- [Commits](JuliaDiff/DifferentiationInterface.jl@DifferentiationInterface-v0.1.0...DifferentiationInterface-v0.7.18)

Updates `Flux` to 0.16.10
- [Release notes](https://github.com/FluxML/Flux.jl/releases)
- [Changelog](https://github.com/FluxML/Flux.jl/blob/master/NEWS.md)
- [Commits](FluxML/Flux.jl@v0.1.0...v0.16.10)

Updates `Optimisers` to 0.4.7
- [Release notes](https://github.com/FluxML/Optimisers.jl/releases)
- [Commits](FluxML/Optimisers.jl@v0.1.0...v0.4.7)

Updates `Functors` to 0.5.2
- [Release notes](https://github.com/FluxML/Functors.jl/releases)
- [Commits](FluxML/Functors.jl@v0.1.0...v0.5.2)

Updates `ADTypes` to 1.22.1
- [Release notes](https://github.com/SciML/ADTypes.jl/releases)
- [Commits](SciML/ADTypes.jl@v0.1.0...v1.22.1)

Updates `NormalizingFlows` to 0.2.2
- [Release notes](https://github.com/TuringLang/NormalizingFlows.jl/releases)
- [Commits](v0.1.0...v0.2.2)

Updates `ReverseDiff` to 1.17.0
- [Release notes](https://github.com/JuliaDiff/ReverseDiff.jl/releases)
- [Commits](JuliaDiff/ReverseDiff.jl@v0.0.1...v1.17.0)

Updates `Enzyme` to 0.13.168
- [Release notes](https://github.com/EnzymeAD/Enzyme.jl/releases)
- [Commits](EnzymeAD/Enzyme.jl@v0.1.0...v0.13.168)

Updates `Zygote` to 0.7.11
- [Release notes](https://github.com/FluxML/Zygote.jl/releases)
- [Commits](FluxML/Zygote.jl@v0.1.0...v0.7.11)

Updates `Mooncake` to 0.5.33
- [Release notes](https://github.com/chalk-lab/Mooncake.jl/releases)
- [Changelog](https://github.com/chalk-lab/Mooncake.jl/blob/main/HISTORY.md)
- [Commits](chalk-lab/Mooncake.jl@v0.4.142...v0.5.33)

Updates `ForwardDiff` to 1.4.1
- [Release notes](https://github.com/JuliaDiff/ForwardDiff.jl/releases)
- [Commits](JuliaDiff/ForwardDiff.jl@v0.0.2...v1.4.1)

Updates `Distributions` to 0.25.128
- [Release notes](https://github.com/JuliaStats/Distributions.jl/releases)
- [Commits](JuliaStats/Distributions.jl@0.2.2...v0.25.128)

Updates `Bijectors` to 0.16.1
- [Release notes](https://github.com/TuringLang/Bijectors.jl/releases)
- [Changelog](https://github.com/TuringLang/Bijectors.jl/blob/main/HISTORY.md)
- [Commits](https://github.com/TuringLang/Bijectors.jl/commits/v0.16.1)

Updates `Flux` to 0.16.10
- [Release notes](https://github.com/FluxML/Flux.jl/releases)
- [Changelog](https://github.com/FluxML/Flux.jl/blob/master/NEWS.md)
- [Commits](FluxML/Flux.jl@v0.1.0...v0.16.10)

Updates `CUDA` to 6.2.0
- [Release notes](https://github.com/JuliaGPU/CUDA.jl/releases)
- [Commits](JuliaGPU/CUDA.jl@v5.0.0...v6.2.0)

Updates `NormalizingFlows` to 0.2.2
- [Release notes](https://github.com/TuringLang/NormalizingFlows.jl/releases)
- [Commits](v0.1.0...v0.2.2)

---
updated-dependencies:
- dependency-name: ADTypes
  dependency-version: 1.22.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: ADTypes
  dependency-version: 1.22.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: BenchmarkTools
  dependency-version: 1.8.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Bijectors
  dependency-version: 0.16.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Bijectors
  dependency-version: 0.16.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Bijectors
  dependency-version: 0.16.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Bijectors
  dependency-version: 0.16.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Bijectors
  dependency-version: 0.16.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: CUDA
  dependency-version: 6.1.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: CUDA
  dependency-version: 6.1.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: DifferentiationInterface
  dependency-version: 0.7.18
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: DifferentiationInterface
  dependency-version: 0.7.18
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: DiffResults
  dependency-version: 1.1.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Distributions
  dependency-version: 0.25.126
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Distributions
  dependency-version: 0.25.126
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Distributions
  dependency-version: 0.25.126
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Distributions
  dependency-version: 0.25.126
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: DocStringExtensions
  dependency-version: 0.9.5
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Documenter
  dependency-version: 1.17.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Enzyme
  dependency-version: 0.13.153
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Enzyme
  dependency-version: 0.13.153
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Flux
  dependency-version: 0.16.10
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Flux
  dependency-version: 0.16.10
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Flux
  dependency-version: 0.16.10
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: ForwardDiff
  dependency-version: 1.3.3
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Functors
  dependency-version: 0.5.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Functors
  dependency-version: 0.5.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Functors
  dependency-version: 0.5.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: IrrationalConstants
  dependency-version: 0.2.6
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: LiveServer
  dependency-version: 1.5.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: LogDensityProblems
  dependency-version: 2.2.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: MonotonicSplines
  dependency-version: 0.3.3
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Mooncake
  dependency-version: 0.5.31
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Mooncake
  dependency-version: 0.5.31
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: NormalizingFlows
  dependency-version: 0.2.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: NormalizingFlows
  dependency-version: 0.2.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: NormalizingFlows
  dependency-version: 0.2.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: NormalizingFlows
  dependency-version: 0.2.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Optimisers
  dependency-version: 0.4.7
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Optimisers
  dependency-version: 0.4.7
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Plots
  dependency-version: 1.41.6
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: ProgressMeter
  dependency-version: 1.11.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: ReverseDiff
  dependency-version: 1.16.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: ReverseDiff
  dependency-version: 1.16.2
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: StatsBase
  dependency-version: 0.34.11
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Zygote
  dependency-version: 0.7.10
  dependency-type: direct:production
  dependency-group: all-julia-packages
- dependency-name: Zygote
  dependency-version: 0.7.10
  dependency-type: direct:production
  dependency-group: all-julia-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
@github-actions

Copy link
Copy Markdown
Contributor

NormalizingFlows.jl documentation for PR #61 is available at:
https://TuringLang.github.io/NormalizingFlows.jl/previews/PR61/

@shravanngoswamii
shravanngoswamii requested review from sunxd3 and yebai July 16, 2026 16:23
using Functors
using Optimisers, ADTypes
using Zygote
using Zygote, DifferentiationInterface

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you try to replace Zygote with Mooncake too?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure!

@shravanngoswamii
shravanngoswamii marked this pull request as draft July 18, 2026 16:16
shravanngoswamii and others added 2 commits July 20, 2026 13:14
# Conflicts:
#	Project.toml
#	docs/Project.toml
#	example/Project.toml
#	test/Project.toml
#	test/ext/CUDA/Project.toml
Enzyme 0.13.189 fails with an LLVM canonicalization error on Julia 1.10; 0.13.188 is fine.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants