github Naoray/laravel-github-monolog v3.8.0

one day ago

What's Changed

New Features

  • feat(tracing): add breadcrumbs/event trail system (#50) - Capture an ordered trail of log messages and cache events leading up to an error, similar to Sentry/Flare breadcrumbs. Configurable ring buffer (default 40 entries), formatted as markdown tables in GitHub issues.
  • feat(tracing): auto-detect git information (#48) - Automatically detect git hash, branch, tag, and dirty status using Laravel's Process facade. config('app.git_commit') still works as an override. New tracing.git config toggle.
  • feat(deduplication): add occurrence counter (#49) - Track how many times each error signature has been seen. Comments on duplicate issues now show Occurrence: #N. New deduplication.track_occurrences config option.
  • feat(livewire): capture component state from snapshots (#45) - Extract component data from Livewire snapshot payloads with truncation limits (50 keys, 8KB). Sensitive values are automatically redacted.
  • feat(livewire): capture method parameters and update values (#43) - Methods now include their params, and property updates preserve full key-value pairs instead of just keys.

Bug Fixes

  • fix(formatters): strip duplicate keys from Extra Data section (#41) - ExtraFormatter now excludes keys that have dedicated sections to avoid duplicate output.
  • fix(templates): un-nest stack trace details in comment template (#47) - Fix <details> blocks to be siblings instead of nested.
  • fix(tracing): truncate serialized job payload data (#44) - Long serialized strings truncated to 500 chars using Str::limit().
  • fix(session): strip empty flash data and token (#42) - Remove _token and empty _flash from session data using Arr::except().

Code Simplifications

During review, the following Laravel built-in functions were applied:

  • PR #42: Replaced collect()->except()->toArray() with Arr::except() for simpler session filtering
  • PR #44: Replaced manual substr() with Str::limit() for payload truncation
  • PR #48: Replaced 50-line proc_open implementation with 3-line Process::timeout(1)->path(base_path())->run() call

Full Changelog: v3.7.0...v3.8.0

Don't miss a new laravel-github-monolog release

NewReleases is sending notifications on new releases.