You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(dumpkit): dictdumper 0.8.5 fixed the defects common.py works around; now double-escaping #2442
dictdumper just released 0.8.5, fixing two defects PyPCAPKit's pcapkit/dumpkit/common.py has been working around since before the fix existed: string/key escaping (DictDumper#121/#125, tracked here as #772) and the PLIST <date> format (DictDumper#122, tracked here as #1448). pyproject.toml pins dictdumper~=0.8.0, which resolves to 0.8.5, so every fresh CI install now picks up the fix underneath PyPCAPKit's own now-redundant workaround — producing double-escaped output. Confirmed on PR #2441 (unrelated to that PR's own changes): tests/dumpkit/test_dumper_roundtrip_unit.py fails with e.g. 'a<b' where 'a<b' is expected, after plistlib.loads() — the PLIST workaround's own xml.sax.saxutils.escape() now runs on text dictdumper has already escaped.
To Reproduce
Any current CI run installs dictdumper==0.8.5; tests/dumpkit/test_dumper_roundtrip_unit.py and test_fallback_cycle_unit.py fail on every Python version.
Expected behavior
pcapkit/dumpkit/common.py's escape_strings/escape_keys/escape_json_keys workaround (for #772/DictDumper#125 and DictDumper#1152, both fixed by DictDumper#123) and plist_dates (for #1448, fixed by DictDumper#124) should be removed now that the upstream fix is live — not doubled up. keep_none (#1257) and tree_numbers (#1266) address unrelated defects DictDumper 0.8.5 did not touch and must stay.
Additional context
Bump the dictdumper constraint in pyproject.toml to >=0.8.5 to make the real requirement explicit rather than relying on ~=0.8.0 happening to resolve there. Test fixtures in tests/dumpkit/ that currently expect the old unescaped/non-fixed output need updating to expect the real (correct) dictdumper 0.8.5 behavior.
Activity
fix(dumpkit): drop redundant escape/date workarounds dictdumper 0.8.5…
fix(dumpkit): drop redundant escape/date workarounds dictdumper 0.8.5…
release: ship 1.5.1