9 curated breaking changes across major versions of chardet. Use this as a migration checklist before bumping dependencies.
``detect()`` and ``detect_all()`` now default to ``encoding_era=EncodingEra.ALL`` (6.0.0 defaulted to ``MODERN_WEB``)
Internal architecture is completely different (probers replaced by pipeline stages). Only the public API is preserved.
``LanguageFilter`` is accepted but ignored (deprecation warning emitted)
``chunk_size`` is accepted but ignored (deprecation warning emitted)
**Dropped Python 3.7, 3.8, and 3.9 support**: Now requires Python 3.10+. (#283, @hugovk)
**Removed `Latin1Prober` and `MacRomanProber`**: These special-case probers have been replaced by the unified model-based approach described above. Latin-1, MacRoman, and all other single-byte encodings are now detected by `SingleByteCharSetProber` with trained language models, giving better accuracy and language identification.
**Removed EUC-TW support**: EUC-TW encoding detection has been removed as it is extremely rare in practice.
**`LanguageFilter.NONE` removed**: Use specific language filters or `LanguageFilter.ALL` instead.
**Enum types changed**: `InputState`, `ProbingState`, `MachineState`, `SequenceLikelihood`, and `CharacterCategory` are now `IntEnum` (previously plain classes or `Enum`). `LanguageFilter` values changed from hardcoded hex to `auto()`.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/pypi/chardet