Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 6, 2025

Bumps slog from 2.7.0 to 2.8.0.

Release notes

Sourced from slog's releases.

Enable nested-values feature by default

This is the biggest slog release since v2.0! It contains many smaller fixes and improvements to slog that have been accumulated across 5 years and 127 commits.

The nested-values feature was already present in slog, and allows logging serde::Serialize types in addition to primitives. Previously, the nested-values feature had to be enabled not just in slog but also in each drain crate (slog_json, slog_term, slog_async, etc). Enabling this feature by default makes the crate easier to use and avoids several papercts. It should have no runtime overhead if not used and low compile-time overhead thanks to the new serde_core crate.

Another major feature is Logger::flush, which explicitly flushes buffered log messages. The next major release of slog_json, slog_async, etc., will also include support for this feature, in addition to enabling nested-values by default.

Changelog

The following has been copied from CHANGELOG.md

Highlights

  • Enables the nested-values feature by default. The next major release of slog_json, slog_term, etc should also enable this feature by default.
  • Added Logger::flush and Drain::flush methods.
  • Improved support for logging errors
    • Have # log specifier transparently support & references to error
    • Implement slog::Value for Box<dyn std::error::Error> and anyhow::Error
  • Define a prelude module for common imports
  • Upgraded to Rust 2018 and require Rust 1.61
    • Deprecate the old slog_log! macros in favor of slog::log!
  • Many internal improvements & bug fixes

Changed

  • Enables the nested-values feature by default.
  • Updated to Rust 2018
  • Bump MSRV to 1.61
    • This is already required for erased-serde, syn, serde_core, and many other important crates in the rust ecosystem.
  • Update erased-serde from v0.3 to v0.4
  • Depend on [serde_core] rather than serde to reduce compile times.

Added

  • Added a Logger::flush and Drain::flush methods
    • Since this is a new method, not all drains implement it. Calling it on an unsupported drain will give an error
  • Define a prelude module for common imports. Replace use slog::{Serde, Logger, info, debug, trace} with use slog::prelude::*
  • Optionally implement Drain for [parking_lot::Mutex]. This is noticeably faster than std::sync::Mutex, is smaller, and avoids poisoning.
    • This feature has a separate name per version to allow supporting multiple versions of parking_lot at once. The current version (v0.12) has feature name parking_lot_0_12
  • Implement slog::Value for dyn std::error::Error and Box<dyn std::error:Error (along with the Send/Sync versions).
  • Optionally implement slog::Value for [anyhow::Error] (requires anyhow feature)
  • Add ErrorRef wrapper to enable logging error references (PR #327)
    • The # error formatter in macros was updated to automatically select ErrorValue or ErrorRef (PR #328)
  • Add emit_bytes method (PR #290)
    • Control formatting using BytesKind enum
  • Implement Value for std::borrow::Cow

Deprecated

  • Deprecate old prefixed macros like slog_log.

... (truncated)

Changelog

Sourced from slog's changelog.

[2.8.0] - 2025-10-05

This is the biggest slog release since 2.0. It fully preserves compatibility with prior releases.

Highlights

  • Enables the nested-values feature by default. The next major release of slog_json, slog_term, etc should also enable this feature by default.
  • Added Logger::flush and Drain::flush methods.
  • Improved support for logging errors
    • Have # log specifier transparently support & references to error
    • Implement slog::Value for Box<dyn std::error::Error> and anyhow::Error
  • Define a prelude module for common imports
  • Upgraded to Rust 2018 and require Rust 1.61
    • Deprecate the old slog_log! macros in favor of slog::log!
  • Many internal improvements & bug fixes

Changed

  • Enables the nested-values feature by default.
  • Updated to Rust 2018
  • Bump MSRV to 1.61
    • This is already required for erased-serde, syn, serde_core, and many other important crates in the rust ecosystem.
  • Update erased-serde from v0.3 to v0.4
  • Depend on [serde_core] rather than serde to reduce compile times.

Added

  • Added a Logger::flush and Drain::flush methods
    • Since this is a new method, not all drains implement it. Calling it on an unsupported drain will give an error
  • Define a prelude module for common imports. Replace use slog::{Serde, Logger, info, debug, trace} with use slog::prelude::*
  • Optionally implement Drain for [parking_lot::Mutex]. This is noticeably faster than std::sync::Mutex, is smaller, and avoids poisoning.
    • This feature has a separate name per version to allow supporting multiple versions of parking_lot at once. The current version (v0.12) has feature name parking_lot_0_12
  • Implement slog::Value for dyn std::error::Error and Box<dyn std::error:Error (along with the Send/Sync versions).
  • Optionally implement slog::Value for [anyhow::Error] (requires anyhow feature)
  • Add ErrorRef wrapper to enable logging error references (PR #327)
    • The # error formatter in macros was updated to automatically select ErrorValue or ErrorRef (PR #328)
  • Add emit_bytes method (PR #290)
    • Control formatting using BytesKind enum
  • Implement Value for std::borrow::Cow

Deprecated

  • Deprecate old prefixed macros like slog_log. Rust 2018 macro paths like slog::log! make these unnecessary.

Fixed

  • Fix logging of references to errors (resolved by introduction of ErrorRef in PR #327)
  • Take advantage of the fact that in 1.81 [std::error::Error] has been moved to core. On this rust version, slog now supports the error trait without requiring std.
  • Add #[must_use] to most public types, including slog::Logger, slog::OwnedKV, and slog::FnValue.

... (truncated)

Commits
  • ec46dcc Bump version to v2.8.0
  • a447574 Use serde_core instead of serde
  • 60add84 ci: Run rustdoc in CI, forbidding warnings
  • 640c150 Fix outstanding rustdoc warnings
  • c52367f ci: Add anyhow to test feature matrix
  • a59a459 More detailed docs for Drain::flush
  • 1d2d9fe Make Duplicate::flush more robust on failure
  • 559df85 Add FlushError::Custom wrapping a Box<dyn Error>
  • fb98190 Define a Drain::flush method
  • 79b5770 ci: Use Swatinem/rust-cache action
  • 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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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)

Bumps [slog](https://github.com/slog-rs/slog) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/slog-rs/slog/releases)
- [Changelog](https://github.com/slog-rs/slog/blob/master/CHANGELOG.md)
- [Commits](slog-rs/slog@v2.7.0...v2.8.0)

---
updated-dependencies:
- dependency-name: slog
  dependency-version: 2.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Oct 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants