fix(deps): update dependency structlog to v25
This MR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| structlog (changelog) |
^24.1.0 -> ^25.0.0
|
Release Notes
hynek/structlog (structlog)
v25.4.0
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 affectsstructlog.stdlib.filter_by_level(). #723 -
structlog.tracebacksnow handles exception groups.structlog.tracebacks.Stackhas two new fields,is_group: boolandexceptions: list[Trace]. This works similarly to what Rich v14.0.0 does. #720
Fixed
-
structlog.processors.ExceptionPrettyPrinternow respects the exception_formatter arguments instead of always using the default formatter. #724
v25.3.0
Fixed
-
structlog.processors.TimeStampernow again uses timestamps using UTC for custom format strings whenutc=True. #713
v25.2.0
Added
-
structlog.tracebacks.Stacknow includes anexc_notesfield reflecting the notes attached to the exception. #684
Changed
-
structlog.stdlib.BoundLogger's binding-related methods now also returnSelf. #694 -
structlog.processors.TimeStampernow produces internally timezone-awaredatetimeobjects. Default output hasn't changed, but you can now use%zin your fmt string. #709
Fixed
- Expose
structlog.dev.RichTracebackFormatterfor imports. #699 - Expose
structlog.processors.LogfmtRendererfor imports. #701
v25.1.0
Added
-
Add
structlog.stdlib.render_to_log_args_and_kwargsprocessor. Same asstructlog.stdlib.render_to_log_kwargs, but also allows to pass positional arguments tologging. With it, you do not need to addstructlog.stdlib.PositionalArgumentsFormatterprocessor to format positional arguments from structlog loggers. #668 -
Native loggers now have
is_enabled_for()andget_effective_level()methods that mirror the behavior of the standard library'slogging.Logger.isEnabledFor()andlogging.Logger.getEffectiveLevel(). #689
Changed
-
structlog.typing.BindableLoggerprotocol now returnsSelfinstead ofBindableLogger. This adds a dependency on typing-extensions for Pythons older than 3.11. #642 #659 -
structlog.dev.ConsoleRendererwill quote string value with special characters. #647 -
structlog.stdlib.recreate_defaults()now also addsstructlog.stdlib.PositionalArgumentsFormatter. In default native mode, this is done by the loggers at the edge. -
structlog.make_filtering_bound_logger()now also accepts a string for min_level.
Fixed
-
Fix handling calls to
{logger}.exception()outside of exception blocks. Depending on the structlog configuration, this either resulted in an event dict keyexception: "MISSING"or lead to an error. Now, an invalid or missingexc_infowill just be ignored. This means, that calling{logger}.exception()outside of an exception block is basically the same as calling{logger}.error(). #634 #680 -
Instantiating
structlog.dev.ConsoleRendererdoes not mutate the passed styles dict anymore. #669 -
The native
FilteringBoundLogger.fatal()method now maps to the critical level, as it does in the standard library. Note that the level is discouraged to use there, so we recommend to stick toerror()orcritical(). #677 -
structlog.tracebacks.ExceptionDictTransformernow actually acceptsNoneforlocals_max_lengthandlocals_max_string. #675
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.