v1.0.0
This is zap's first stable release. All exported APIs are now final, and no further breaking changes will be made in the 1.x release series.
Anyone using a semver-aware dependency manager should now pin to ^1
.
Breaking changes:
- #366: Add byte-oriented APIs to encoders to log UTF-8 encoded text without casting from
[]byte
tostring
. - #364: To support buffering outputs, add
Sync
methods tozapcore.Core
,zap.Logger
, andzap.SugaredLogger
. - #371: Rename the
testutils
package tozaptest
, which is less likely to clash with other testing helpers.
Bugfixes:
- #362: Make the ISO8601 time formatters fixed-width, which is friendlier for tab-separated console output.
- #369: Remove the automatic locks in
zapcore.NewCore
, which allows zap to work with concurrency-safeWriteSyncer
implementations. - #347: Stop reporting errors when trying to
fsync
standard out on Linux systems. - #373: Report the correct caller from zap's standard library interoperability wrappers.
Enhancements:
- #348: Add a registry allowing third-party encodings to work with zap's built-in
Config
. - #327: Make the representation of logger callers configurable (like times, levels, and durations).
- #376: Allow third-party encoders to use their own buffer pools, which removes the last performance advantage that zap's encoders have over plugins.
- #346: Add
CombineWriteSyncers
, a convenience function to tee multipleWriteSyncer
s and lock the result. - #365: Make zap's stacktraces compatible with mid-stack inlining (coming in Go 1.9).
- #372: Export zap's observing logger as
zaptest/observer
. This makes it easier for particularly punctilious users to unit test their application's logging.
Thanks to @suyash, @htrendev, @flisky, @Ulexus, and @skipor for their contributions to this release.