What's Changed
Major Changes 🛠
- Support Python 3.14 by @Armavica in #1661
- Numba full backend support and required dependency by @ricardoV94 in #811
- Start deprecating shared updates functionality in Scan by @ricardoV94 in #1704
- Reorganize the
sparsemodule by @jessegrabowski in #1674 - Remove tensor/io.py by @ricardoV94 in #1766
- Remove InRange scalar Op by @Copilot in #1699
New Features 🎉
- Add more MLX dispatches by @jessegrabowski in #1684
- Add linalg Ops to MLX backend by @cetagostini in #1700
- Reliable caching of Graphs and individual Ops in numba backend by @ricardoV94 in #1637
- Support TypedList on Numba backend by @ricardoV94 in #1745
- Implement numba dispatch for ScalarLoop by @ricardoV94 in #1445
- Implement
Convolve2DOp by @jessegrabowski in #1397 - Numba AdvancedIndexing: Complete support for integer advanced indexing by @ricardoV94 in #1778
- Implement Scan based
filterhelper by @emekaokoli19 in #1717 - Support Scan with MIT-MOT in JAX backend by @ricardoV94 in #1651
Bugfixes 🐛
- Ignore
axisargument in numbaCumOpwhen input is 1d by @jessegrabowski in #1691 - Fix pytensor_cache clear by @ricardoV94 in #1694
- Fix 0-sized CGemV with unitialized memory by @ricardoV94 in #1719
- Handle non-constant NoneTypeT variables by @ricardoV94 in #1728
- Fix numba cache bugs and suppress noisy warnings by @ricardoV94 in #1731
- Fix shape error formatting in C impl of Elemwise by @ricardoV94 in #1749
- Numba Pow: Fix failure with discrete integer exponents by @ricardoV94 in #1758
- Handle upcasting of scalar to vector arrays by scipy vector optimizers by @ricardoV94 in #1768
- Validate compatible linker in Scan Python/C backend by @ricardoV94 in #1757
- Numba and JAX Scan fixes by @ricardoV94 in #1754
- Handle F-order and arbitrary index ndim in numba UnravelIndex and RavelMultiIndex by @ricardoV94 in #1770
- Misc numba fixes by @ricardoV94 in #1771
- Numba Dot: Handle complex inputs by @ricardoV94 in #1776
- Numba RavelMultiIndex: Fix scalars with clip mode by @ricardoV94 in #1775
- Fix Elemwise inside OpFromGraph in numba mode by @ricardoV94 in #1774
- Avoid runtime broadcast error due to dot_to_mul rewrite by @ricardoV94 in #1783
- Optimize: Handle gradient wrt scalar inputs and guard against unsupported types by @ricardoV94 in #1784
- Numba CAReduce: respect acc_dtype by @ricardoV94 in #1773
- Fix
wrap_jaxwhen there is a mix of statically known and unknown shapes by @ricardoV94 in #1722
Documentation 📖
- Fix latex formatting in VJP autodiff example by @williambdean in #1726
Maintenance 🔧
- Rename sparse functions to match numpy array API by @jessegrabowski in #1663
- Remove
scalar_prefix from several Ops by @Copilot in #1683 - Add
__rtruediv__and__rfloordiv__to Scalar variables by @Copilot in #1701 - Fix Blockwise vmap dispatch for no batch dimensions by @cetagostini in #1705
- JITLinker improvements by @ricardoV94 in #1746
- Numba fallback to object mode in more cases by @ricardoV94 in #1747
- Remove
transfer_typeand default inplace Elemwise Ops by @ricardoV94 in #1752 - Speedup RNG copy in non-mutable RVs by @emekaokoli19 in #1721
- Sort and Argsort: Check axis are integers by @ricardoV94 in #1769
- Numba do not cache inplace list ops by @ricardoV94 in #1767
- Handle mixed input dtypes and empty size in numba lapack functions by @ricardoV94 in #1764
- Rewrite concatenate([x, x]) as tile by @tchan102 in #1714
New Contributors
- @cetagostini made their first contribution in #1700
- @tchan102 made their first contribution in #1714
- @emekaokoli19 made their first contribution in #1717
- @Mr-Imperium made their first contribution in #1748
Full Changelog: rel-2.35.1...rel-2.36.0