All Versions
32
Latest Version
Avg Release Cycle
75 days
Latest Release
108 days ago

Changelog History
Page 1

  • v1.21.0 Changes

    February 07, 2022

    โœจ Enhancements:

    • ๐Ÿ“œ #1047: Add zapcore.ParseLevel to parse a Level from a string.
    • ๐Ÿ“œ #1048: Add zap.ParseAtomicLevel to parse an AtomicLevel from a string.

    ๐Ÿ›  Bugfixes:

    • #1058: Fix panic in JSON encoder when EncodeLevel is unset.

    Other changes:

    • ๐ŸŽ #1052: Improve encoding performance when the AddCaller and AddStacktrace options are used together.

    ๐Ÿš€ Thanks to @aerosol and @Techassi for their contributions to this release.

  • v1.20.0 Changes

    January 04, 2022

    โœจ Enhancements:

    • #989: Add EncoderConfig.SkipLineEnding flag to disable adding newline characters between log statements.
    • #1039: Add EncoderConfig.NewReflectedEncoder field to customize JSON encoding of reflected log fields.

    ๐Ÿ›  Bugfixes:

    • #1011: Fix inaccurate precision when encoding complex64 as JSON.
    • #554, #1017: Close JSON namespaces opened in MarshalLogObject methods when the methods return.
    • #1033: Avoid panicking in Sampler core if thereafter is zero.

    Other changes:

    • ๐Ÿ‘ #1028: Drop support for Go < 1.15.

    ๐Ÿš€ Thanks to @psrajat, @lruggieri, @sammyrnycreal for their contributions to this release.

  • v1.19.1 Changes

    September 08, 2021

    ๐Ÿ›  Bugfixes:

    • #1001: JSON: Fix complex number encoding with negative imaginary part. Thanks to @hemantjadon.
    • #1003: JSON: Fix inaccurate precision when encoding float32.
  • v1.19.0 Changes

    August 09, 2021

    โœจ Enhancements:

    • #975: Avoid panicking in Sampler core if the level is out of bounds.
    • #984: Reduce the size of BufferedWriteSyncer by aligning the fields better.

    ๐Ÿš€ Thanks to @lancoLiu and @thockin for their contributions to this release.

  • v1.18.1 Changes

    June 28, 2021

    ๐Ÿ›  Bugfixes:

    • #974: Fix nil dereference in logger constructed by zap.NewNop.
  • v1.18.0 Changes

    June 28, 2021

    โœจ Enhancements:

    • #961: Add zapcore.BufferedWriteSyncer, a new WriteSyncer that buffers messages in-memory and flushes them periodically.
    • #971: Add zapio.Writer to use a Zap logger as an io.Writer.
    • #897: Add zap.WithClock option to control the source of time via the new zapcore.Clock interface.
    • #949: Avoid panicking in zap.SugaredLogger when arguments of *w methods don't match expectations.
    • ๐Ÿ‘ #943: Add support for filtering by level or arbitrary matcher function to zaptest/observer.
    • #691: Comply with io.StringWriter and io.ByteWriter in Zap's buffer.Buffer.

    Thanks to @atrn0, @ernado, @heyanfu, @hnlq715, @zchee ๐Ÿš€ for their contributions to this release.

  • v1.17.0 Changes

    May 25, 2021

    ๐Ÿ›  Bugfixes:

    • [#867][]: Encode <nil> for nil error instead of a panic.
    • โšก๏ธ [#931][], [#936][]: Update minimum version constraints to address vulnerabilities in dependencies.

    โœจ Enhancements:

    • [#865][]: Improve alignment of fields of the Logger struct, reducing its size from 96 to 80 bytes.
    • ๐Ÿ‘ [#881][]: Support grpclog.LoggerV2 in zapgrpc.
    • ๐Ÿ‘ [#903][]: Support URL-encoded POST requests to the AtomicLevel HTTP handler with the application/x-www-form-urlencoded content type.
    • ๐Ÿ‘ [#912][]: Support multi-field encoding with zap.Inline.
    • [#913][]: Speed up SugaredLogger for calls with a single string.
    • โœ… [#928][]: Add support for filtering by field name to zaptest/observer.

    ๐Ÿš€ Thanks to @ash2k, @FMLS, @jimmystewpot, @Oncilla, @tsoslow, @tylitianrui, @withshubh, and @wziww for their contributions to this release.

  • v1.16.0 Changes

    September 01, 2020

    ๐Ÿ›  Bugfixes:

    • #828: Fix missing newline in IncreaseLevel error messages.
    • #835: Fix panic in JSON encoder when encoding times or durations
      without specifying a time or duration encoder.
    • #843: Honor CallerSkip when taking stack traces.
    • 0๏ธโƒฃ #862: Fix the default file permissions to use 0666 and rely on the umask instead.
    • ๐ŸŒฒ #854: Encode <nil> for nil Stringer instead of a panic error log.

    โœจ Enhancements:

    • #629: Added zapcore.TimeEncoderOfLayout to easily create time encoders
      for custom layouts.
    • ๐Ÿ”ง #697: Added support for a configurable delimiter in the console encoder.
    • โšก๏ธ #852: Optimize console encoder by pooling the underlying JSON encoder.
    • ๐Ÿ”Š #844: Add ability to include the calling function as part of logs.
    • #843: Add StackSkip for including truncated stacks as a field.
    • โœ… #861: Add options to customize Fatal behaviour for better testability.

    ๐Ÿš€ Thanks to @SteelPhase, @tmshn, @lixingwang, @wyxloading, @moul, @segevfiner, @andy-retailnext and @jcorbin for their contributions to this release.

  • v1.15.0 Changes

    April 23, 2020

    ๐Ÿ›  Bugfixes:

    • #804: Fix handling of Time values out of UnixNano range.
    • #812: Fix IncreaseLevel being reset after a call to With.

    โœจ Enhancements:

    • #806: Add WithCaller option to supersede the AddCaller option. This
      ๐Ÿ‘ allows disabling annotation of log entries with caller information if
      previously enabled with AddCaller.
    • ๐Ÿ—„ #813: Deprecate NewSampler constructor in favor of
      ๐Ÿ‘ NewSamplerWithOptions which supports a SamplerHook option. This option
      โž• adds support for monitoring sampling decisions through a hook.

    ๐Ÿš€ Thanks to @danielbprice for their contributions to this release.

  • v1.14.1 Changes

    March 14, 2020

    ๐Ÿ›  Bugfixes:

    • ๐Ÿ— #791: Fix panic on attempting to build a logger with an invalid Config.
    • #795: Vendoring Zap with go mod vendor no longer includes Zap's
      development-time dependencies.
    • #799: Fix issue introduced in 1.14.0 that caused invalid JSON output to
      be generated for arrays of time.Time objects when using string-based time
      formats.

    ๐Ÿš€ Thanks to @YashishDua for their contributions to this release.