- Update golang.org/x/crypto and golang.org/x/text
- Fix CVE-2024-27304. SQL injection can occur if an attacker can cause a single query or bind message to exceed 4 GB in size. An integer overflow in the calculated message size can cause the one large message to be sent as multiple messages under the attacker's control.
- Fix: Enable failover efforts when pg_hba.conf disallows non-ssl connections (Brandon Kauffman)
- Fix: connect_timeout is not obeyed for sslmode=allow|prefer (smaher-edb)
- Optimize redundant pgpass parsing in case password is explicitly set (Aleksandr Alekseev)
- Fix: each connection attempt to new node gets own timeout (Nathan Giardina)
- Set SNI for SSL connections (Stas Kelvich)
- Fix: CopyFrom I/O race (Tommy Reilly)
- Minor dependency upgrades
- Add sslpassword support (Eric McCormack and yun.xu)
- Add prefer-standby target_session_attrs support (sergey.bashilov)
- Fix GSS ErrorResponse handling (Oliver Tan)
- Fix: setting krbspn and krbsrvname in connection string (sireax)
- Add support for Unix sockets on Windows (Eno Compton)
- Stop ignoring ErrorResponse during SCRAM auth (Rafi Shamim)
- Add pluggable GSSAPI support (Oliver Tan)
- Fix: Consider any "0A000" error a possible cached plan changed error due to locale
- Better match psql fallback behavior with multiple hosts
- Support port in ip from LookupFunc to override config (James Hartig)
- Fix TLS connection timeout (Blake Embrey)
- Add support for read-only, primary, standby, prefer-standby target_session_attributes (Oscar)
- Fix connect when receiving NoticeResponse
- Close without waiting for response (Kei Kamikawa)
- Save waiting for network round-trip in CopyFrom (Rueian)
- Fix concurrency issue with ContextWatcher
- LRU.Get always checks context for cancellation / expiration (Georges Varouchas)
- net.Timeout errors are no longer returned when a query is canceled via context. A wrapped context error is returned.
- pgconn.Timeout only is true for errors originating in pgconn (Michael Darr)
- Add defaults for sslcert, sslkey, and sslrootcert (Joshua Brindle)
- Solve issue with 'sslmode=verify-full' when there are multiple hosts (mgoddard)
- Fix default host when parsing URL without host but with port
- Allow dbname query parameter in URL conn string
- Update underlying dependencies
- Better connection string sanitization (ip.novikov)
- Use proper pgpass location on Windows (Moshe Katz)
- Use errors instead of golang.org/x/xerrors
- Resume fallback on server error in Connect (Andrey Borodin)
- Add StatementErrored method to stmtcache.Cache. This allows the cache to purge invalidated prepared statements. (Ethan Pailes)
- Fix data value slices into work buffer with capacities larger than length.
- Do not asyncClose after receiving FATAL error from PostgreSQL server
- Exec(Params|Prepared) return ResultReader with FieldDescriptions loaded
- Add ReceiveResults (Sebastiaan Mannem)
- Fix parsing DSN connection with bad backslash
- Add PgConn.CleanupDone so connection pools can determine when async close is complete
- Fix deadlock on error after CommandComplete but before ReadyForQuery
- Fix panic on parsing DSN with trailing '='
- Fix error message after AppendCertsFromPEM failure (vahid-sohrabloo)
- Update pgservicefile library
- Update golang.org/x/crypto to latest
- Update golang.org/x/text to 0.3.3
- Fix error handling for bad PGSERVICE definition
- Redact passwords in ParseConfig errors (Lukas Vogel)
- Fix panic when closing conn during cancellable query
- Fix behavior of sslmode=require with sslrootcert present (Petr Jediný)
- Fix field descriptions available after command concluded (Tobias Salzmann)
- Support connect_timeout (georgysavva)
- Handle IPv6 in connection URLs (Lukas Vogel)
- Fix ValidateConnect with cancelable context
- Improve CopyFrom performance
- Add Config.Copy (georgysavva)
- Update golang.org/x/crypto for security fix
- Implement "verify-ca" SSL mode (Greg Curtis)
- Fix ExecParams and ExecPrepared handling of empty query.
- Support reading config from PostgreSQL service files.
- Update chunkreader to v2.0.1 for optimized default buffer size.
- Fix CopyFrom deadlock when multiple NoticeResponse received during copy
- Add Hijack and Construct.
- Update pgproto3 to v2.0.1.
- Fix data race in context cancellation introduced in v1.2.0.
- Add Insert(), Update(), Delete(), and Select() statement type query methods to CommandTag.
- Add PgError.SQLState method. This could be used for compatibility with other drivers and databases.
- Improve performance when context.Background() is used. (bakape)
- CommandTag.RowsAffected is faster and does not allocate.
- Try to cancel any in-progress query when a conn is closed by ctx cancel.
- Handle NoticeResponse during CopyFrom.
- Ignore errors sending Terminate message while closing connection. This mimics the behavior of libpq PGfinish.
- Add PgConn.IsBusy() method.
- Fix statement cache not properly cleaning discarded statements.