Minor fixes and improvements.
Improvements
============
* Python 3.12 and PostgreSQL 16 support (1084)
(by elprans in deea86ce)
* Add support for tuple-format custom codecs on composite types (1061)
(by elprans in 922fcd10)
* Support `target_session_attrs` in URL format, add tests (1073)
(by elprans in 7cb4e70d)
* Infinity numeric support (1067)
(by krokoziabla in 0c3bf600 for 1020)
* Add support for the `WHERE` clause in `copy_to` methods (941)
(by kaylynn234 in b7ffab6c)
* Add query logging callbacks and context manager (1043)
(by dcwatson in b2697ffd)
Fixes
=====
* When prepared statements are disabled, avoid relying on them harder (1065)
(by elprans in cbf64e18)
* Handle environments with HOME set to a not-a-directory (1063)
(by elprans in af922bcf)
* Fix handling of non-ASCII passwords (1062)
(by elprans in 89d5bd03)
* Disable JIT while doing type introspection (1082)
(by elprans in f21ebf64)
* Remove connection parameter caching in `Pool` (1053)
(by ermakov-oleg in 4ddb0397)
* Switch to Python 3.12-style `wait_for` (1086)
(by elprans in 4bdd8a7e)
* Update automatic PostGIS type conversion for Shapely 2.0 (1085)
(by ChimneySwift in 8b45beb4)
* Use the `timeout` context manager in the connection path (1087)
(by elprans in 313b2b2b)
* Small fix for documentation on using SSL in Connection (995)
(by ScottFred in ccc7baf9)
* Use cleanup_ctx in pool usage doc (878)
(by ir4y in 70c8bd81)
* Close cursor portals once the iterator is exhausted (1088)
(by elprans in ca9f03be)
* Cut BaseProtocol circular reference on close. (1049)
(by pteromys in 93a6f79a)
* Allow passing hosts as tuples to `connect()` (in addition to lists) (1021)
(by lezram in d7faaff5)
Other
=====
* Drop support for Python 3.7 (1064)
(by bryanforbes in 87ab1431)