Skip to content

Releases: uber-go/zap

exp/v0.3.0

22 Oct 16:07
0ba452d
Compare
Choose a tag to compare

0.3.0 - 22 Oct 2024

Breaking changes:

  • #1339: zapslog: Drop HandlerOptions in favor of HandlerOption,
    which uses the functional options pattern.
  • #1339: zapslog: Rename AddSource option to WithCaller.

Enhancements:

  • #1339: zapslog: Record stack traces for error logs or higher.
    The new AddStackAt option changes this level.

Bug fixes:

  • #1344, #1408: zapslog: Comply fully with slog.Handler contract.
    This includes ignoring empty Attrs, inlining Groups with empty names,
    and omitting groups with no attributes.

Thanks to @zekth and @arukiidou for their contributions to this release.

v1.27.0

20 Feb 20:57
fcf8ee5
Compare
Choose a tag to compare

Enhancements:

  • #1378: Add WithLazy method for SugaredLogger.
  • #1399: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406: Add Log, Logw, Logln methods for SugaredLogger.
  • #1416: Add WithPanicHook option for testing panic logs.

Thanks to @defval, @dimmo, @arxeiss, and @MKrupauskas for their contributions to this release.

v1.26.0

14 Sep 20:36
96038b7
Compare
Choose a tag to compare

Enhancements:

  • #1297: Add Dict as a Field.
  • #1319: Add WithLazy method to Logger which lazily evaluates the structured
    context.
  • #1350: String encoding is much (~50%) faster now.

Thanks to @hhk7734, @jquirke, @cdvr1993 for their contributions to this release.

v1.25.0

02 Aug 05:52
Compare
Choose a tag to compare

This release contains several improvements including performance, API additions,
and two new experimental packages whose APIs are unstable and may change in the
future.

Enhancements:

  • #1246: Add zap/exp/zapslog package for integration with slog.
  • #1273: Add Name to Logger which returns the Logger's name if one is set.
  • #1281: Add zap/exp/expfield package which contains helper methods
    Str and Strs for constructing String-like zap.Fields.
  • #1310: Reduce stack size on Any.

Thanks to @knight42, @dzakaammar, @bcspragu, and @rexywork for their contributions
to this release.

v1.24.0

30 Nov 18:33
a55bdc3
Compare
Choose a tag to compare

Enhancements:

  • #1148: Add Level to both Logger and SugaredLogger that reports the
    current minimum enabled log level.
  • #1185: SugaredLogger turns errors to zap.Error automatically.

Thanks to @Abirdcfly, @craigpastro, @nnnkkk7, and @sashamelentyev for their
contributions to this release.

v1.23.0

24 Aug 15:40
1ae5819
Compare
Choose a tag to compare

Enhancements:

  • #1147: Add a zapcore.LevelOf function to determine the level of a
    LevelEnabler or Core.
  • #1155: Add zap.Stringers field constructor to log arrays of objects
    that implement String() string.

v1.22.0

08 Aug 19:17
4b03bc5
Compare
Choose a tag to compare

Enhancements:

  • #1071: Add zap.Objects and zap.ObjectValues field constructors to log
    arrays of objects. With these two constructors, you don't need to implement
    zapcore.ArrayMarshaler for use with zap.Array if those objects implement
    zapcore.ObjectMarshaler.
  • #1079: Add SugaredLogger.WithOptions to build a copy of an existing
    SugaredLogger with the provided options applied.
  • #1080: Add *ln variants to SugaredLogger for each log level.
    These functions provide a string joining behavior similar to fmt.Println.
  • #1088: Add zap.WithFatalHook option to control the behavior of the
    logger for Fatal-level log entries. This defaults to exiting the program.
  • #1108: Add a zap.Must function that you can use with NewProduction or
    NewDevelopment to panic if the system was unable to build the logger.
  • #1118: Add a Logger.Log method that allows specifying the log level for
    a statement dynamically.

Thanks to @cardil, @craigpastro, @sashamelentyev, @shota3506, and @zhupeijun
for their contributions to this release.

v1.21.0

07 Feb 16:55
6f34060
Compare
Choose a tag to compare

1.21.0 (7 Feb 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

04 Jan 19:16
ad0b02d
Compare
Choose a tag to compare

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

08 Sep 23:48
eaeb0fc
Compare
Choose a tag to compare

Fixed

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