dependabot[bot] opened a new pull request, #6760: URL: https://github.com/apache/camel-k/pull/6760
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.4 to 1.10.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sirupsen/logrus/releases">github.com/sirupsen/logrus's releases</a>.</em></p> <blockquote> <h2>v1.10.0</h2> <h1>Logrus v1.10.0</h1> <p>This release focuses on substantial performance improvements, concurrency correctness, and better interoperability with modern Go logging APIs.</p> <h2>🚀 Performance</h2> <p>Major improvements across <code>TextFormatter</code>, entry handling, and common logger paths:</p> <ul> <li>~17% lower geomean runtime across the benchmark suite</li> <li>~27% higher geomean formatter throughput</li> <li>Common enabled logging paths are ~30–44% faster</li> <li><code>WithError</code> is ~40% faster</li> <li>Chained fields are ~46% faster</li> <li><code>TextFormatter</code> paths are up to ~40% faster</li> <li>Allocation counts are reduced by ~25–74% across measured <code>TextFormatter</code> cases, with the largest reductions in colored output</li> </ul> <p>The improvements also show up in complete logger paths:</p> <ul> <li>Logger + <code>TextFormatter</code> is ~31% faster, with ~24% fewer allocations</li> <li>Logger + <code>JSONFormatter</code> is ~21% faster, with ~10% fewer allocations</li> </ul> <p><code>JSONFormatter</code> itself remains largely unchanged in runtime performance, with small allocation reductions.</p> <h2>🔄 <code>log/slog</code> interoperability</h2> <p>v1.10 adds bidirectional interoperability between Logrus and Go's <code>log/slog</code>:</p> <ul> <li>A Logrus <code>slog</code> hook can forward existing Logrus entries to an <code>slog</code> logger.</li> <li><code>hooks/slog.NewHandler</code> implements <code>slog.Handler</code>, allowing <code>log/slog</code> records to use an existing Logrus logger and its hooks, formatter, and output.</li> <li>The handler preserves levels, fields, groups, context, record timestamps, and optionally caller information.</li> <li>Caller reporting is configured per handler, without requiring Logrus's logger-wide <code>ReportCaller</code> option.</li> <li>Custom <code>slog</code> levels can be mapped to Logrus levels.</li> <li>The hook and handler can be combined, providing a practical path for incrementally migrating from Logrus to <code>log/slog</code> without requiring an all-at-once transition.</li> </ul> <p>This allows applications to migrate their logging API and logging backend independently: existing Logrus call sites can start using an <code>slog</code> backend, while new <code>slog</code> code can continue using an established Logrus setup.</p> <h2>🔒 Concurrency & Correctness</h2> <ul> <li>Fix reentrant logging deadlocks, including logging from within <code>MarshalJSON</code> or formatter code.</li> <li>Fix generic <code>Log</code>, <code>Logf</code>, <code>Logln</code>, and <code>LogFn</code> methods unexpectedly panicking when called with <code>PanicLevel</code>, contrary to their documented behavior.</li> <li>Eliminate race conditions in entry and formatter paths.</li> <li>Improve locking boundaries around formatters and hooks.</li> </ul> <h2>➕ Added</h2> <ul> <li><code>TextFormatter</code> now automatically enables colors on Windows terminals with ANSI support, matching behavior on other platforms.</li> <li><code>Entry.Caller</code> can now be set explicitly and is preserved across derived entries. When caller reporting is enabled, Logrus only detects and populates caller information when none was provided, allowing custom caller detection and wrapper-aware logging without adding additional caller configuration APIs.</li> <li>Add minimal, composable logging interfaces for each log level, allowing consumers to depend on narrower interfaces and making logging implementations easier to substitute or adapt.</li> <li>Expand CI verification to include TinyGo and every cross-compile target reported by go tool dist list, improving coverage across alternative toolchains and platforms.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md">github.com/sirupsen/logrus's changelog</a>.</em></p> <blockquote> <h2>1.10.0</h2> <p>Fixes:</p> <ul> <li>Fix reentrant logging deadlocks in formatter paths.</li> <li>Fix race conditions in formatter and entry handling.</li> <li>Fix generic <code>Log</code>, <code>Logf</code>, <code>Logln</code>, and <code>LogFn</code> methods unexpectedly panicking when called with <code>PanicLevel</code>. Use the corresponding <code>Panic</code> methods when panic behavior is desired.</li> <li>Improve concurrency safety around formatter and hook access.</li> </ul> <p>Features:</p> <ul> <li>Add <code>slog</code> hook for forwarding Logrus entries to <code>log/slog</code>.</li> <li>Add <code>slog.Handler</code> for forwarding <code>log/slog</code> records to a Logrus logger, including levels, fields, groups, context, time, and optional caller reporting. The hook and handler can also be combined to help migrate between Logrus and <code>log/slog</code>.</li> <li>Add minimal, composable logging interfaces for each log level. This enables consumers to depend on narrower interfaces, making it easier to substitute or adapt logging implementations.</li> <li>Allow <code>Entry.Caller</code> to be set explicitly and preserve it across derived entries, enabling custom caller detection without Logrus overwriting caller information when <code>ReportCaller</code> is enabled.</li> </ul> <p>Changed:</p> <ul> <li>Raise minimum supported Go version to 1.23.</li> <li>TextFormatter now renders <code>[]byte</code> values as raw/quoted strings instead of slice-of-ints.</li> <li>TextFormatter now uses distinct dimmed colors for debug and trace output.</li> <li>TextFormatter now automatically enables colors on Windows terminals with ANSI support, matching the behavior on other platforms.</li> <li><code>Entry.HasCaller</code> is now deprecated in favor of checking <code>Entry.Caller</code> directly.</li> <li>Deprecated <code>MutexWrap</code>, which was unintentionally exposed as public API. It remains available as an alias for compatibility but should not be used directly.</li> </ul> <p>Performance:</p> <ul> <li>Significantly improve TextFormatter performance and reduce allocations.</li> <li>Optimize common Entry and Logger hot paths.</li> <li>Reduce allocations in caller reporting.</li> <li>~17% lower geomean runtime and ~27% higher formatter throughput overall.</li> <li>Common enabled logging paths are ~30–44% faster.</li> <li>TextFormatter paths are up to ~40% faster, with allocation counts reduced by 25–74% across the measured formatter cases.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sirupsen/logrus/commit/457e372460c7a80ca7c800b51ebeee5362aaa180"><code>457e372</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1573">#1573</a> from thaJeztah/update_colors</li> <li><a href="https://github.com/sirupsen/logrus/commit/6b6a3a624e574d3f4988634f1e09e91826fc1570"><code>6b6a3a6</code></a> formatter: differentiate debug and trace colors</li> <li><a href="https://github.com/sirupsen/logrus/commit/8ebae73c053afd85032210e8bbab1ce1b4f65dbe"><code>8ebae73</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1572">#1572</a> from thaJeztah/update_logs</li> <li><a href="https://github.com/sirupsen/logrus/commit/f156a33552c54420d1f95b897877a4c3156d6a02"><code>f156a33</code></a> docs: clarify formatter field handling</li> <li><a href="https://github.com/sirupsen/logrus/commit/84cedf9d8b02e719f44be1b8a384be724ad49097"><code>84cedf9</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1571">#1571</a> from thaJeztah/slog_hookopts</li> <li><a href="https://github.com/sirupsen/logrus/commit/a3e1580e2b36f466df623bccef48f19eb384ed3a"><code>a3e1580</code></a> hooks/slog: add HookOptions</li> <li><a href="https://github.com/sirupsen/logrus/commit/e5b377a7932474688abffb96591cc885ee3bba6a"><code>e5b377a</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1570">#1570</a> from thaJeztah/slog_leveler</li> <li><a href="https://github.com/sirupsen/logrus/commit/30a5487f299fa8935410cb2089993362923603d2"><code>30a5487</code></a> hooks/slog: add level adapters</li> <li><a href="https://github.com/sirupsen/logrus/commit/0cee61e3ee5f853af4e74aa8b47fdd8515c2bfb6"><code>0cee61e</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1569">#1569</a> from thaJeztah/slog_noleveler</li> <li><a href="https://github.com/sirupsen/logrus/commit/4069973f07a67d8cf90703a1bff6030736ce73f6"><code>4069973</code></a> hooks/slog: use concrete slog.Level for hook level mapping</li> <li>Additional commits viewable in <a href="https://github.com/sirupsen/logrus/compare/v1.9.4...v1.10.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
