4179793c2b251f13b2ce24caf4ecff77babf152a
The shortcut in _diff_dict that reports a whole dictionary as a single values_changed entry compensates its key count for exclude_paths and exclude_glob_paths, but never for exclude_regex_paths. Regex-excluded keys are not removed from the key sets beforehand either, since _skip_this_key only filters on include_paths and include_glob_paths. They therefore inflate the key union, drag the ratio of shared keys under the threshold and trigger the shortcut, so the exclusion is silently ignored and the excluded keys leak into old_value and new_value. Filter the key union by exclude_regex_paths as well, mirroring the exclude_glob_paths branch and using search() to match how _skip_this applies the same patterns. Fixes #487
Languages
Python
100%