Files
common/CHANGELOG.md
Ask Bjørn Hansen ca190b0085 docs: add v0.5.2 release notes
Add changelog entries for recent commits:
- Health package: Kubernetes health probes
- Logger package: runtime level control and fixes
- Database package: config file override support
2025-09-21 12:10:05 -07:00

3.0 KiB

Release Notes - v0.5.2

Health Package

  • Kubernetes-native health probes - Added dedicated handlers for liveness (/healthz), readiness (/readyz), and startup (/startupz) probes
  • Flexible configuration options - New WithLivenessHandler, WithReadinessHandler, WithStartupHandler, and WithServiceName options
  • JSON response formats - Structured probe responses with service identification
  • Backward compatibility - Maintains existing /__health and / endpoints

Logger Package

  • Runtime log level control - Independent level management for stderr and OTLP loggers via SetLevel() and SetOTLPLevel()
  • Environment variable support - Configure levels with LOG_LEVEL and OTLP_LOG_LEVEL env vars
  • String parsing utility - New ParseLevel() function for converting string levels to slog.Level
  • Buffering exporter fix - Resolved "unlock of unlocked mutex" panic in bufferingExporter
  • Initialization redesign - Eliminated race conditions in TLS/tracing setup retry logic

Database Package

  • Configuration file override - Added DATABASE_CONFIG_FILE environment variable to specify custom database configuration file paths
  • Flexible path configuration - Override default ["database.yaml", "/vault/secrets/database.yaml"] search paths when needed

Release Notes - v0.5.1

Observability Enhancements

OTLP Metrics Support

  • New metrics/ package - OpenTelemetry-native metrics with OTLP export support for structured metrics collection
  • Centralized OTLP configuration - Refactored configuration to internal/tracerconfig/ to eliminate code duplication across tracing, logging, and metrics
  • HTTP retry support - Added consistent retry configuration for all HTTP OTLP exporters to improve reliability

Enhanced Logging

  • Buffering exporter - Added OTLP log buffering to queue logs until tracing configuration is available
  • TLS support for logs - Client certificate authentication support for secure OTLP log export
  • Improved logfmt formatting - Better structured output for log messages

Tracing Improvements

  • HTTP retry support - OTLP trace requests now automatically retry on failure when using HTTP transport

Build System

Version Package Enhancements

  • Unix epoch build time support - Build time can now be injected as Unix timestamps ($(date +%s)) in addition to RFC3339 format
  • Simplified build commands - Reduces complexity of ldflags injection while maintaining backward compatibility
  • Consistent output format - All build times normalize to RFC3339 format regardless of input

API Changes

New Public Interfaces

  • metrics.NewMeterProvider() - Create OTLP metrics provider with centralized configuration
  • metrics.Shutdown() - Graceful shutdown for metrics exporters
  • internal/tracerconfig - Shared OTLP configuration utilities (internal package)

Dependencies

  • Added explicit OpenTelemetry metrics dependencies to go.mod
  • Updated tracing dependencies for retry support