I think we are gathering too many changes just for a 2.4.6 release. I
think we should release only bugfixes in 2.4.6 and release all the
good things in a 2.5 instead.
As a test, I've forked master from the tag 2_4_5 in a maint_2_4 branch
(it's live in my repos) and cherry-picked there only the bugfixes: the
result is:
- Fixed 'cursor()' arguments propagation in connection subclasses
and overriding of the 'cursor_factory' argument. Thanks to
Corry Haines for the report and the initial patch (ticket #105).
- Dropped GIL release during string adaptation around a function call
invoking a Python API function, which could cause interpreter crash.
Thanks to Manu Cupcic for the report (ticket #110).
- 'register_hstore()', 'register_composite()', 'tpc_recover()' work with
RealDictConnection and Cursor (ticket #114).
- connect() raises an exception instead of swallowing keyword arguments
when a connection string is specified as well (ticket #131).
The new features for 2.5 are instead:
- Added JSON adaptation.
- Added support for PostgreSQL 9.2 range types.
- Added support for backward scrollable cursors. Thanks to Jon Nelson
for the initial patch (ticket #108).
- Added a simple way to customize casting of composite types into Python
objects other than namedtuples. Many thanks to Ronan Dunklau and
Tobias Oberstein for the feature development.
- connection.reset() implemented using DISCARD ALL on server versions
supporting it.
- 'errorcodes' map updated to PostgreSQL 9.2.
What would be still missing: for 2.4.6
- clean up the zope mess (tickets #123, #125, current state-of-the-art
in my zope-pool branch)
- fix hang in green connections (ticket #113, already fixed in branch
fix-113, just to be merged)
Missing for 2.5: the above plus:
- support for Py 3.3 (I'm looking for confirmation from Python hackers
that the change in 469b6f8a is correct)
- if nobody opposes it, drop support for zope (further zope issues, if
any, can be dealt with in the 2.4 maint branch)
I think that's everything. Comments?
-- Daniele