Skip to content

Relax Zygote compat from 0.7.10 to 0.7#1220

Merged
ChrisRackauckas merged 1 commit intoSciML:masterfrom
ChrisRackauckas-Claude:relax-zygote-compat
Jan 26, 2026
Merged

Relax Zygote compat from 0.7.10 to 0.7#1220
ChrisRackauckas merged 1 commit intoSciML:masterfrom
ChrisRackauckas-Claude:relax-zygote-compat

Conversation

@ChrisRackauckas-Claude
Copy link
Contributor

Summary

Relaxes Zygote compat from 0.7.10 (strict) to 0.7 (allows any 0.7.x).

Problem

The strict Zygote = "0.7.10" requirement prevents downstream packages like NeuralPDE from using older Zygote versions to work around a Julia base bug.

When Zygote 0.7.10 differentiates through Cubature's integrands function (which uses @cfunction with type parameters), it triggers:

UndefVarError: `spvals` not defined in `Base.Meta`

This is caused by a typo in Julia's base/meta.jl line 412 that has existed since 2018.

Why relax to 0.7?

Relaxing to 0.7 allows the resolver to potentially select an earlier 0.7.x version that might avoid triggering the bug path, or at minimum gives downstream packages flexibility to experiment with version combinations.

Related

Test plan

  • CI passes with relaxed Zygote compat

🤖 Generated with Claude Code

This allows earlier Zygote 0.7.x versions to be used.

The strict 0.7.10 requirement was preventing NeuralPDE from using
older Zygote versions to work around a Julia base bug that causes
`spvals not defined in Base.Meta` errors when differentiating through
Cubature's `integrands` function.

See: SciML/NeuralPDE.jl#1020

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas ChrisRackauckas merged commit 1724a4e into SciML:master Jan 26, 2026
45 of 61 checks passed
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.

3 participants