github nhairs/python-json-logger v4.3.0.dev2
4.3.0.dev2

pre-release4 hours ago

4.3.0 - UNRELEASED

Added

  • CI: Use trusted publishing to create PyPI and GitHub releases.
  • Documentation: Quickstart examples are tested to ensure the sample output matches reality.
  • Add support for Python 3.15, PyPy 3.12

Removed

  • STYLE_STRING_FORMAT_REGEX, which is no longer used to find { style fields. #75

Changed

  • Preserve an exception's own notes when encoding exception instances, including exception group summaries. Related to #67.
  • Constrain the documentation dependency to mkdocs<2. #80
  • Replaced MyPy with Pyrefly for type checking

Fixed

  • exc_info_as_array=True now splits cached exception text into lines when a transported log record has no exc_info tuple. #89
  • BaseJsonFormatter.usesTime() now handles comma-separated and sequence formats, honors custom field parsing, and ignores escaped literal asctime fields. #91
  • % style formats no longer treat the escaped literal %% as the start of a field, so "%%(notafield)s" is correctly read as literal text. #75
  • { style formats now use string.Formatter (as logging.StrFormatStyle.validate does) to find fields, so escaped literal braces ({{/}}) are skipped and a conversion ({message!r}) or format spec ({levelname:>8}) is no longer treated as part of the field name. #75
  • defaults is copied on construction like rename_fields and static_fields, so DictConfigurator ext:// prefixes are converted and mutating the caller's dict cannot change formatter state.
  • A string passed as reserved_attrs raises TypeError instead of being iterated as characters; use a list or tuple of field names.

Thanks @dylanpulver, @Gonghan-Princess, @JackyHsu-X, @00200200, @SAY-5, @AryanRG

Don't miss a new python-json-logger release

NewReleases is sending notifications on new releases.