pgx/CHANGELOG.md

2.2 KiB

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.