Skip to content

Releases: DeRuina/timberjack

v1.3.9

21 Oct 11:49

Choose a tag to compare

1.3.9 (2025-10-21)

Features

  • Make FileMode for newly created files configurable (#59) (82320e6)

v1.3.8

15 Oct 13:03

Choose a tag to compare

1.3.8 (2025-10-15)

Fixes & Improvements

  • (4c2c743)

  • Eliminated multiple data races in concurrent rotations and mill goroutines.
    Internal logic now snapshots configuration and system functions once for each logger instance to ensure safe concurrent use.

  • Added deterministic shutdown for background goroutines (mill and scheduled rotation) via WaitGroup synchronization, preventing premature exits or leaks.

  • Strengthened Close() to wait safely for goroutine completion without holding locks.

  • Improved test suite:

    • Fake clock (fakeCurrentTime) is now lock-protected to avoid race conditions.
    • Tests force UTC for consistent local-time behavior.
    • CI now runs with go test -race to verify concurrency safety.

Internal Changes

  • Introduced resolveConfigLocked() for snapshotting logger configuration (time, compression, stat/rename/remove functions) at initialization.
  • Simplified mill and rotation goroutine lifecycle management.
  • Minor refactoring for clarity and reduced global variable reads.

v1.3.7

19 Sep 05:49

Choose a tag to compare

1.3.7 (2025-09-19)

Features

  • zstd compression support for rotated files (#38) (626a5bd)

  • Manual rotate with custom reason (#39) (cf751aa)

Chnaged

  • Rename AppendAfterExt to AppendTimeAfterExt (#37) (fea97b9)

Deprecated

  • Compress (bool) is deprecated in favor of Compression ("none" | "gzip" | "zstd").
    If Compression is set, it wins; if it’s empty and Compress is true, gzip is used.
    Compress will be removed in v2.

v1.3.6

16 Sep 12:51

Choose a tag to compare

1.3.6 (2025-09-16)

Features

  • Append the backupTimeFormat to the end of file name (#40) (15c6d81)

v1.3.5

19 Aug 12:47

Choose a tag to compare

1.3.5 (2025-08-19)

Features

Changed

v1.3.4

05 Aug 08:22

Choose a tag to compare

1.3.4 (2025-08-05)

Features

  • read group permission on newly created files (#30) (ee44715)

v1.3.3

24 Jul 11:47
332b9c2

Choose a tag to compare

[1.3.3] - 2025-07-24

Fixed

Prevent panic on write after close and improve shutdown robustness (#25) (332b9c2)

Added

  • Generic safeClose[T] helper to close channels safely without panic
  • Unit test: TestWriteToClosedLogger to verify behavior

Changed

  • Minimum Go version requirement bumped to go 1.18 to support generics

v1.3.2

21 Jul 08:44

Choose a tag to compare

1.3.2 (2025-07-21)

Bug Fixes

  • millRun goroutine leak fix (28bf784)

v1.3.1

17 Jul 06:07

Choose a tag to compare

1.3.1 (2025-07-17)

Features

  • BackupTimeFormat field is now required for Logger instance to work. Returns error if invalid value is passed.
  • Rotation Suffix Time Format (e2c2211)

Bug Fixes

  • truncateFractional bug fix (9a6f908)

v1.3.0

04 Jun 05:21
ce2cc3d

Choose a tag to compare

1.3.0 (2025-06-04)

Features

  • rotation: add RotateAtMinutes support (e4c22b6)
  • rotation: add RotateAtMinutes support (2e93add)