Skip to content

0.40.0

Latest

Choose a tag to compare

@fabiocaccamo fabiocaccamo released this 13 Oct 16:29
  • Add Python 3.15 support.
  • Drop Python 3.10 support.
  • Fix arbitrary code execution: exclude pickle from format auto-detection, it must be requested explicitly with format="pickle" or from_pickle. (GHSA-v3xm-c46x-phwc) (by @Sengtocxoen)
  • Fix match string patterns: match special characters literally (only * is a wildcard) and prevent catastrophic backtracking (ReDoS). #624
  • Fix match string patterns matching keys with a trailing newline. (by @fhgffy in #619)
  • Include tuple indexes in keypaths discovery and match. (by @xiehuanyi in #620)
  • Allow frozen dicts to use methods returning a new dict (flatten, unflatten, subset, filter, invert). (by @itzzdev09 in #614)
  • Fix flatten quadratic time complexity (up to ~25x faster on nested data).
  • Fix flatten with indexes=True on benedict instances: flattened keys (eg. a[0]) were parsed as keypaths.
  • Fix BaseDict.setdefault raising AssertionError with omitted or None default. (by @harbinresearcher in #626)
  • Fix keyword arguments ignored when constructing from a mapping (eg. benedict(d, key=value)), they are now set on the wrapped dict. (by @sricharanreddycheruku in #627)
  • Fix remove with a single non-string key (eg. remove(0)). (by @xiehuanyi in #628)
  • Fix BaseDict.dict and union operator type annotations to return a plain dict. (by @xiehuanyi in #629)
  • Fix rename and remove with deep=True to traverse nested lists and tuples. (by @xiehuanyi in #616)
  • Fix base64 serializer to keep the Base64 representation ASCII with non-UTF-8 payload encodings. (by @xiehuanyi in #615)
  • Fix ini decoding of valueless options when using allow_no_value=True. (by @ac1982 in #618)
  • Fix ini encoding of valueless [DEFAULT] options when using allow_no_value=True.
  • Fix csv decoding of strings using carriage-return line endings. (by @fhgffy in #621)
  • Fix csv encoding losing values of non-string keys. (by @fhgffy in #622)
  • Fix xls decoding of sheets without columns row and with numeric column names. (by @fhgffy in #623)
  • Bump requirements.