All Versions
16
Latest Version
Avg Release Cycle
58 days
Latest Release
121 days ago

Changelog History
Page 1

  • v5.0.0

    December 10, 2019

    ➕ Added

    • ➕ Added OutputStreamFormatter protocol to define formatters for use with byte output stream type Writers.
    • ➕ Added TextFormat, an implementation of a OutputStreamFormatter that formats its output based on a supplied template (this is the default formatter for Console and File output).
    • ➕ Added JSONFormat, an implementation of a OutputStreamFormatter that formats its output in standard JSON format.
    • ➕ Added OutputStreamWriter protocol to define types that write byte streams to their output and accept OutputStreamFormatter types to format the output.
    • ➕ Added LogEntry tuple type to Writer defining the formal types that a Writer writes.
    • ➕ Added .buffer option for .async concurrency modes to allow for buffering when the writer is not available to write to its endpoint.
    • ➕ Added protected data monitoring for FileWriter.Strategy.fixed on iOS for use with AsyncConcurrencyModeOption.buffer(writeInterval:strategy:). This allows TraceLog to be started up before protected data is available on iOS.

    Upated

    • Requires Swift 5 for compilation.
    • 🔄 Changed parameters to .async to include options for configuration of the mode (.async(options: Set<AsyncConcurrencyModeOption>) and .async(Writer, options: Set<AsyncConcurrencyModeOption>)).
    • 🔄 Changed Writer protocol log() method to write(_ entry: Writer.LogEntry) to make it easier to process messages by writers and formatters.
    • 🔄 Changed Writer return to Swift.Result<Int, FailedReason> to return instructions for TraceLog for buffering and error recovery.
    • 🔄 Changed ConsoleWriter to accept new OutputStreamFormatter instances allowing you to customize the output log format (default is TextFormat.)
    • 🔄 Changed FileWriter public interface
      • FileWriter now requires the log directory be passed in, removing default value of ./.
      • Removed the fileConfiguration parameter replacing with new strategy enum.
      • It now accepts the new OutputStreamFormatter instances allowing you to customize the output log format (default is TextFormat.)
    • 🔄 Changed FileWriter archive file name date format to "yyyyMMdd-HHmm-ss-SSS" (This was done for maximum compatibility between platforms and can be overridden in the FileConfiguration object passed at init.)
    • TextFormat to add var encoding: String.Encoding { get } requirement.
    • JSONFormat to add var encoding: String.Encoding { get } requirement.
    • 📇 Renamed AsyncOption to AsyncConcurrencyModeOption.
    • 🔄 Changed OutputStreamFormatter, it now requires var encoding: String.Encoding { get }.
    • 📇 Renamed FileWriter.FileStrategy to FileWriter.Strategy.
    • 📇 Renamed FileWriter.Strategy.RotateOption to FileWriter.Strategy.RotationOption.

    ✂ Removed

    • ✂ Removed TraceLogTestHarness module.

    🛠 Fixed

    • 🛠 Fixed logTrace when no trace level is passed. It's now the correct default value of 1 instead of 4 (issue #58).
  • v5.0.0-beta.4

    September 16, 2019

    ⚡️ Updated

    • Corrected availability of FileWriter and FileStrategyRotate so that they compile correctly on iOS.
  • v5.0.0-beta.3

    September 15, 2019

    ➕ Added

    • ➕ Added protected data monitoring for FileWriter.Strategy.fixed on iOS for use with AsyncConcurrencyModeOption.buffer(writeInterval:strategy:). This allows TraceLog to be started up before protected data is available on iOS.
  • v5.0.0-beta.2

    March 04, 2019

    ➕ Added

    • ➕ Added extensive HTML documentation including user guides and a complete API reference.

    🔄 Changed

    • 📇 Renamed AsyncOption to AsyncConcurrencyModeOption.
    • 🔄 Changed OutputStreamFormatter, it now requires var encoding: String.Encoding { get }.
    • 📇 Renamed FileWriter.FileStrategy to FileWriter.Strategy.
    • 📇 Renamed FileWriter.Strategy.RotateOption to FileWriter.Strategy.RotationOption.

    ⚡️ Updated

    • TextFormat to add var encoding: String.Encoding { get } requirement.
    • JSONFormat to add var encoding: String.Encoding { get } requirement.
  • v5.0.0-beta.1

    February 25, 2019

    ➕ Added

    • ➕ Added OutputStreamFormatter protocol to define formatters for use with byte output stream type Writers.
    • ➕ Added TextFormat, an implementation of a OutputStreamFormatter that formats its output based on a supplied template (this is the default formatter for Console and File output).
    • ➕ Added JSONFormat, an implementation of a OutputStreamFormatter that formats its output in standard JSON format.
    • ➕ Added OutputStreamWriter protocol to define types that write byte streams to their output and accept OutputStreamFormatter types to format the output.
    • ➕ Added LogEntry tuple type to Writer defining the formal types that a Writer writes.
    • ➕ Added .buffer option for .async concurrency modes to allow for buffering when the writer is not available to write to its endpoint.

    🔄 Changed

    • Requires Swift 5 for compilation.
    • 🔄 Changed parameters to .async to include options for configuration of the mode (.async(options: Set<AsyncOption>) and .async(Writer, options: Set<AsyncOption>)).
    • 🔄 Changed Writer protocol log() method to write(_ entry: Writer.LogEntry) to make it easier to process messages by writers and formatters.
    • 🔄 Changed Writer return to Swift.Result<Int, FailedReason> to return instructions for TraceLog for buffering and error recovery.
    • 🔄 Changed ConsoleWriter to accept new OutputStreamFormatter instances allowing you to customize the output log format (default is TextFormat.)
    • 🔄 Changed FileWriter public interface
      • FileWriter now requires the log directory be passed in, removing default value of ./.
      • Removed the fileConfiguration parameter replacing with new strategy enum.
      • It now accepts the new OutputStreamFormatter instances allowing you to customize the output log format (default is TextFormat.)
    • 🔄 Changed FileWriter archive file name date format to "yyyyMMdd-HHmm-ss-SSS" (This was done for maximum compatibility between platforms and can be overridden in the FileConfiguration object passed at init.)

    ✂ Removed

    • ✂ Removed TraceLogTestHarness module.

    🛠 Fixed

    • 🛠 Fixed logTrace when no trace level is passed. It's now the correct default value of 1 instead of 4 (issue #58).
  • v4.0.1

    September 10, 2018

    🛠 Fixed

    • ➕ Adding missing newline to ConsoleWriter output (issue #55).
  • v4.0.0

    September 06, 2018

    ➕ Added

    • ➕ Added mode to TraceLog.configuration to allow direct, async, or sync mode of operation. Sync & direct mode are useful for use cases that have short-lived processes (scripts) or require real-time logging.
    • ➕ Added ability to set the concurrency mode individually for each Writer.
    • ➕ Added FileWriter class for writing to local log files.
    • ➕ Added TestHarness to assist developers in testing their own Writer types.
    • ➕ Added shell utility to assist in testing Writer types.
    • ➕ Added TraceLogTestTools module/library to allow use of new TestHarness and other Utilities.

    ✂ Removed

    • ✂ Removed all Xcode projects, Xcode projects are now generated using Swift Package Manager.
    • ⬇️ Dropped iOS 8 support.
  • v4.0.0-beta.3

    July 06, 2018

    ➕ Added

    • ➕ Added FileWriter class for writing to local log files.
  • v4.0.0-beta.2

    June 26, 2018

    ➕ Added

    • ➕ Added TestHarness to assist developers in testing their own Writer types.
    • ➕ Added shell utility to assist in testing Writer types.
    • ➕ Added TraceLogTestTools module/library to allow use of new TestHarness and other Utilities.

    ✂ Removed

    • ✂ Removed the UnifiedLoggingWriter and instead using external AdaptiveSystemLogWriter which adapts to various platforms for latest system log.
  • v4.0.0-beta.1

    June 13, 2018

    ➕ Added

    • ➕ Added UnifiedLoggingWriter for Apple Unified Logging system logging using TraceLog.
    • ➕ Added mode to TraceLog.configuration to allow direct, async, or sync mode of operation. Sync & direct mode are useful for use cases that have short-lived processes (scripts) or require real-time logging.
    • ➕ Added ability to set the concurrency mode individually for each Writer.

    ✂ Removed

    • ✂ Removed all Xcode projects, Xcode projects are now generated using Swift Package Manager.
    • ⬇️ Dropped iOS 8 support.