Skip to content

chore(deps): update dependency structlog to v26#207

Open
renovate-bot wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
renovate-bot:renovate/structlog-26.x
Open

chore(deps): update dependency structlog to v26#207
renovate-bot wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
renovate-bot:renovate/structlog-26.x

Conversation

@renovate-bot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
structlog (changelog) ==25.1.0==26.1.0 age confidence

Release Notes

hynek/structlog (structlog)

v26.1.0

Compare Source

Removed
  • Python 3.8 and 3.9 support.
Deprecated
Added
  • Python 3.15 support.
    #​813

  • structlog.dev.rich_monochrome_traceback for Rich-based monochrome exception rendering and add support for it throughout structlog.dev.ConsoleRenderer when the user asks for no colors.
    #​794

  • structlog.BytesLogger now has a name attribute which allows you to use it with the structlog.stdlib.add_logger_name() processor without using the standard library integration.
    #​786

  • structlog.processors.CallsiteParameterAdder now supports CallsiteParameter.QUAL_MODULE that adds the qualified import name of the module of the callsite, or __main__ if the module is the entry point.
    This is only available for structlog-originated events since the standard library has no equivalent (except for the convention of setting the logger's name to __name__).
    #​812

  • structlog.stdlib.BoundLogger now has is_enabled_for() and get_effective_level() methods that are snake_case aliases for its isEnabledFor() and getEffectiveLevel() methods.
    This makes it more compatible with the native structlog.typing.FilteringBoundLogger, so you can swap configurations without changing your call sites.
    #​818

Changed
  • structlog.dev.ConsoleRenderer does not warn anymore when the exception key has a rendered value despite having a fancy formatter configured.
    #​790
Fixed
  • structlog.BytesLogger, structlog.PrintLogger, and structlog.WriteLogger now hold weak references to the files they use for output.
    This prevents their leakage in long-running processes that open many logfiles, such as task executors that create a per-task BytesLogger or WriteLogger.
    #​807

  • structlog.WriteLogger is usable after unpickling.
    #​787

  • structlog.processors.CallsiteParameterAdder now reports the calling thread's id and name for async log methods, instead of the thread from the executor pool that runs the underlying sync logger.
    #​710
    #​805

v25.5.0

Compare Source

Deprecated
  • structlog.dev.ConsoleRenderer()'s pad_event argument has been renamed to pad_event_to to differentiate it from the boolean pad_level argument.
    pad_event is now deprecated.
Added
  • Added structlog.dev.ConsoleRenderer.get_active() that returns the currently active structlog.dev.ConsoleRenderer().
    #​749

  • structlog.dev.ConsoleRenderer() now supports setting the exception_formatter attribute.

    You can now disable the pretty-printing of exceptions by setting it to structlog.dev.plain_traceback:

    cr = structlog.dev.ConsoleRenderer.get_active()
    cr.exception_formatter = structlog.dev.plain_traceback

    Same goes for sort_keys, columns, colors, force_colors, level_styles, pad_event_to, event_key, timestamp_key, and repr_native_str.

    #​749
    #​756
    #​757
    #​759

  • Added structlog.dev.ConsoleRenderer.get_default_column_styles() for reuse the default column styles.
    #​741

  • structlog.testing.capture_logs() now optionally accepts processors to apply before capture.
    #​728

  • structlog.dev.RichTracebackFormatter now exposes the upstream code_width parameter.
    Default width is now None for full terminal width.
    Full terminal width is now handled by Rich itself, bringing support for reflow and COLUMN environment variable.
    Passing -1 for width is now deprecated and automatically replaced by None.
    #​717

  • Native loggers now allow the passing of a dictionary for dictionary-based interpolation log.info("hello %(name)s!", {"name": "world"}).
    #​748

  • On Python 3.11+, structlog.processors.CallsiteParameterAdder now supports CallsiteParameter.QUAL_NAME that adds the qualified name of the callsite, including scope and class names.
    This is only available for structlog-originated events since the standard library has no equivalent.

  • structlog.stdlib.LoggerFactory now supports the stacklevel parameter.
    #​763

Changed
  • structlog.dev.rich_traceback() now throws a more helpful error when Rich is missing.
    #​735
Fixed
  • structlog.processors.MaybeTimeStamper now respects the key argument when determining whether to overwrite the timestamp field.
    #​747

  • structlog.tracebacks.extract() no longer raises a RecursionError when the cause chain of an exception contains itself.
    #​739

  • Default config now respects FORCE_COLOR on Windows.
    #​758

v25.4.0

Compare Source

Added
  • Support for Python 3.14 and Python 3.13.4.

    Python 3.14 has an backwards-incompatible change to logging.Logger.isEnabledFor() (it now always returns False if a log entry is in flight) that has been backported to 3.13.4 (expected on 2025-06-03).
    It mainly affects structlog.stdlib.filter_by_level().
    #​723

  • structlog.tracebacks now handles exception groups.
    structlog.tracebacks.Stack has two new fields, is_group: bool and exceptions: list[Trace].
    This works similarly to what Rich v14.0.0 does.
    #​720

Fixed
  • structlog.processors.ExceptionPrettyPrinter now respects the exception_formatter arguments instead of always using the default formatter.
    #​724

v25.3.0

Compare Source

Fixed
  • structlog.processors.TimeStamper now again uses timestamps using UTC for custom format strings when utc=True.
    #​713

v25.2.0

Compare Source

Added
  • structlog.tracebacks.Stack now includes an exc_notes field reflecting the notes attached to the exception.
    #​684
Changed
  • structlog.stdlib.BoundLogger's binding-related methods now also return Self.
    #​694

  • structlog.processors.TimeStamper now produces internally timezone-aware datetime objects.
    Default output hasn't changed, but you can now use %z in your fmt string.
    #​709

Fixed
  • Expose structlog.dev.RichTracebackFormatter for imports.
    #​699
  • Expose structlog.processors.LogfmtRenderer for imports.
    #​701

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 8am on the first day of the month"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate-bot renovate-bot requested a review from a team as a code owner July 1, 2026 03:07
@dpebot

dpebot commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

/gcbrun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants