Description
Messages encrypted with version <4* include the encryption context in the header, and messages encrypted with version 4 omit it**, expecting the context to be provided again on decrypt. The old messages can be decrypted by version 4, but I do not see documentation about what happens if context is provided at decryption (like for a new message) but an old message is given and the two contexts do or don't match. I'd like to see those details included in the SDK documentation.
* Version 4 of the Python SDK. Version 3 of the Java SDK? The AWS docs about the language SDK versions is not very helpful in understanding compatibility for this new change (and many other pages in the developer guide do not mention it, for example the best practices page talks about the context being included in the message).
** In the changelog, the omission of the context seems to be linked to the MPL, but that is an optional dependency. My guess is that maybe if I use the MasterKeyProvider, maybe it's still included? But I cannot find documentation of this. The developer guide page on keyrings describes their involvement with keys but does not mention context.