Support Python 3.13 and PostgreSQL 17.
Improvements
- 
Implement GSSAPI authentication 
 (by @eltoder in 1d4e568 for #1122)
- 
Implement SSPI authentication 
 (by @eltoder in 1aab209 for #1128)
- 
Add initial typings 
 (by @bryanforbes in d42432b for #1127)
- 
Allow building with Cython 3 
 (by @musicinmybrain in 258d8a9 for #1101)
- 
docs: fix connection pool close call (#1125) 
 (by @paulovitorweb in e848814 for #1125)
- 
Add support for the sslnegotiationparameter
 (by @elprans in afdb05c for #1187)
- 
Test and build on Python 3.13 
 (by @elprans in 3aa9894 for #1188)
- 
Support PostgreSQL 17 
 (by @elprans in cee97e1 for #1189)
 (by @MeggyCal in aa2d0e6 for #1185)
- 
Add fetchmanyto execute many and return rows
 (by @rossmacarthur in 73f2209 for #1175)
- 
Add connectkwarg to Pool to better support GCP's CloudSQL
 (by @d1manson in 3ee19ba for #1170)
- 
Allow customizing connection state reset (#1191) 
 (by @elprans in f6ec755 for #1191)
Fixes
- 
s/quote/quote_plus/ in the note about DSN part quoting 
 (by @elprans in 1194a8a for #1151)
- 
Use asyncio.run() instead of run_until_complete() 
 (by @eltoder in 9fcddfc for #1140)
- 
Require async_timeout for python < 3.11 (#1177) 
 (by @Pliner in 327f2a7 for #1177)
- 
Allow testing with uvloop on Python 3.12 (#1182) 
 (by @musicinmybrain in 597fe54 for #1182)
- 
Mark pool-wrapped connection coroutine methods as coroutines 
 (by @elprans in 636420b for #1134)
- 
handle Noneparameters incopy_from_query, returningNULL
 (by @fobispotc in 259d16e for #1180)
- 
fix: return the pool from async_init_ if it's already initialized (#1104) 
 (by @guacs in 7dc5872 for #1104)
- 
Replace obsolete, unsafe Py_TRASHCAN_SAFE_BEGIN/END(#1150)
 (by @musicinmybrain in 11101c6 for #1150)