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
, andWithServiceName
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()
andSetOTLPLevel()
- Environment variable support - Configure levels with
LOG_LEVEL
andOTLP_LOG_LEVEL
env 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_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 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