Skip to content

Bump github.com/sirupsen/logrus from 1.9.4 to 1.10.0 - #4494

Merged
kubernetes-prow[bot] merged 1 commit into
masterfrom
dependabot/go_modules/github.com/sirupsen/logrus-1.10.0
Aug 18, 2026
Merged

Bump github.com/sirupsen/logrus from 1.9.4 to 1.10.0#4494
kubernetes-prow[bot] merged 1 commit into
masterfrom
dependabot/go_modules/github.com/sirupsen/logrus-1.10.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 18, 2026

Copy link
Copy Markdown
Contributor

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

Release notes

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

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.
  • The hook and handler can be combined, providing a practical path for incrementally migrating from Logrus to log/slog without requiring an all-at-once transition.

This allows applications to migrate their logging API and logging backend independently: existing Logrus call sites can start using an slog backend, while new slog code can continue using an established Logrus setup.

🔒 Concurrency & Correctness

  • Fix reentrant logging deadlocks, including logging from within MarshalJSON or formatter code.
  • Fix generic Log, Logf, Logln, and LogFn methods unexpectedly panicking when called with PanicLevel, contrary to their documented behavior.
  • Eliminate race conditions in entry and formatter paths.
  • Improve locking boundaries around formatters and hooks.

➕ Added

  • TextFormatter now automatically enables colors on Windows terminals with ANSI support, matching behavior on other platforms.
  • Entry.Caller 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.
  • 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.
  • Expand CI verification to include TinyGo and every cross-compile target reported by go tool dist list, improving coverage across alternative toolchains and platforms.

... (truncated)

Changelog

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

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.
  • ~17% lower geomean runtime and ~27% higher formatter throughput overall.
  • Common enabled logging paths are ~30–44% faster.
  • TextFormatter paths are up to ~40% faster, with allocation counts reduced by 25–74% across the measured formatter cases.
Commits
  • 457e372 Merge pull request #1573 from thaJeztah/update_colors
  • 6b6a3a6 formatter: differentiate debug and trace colors
  • 8ebae73 Merge pull request #1572 from thaJeztah/update_logs
  • f156a33 docs: clarify formatter field handling
  • 84cedf9 Merge pull request #1571 from thaJeztah/slog_hookopts
  • a3e1580 hooks/slog: add HookOptions
  • e5b377a Merge pull request #1570 from thaJeztah/slog_leveler
  • 30a5487 hooks/slog: add level adapters
  • 0cee61e Merge pull request #1569 from thaJeztah/slog_noleveler
  • 4069973 hooks/slog: use concrete slog.Level for hook level mapping
  • Additional commits viewable in compare view

@dependabot dependabot Bot added area/dependency Issues or PRs related to dependency changes ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note-none Denotes a PR that doesn't merit a release note. labels Aug 18, 2026
@kubernetes-prow kubernetes-prow Bot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority labels Aug 18, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

Hi @dependabot[bot]. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@kubernetes-prow kubernetes-prow Bot added area/release-eng Issues or PRs related to the Release Engineering subproject sig/release Categorizes an issue or PR as relevant to SIG Release. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Aug 18, 2026
@puerco

puerco commented Aug 18, 2026

Copy link
Copy Markdown
Member

/retest

@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 18, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dependabot[bot], puerco

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 18, 2026
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.4 to 1.10.0.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](sirupsen/logrus@v1.9.4...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/github.com/sirupsen/logrus-1.10.0 branch from 440b602 to 9a413d3 Compare August 18, 2026 02:57
@kubernetes-prow kubernetes-prow Bot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 18, 2026
@puerco

puerco commented Aug 18, 2026

Copy link
Copy Markdown
Member

/lgtm

@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 18, 2026
@kubernetes-prow
kubernetes-prow Bot merged commit f4c8979 into master Aug 18, 2026
11 checks passed
@kubernetes-prow
kubernetes-prow Bot deleted the dependabot/go_modules/github.com/sirupsen/logrus-1.10.0 branch August 18, 2026 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/dependency Issues or PRs related to dependency changes area/release-eng Issues or PRs related to the Release Engineering subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note-none Denotes a PR that doesn't merit a release note. sig/release Categorizes an issue or PR as relevant to SIG Release. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant