indicates that all Unicode characters that are not control characters or " or \ are valid. It does not specify what encoding is valid, just that it is Unicode. So I assume that it must be consistent with whatever encoding the entire document is in.
Is more precise, and Jackson seems to be implementing that. In that case, only the control characters between 00 and 1F inclusive are required to be encoded, along with \ and ".
The old code encoded more code points, which will print out more cleanly in some cases but has nothing to do with JSON compliance.
I think we can safely delegate this to Jackson and trust it outputs valid JSON string encodings.