Skip to content

Releases: SpriteOvO/spdlog-rs

v0.3.2

08 Nov 14:28
Compare
Choose a tag to compare

Changes

  • Fix benchmarks URL in README on crates.io.

v0.3.1

08 Nov 14:01
Compare
Choose a tag to compare

Changes

  • Fix missing README on crates.io.

v0.3.0

08 Nov 13:58
Compare
Choose a tag to compare

Highlights

  • Performance is improved by 45% (see Benchmarks).

  • PatternFormatter with pattern! macro allows users to configure logging format using a literal string at compile-time. (#12, much appreciated @Lancern)

  • AsyncPoolSink can be combined with any sink to process log records asynchronously (non-blocking).

New Features

Improvements / Bug Fixes

  • FullFormatter now output terminal-friendly source file full path.

  • Now leap seconds will be handled and displayed correctly.

  • Re-exported some items from log crate to a new module log_crate for convenience.

  • Public APIs have been marked with #[must_use] attribute if appropriate.

  • Now if an invalid rotation_policy is used to construct RotatingFileSink, an error will be returned instead of panic.

Breaking Changes

  • fn LoggerBuilder::build now returns Result<Logger> instead of panic.

  • struct RecordBuilder and fn Record::new are removed.

  • WinDebugSink is now only enabled when feature native is enabled

  • trait Sink added a new method set_error_handler and removed method swap_formatter.

  • trait Formatter added a new method clone_box.

  • All error types are moved into a new module error.

  • Deprecated methods {LoggerBuilder, StyleBuilder, StdStreamSink, FileSink, RotatingFileSink, WinDebugSink, Style}::new, use Builder methods instead.

Others

  • Since this release, MSRV (the minimum supported Rust version) will be guaranteed and maintained. Currently it is 1.56.

v0.2.4

02 Mar 15:38
Compare
Choose a tag to compare

This release contains a very important bug fix that solved the issue which caused log record loses when program exits or panics. Everyone should upgrade to this version to make sure all your log records are properly logged.

Changes:

  • Flush the default logger once at exit.

v0.2.3

22 Feb 14:58
Compare
Choose a tag to compare

Changes:

  • Attempt to enable terminal ANSI escape sequences on Windows. This makes CMD and PowerShell support color output.
  • Implemented From<log::LevelFilter> for LevelFilter enum.
  • Documented missing crate features level-critical and release-level-critical.

v0.2.2

04 Feb 09:16
Compare
Choose a tag to compare

Changes:

  • Fixed log macros always producing incorrect source locations.
  • FullFormatter output module path if the source location is available.

v0.2.1

31 Jan 09:52
Compare
Choose a tag to compare

Changes:

  • Generate documentation on docs.rs with --all-features

v0.2.0

31 Jan 08:13
Compare
Choose a tag to compare

Normal changes:

  • Added a sink WinDebugSink.
  • Added feature log, struct LogCrateProxy, function init_log_crate_proxy and function log_crate_proxy to be compatible with log crate.
  • Allowed to configure level filters of loggers via environment variable SPDLOG_RS_LEVEL.
  • Implemented AsRef<OsStr> for FlexibleString.
  • Extracted FlexibleString to a separate crate flexible-string.

Breaking changes:

  • Logger struct removed new function and Default trait.
  • Logger::sinks method returns slice instead of Vec reference.
  • Logger names no longer allow any of these characters: , = * ? $ { } " ', and cannot start or end with a whitespace.
  • Marked non_exhaustive attribute for Error enum.

v0.1.1

20 Jan 06:52
Compare
Choose a tag to compare

Normal changes:

  • Added a sink WinDebugSink.
  • Allowed to configure level filters of loggers via environment variable SPDLOG_RS_LEVEL.
  • Implemented AsRef<OsStr> for FlexibleString.
  • Extracted FlexibleString to a separate crate flexible-string.

Breaking changes:

  • Logger struct removed new function and Default trait.
  • Logger names no longer allow any of these characters: , = * ? $ { } " ', and cannot start or end with a whitespace.
  • Marked non_exhaustive attribute for Error enum.

Known issues:

  • This release has breaking changes that do not respect the SemVer Compatibility of Cargo. You may consider switching to v0.2.

v0.1.0

13 Jan 06:09
Compare
Choose a tag to compare

🎉 Publish the first version!