Skip to content

Equinox v0.11.1

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Oct 02:17
· 161 commits to main since this release

This is a minor bugfix release.

Bugfixes

  • Checkpointed while loops (eqx.internal.while_loop(..., kind="checkpointed")) now perform a more careful analysis of which arguments need to be differentiated. (#548) This fix is the primary reason for this release -- it unlocks some efficiency improvements when solving SDEs in Diffrax: patrick-kidger/diffrax#320
  • Fixed Abstract{Class,}Var misbehaving around multiple inheritance. (#544)
  • Better compatibility with the beartype library. In a few cases this was throwing some spurious errors to do with forward references. (#543)

Documentation

  • Fix scan-over-layers example in docs. (Thanks @mcbal! #542)

Other

  • Static type checkers should now use Equinox's type hints correctly. (Specfically, we now have the py.typed marker file. Thanks @vidhanio! #547)
  • Added the EQX_ON_ERROR_BREAKPOINT_FRAMES environment variable, to work around JAX bug jax-ml/jax#16732 when using EQX_ON_ERROR=breakpoint. This new variable sets the number of stack frames you can access via the u debugger command, when the on-error debugger is triggered. Set this to a small enough number, e.g. EQX_ON_ERROR_BREAKPOINT_FRAMES=1, and it should fix unusual trace-time errors when using EQX_ON_ERROR=breakpoint.

New Contributors

Full Changelog: v0.11.0...v0.11.1