Skip to content

New, Improved, and Only A Bit Breaking

Latest

Choose a tag to compare

@mergesort mergesort released this 17 Oct 16:25

New

  • Broadcast now supports compilation and usage on Linux. SessionLogger works out the box, but MultiSessionLogger and ConsoleLogger are not supported since they are backed by Apple platform APIs.
  • 2.0 also introduces a new SwiftLogDestination, which is supported on any platform where SwiftLog is usable, including Linux. This means you can now use SwiftLog through Broadcast, leveraging Broadcast's simple APIs and composable loggers.
    • Enable SwiftLogDestination by using the optional SwiftLogging package trait.
  • ConsoleLogger privacy is now configurable. Choose .public or .private, and ConsoleLogger will map that to the matching OSLog setting.

Improved

  • ConsoleLogger improves performance by now using fixed OSLog templates instead of eagerly formatting the entire record.

Breaking Changes

  • The recordFormatter property has moved from LoggingDestination to BufferedLoggingDestination to be more semantically correct. Buffered destinations retain the default formatter, while custom destinations can declare their own formatter when needed.
  • MultiSessionLogger is not included by default anymore, but can be enabled in your project through the MultiSessionLogging package trait.
  • To take advantage of package traits, Swift 6.1+ is now required.