Skip to content

Commit b689a41

Browse files
committed
docs: CHANGELOG
1 parent 4c2c743 commit b689a41

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Changelog
22

3+
## [1.3.8](https://github.com/DeRuina/timberjack/compare/v1.3.7...v1.3.8) (2025-10-15)
4+
5+
### Fixes & Improvements
6+
7+
* ([4c2c743](https://github.com/DeRuina/timberjack/commit/4c2c7433979b88b308dc927f10c95ee0fa221327))
8+
9+
* Eliminated multiple data races in concurrent rotations and mill goroutines.
10+
Internal logic now snapshots configuration and system functions once for each logger instance to ensure safe concurrent use.
11+
12+
* Added deterministic shutdown for background goroutines (`mill` and `scheduled rotation`) via `WaitGroup` synchronization, preventing premature exits or leaks.
13+
14+
* Strengthened `Close()` to wait safely for goroutine completion without holding locks.
15+
16+
* Improved test suite:
17+
- Fake clock (`fakeCurrentTime`) is now lock-protected to avoid race conditions.
18+
- Tests force UTC for consistent local-time behavior.
19+
- CI now runs with `go test -race` to verify concurrency safety.
20+
21+
### Internal Changes
22+
23+
* Introduced `resolveConfigLocked()` for snapshotting logger configuration (time, compression, stat/rename/remove functions) at initialization.
24+
* Simplified mill and rotation goroutine lifecycle management.
25+
* Minor refactoring for clarity and reduced global variable reads.
26+
27+
28+
329
## [1.3.7](https://github.com/DeRuina/timberjack/compare/v1.3.6...v1.3.7) (2025-09-19)
430

531
### Features

0 commit comments

Comments
 (0)