Skip to content

Releases: daboross/fern

Release version 0.5.2

03 Jan 03:04
Compare
Choose a tag to compare
  • Re-add compatibility for rust versions 1.16.0+, and add CI testing
    with rustc 1.16.0 to ensure this is kept in the future.
  • Add some more general documentation updates and clarity increases.
  • Add a CHANGELOG.md which mirrors git tag releases.
  • Update documentation links to point to docs.rs rather than custom
    hosted documentation.
  • Fix ColoredLevelConfig::default being an inherent method rather than
    an implementation of the Default trait.
  • Add direct support for the syslog crate under the "syslog-3"
    feature flag.
    • Add a module worth of documentation for using fern with syslog.

Release version 0.5.1

02 Jan 01:10
Compare
Choose a tag to compare
  • Re-add support for colored log levels with the 'colored' feature
    • This was initially implemented in fern 0.4.4 by @nihilus, but support was accidentally dropped in fern 0.5.0.
  • Fix the ability to run tests on windows, and refactor integration tests for developer clarity
  • Update documentation for clarity

Short list of changes in 0.5.0:

  • Updated from log 0.3 to log 0.4. Both are interoperable, but using log 0.4 provides a much cleaner log interface for fern to use internally
  • Removed fern::FernLog.
  • Renamed fern::color::ColoredLogLevelConfig to ColoredLevelConfig
  • Greatly simplified testing

Release version 0.5.0

02 Jan 01:09
Compare
Choose a tag to compare
  • Update from log 0.3 to log 0.4. Both log versions are interoperable, but line numbers from libraries using 0.4 won't show up in binaries with recievers using log 0.4.
    • To clarify: both fern 0.4 and 0.5 will work perfectly with all libraries, but line numbers will always be 0 if you use fern 0.4 and log 0.4.
  • Remove fern::FernLog. With log 0.4, log records can be constructed directly, and fern loggers can now recieve just a record rather than a record and the formatted display string.
  • Notable changes in the log crate: log::LogLevel is renamed to log::Level, and log::LogLevelFilter is renamed to log::LevelFilter.
  • fern::color::ColoredLogLevelConfig has been renamed to fern::color::ColoredLevelConfig to match log crate renamings.
  • fern tests have been greatly simplified with the new support for creating log records manually. it's now possible to just run "cargo test" and test all of fern's functionality.

Release version 0.4.4

23 Dec 05:39
Compare
Choose a tag to compare
  • Add support for coloring log levels in Unix terminals using the 'colored' crate
    • This is enabled via the 'colored' feature, and adds a fern::color module.
    • Thanks to @nihiluis for implementing this feature.

Release version 0.4.3

02 Jan 01:08
Compare
Choose a tag to compare
  • Add support for sending to an std::sync::mpsc::Sender as a log output

Release version 0.4.2

02 Jan 01:08
Compare
Choose a tag to compare
  • Documentation hotfix after a too-early release of version 0.4.1

Release version 0.4.1

02 Jan 01:08
Compare
Choose a tag to compare
  • Lots of documentation tweaks and reworking
  • Add CONTRIBUTING file and update README to invite new contributors
  • Improve example application to be more realistic
  • A few small internal improvements, mostly code cleanup here

Release version 0.4.0

02 Jan 01:07
Compare
Choose a tag to compare
  • Rework API surface to be builder-based for simpler configuration

    • Rename DispatchConfig to Dispatch, OutputConfig to Output and FernLogger to FernLog
  • Rework inner log structure for more efficiency

    • Different outputs are now stored in an enum rather than every sublogger being a Box with dynamic dispatch
    • Remove LogError; handle errors within individual loggers now - and only within loggers which actually need it
    • Remove unnecessary wrapping of streams with an Arc (now just uses Mutex for File streams)
    • Remove unnecessary wrapping of Stdout and Stderr streams with a Mutex, when they are already synchronized
    • Pass around just &fmt::Arguments + &log::LogRecord instead of passing each individual LogRecord part
  • Move opening of files and stdout/stderr from configuration "building" to configuring

    • Instead of taking OpenOptions, log configuration now just takes an already-opened std::io::File object
    • fern::InitError is now a convenience API, and is never returned from any fern APIs
  • Redo formatting to work without allocation - formatting closures now finish with a callback rather than returning a value

  • Update examples to use chrono instead of the time crate

    • This removes another extra allocation - chrono can format time directly to a writer, without allocating intermediate the result to a String
  • Add much more documentation: almost every builder method has a full example, and all features should be thoroughly explained

  • Add appveyor and travis-ci badges to README and Cargo.toml

Release version 0.3.5

02 Jan 01:07
Compare
Choose a tag to compare
  • Build changes to .travis.yml
  • Add html_root_url doc attribute
  • Add file_with_line_sep and file_with_options_and_line_sep configuration construction options to allow specifying a line separator other than the default '\n'

Release version 0.3.4

02 Jan 01:06
Compare
Choose a tag to compare
  • Update for rustc version e9080ec39 (1.0.0-beta.2)
  • Update to use no_test to ignore doc tests, rather than ignore
  • Remove all stability attributes on public types
  • Add rust version matrix for testing on travis, to test on beta as well as nightly builds