Skip to content

v2.0.0

Choose a tag to compare

@dmachard dmachard released this 09 Jan 10:30
· 83 commits to main since this release
38a5537

What's Changed

⚠️ Breaking Changes

This release introduces breaking changes (see #1121 and #1122):

  • the multiplexer mode is removed, please to use the syntax with pipeline introduced since the v0.56 version.
  • deprecated fields in tcp, fluentd, kafka, redis loggers are removed

🚀 Performance

This release introduces some important optimizations

  • the DNS parsing core, focusing on reducing CPU overhead and memory pressure during high-traffic scenarios (>20k).
  • the text formatting output now uses a reusable buffer pool, resulting in fewer memory allocations
  • Stdout logger buffering logic has been improved to batch multiple DNS messages before writing to output, reducing the number of system calls and improving throughput.

💡 Enhancements

  • feat(loki): improved the relabeling process to support Prometheus > v0.307 by @dmachard in #1136
  • feat(stdout): reduce syscalls via buffered writer by @dmachard in #1125
  • refactor(logfile): optimize logfile worker with bufio and fix rotation logic by @dmachard in #1126
  • feat(loggers): remove deprecated fields in tcp, fluentd, kafka, redis loggers by @dmachard in #1122
  • feat(dnsparser): optimize lookups and reduce allocations in ParseLabels by @dmachard in #1123
  • feat(worker): add text buffer pool to optimize DNSMessage text formatting by @dmachard in #1124
  • feat(elasticsearch): add retry and exponential backoff for bulk requests by @dmachard in #1119 #1120
  • feat(worker): MQTT v3.11/v5 worker support by @shift in #1113
  • feat(#976): kafka - add backoff algorithm for re-connect @dmachard in #1112
  • feat(#936): dnstap - add latency_ms field derived from latency by @dmachard in #1117
  • feat(#333): dnstap - handle query/response timestamps to compute latency when available
  • chore: multiplexer mode removed by @dmachard in #1121

🔧 Bugfixes

  • fix: correct swapped cache TTL and size default values by @alamin-mahamud in #1114
  • fix(#973): kafka - refactor connect logic to fix auto-reconnect failure by @dmachard in #1112
  • fix(workers): properly track discarded messages when remote side is not ready by @dmachard in #1115

📈 Dependency updates

  • build(deps): bump github.com/IBM/fluent-forward-go from 0.3.0 to 0.4.0 by @dependabot[bot] in #1132
  • build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #1135
  • build(deps): bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #1134
  • build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 by @dependabot[bot] in #1133
  • build(deps): bump github.com/miekg/dns from 1.1.68 to 1.1.69 by @dependabot[bot] in #1130
  • build(deps): bump alpine from 3.22.2 to 3.23.2 by @dependabot[bot] in #1127
  • build(deps): bump go.opentelemetry.io/otel/trace from 1.38.0 to 1.39.0 by @dependabot[bot] in #1131
  • build(deps): bump golang from 1.25.4-alpine to 1.25.5-alpine by @dependabot[bot] in #1128
  • chore(deps): refactor loki to support v3.6.3 by @dmachard in #1118
  • build(deps): bump github.com/tinylib/msgp from 1.3.0 to 1.5.0 by @dependabot[bot] in #1106
  • build(deps): bump github.com/prometheus/prometheus from 0.309.0 to 0.309.1 by @dependabot[bot] in #1129

New Contributors

Full Changelog: v1.14.0...v2.0.0