# 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