Simplify the module-scrubbing interface
Add a Py3-compatible math.ceil() function
Streamline implementation of surrogateescape error handler
Register surrogateescape error handler for entire email package (decoding only)
Add errors='surrogateescape' handling to newstr.encode()
surrogateescape tests: use newstr
email.message: use newstr for surrogateescape error handler
Update What's New doc for v0.12
Add bytes.splitlines() method
Add newstr.splitlines() method
Email tests: Use the new bytes.splitlines() method
Email module: more little tweaks for backward compatibility
Try using explicit super() calls in email._header_value_parser: does super().__repr__() not work?
email._encoded_words: work-around for missing validate kwarg with base64.b64decode() on Py2.x
Move future.builtins.types to future.types
email._policybase: add needed str import
email.charset._encode(): use newstr for surrogateescape
Clean up comment
email.generator: use newstr for surrogateescape error handler
Add tests (currently failing) for encoding / decoding with the surrogateescape handler activate