Changelog
Highlights
The most important changes since v0.13.0:
- PyTorch compatibility updates - Brevitas now requires PyTorch 1.13 or later, with fixes for PyTorch 2.8 Dynamo export, PyTorch 2.13+ named-tensor removal, and the FX version guard through PyTorch 2.14. (#1556, #1559, #1565, #1572)
- QSDPA stability -
QuantScaledDotProductAttentionnow returns finite zero outputs and gradients for fully masked attention rows instead of propagating NaNs. (#1591) - Configurable zero-point scaling -
ParameterFromStatsFromParameterZeroPointnow acceptsscale_shift_zero_point_impl. (#1585) - Quantized tensor efficiency and correctness - groupwise quantization metadata is no longer expanded when unused, and quantized-weight merging now matches pointers correctly. (#1590, #1560)
- Broader dependency compatibility - removed the ONNX Runtime upper bound, restored the
filelocktest extra, updated CI dependency constraints for PyTorch 2.13, and pinnedxxhashfor Lighteval. (#1563, #1564, #1571, #1578) - Improved CI coverage and maintenance - GitHub Actions are regenerated when workflow sources change; restored or adjusted tests cover example accuracy, asymmetric ONNX Runtime export, Windows CPU precision support, and incompatible
torch.compileconfigurations. (#1557, #1558, #1562, #1575, #1576)
Breaking Changes
- PyTorch 1.13 is now the minimum supported version. Support for earlier PyTorch versions and their compatibility guards has been removed. (#1556)
All Commits
Features
- Feat (actions): Regenerate GitHub Actions when workflow sources change (#1558)
- Feat (core): Add
scale_shift_zero_point_impltoParameterFromStatsFromParameterZeroPoint(#1585)
Fixes
- Fix (brevitas_examples/custom_trainer): Restore TensorBoard compatibility (#1555)
- Fix (tests/ort): Fix Dynamo export with PyTorch 2.8 (#1559)
- Fix (papers/axe): Match the new benchmark structure (#1561)
- Fix (test): Use a lower default opset version with PyTorch < 2 (#1566)
- Fix (ex/benchmark): Eliminate folder-creation race conditions (#1567)
- Fix (fx): Extend the FX version guard through PyTorch 2.14 (#1572)
- Fix (nn/utils): Correct pointer matching while merging quantized weights (#1560)
- Fix (nn/graph/test): Avoid unsupported tensor renaming on PyTorch >= 2.13 (#1565)
- Fix (quant_tensor): Avoid unnecessary groupwise metadata expansion and correct device checks (#1590)
- Fix (nn): Prevent NaN forward outputs and gradients in QSDPA for fully masked attention rows (#1591)
Setup & Dependencies
- Setup: Raise the minimum supported PyTorch version to 1.13 and refresh supported PyTorch and Python test matrices (#1556)
- Fix (deps/test): Add
filelockto thetestextra (#1571) - Fix (ci/deps): Support
torch==2.13in CI and allowsetuptools<81(#1563) - Fix (deps): Remove the maximum ONNX Runtime version constraint (#1564)
- Setup: Pin
xxhashfor Lighteval compatibility (#1578)
Tests & CI
- Test (brevitas_examples): Restore the skipped example accuracy test (#1557)
- Fix (ci): Exclude Python 3.13 with PyTorch 2.5.1 (#1570)
- Fix (ci): Skip FP16/BF16 CPU tests on Windows CPU runners (#1575)
- Fix (test/ort): Re-enable asymmetric ONNX Runtime tests (#1576)
- Fix (tests): Skip incompatible
torch.compiletests (#1562)
Documentation
- Docs: Add v0.13.0 to the documentation version selector (#1553)
- Docs: Prepare release documentation (#1586)
- Docs: Correct the Learned Round documentation section (#1588)
- Docs: Regenerate documentation (#1589)
Full Changelog: v0.13.0...v0.13.1