Published July 3, 2026 | Version rel-3.1.0

pymc-devs/pytensor: rel-3.1.0

Description

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed

Major Changes 🛠

  • Drop support for Python 3.11 by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2211
  • Rewrite ShapeFeature to not hold live variables by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2056
  • Remove symbolic axis from join/split by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2144
  • Deprecate implicit shared-variable capture in OpFromGraph by @alessandrogentili001 in https://github.com/pymc-devs/pytensor/pull/2047
  • Make inner graph Ops immutable by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2243

New Features 🎉

  • Add asumption for unique indices by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2225

Bugfixes 🐛

  • Fix until scan gradient step count with recurring outputs by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2217
  • Fix assumption bug with (1,1) eye by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2224
  • Fix ScanMerge cycle by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2226
  • Fix numba blockwise layout inference by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2234
  • Fix MLX variadic Elemwise crash on broadcast-shaped inputs by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2235
  • Make exp/log rewrites dtype-safe under cast_policy="numpy+floatX" by @maresb in https://github.com/pymc-devs/pytensor/pull/2247
  • Fix MLX IncSubtensor with slice index by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2240
  • Keep _make_scalar_loop updates dtype-stable by @maresb in https://github.com/pymc-devs/pytensor/pull/2249
  • Accumulate duplicate indices in MLX AdvancedIncSubtensor by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2242
  • Numba scan: fix invalid cross alias and inplace by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2263

Documentation 📖

  • Expand documentation on broadcasting limitations by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2084
  • Tiny transformer LLM example by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2163

Maintenance 🔧

  • Numba: Cache cython-special functions by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2212
  • Add MLX GEMV dispatch by @drbenvincent in https://github.com/pymc-devs/pytensor/pull/2214
  • Add MLX GER dispatch by @drbenvincent in https://github.com/pymc-devs/pytensor/pull/2216
  • Numba: Speedup RV eval by casting float parameters to float64 by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2223
  • Do not recompile identical OFG in same graph by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2209
  • Exclude general fusion from JAX and MLX modes by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2236
  • Fix local_log_div float64 precision loss for integer-literal operands by @maresb in https://github.com/pymc-devs/pytensor/pull/2245
  • Fix MLX Shape_i output type by @gaoflow in https://github.com/pymc-devs/pytensor/pull/2230
  • Refactor BLAS code by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2049
  • Generalize local_sum_prod_alloc by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2198
  • Fold variadic Add/Mul in JAX and PyTorch backends instead of stacking by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2238
  • Add gradient (pullback) to Min Op by @hermesdt in https://github.com/pymc-devs/pytensor/pull/2253
  • Fix MLX Metal codegen crash on NaN scalar constants by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2239
  • Enforce AdvancedIncSubtensor1 runtime-broadcast check on MLX backend by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2241
  • Numba scan: Allow inplacing on discarded mit-mot by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2266

New Contributors

  • @drbenvincent made their first contribution in https://github.com/pymc-devs/pytensor/pull/2214
  • @gaoflow made their first contribution in https://github.com/pymc-devs/pytensor/pull/2230
  • @hermesdt made their first contribution in https://github.com/pymc-devs/pytensor/pull/2253

Full Changelog: https://github.com/pymc-devs/pytensor/compare/rel-3.0.5...rel-3.1.0

Files

pymc-devs/pytensor-rel-3.1.0.zip

Files (6.3 MB)

Name Size Download all
md5:68f46fc17b3570d96b53df110d6845c9
6.3 MB Preview Download

Additional details

Related works