PackageTrack
Sign in Get early access

github.com/uber-go/zap

v1.11.0 #103 most downloaded on Go modules uber-go/zap

What this package is like to depend on

Last release 7 years ago

no release in 18 months

Release timing varies

gaps range from 8 days to 5 months

Nearly every release is documented

notes for 15 of 15 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

98 releases · first in 2016

0 releases in the last 12 months

see the full history below

Release timeline

98 releases · Feb 2016 to Oct 2019
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 98
  1. v1.11.0 21 Oct 2019
    Release notes

    Enhancements:

    • #725: Add zapcore.OmitKey to omit keys in an EncoderConfig.
    • #736: Add RFC3339 and RFC3339Nano time encoders.

    Thanks to @juicemia, @uhthomas for their contributions to this release.

    Open source →
    Release notes

    Enhancements:

    • [#725][]: Add zapcore.OmitKey to omit keys in an EncoderConfig.
    • [#736][]: Add RFC3339 and RFC3339Nano time encoders.

    Thanks to @juicemia, @uhthomas for their contributions to this release.

    Open source →
  2. v1.10.1-0.20190926184545-d8445f34b4ae 26 Sep 2019 pre-release

    Nothing published for this version

  3. v1.10.1-0.20190821025253-425214515ff4 21 Aug 2019 pre-release

    Nothing published for this version

  4. v1.10.1-0.20190709142728-9a9fa7d4b5f0 09 Jul 2019 pre-release

    Nothing published for this version

  5. v1.10.1-0.20190619185213-853ac185800f 19 Jun 2019 pre-release

    Nothing published for this version

  6. v1.10.1-0.20190430155229-8a2ee5670ced 30 Apr 2019 pre-release

    Nothing published for this version

  7. v1.10.0 30 Apr 2019
    Release notes

    Bugfixes:

    • #657: Fix MapObjectEncoder.AppendByteString not adding value as a string.
    • #706: Fix incorrect call depth to determine caller in Go 1.12.

    Enhancements:

    • #610: Add zaptest.WrapOptions to wrap zap.Option for creating test loggers.
    • #675: Don't panic when encoding a String field.
    • #704: Disable HTML escaping for JSON objects encoded using the reflect-based encoder.

    Thanks to @iaroslav-ciupin, @lelenanam, @joa, @NWilson for their contributions to this release.

    Open source →
    Release notes

    Bugfixes:

    • [#657][]: Fix MapObjectEncoder.AppendByteString not adding value as a string.
    • [#706][]: Fix incorrect call depth to determine caller in Go 1.12.

    Enhancements:

    • [#610][]: Add zaptest.WrapOptions to wrap zap.Option for creating test loggers.
    • [#675][]: Don't panic when encoding a String field.
    • [#704][]: Disable HTML escaping for JSON objects encoded using the reflect-based encoder.

    Thanks to @iaroslav-ciupin, @lelenanam, @joa, @NWilson for their contributions to this release.

    Open source →
  8. v1.9.2-0.20190327195448-badef736563f 27 Mar 2019 pre-release

    Nothing published for this version

  9. v1.9.2-0.20190215012540-d2a364dac1d9 15 Feb 2019 pre-release

    Nothing published for this version

  10. v1.9.2-0.20190122184550-82e3b47c1fe4 22 Jan 2019 pre-release

    Nothing published for this version

  11. v1.9.2-0.20180814183419-67bc79d13d15 14 Aug 2018 pre-release

    Nothing published for this version

  12. v1.9.1 06 Aug 2018
    Release notes

    Bugfixes:

    • #614: MapObjectEncoder should not ignore empty slices.
    Open source →
    Release notes

    Bugfixes:

    • [#614][]: MapObjectEncoder should not ignore empty slices.
    Open source →
  13. v1.9.0 19 Jul 2018
    Release notes

    Enhancements:

    • #602: Reduce number of allocations when logging with reflection.
    • #572, #606: Expose a registry for third-party logging sinks.

    Thanks to @nfarah86, @AlekSi, @JeanMertz, @philippgille, @etsangsplk, and @dimroc for their contributions to this release.

    Open source →
    Release notes

    Enhancements:

    • [#602][]: Reduce number of allocations when logging with reflection.
    • [#572][], [#606][]: Expose a registry for third-party logging sinks.

    Thanks to @nfarah86, @AlekSi, @JeanMertz, @philippgille, @etsangsplk, and @dimroc for their contributions to this release.

    Open source →
  14. v1.8.1-0.20180627234335-7e7e266a8dbc 27 Jun 2018 pre-release

    Nothing published for this version

  15. v1.8.1-0.20180531205250-88c71ae3d702 31 May 2018 pre-release

    Nothing published for this version

  16. v1.8.1-0.20180502182426-2dc8d10634f4 02 May 2018 pre-release

    Nothing published for this version

  17. v1.8.0 13 Apr 2018
    Release notes

    Enhancements:

    • #508: Make log level configurable when redirecting the standard library's logger.
    • #518: Add a logger that writes to a *testing.TB.
    • #577: Add a top-level alias for zapcore.Field to clean up GoDoc.

    Bugfixes:

    • #574: Add a missing import comment to go.uber.org/zap/buffer.

    Thanks to @DiSiqueira and @djui for their contributions to this release.

    Open source →
    Release notes

    Enhancements:

    • [#508][]: Make log level configurable when redirecting the standard library's logger.
    • [#518][]: Add a logger that writes to a *testing.TB.
    • [#577][]: Add a top-level alias for zapcore.Field to clean up GoDoc.

    Bugfixes:

    • [#574][]: Add a missing import comment to go.uber.org/zap/buffer.

    Thanks to @DiSiqueira and @djui for their contributions to this release.

    Open source →
  18. v1.7.2-0.20171031232209-f85c78b1dd99 31 Oct 2017 pre-release

    Nothing published for this version

  19. v1.7.1 25 Sep 2017
    Release notes

    Bugfixes:

    • #504: Store strings when using AddByteString with the map encoder.
    Open source →
    Release notes

    Bugfixes:

    • [#504][]: Store strings when using AddByteString with the map encoder.
    Open source →
  20. v1.7.0 21 Sep 2017
    Release notes

    Enhancements:

    • #487: Add NewStdLogAt, which extends NewStdLog by allowing the user to specify the level of the logged messages.
    Open source →
    Release notes

    Enhancements:

    • [#487][]: Add NewStdLogAt, which extends NewStdLog by allowing the user to specify the level of the logged messages.
    Open source →
  21. v1.6.0 31 Aug 2017
    Release notes

    Enhancements:

    • #491: Omit zap stack frames from stacktraces.
    • #490: Add a ContextMap method to observer logs for simpler field validation in tests.
    Open source →
    Release notes

    Enhancements:

    • [#491][]: Omit zap stack frames from stacktraces.
    • [#490][]: Add a ContextMap method to observer logs for simpler field validation in tests.
    Open source →
  22. v1.5.1-0.20170802171341-e68420e36ce8 02 Aug 2017 pre-release

    Nothing published for this version

  23. v1.5.0 23 Jul 2017
    Release notes

    Enhancements:

    • #460 and #470: Support errors produced by go.uber.org/multierr.
    • #465: Support user-supplied encoders for logger names.

    Bugfixes:

    • #477: Fix a bug that incorrectly truncated deep stacktraces.

    Thanks to @richard-tunein and @pavius for their contributions to this release.

    Open source →
    Release notes

    Enhancements:

    • [#460][] and [#470][]: Support errors produced by go.uber.org/multierr.
    • [#465][]: Support user-supplied encoders for logger names.

    Bugfixes:

    • [#477][]: Fix a bug that incorrectly truncated deep stacktraces.

    Thanks to @richard-tunein and @pavius for their contributions to this release.

    Open source →
  24. v1.4.2-0.20170628002510-e15639dab1b6 28 Jun 2017 pre-release

    Nothing published for this version

  25. v1.4.2-0.20170610223901-300d56ffb8cc 10 Jun 2017 pre-release

    Nothing published for this version

  26. v1.4.2-0.20170609180446-54371c67da1b 09 Jun 2017 pre-release

    Nothing published for this version

  27. v1.4.1 08 Jun 2017
    Release notes

    This release fixes two bugs.

    Bugfixes:

    • #435: Support a variety of case conventions when unmarshaling levels.
    • #444: Fix a panic in the observer.
    Open source →
    Release notes

    This release fixes two bugs.

    Bugfixes:

    • [#435][]: Support a variety of case conventions when unmarshaling levels.
    • [#444][]: Fix a panic in the observer.
    Open source →
  28. v1.4.1-0.20170525153614-b33459c467c8 25 May 2017 pre-release

    Nothing published for this version

  29. v1.4.0 12 May 2017
    Release notes

    This release adds a few small features and is fully backward-compatible.

    Enhancements:

    • #424: Add a LineEnding field to EncoderConfig, allowing users to override the Unix-style default.
    • #425: Preserve time zones when logging times.
    • #431: Make zap.AtomicLevel implement fmt.Stringer, which makes a variety of operations a bit simpler.
    Open source →
    Release notes

    This release adds a few small features and is fully backward-compatible.

    Enhancements:

    • [#424][]: Add a LineEnding field to EncoderConfig, allowing users to override the Unix-style default.
    • [#425][]: Preserve time zones when logging times.
    • [#431][]: Make zap.AtomicLevel implement fmt.Stringer, which makes a variety of operations a bit simpler.
    Open source →
  30. v1.3.0 25 Apr 2017
    Release notes

    This release adds an enhancement to zap's testing helpers as well as the ability to marshal an AtomicLevel. It is fully backward-compatible.

    Enhancements:

    • #415: Add a substring-filtering helper to zap's observer. This is particularly useful when testing the SugaredLogger.
    • #416: Make AtomicLevel implement encoding.TextMarshaler.
    Open source →
    Release notes

    This release adds an enhancement to zap's testing helpers as well as the ability to marshal an AtomicLevel. It is fully backward-compatible.

    Enhancements:

    • [#415][]: Add a substring-filtering helper to zap's observer. This is particularly useful when testing the SugaredLogger.
    • [#416][]: Make AtomicLevel implement encoding.TextMarshaler.
    Open source →
  31. v1.2.0 14 Apr 2017
    Release notes

    This release adds a gRPC compatibility wrapper. It is fully backward-compatible.

    Enhancements:

    • #402: Add a zapgrpc package that wraps zap's Logger and implements grpclog.Logger.
    Open source →
    Release notes

    This release adds a gRPC compatibility wrapper. It is fully backward-compatible.

    Enhancements:

    • [#402][]: Add a zapgrpc package that wraps zap's Logger and implements grpclog.Logger.
    Open source →
  32. v1.1.0 31 Mar 2017
    Release notes

    This release fixes two bugs and adds some enhancements to zap's testing helpers. It is fully backward-compatible.

    Bugfixes:

    • #385: Fix caller path trimming on Windows.
    • #396: Fix a panic when attempting to use non-existent directories with zap's configuration struct.

    Enhancements:

    • #386: Add filtering helpers to zaptest's observing logger.

    Thanks to @moitias for contributing to this release.

    Open source →
    Release notes

    This release fixes two bugs and adds some enhancements to zap's testing helpers. It is fully backward-compatible.

    Bugfixes:

    • [#385][]: Fix caller path trimming on Windows.
    • [#396][]: Fix a panic when attempting to use non-existent directories with zap's configuration struct.

    Enhancements:

    • [#386][]: Add filtering helpers to zaptest's observing logger.

    Thanks to @moitias for contributing to this release.

    Open source →
  33. v1.0.0 15 Mar 2017
    Release notes

    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 to string.
    • #364: To support buffering outputs, add Sync methods to zapcore.Core, zap.Logger, and zap.SugaredLogger.
    • #371: Rename the testutils package to zaptest, 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-safe WriteSyncer 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 multiple WriteSyncers 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.

    Open source →
    Release notes

    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 to string.
    • [#364][]: To support buffering outputs, add Sync methods to zapcore.Core, zap.Logger, and zap.SugaredLogger.
    • [#371][]: Rename the testutils package to zaptest, 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-safe WriteSyncer 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 multiple WriteSyncers 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.

    Open source →
  34. v1.0.0-rc.3 07 Mar 2017 pre-release
    Release notes

    This is the third release candidate for zap's stable release. There are no breaking changes.

    Bugfixes:

    • #339: Byte slices passed to zap.Any are now correctly treated as binary blobs rather than []uint8.

    Enhancements:

    • #307: Users can opt into colored output for log levels.
    • #353: In addition to hijacking the output of the standard library's package-global logging functions, users can now construct a zap-backed log.Logger instance.
    • #311: Frames from common runtime functions and some of zap's internal machinery are now omitted from stacktraces.

    Thanks to @ansel1 and @suyash for their contributions to this release.

    Open source →
    Release notes

    This is the third release candidate for zap's stable release. There are no breaking changes.

    Bugfixes:

    • [#339][]: Byte slices passed to zap.Any are now correctly treated as binary blobs rather than []uint8.

    Enhancements:

    • [#307][]: Users can opt into colored output for log levels.
    • [#353][]: In addition to hijacking the output of the standard library's package-global logging functions, users can now construct a zap-backed log.Logger instance.
    • [#311][]: Frames from common runtime functions and some of zap's internal machinery are now omitted from stacktraces.

    Thanks to @ansel1 and @suyash for their contributions to this release.

    Open source →
  35. v1.0.0-rc.2.0.20170307214739-4e517d38b213 07 Mar 2017 pre-release

    Nothing published for this version

  36. v1.0.0-rc.2.0.20170224221842-12592ca48efc 24 Feb 2017 pre-release

    Nothing published for this version

  37. v1.0.0-rc.2 23 Feb 2017 pre-release
    Release notes

    This is the second release candidate for zap's stable release. It includes two breaking changes.

    Breaking changes:

    • #316: Zap's global loggers are now fully concurrency-safe (previously, users had to ensure that ReplaceGlobals was called before the loggers were in use). However, they must now be accessed via the L() and S() functions. Users can update their projects with

      gofmt -r "zap.L -> zap.L()" -w .
      gofmt -r "zap.S -> zap.S()" -w .
      
    • #309 and #317: RC1 was mistakenly shipped with invalid JSON and YAML struct tags on all config structs. This release fixes the tags and adds static analysis to prevent similar bugs in the future.

    Bugfixes:

    • #321: Redirecting the standard library's log output now correctly reports the logger's caller.

    Enhancements:

    • #325 and #333: Zap now transparently supports non-standard, rich errors like those produced by github.com/pkg/errors.
    • #326: Though New(nil) continues to return a no-op logger, NewNop() is now preferred. Users can update their projects with gofmt -r 'zap.New(nil) -> zap.NewNop()' -w ..
    • #300: Incorrectly importing zap as github.com/uber-go/zap now returns a more informative error.

    Thanks to @skipor and @chapsuk for their contributions to this release.

    Open source →
    Release notes

    This is the second release candidate for zap's stable release. It includes two breaking changes.

    Breaking changes:

    • [#316][]: Zap's global loggers are now fully concurrency-safe (previously, users had to ensure that ReplaceGlobals was called before the loggers were in use). However, they must now be accessed via the L() and S() functions. Users can update their projects with

      gofmt -r "zap.L -> zap.L()" -w .
      gofmt -r "zap.S -> zap.S()" -w .
      
    • [#309][] and [#317][]: RC1 was mistakenly shipped with invalid JSON and YAML struct tags on all config structs. This release fixes the tags and adds static analysis to prevent similar bugs in the future.

    Bugfixes:

    • [#321][]: Redirecting the standard library's log output now correctly reports the logger's caller.

    Enhancements:

    • [#325][] and [#333][]: Zap now transparently supports non-standard, rich errors like those produced by github.com/pkg/errors.
    • [#326][]: Though New(nil) continues to return a no-op logger, NewNop() is now preferred. Users can update their projects with gofmt -r 'zap.New(nil) -> zap.NewNop()' -w ..
    • [#300][]: Incorrectly importing zap as github.com/uber-go/zap now returns a more informative error.

    Thanks to @skipor and @chapsuk for their contributions to this release.

    Open source →
  38. v1.0.0-rc.1.0.20170223215904-a03b90bc236f 23 Feb 2017 pre-release

    Nothing published for this version

  39. v1.0.0-rc.1 15 Feb 2017 pre-release
    Release notes

    This is the first release candidate for zap's stable release. There are multiple breaking changes and improvements from the pre-release version. Most notably:

    • Zap's import path is now "go.uber.org/zap" — all users will need to update their code.
    • User-facing types and functions remain in the zap package. Code relevant largely to extension authors is now in the zapcore package.
    • The zapcore.Core type makes it easy for third-party packages to use zap's internals but provide a different user-facing API.
    • Logger is now a concrete type instead of an interface.
    • A less verbose (though slower) logging API is included by default.
    • Package-global loggers L and S are included.
    • A human-friendly console encoder is included.
    • A declarative config struct allows common logger configurations to be managed as configuration instead of code.
    • Sampling is more accurate, and doesn't depend on the standard library's shared timer heap.
    Open source →
  40. v0.1.0-beta.1.0.20170215020704-72313cde8053 15 Feb 2017 pre-release

    Nothing published for this version

  41. v0.1.0-beta.1.0.20170215015843-6cd19fe038ad 15 Feb 2017 pre-release

    Nothing published for this version

  42. v0.1.0-beta.1.0.20170215015225-b510eca66e70 15 Feb 2017 pre-release

    Nothing published for this version

  43. v0.1.0-beta.1.0.20170215015225-99c2189920a7 15 Feb 2017 pre-release

    Nothing published for this version

  44. v0.1.0-beta.1.0.20170215015225-61159f06afe4 15 Feb 2017 pre-release

    Nothing published for this version

  45. v0.1.0-beta.1.0.20170215015225-284f6ef9ad7b 15 Feb 2017 pre-release

    Nothing published for this version

  46. v0.1.0-beta.1 07 Feb 2017 pre-release
    Release notes

    This is a minor version, tagged to allow users to pin to the pre-1.0 APIs and upgrade at their leisure. Since this is the first tagged release, there are no backward compatibility concerns and all functionality is new.

    Early zap adopters should pin to the 0.1.x minor version until they're ready to upgrade to the upcoming stable release.

    Open source →
    Release notes

    This is a minor version, tagged to allow users to pin to the pre-1.0 APIs and upgrade at their leisure. Since this is the first tagged release, there are no backward compatibility concerns and all functionality is new.

    Early zap adopters should pin to the 0.1.x minor version until they're ready to upgrade to the upcoming stable release.

    Open source →
  47. v0.0.0-20191021203632-0065243e7bbd 21 Oct 2019 pre-release

    Nothing published for this version

  48. v0.0.0-20190619185213-853ac185800f 19 Jun 2019 pre-release

    Nothing published for this version

  49. v0.0.0-20180814183419-67bc79d13d15 14 Aug 2018 pre-release

    Nothing published for this version

  50. v0.0.0-20180806180553-ff33455a0e38 06 Aug 2018 pre-release

    Nothing published for this version

  51. v0.0.0-20180719213511-4d45f9617f7d 19 Jul 2018 pre-release

    Nothing published for this version

  52. v0.0.0-20180627234335-7e7e266a8dbc 27 Jun 2018 pre-release

    Nothing published for this version

  53. v0.0.0-20180413230207-eeedf312bc6c 13 Apr 2018 pre-release

    Nothing published for this version

  54. v0.0.0-20171031232209-f85c78b1dd99 31 Oct 2017 pre-release

    Nothing published for this version

  55. v0.0.0-20170925195302-35aad584952c 25 Sep 2017 pre-release

    Nothing published for this version

  56. v0.0.0-20170723001603-9d9d6135afe8 23 Jul 2017 pre-release

    Nothing published for this version

  57. v0.0.0-20170707045104-092e7c1e97df 07 Jul 2017 pre-release

    Nothing published for this version

  58. v0.0.0-20170628002510-e15639dab1b6 28 Jun 2017 pre-release

    Nothing published for this version

  59. v0.0.0-20170608153615-9cabc84638b7 08 Jun 2017 pre-release

    Nothing published for this version

  60. v0.0.0-20170425153944-6a4e056f2cc9 25 Apr 2017 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive