# What changed in nncf

> 32 changes in nncf 3 from its official release notes, upgrade guides and advisories: 13 breaking, 6 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/pypi/nncf/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## nncf 3

### Breaking changes

- Removed the unused PyTorch CompressionParameter class. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused NNCFDataLoader class. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused PyTorch patch_torch_operators function. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused PyTorch PTInitializingDataLoader. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused QuantizationStatistics class. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused QuantizersCounter class. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused PyTorch register_module function. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Removed the unused Statistics class. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- The deprecated INT8 mode has been removed; use INT8_SYM or INT8_ASYM instead. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- PyTorch PTQ and Weight Compression algorithms remove no-op operations such as to and dropout from the inference graph. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- The unused example_input parameter has been removed. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- OVQuantizer has been removed from NNCF; use it from the executorch package instead. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- The unused ProgressBar class has been removed. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)

### New APIs and options

- AWQ and Scale Estimation support GroupedMatMul, enabling data-aware weight compression of grouped_mm-based MoE models. (3.4.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.4.0)
- Added OpenVINO GroupedMatMul operation support for data-free weight compression. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Added INT2 symmetric compression type support for OpenVINO. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Added INT3 symmetric compression type support for OpenVINO. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Can now ignore specific weight nodes by constant node name in nncf.compress_weights and nncf.prune. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- The Scale Estimation algorithm supports the transpose_a attribute in ONNX and OpenVINO backends. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)

### Behavior and default changes

- The ignored pattern recognizes the matmul → transpose → cos/sin structure used by models such as GPT-OSS. (3.4.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.4.0)
- AWQ, GPTQ, Scale Estimation, and LoRA Correction are enabled for all bit widths below 4, including INT2 and INT3. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Added FP8 support for the ONNX backend. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)

### Fixes and other changes

- Fixes a KeyError when resolving a bias attribute for a tensor that is a model input and has no parent node. (3.4.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.4.0)
- The node following split-like operations such as chunk is removed from the TorchFX inference graph, fixing statistic collection errors for models such as YOLO11. (3.4.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.4.0)
- Fixes squeeze axis determination for ONNXEmbeddingMetatype nodes. (3.4.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.4.0)
- Fixed the compression range when all weight values are positive or all are negative. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Fixed the aggregator formula used in mixed-precision weight compression. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Weight serialization supports safetensors >= 0.8.0 by converting NumPy scalars to arrays before saving. (3.3.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.3.0)
- Scale Estimation now properly handles zero initial_steps and scale_steps. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- Serialized config now saves the module path, improving load_from_config reliability. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- Fixed unexpected behavior when loading quantization constraints from a config dictionary. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
- Prevents capture of nodes that do not affect target outputs. (3.2.0) — [release notes](https://github.com/openvinotoolkit/nncf/releases/tag/v3.2.0)
