Add compatibility with Python 3.9.
Review Request #11270 — Created Nov. 8, 2020 and submitted
Python 3.9 removed a couple of deprecated functions/arguments that we
used, which was the only thing preventing us from claiming Python 3.9
This change updates our usage of
json.loads()to not pass an
encoding=argument (removed in Python 3.9) and to instead handle
decoding byte strings up-front, and to update unit tests to not depend
on an internal, deprecated method on
setup.pyhas been updated to reflect the current supported list of
Unit tests pass.
Is this really something that can happen? It seems like if we had double-encoded JSON, once it's in unicode, loadsing ...
Removed a probably-unnecessary second pass of the handling of encodings when JSON deserialization results in a string.
Revision 2 (+210 -388)
Checks run (2 succeeded)