- Generated service names come only from a URL host, a key=value DSN's
host=, or a MySQL tcp() address, so a password in a key=value DSN can no
longer end up in the name printed on every log line.
- connect_timeout is added only to postgres:// and postgresql:// URLs
(parsed, so it never lands after a fragment) or as a key=value token, never
glued onto a key=value value containing "://".
- Driver parse errors that quote password fragments (mongo escape errors,
lib/pq's missing "=" error) are replaced with generic hints.
- MongoDB keeps its client only after a successful connect, so a failed
connect is not disconnected twice.
- Couchbase gets ready_timeout plus 1 minute to connect, so raising
ready_timeout takes effect.
- Shutdown waits at most 7 seconds, inside Docker's 10-second grace period.
- Each adapter declares its config keys; unknown keys anywhere in the file,
including under config, log a warning without blocking start.
Valkey speaks the Redis protocol, so the redis adapter (go-redis) already
serves it. Dropping valkey-go removes a dependency and shrinks the stripped
binary by about 9 MB.
The redis adapter now also closes a client that failed to connect only once.
BREAKING CHANGE: `adapter: valkey` is no longer accepted. Use
`adapter: redis` with a redis:// or rediss:// URL instead of valkey:// or
valkeys://. The namespace option now applies to these services.
Consolidates the *-keepalive family (redis, valkey, postgresql, mysql,
mongodb, couchbase) into a single binary with a runtime DB_TYPE dispatch
and an Adapter interface. Original repos archived with a pointer here.