Add changelog entries for recent commits: - Health package: Kubernetes health probes - Logger package: runtime level control and fixes - Database package: config file override support
3.0 KiB
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, andWithServiceNameoptions - JSON response formats - Structured probe responses with service identification
- Backward compatibility - Maintains existing
/__healthand/endpoints
Logger Package
- Runtime log level control - Independent level management for stderr and OTLP loggers via
SetLevel()andSetOTLPLevel() - Environment variable support - Configure levels with
LOG_LEVELandOTLP_LOG_LEVELenv vars - String parsing utility - New
ParseLevel()function for converting string levels toslog.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_FILEenvironment 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 configurationmetrics.Shutdown()- Graceful shutdown for metrics exportersinternal/tracerconfig- Shared OTLP configuration utilities (internal package)
Dependencies
- Added explicit OpenTelemetry metrics dependencies to
go.mod - Updated tracing dependencies for retry support