Upgrading pg 0.21 to 1
Breaking0.21.0 → 1.7.0Breaking3Security2Platform4New12Changed27Fixed31Other9
Fetching 46 releases from GitHub…10 / 46
BreakingUpgrade verdict
3 breaking changes and 4 platform requirement changes and 2 security fixes.
In plain terms
- Removes :static_symbol result field names.
- Internal code no longer accesses a file descriptor field that newer Ruby versions forbid.
- Code that checked for a 0 return value must now rescue an exception instead.
- The library now requires Ruby 3.1 or newer.
Must act Top 5 of 9 that need code or config changes
Ruby requirement changed in 1.7.0: >= 2.0.0 → >= 3.1.
What you must change
Breaking3
Removes :static_symbol result field names.
:static_symbolRemoves deprecated use of fptr->fd, which is disallowed since ruby-3.4.
fptr->fdChanges conn.server_version and conn.protocol_version to raise instead of return 0 on error.
conn.server_versionconn.protocol_versionSecurity2
Prevents SQL injection in set_client_encoding.
set_client_encodingFixes possible buffer overflows in PG::BinaryDecoder::CopyRow on 32-bit systems.
PG::BinaryDecoder::CopyRowPlatform4
Removes compatibility with Ruby below 3.1, dropping support for ruby-2.7 and ruby-3.0.
Drops binary gem support for platform
x86-mingw32.x86-mingw32Drops support for Ruby versions below 2.7.
Drops support for PostgreSQL versions below 10.