[PR #366] [CLOSED] chore(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.1 #358

Closed
opened 2026-09-29 13:01:36 +00:00 by slurdge · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/slurdge/goeland/pull/366
Author: @dependabot[bot]
Created: 9/1/2026
Status: ❌ Closed

Base: master ← Head: dependabot/go_modules/github.com/sirupsen/logrus-1.10.1


📝 Commits (1)

  • 643e3d2 chore(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.1

📊 Changes

2 files changed (+5 additions, -9 deletions)

View changed files

📝 go.mod (+1 -1)
📝 go.sum (+4 -8)

📄 Description

Bumps github.com/sirupsen/logrus from 1.9.4 to 1.10.1.

Release notes

Sourced from github.com/sirupsen/logrus's releases.

v1.10.1

Logrus v1.10.1

This patch release fixes two issues in field formatting and handling:

  • Fix a regression introduced in v1.10.0 where TextFormatter could panic when formatting nil or panicking error and fmt.Stringer values.
  • Allow function-backed values implementing error to be used with WithError, WithField, and WithFields.

Dependency Changes

  • update github.com/stretchr/testify to v1.12.0

Full Changelog: https://github.com/sirupsen/logrus/compare/v1.10.0...v1.10.1

v1.10.0

Logrus v1.10.0

This release focuses on substantial performance improvements, concurrency correctness, and better interoperability with modern Go logging APIs.

🚀 Performance

Major improvements across TextFormatter, entry handling, and common logger paths:

  • ~17% lower geomean runtime across the benchmark suite
  • ~27% higher geomean formatter throughput
  • Common enabled logging paths are ~30–44% faster
  • WithError is ~40% faster
  • Chained fields are ~46% faster
  • TextFormatter paths are up to ~40% faster
  • Allocation counts are reduced by ~25–74% across measured TextFormatter cases, with the largest reductions in colored output

The improvements also show up in complete logger paths:

  • Logger + TextFormatter is ~31% faster, with ~24% fewer allocations
  • Logger + JSONFormatter is ~21% faster, with ~10% fewer allocations

JSONFormatter itself remains largely unchanged in runtime performance, with small allocation reductions.

🔄 log/slog interoperability

v1.10 adds bidirectional interoperability between Logrus and Go's log/slog:

  • A Logrus slog hook can forward existing Logrus entries to an slog logger.
  • hooks/slog.NewHandler implements slog.Handler, allowing log/slog records to use an existing Logrus logger and its hooks, formatter, and output.
  • The handler preserves levels, fields, groups, context, record timestamps, and optionally caller information.
  • Caller reporting is configured per handler, without requiring Logrus's logger-wide ReportCaller option.
  • Custom slog levels can be mapped to Logrus levels.

... (truncated)

Changelog

Sourced from github.com/sirupsen/logrus's changelog.

1.10.1

Fixes:

  • Fix a regression introduced in v1.10.0 where TextFormatter could panic when formatting nil or panicking error and fmt.Stringer values.
  • Allow function-backed implementations of error as field values.

1.10.0

Fixes:

  • Fix reentrant logging deadlocks in formatter paths.
  • Fix race conditions in formatter and entry handling.
  • Fix generic Log, Logf, Logln, and LogFn methods unexpectedly panicking when called with PanicLevel. Use the corresponding Panic methods when panic behavior is desired.
  • Improve concurrency safety around formatter and hook access.

Features:

  • Add slog hook for forwarding Logrus entries to log/slog.
  • Add slog.Handler for forwarding log/slog 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 log/slog.
  • 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.
  • Allow Entry.Caller to be set explicitly and preserve it across derived entries, enabling custom caller detection without Logrus overwriting caller information when ReportCaller is enabled.

Changed:

  • Raise minimum supported Go version to 1.23.
  • TextFormatter now renders []byte values as raw/quoted strings instead of slice-of-ints.
  • TextFormatter now uses distinct dimmed colors for debug and trace output.
  • TextFormatter now automatically enables colors on Windows terminals with ANSI support, matching the behavior on other platforms.
  • Entry.HasCaller is now deprecated in favor of checking Entry.Caller directly.
  • Deprecated MutexWrap, which was unintentionally exposed as public API. It remains available as an alias for compatibility but should not be used directly.

Performance:

  • Significantly improve TextFormatter performance and reduce allocations.
  • Optimize common Entry and Logger hot paths.
  • Reduce allocations in caller reporting.

... (truncated)

Commits
  • 8b673a9 Merge pull request #1583 from thaJeztah/release_1.10.1
  • 0b920ad Merge pull request #1584 from thaJeztah/more_coverage
  • 5e20694 TextFormatter: cover nil pointer method receivers
  • 8312732 update changelog for v1.10.1
  • e987a40 Merge pull request #1582 from thaJeztah/panic_handler
  • 17d574b TextFormatter: recover panics from Error and String methods
  • 134c80f Merge pull request #1579 from thaJeztah/err_handling
  • 7350f42 logger: WithError: wrap logger.WithError for consistency
  • b3369d2 entry: allow function-backed error fields
  • 1080083 Merge pull request #1578 from thaJeztah/err_handling_tests
  • Additional commits viewable in compare view

Dependabot compatibility score

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 commands and options

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)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/slurdge/goeland/pull/366 **Author:** [@dependabot[bot]](https://github.com/apps/dependabot) **Created:** 9/1/2026 **Status:** ❌ Closed **Base:** `master` ← **Head:** `dependabot/go_modules/github.com/sirupsen/logrus-1.10.1` --- ### 📝 Commits (1) - [`643e3d2`](https://github.com/slurdge/goeland/commit/643e3d223107eb91370be32a1126ff4e7571cb7b) chore(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.1 ### 📊 Changes **2 files changed** (+5 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `go.mod` (+1 -1) 📝 `go.sum` (+4 -8) </details> ### 📄 Description Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.4 to 1.10.1. <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.1</h2> <h1>Logrus v1.10.1</h1> <p>This patch release fixes two issues in field formatting and handling:</p> <ul> <li>Fix a regression introduced in v1.10.0 where <code>TextFormatter</code> could panic when formatting nil or panicking <code>error</code> and <code>fmt.Stringer</code> values.</li> <li>Allow function-backed values implementing <code>error</code> to be used with <code>WithError</code>, <code>WithField</code>, and <code>WithFields</code>.</li> </ul> <p>Dependency Changes</p> <ul> <li>update github.com/stretchr/testify to v1.12.0</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/sirupsen/logrus/compare/v1.10.0...v1.10.1">https://github.com/sirupsen/logrus/compare/v1.10.0...v1.10.1</a></p> <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> </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.1</h2> <p>Fixes:</p> <ul> <li>Fix a regression introduced in v1.10.0 where <code>TextFormatter</code> could panic when formatting nil or panicking <code>error</code> and <code>fmt.Stringer</code> values.</li> <li>Allow function-backed implementations of <code>error</code> as field values.</li> </ul> <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> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sirupsen/logrus/commit/8b673a9eb3a8c1b130907b9677f8d431c9ab1ae7"><code>8b673a9</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1583">#1583</a> from thaJeztah/release_1.10.1</li> <li><a href="https://github.com/sirupsen/logrus/commit/0b920add8d9ba31342949f575067ea6024db81a6"><code>0b920ad</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1584">#1584</a> from thaJeztah/more_coverage</li> <li><a href="https://github.com/sirupsen/logrus/commit/5e20694a7ac51fa08cb4e4c72259aac0e70d0a68"><code>5e20694</code></a> TextFormatter: cover nil pointer method receivers</li> <li><a href="https://github.com/sirupsen/logrus/commit/83127326e4b798e5dab17e3593cc34f845592d49"><code>8312732</code></a> update changelog for v1.10.1</li> <li><a href="https://github.com/sirupsen/logrus/commit/e987a4036b7f045048922c0c96903d99bf827f70"><code>e987a40</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1582">#1582</a> from thaJeztah/panic_handler</li> <li><a href="https://github.com/sirupsen/logrus/commit/17d574b11e6e884800c2a8cfc6d3d134dcf4d452"><code>17d574b</code></a> TextFormatter: recover panics from Error and String methods</li> <li><a href="https://github.com/sirupsen/logrus/commit/134c80f81c9667a2d8c306f159d474857a20b735"><code>134c80f</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1579">#1579</a> from thaJeztah/err_handling</li> <li><a href="https://github.com/sirupsen/logrus/commit/7350f4218b62e4e3e6e17f96755570f21a5628f9"><code>7350f42</code></a> logger: WithError: wrap logger.WithError for consistency</li> <li><a href="https://github.com/sirupsen/logrus/commit/b3369d2b710f2c5ed1566d6844bd204093bc3627"><code>b3369d2</code></a> entry: allow function-backed error fields</li> <li><a href="https://github.com/sirupsen/logrus/commit/108008340c69fe5ecb526940d7d156d716f4b452"><code>1080083</code></a> Merge pull request <a href="https://redirect.github.com/sirupsen/logrus/issues/1578">#1578</a> from thaJeztah/err_handling_tests</li> <li>Additional commits viewable in <a href="https://github.com/sirupsen/logrus/compare/v1.9.4...v1.10.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sirupsen/logrus&package-manager=go_modules&previous-version=1.9.4&new-version=1.10.1)](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> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
slurdge 2026-09-29 13:01:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: slurdge/goeland#358
No description provided.