v1.2.0 is a stability-and-compatibility focused minor release across startup flow, hot reload, health probing, config validation, and legacy support.
New Features
- Add robust hot reload workflow: support platform-specific reload signals (
SIGHUP/SIGUSR1) and strengthenPOST /reloadto refresh configs and query plans without process restart - Switch startup to non-blocking mode: HTTP endpoints come up first even when target precheck fails, making recovery and monitoring integration smoother
- Add PostgreSQL 9.1-9.6 legacy config bundle: provide
legacy/configs and amake conf9target for easier onboarding of EOL PostgreSQL versions - Rework health probing architecture: use cached health snapshots with periodic probes for more consistent role-based health endpoints and smoother reload behavior
- Improve release engineering baseline: run
go testandgo vetin release workflows and bump build toolchain to Go 1.26.0
Bug Fixes
- Fix multiple config parsing edge cases: reject malformed metrics entries, return explicit errors when config dirs fail to load valid YAML, and harden runtime fallbacks
- Fix CLI bool flag parsing to correctly handle
--flag=falsestyle arguments - Fix
/explainoutput/rendering behavior by adjusting content type handling and using safer template rendering - Fix predicate query and PG URL handling details: better BOOL/BOOLEAN predicate support, safer row lifecycle handling, and improved
dbnamequery-parameter parsing/redaction - Fix resource cleanup when auto-discovered targets are removed by closing dropped server connections asynchronously
- Fix metric/label validation details including const-label conflict checks, scaled default-value handling, and Prometheus naming/rule checks
Changelog
- 8c7f61c Document PgBouncer health probing pitfalls
- 9a7acf7 Fix PgBouncer health probe (avoid lib/pq Ping ';')
- d33fc4e bump golang to 1.26.0
- 6c8b1a8 chore(go): bump to go1.25.7 for CVE fixes
- 3aea941 ci: run go test and go vet in release workflows
- d3ab676 config: clarify version splits and add PG10-18 coverage test
- 5af178b exporter: harden predicate queries and PGURL handling
- c78c081 exporter: make health checks cached and reload safe
- d89ed88 feat: add PostgreSQL 9.0-9.6 legacy collectors
- feda9bb feat: enable hot reload and non-blocking startup
- 0770d69 fix(cli): normalize kingpin bool flags passed as --flag=false
- abfdab2 fix(pgbouncer): harden precheck and health probe
- 01d0619 fix: add conf9 target and harden PG9 legacy collectors
- 90b5e0f fix: allow startup when target precheck fails
- 755101b fix: close removed servers asynchronously
- 262d8d9 fix: harden config parsing and runtime fallbacks
- 692d282 fix: make PG9.0 collectors and precheck work
- c42c07a fix: normalize config parsing and harden exporter runtime
- 6b65601 fix: serve /explain as text and reject conflicting const labels
- 491c214 fix: tighten config loading and metric helpers
- 6b5f7c2 fix: use html/template for Query HTML rendering
- 01ca8d9 release: bump metadata and docs to v1.2.0
- dd95ad6 remove pg_exporter docs page ci
- 5d3d506 update copyright year to 2026
- c75dd09 v1.2.0 release
- 8df9d7c v1.2.0 release candidate