Skip to content

Latest commit

 

History

History
120 lines (90 loc) · 5.03 KB

CHANGELOG.md

File metadata and controls

120 lines (90 loc) · 5.03 KB

Unreleased

  • Update pgtype to x
  • Update pgconn to v1.6.0
  • Update puddle to v1.1.1
  • Fix context propagation with Tx commit and Rollback (georgysavva)
  • Add lazy connect option to pgxpool (georgysavva)
  • Fix connection leak if pgxpool.BeginTx() fail (Jean-Baptiste Bronisz)
  • Add native Go slice support for strings and numbers to simple protocol
  • stdlib add default timeouts for Conn.Close() and Stmt.Close() (georgysavva)
  • Assorted performance improvements especially with large result sets
  • Fix close pool on not lazy connect failure (Yegor Myskin)
  • Add Config copy (georgysavva)
  • Support SendBatch with Simple Protocol (Jordan Lewis)
  • Better error logging on rows close (Igor V. Kozinov)
  • Expose stdlib.Conn.Conn() to enable database/sql.Conn.Raw()
  • Improve unknown type support for database/sql

4.6.0 (March 30, 2020)

  • stdlib: Bail early if preloading rows.Next() results in rows.Err() (Bas van Beek)
  • Sanitize time to microsecond accuracy (Andrew Nicoll)
  • Update pgtype to v1.3.0
  • Update pgconn to v1.5.0
    • Update golang.org/x/crypto for security fix
    • Implement "verify-ca" SSL mode

4.5.0 (March 7, 2020)

  • Update to pgconn v1.4.0
    • Fixes QueryRow with empty SQL
    • Adds PostgreSQL service file support
  • Add Len() to *pgx.Batch (WGH)
  • Better logging for individual batch items (Ben Bader)

4.4.1 (February 14, 2020)

  • Update pgconn to v1.3.2 - better default read buffer size
  • Fix race in CopyFrom

4.4.0 (February 5, 2020)

  • Update puddle to v1.1.0 - fixes possible deadlock when acquire is cancelled
  • Update pgconn to v1.3.1 - fixes CopyFrom deadlock when multiple NoticeResponse received during copy
  • Update pgtype to v1.2.0
  • Add MaxConnIdleTime to pgxpool (Patrick Ellul)
  • Add MinConns to pgxpool (Patrick Ellul)
  • Fix: stdlib.ReleaseConn closes connections left in invalid state

4.3.0 (January 23, 2020)

  • Fix Rows.Values panic when unable to decode
  • Add Rows.Values support for unknown types
  • Add DriverContext support for stdlib (Alex Gaynor)
  • Update pgproto3 to v2.0.1 to never return an io.EOF as it would be misinterpreted by database/sql. Instead return io.UnexpectedEOF.

4.2.1 (January 13, 2020)

  • Update pgconn to v1.2.1 (fixes context cancellation data race introduced in v1.2.0))

4.2.0 (January 11, 2020)

  • Update pgconn to v1.2.0.
  • Update pgtype to v1.1.0.
  • Return error instead of panic when wrong number of arguments passed to Exec. (malstoun)
  • Fix large objects functionality when PreferSimpleProtocol = true.
  • Restore GetDefaultDriver which existed in v3. (Johan Brandhorst)
  • Add RegisterConnConfig to stdlib which replaces the removed RegisterDriverConfig from v3.

4.1.2 (October 22, 2019)

  • Fix dbSavepoint.Begin recursive self call
  • Upgrade pgtype to v1.0.2 - fix scan pointer to pointer

4.1.1 (October 21, 2019)

  • Fix pgxpool Rows.CommandTag() infinite loop / typo

4.1.0 (October 12, 2019)

Potentially Breaking Changes

Technically, two changes are breaking changes, but in practice these are extremely unlikely to break existing code.

  • Conn.Begin and Conn.BeginTx return a Tx interface instead of the internal dbTx struct. This is necessary for the Conn.Begin method to signature as other methods that begin a transaction.
  • Add Conn() to Tx interface. This is necessary to allow code using a Tx to access the *Conn (and pgconn.PgConn) on which the Tx is executing.

Fixes

  • Releasing a busy connection closes the connection instead of returning an unusable connection to the pool
  • Do not mutate config.Config.OnNotification in connect

4.0.1 (September 19, 2019)

  • Fix statement cache cleanup.
  • Corrected daterange OID.
  • Fix Tx when committing or rolling back multiple times in certain cases.
  • Improve documentation.

4.0.0 (September 14, 2019)

v4 is a major release with many significant changes some of which are breaking changes. The most significant are included below.

  • Simplified establishing a connection with a connection string.
  • All potentially blocking operations now require a context.Context. The non-context aware functions have been removed.
  • OIDs are hard-coded for known types. This saves the query on connection.
  • Context cancellations while network activity is in progress is now always fatal. Previously, it was sometimes recoverable. This led to increased complexity in pgx itself and in application code.
  • Go modules are required.
  • Errors are now implemented in the Go 1.13 style.
  • Rows and Tx are now interfaces.
  • The connection pool as been decoupled from pgx and is now a separate, included package (github.com/jackc/pgx/v4/pgxpool).
  • pgtype has been spun off to a separate package (github.com/jackc/pgtype).
  • pgproto3 has been spun off to a separate package (github.com/jackc/pgproto3/v2).
  • Logical replication support has been spun off to a separate package (github.com/jackc/pglogrepl).
  • Lower level PostgreSQL functionality is now implemented in a separate package (github.com/jackc/pgconn).
  • Tests are now configured with environment variables.
  • Conn has an automatic statement cache by default.
  • Batch interface has been simplified.
  • QueryArgs has been removed.