Skip to content

Releases: kislyuk/watchtower

v3.3.1

21 Aug 05:22
Compare
Choose a tag to compare
  • Fix type errors introduced in #201 (required to restore compatibility with Python 3.8)

    • Test infrastructure improvements

v3.3.0

19 Aug 17:22
Compare
Choose a tag to compare
  • Support log group tagging (#201)

v3.2.0

20 Apr 02:46
Compare
Choose a tag to compare
  • Use timeout when waiting for queues to empty at shutdown

v3.1.0

10 Mar 22:26
Compare
Choose a tag to compare
  • Avoid crashing flush() when CreateLogStream API call is throttled (#192)

    • Replace deprecated function datatime.utcnow() (#196)

v3.0.1

29 Jan 15:33
Compare
Choose a tag to compare
  • Truncate messages based on bytes, not unicode characters (#181)

v3.0.0

27 Jan 00:10
v3.0.0
92d874e
Compare
Choose a tag to compare
  • Use repr to represent all JSON fields of unknown types by
    default. Previously, when passing a mapping (dictionary) as a log
    message, watchtower would replace datetime objects with their
    ".isoformat()" string representation, and would replace all other
    non-JSON-serializable objects with null. The new behavior is to
    use the output of repr() to represent these non-JSON-serializable
    objects. This change may cause your logger to log more data than you
    intended, which is why it triggers a major version bump. If you use
    watchtower to log sensitive information or objects with large repr
    strings, you are advised to examine your log messages to see if any
    newly visible data should be sanitized. If you need to customize
    this behavior, you can pass a custom JSON default serializer using
    the json_serialize_default keyword argument.

v2.1.1

07 Jan 21:22
v2.1.1
2eae3e5
Compare
Choose a tag to compare
  • Use correct default log stream name

v2.1.0

07 Jan 20:58
v2.1.0
928305b
Compare
Choose a tag to compare
  • Deconflict log streams from process pools in default log stream name

    • Documentation and CI improvements

v2.0.1

29 Nov 17:50
v2.0.1
0145e74
Compare
Choose a tag to compare
  • Update empty message filtering to catch formatted string case (#162)

v2.0.0

14 Nov 07:15
v2.0.0
8ff71e7
Compare
Choose a tag to compare
  • Rename log_group to log_group_name for consistency with the Boto3 API

    • Rename stream_name to log_stream_name for consistency with the Boto3 API

    • Introduce the ability to pass a Boto3 logs client and remove the ability to pass Boto3 sessions

    • Document the ability to pass a Boto3 configuration profile name for declarative configs

    • Remove the Django customization, which was deprecated and unneeded.
      Django can use watchtower directly via its logging configuration as documented in the readme

    • Introduce configurable log formatters. Special thanks to @terencehonles for starting this work (#117, #138)

    • Use logging.Handler.handleError to correctly handle errors while processing log records (#149)

    • Move stream name determining logic to separate method (#148)

    • Reset internal state on fork to prevent deadlocks in worker threads (#139)

    • Drop Python 3.5 support

    • Expand documentation

    • Update test and release infrastructure