Add changelog entries for recent commits: - Health package: Kubernetes health probes - Logger package: runtime level control and fixes - Database package: config file override support
54 lines
3.0 KiB
Markdown
54 lines
3.0 KiB
Markdown
# 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
|