# 4.0.0 (Release candidate) v4 is a major release with many significant 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). * 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.