Skip to content

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

Merged
shravanngoswamii merged 10 commits into
mainfrom
sg/bump-deps-drop-di
Aug 21, 2026
Merged

Bump deps to latest, route AD through AbstractPPL instead of DifferentiationInterface#61
shravanngoswamii merged 10 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
Comment thread example/demo_neural_spline_flow.jl Outdated
@shravanngoswamii
shravanngoswamii marked this pull request as draft July 18, 2026 16:16
shravanngoswamii and others added 4 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>
Keeps the batched spline from 0.3.0 and routes its gradients through AbstractPPL. Version
goes to 0.4.0 since 0.3.0 is released. The compile=true rejection now prevents a real bug
rather than guarding a hypothetical: through the evaluator interface the tape does take
effect and bakes the context, so the rationale is restated.
@shravanngoswamii
shravanngoswamii requested a review from yebai August 21, 2026 06:11
@shravanngoswamii
shravanngoswamii marked this pull request as ready for review August 21, 2026 06:11

@yebai yebai left a comment

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.

Good work, @shravanngoswamii!

@shravanngoswamii
shravanngoswamii merged commit 1cd5e25 into main Aug 21, 2026
5 checks passed
@shravanngoswamii
shravanngoswamii deleted the sg/bump-deps-drop-di branch August 21, 2026 06:34
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