Skip to content

Latest commit

 

History

History
152 lines (101 loc) · 5.08 KB

File metadata and controls

152 lines (101 loc) · 5.08 KB

Changelog

All notable changes to this project are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Releases are git-tagged. The submodules (logsentry, goslog) are tagged in lockstep with the root module, e.g. v1.0.7, logsentry/v1.0.7, goslog/v1.0.7.

1.1.1 - 2026-06-17

Added

  • Runnable Example functions for the primary Logger API (Example, ExampleLogger) and the log subpackage, so the common usage paths appear on pkg.go.dev and are verified by go test.
  • Package documentation comment for the log subpackage.

Changed

  • logsentry: bump the indirect golang.org/x/text dependency from v0.34.0 to v0.37.0, aligning it with the tools submodule.

Fixed

  • A nil *Logger no longer panics on the level methods (Trace, Debug, Info, Warn, Error, Fatal and their At/Ctx/f/fCtx variants). They now return a nil *Message, honoring the nil-safe contract documented in doc.go. Previously they dereferenced l.config while reading the level and crashed with a nil pointer dereference.

Documentation

  • Clarify that duplicate-key prevention applies to keys inherited from the logger, a sub-logger, or the context (the inherited value wins), not to duplicate keys added within a single message chain.
  • Fix the doc.go context example to use golog.NewString (there is no golog.Str constructor).

1.1.0 - 2026-06-16

Changed

  • Breaking: migrate to getsentry/sentry-go v0.46.2 and Go 1.25; route logging errors through logsentry; make golog.ErrorHandler a thread-safe accessor (#14). golog.ErrorHandler changed from a package variable to a getter function: replace golog.ErrorHandler = fn with golog.SetErrorHandler(fn), and read the handler via golog.ErrorHandler() or golog.ErrorHandlerOr(fallback).
  • logsentry: structured log values now populate the Sentry event's log context instead of the removed Event.Extra; a logged type key is sent as type_ (reserved-name remap) (#14).
  • Bump securego/gosec to v2.27.1 in the tools submodule (stays on Go 1.25), pulling along google.golang.org/grpc 1.81.1 and assorted golang.org/x/* and google.golang.org/* updates.
  • Replace tag-release.sh (version passed as an argument) with tag-version.sh, which reads the release version from the VERSION file.

Fixed

  • UUID parsing now accepts UUID versions 6, 7 and 8.

Documentation

  • Add CLAUDE.md with guidance for AI coding agents working in the repo.
  • Fix the tag prefix in the redact breaking-change note.

1.0.7 - 2026-04-14

Added

  • Format.Location for fixed-timezone time formatting.

1.0.6 - 2026-04-14

Added

  • Tag-driven struct field logging with omit/redact modifiers.
  • Timestamp type for flexible log timestamp parsing.

Changed

  • Move gosec into the tools submodule; expand test-workspace.sh.
  • Bump Go to 1.24.9 and update dependencies (incl. grpc 1.79.3).

Documentation

  • Document Timestamp and Format defaults in the README.

1.0.5 - 2026-02-12

Fixed

  • Use v0.0.0-00010101000000-000000000000 for locally replaced module versions.

1.0.4 - 2026-02-12

Fixed

  • logsentry.WriterConfig: add nil checks for hub and format in NewWriterConfig; handle a nil error in WriteError.
  • Ensure WriteError implementations do not panic on a nil error.
  • IsTerminal: add a #nosec directive for the file-descriptor conversion.

1.0.3 - 2026-02-10

Changed

  • WriterConfig: add mergeWriterConfigs and optimize uniqueNonNilWriterConfigs.

1.0.2 - 2026-02-03

Fixed

  • SubLoggerContext: self-referential DerivedConfig causing a stack overflow.

1.0.1 - 2026-01-30

Added

  • DynDerivedConfig; keep DerivedConfig fast without a mutex.

Fixed

  • CallbackWriter: nil pointer dereference in all slice Write methods.
  • logsentry writer: improve panic-recovery error handling; add recovery in CommitMessage and FlushUnderlying.
  • logfile: recover RotatingWriter after a failed rotation.

1.0.0 - 2026-01-28

Added

  • Initial tagged release: zero-allocation append-style text output, Time attrib type for zero-allocation time.Time logging, and the tag-release versioning script.