Releases: emcd/python-detextive
Releases · emcd/python-detextive
v3.1
detextive v3.1 (2026-02-17)
Enhancements
- API: Add
Behaviors.utf_16_32_requires_byte_orderto optionally reject
BOM-less trial decodes for genericutf-16andutf-32while keeping
permissive behavior as the default.
Repairs
- API: Report UTF charset results from BOM provenance rather than decode codec
choice soutf-8-sigis returned only when a UTF-8 BOM is present, and
apply the same provenance normalization to UTF-16/UTF-32 reporting across
decode, detection, and inference surfaces.
v3.0
detextive v3.0 (2026-02-14)
Enhancements
- API: Add
decode_informto return decoded text together with charset, MIME
type, and line-separator metadata in a single call. - API: Honor supplied textual
http_content_typemetadata consistently across
decode and inference paths, including header-guided charset trial decode.
Removals
- API: Remove
charset_default,mimetype_default, and
mimetype_supplementparameters fromdecodeso decoding follows
decode-or-error semantics instead of fallback-return inference semantics. - API: Replace
Behaviors.charset_detectandBehaviors.mimetype_detect
tristates with booleans; passTrueorFalseinstead of
BehaviorTristatevalues.
Repairs
- Fix UTF-8 content incorrectly decoded when charset detector misidentifies encoding, causing mojibake with non-ASCII characters and emoji.
- Fix malformed
http_content_typeparameter parsing so inference no longer
raises rawValueErrorfor invalid header parameter syntax.
Also include the resolved MIME type value inTextualMimetypeInvalidity
messages. - Reject binary content with non-textual MIME types instead of attempting to decode, preventing false positives where binary data was incorrectly decoded as text.
v1.0
Detextive v1.0 (2025-08-12)
Enhancements
- Provide
LineSeparatorsenum with detection, normalization, and nativization
methods. - Provide
detect_charset,detect_mimetype,
detect_charset_and_mimetype,is_textual_mimetype, and
is_textual_content.