Upgrading hyperframe 5 to 6
Breaking5.2.0 → 6.1.0Breaking7Platform10Deprecated1New2Changed1Fixed6Other3
BreakingUpgrade verdict
7 breaking changes and 10 platform requirement changes.
In plain terms
- All errors from this library now share one common parent error type, so you can catch that one type to handle any library error.
- Code that catches the old parent exception for unknown frames may need updating.
- Code that catches the old parent exception for invalid padding may need updating.
- Code that catches the old parent exception for invalid frames may need updating.
Must act Top 5 of 18 that need code or config changes
Requires Python >=3.9 from 6.1.0 (none stated before).
What you must change
Breaking7
Introduces HyperframeError base exception class for all errors raised within hyperframe.
HyperframeErrorChanges exception base class of UnknownFrameError to HyperframeError.
UnknownFrameErrorHyperframeErrorChanges exception base class of InvalidPaddingError to HyperframeError.
InvalidPaddingErrorHyperframeErrorChanges exception base class of InvalidFrameError to HyperframeError.
InvalidFrameErrorHyperframeErrorInvalid frames with wrong stream id (zero vs. non-zero) now raise InvalidDataError.
InvalidDataErrorInvalid SETTINGS frames (non-empty but ACK) now raise InvalidDataError.
InvalidDataErrorInvalid ALTSVC frames with non-bytestring field or origin now raise InvalidDataError.
InvalidDataErrorPlatform10
Removes support for Python 3.6.
Removes support for Python 3.7.
Removes support for Python 3.8.
Adds support for Python 3.10.
Adds support for Python 3.11.
Adds support for Python 3.12.
Adds support for Python 3.13.
Adds support for Python 3.9.
Removes support for Python 2.7, 3.4, 3.5, and pypy.
Adds support for Python 3.8.
Deprecations to plan for
Deprecated1
Deprecates total_padding in favor of pad_length.
total_paddingpad_length