What's Changed
Refactor
- Slice field constructors (Bytes, Ints64, Floats64, etc.) now eagerly copy
the backing array and delegate toConst*counterparts - Any() handles Snapshotter interface directly in the constructor
- Removed
snapshotFieldand allsnapshotRaw*helpers - Consolidated small files: entrywriter.go → entry.go,
jsonencoderconfig.go→ jsonencoder.go, mutablelevel.go → level.go,
noescape.go → time.go
CI & Dependencies
- Replaced Travis CI with GitHub Actions (matrix Go 1.22 + 1.23, golangci-lint)
- Bumped minimum Go version to 1.21
- Updated testify to v1.11.1
Tests
- Fixed race condition in newLoggerID
- Added test cases for Strings, Stringer, Formatter, nil error, non-Const slices
- Fixed all golangci-lint warnings (errcheck, staticcheck)
Full Changelog: v1.4.2...v1.5.0