- Handle messages containing only end boundary #142.
- Don't warn when CRLF is found after last boundary on
MultipartParser#193.
- Hard break if found data after last boundary on
MultipartParser#189.
- Handle PermissionError in fallback code for old import name #182.
- Add dunder attributes to
multipartpackage #177.
- Fix import scheme for
multipartmodule (#168).
- Rename import to
python_multipart#166.
- Improve error message when boundary character does not match #124.
- Add mypy strict typing #140.
- Enforce 100% coverage #159.
- Improve performance, especially in data with many CR-LF #137.
- Handle invalid CRLF in header name #141.
- Support
on_header_begin#103. - Improve type hints on
FormParser#104. - Fix
OnFileCallbacktype #106. - Improve type hints #110.
- Improve type hints on
File#111. - Add type hint to helper functions #112.
- Minor fix for Field.repr #114.
- Fix use of chunk_size parameter #136.
- Allow digits and valid token chars in headers #134.
- Fix headers being carried between parts #135.
- Add support for Python 3.12 #85.
- Drop support for Python 3.7 #95.
- Add
MultipartState(IntEnum)#96. - Add
QuerystringState#97. - Add
TypedDictcallbacks #98. - Add config
TypedDicts #99.
- Check if Message.get_params return 3-tuple instead of str on parse_options_header #79.
- Cleanup unused regex patterns #82.
- Refactor header option parser to use the standard library instead of a custom RegEx #75.