Thread: Two releases?

Two releases?

From
Daniele Varrazzo
Date:
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


Re: Two releases?

From
"P. Christeas"
Date:
On Tuesday 09 October 2012, Daniele Varrazzo wrote:
> 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.
>...
> I think that's everything. Comments?
>
++

Makes perfect sense to me.


--
Say NO to spam and viruses. Stop using Microsoft Windows!


Re: Two releases?

From
Yury Don
Date:
09.10.2012 06:21, Daniele Varrazzo пишет:
> - if nobody opposes it, drop support for zope (further zope issues, if
> any, can be dealt with in the 2.4 maint branch)
>
>

I and one my collegau oppose since we use psycopg with zope (presentrly
with zope 2.9)


Best regards,
Yury Don




Re: Two releases?

From
Marco Beri
Date:
Il giorno 09/ott/2012, alle ore 07:18, Yury Don <don@rosfirm.ru> ha scritto=
:

> 09.10.2012 06:21, Daniele Varrazzo =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>> - if nobody opposes it, drop support for zope (further zope issues, if
>> any, can be dealt with in the 2.4 maint branch)
>
> I and one my collegau oppose since we use psycopg with zope (presentrly
> with zope 2.9)
>
> Best regards,
> Yury Don

Daniele is dropping Zope support only in 2.5 branch while is keeping
it in 2.4.x maintenance branch.

I do not know if (and how much) it is a burden to keep Zope support. I
imagine that such a proposal implies keeping it is a huge task.

I don't think Zope 2.X is gonna badly need new 2.5 features so I
understand Daniele attempts to focus them only on one branch.

Ciao.
Marco.

Re: Two releases?

From
Federico Di Gregorio
Date:
On 09/10/2012 02:21, Daniele Varrazzo wrote:
> - 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?

Yes, there no reason to drop Zope. If one would drop support completely,
that could make sense but just having two  branches instead of one when
there are no backward compatibility issues will only complicate things
for our users. Or not?

federico

--
Federico Di Gregorio                         federico.digregorio@dndg.it
Studio Associato Di Nunzio e Di Gregorio                  http://dndg.it
              Una nazionale senza neanche una nazione. -- macchinavapore


Re: Two releases?

From
Magnus Hagander
Date:


On Oct 9, 2012 2:22 AM, "Daniele Varrazzo" <daniele.varrazzo@gmail.com> wrote:
>
> 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.
>

+1.sticking to a policy close to that of the main postgresql project with regards to back branches and feature releases will make things more predictable and less confusing for those of us who come from that side.

/Magnus

Re: Two releases?

From
Daniele Varrazzo
Date:
On Tue, Oct 9, 2012 at 6:18 AM, Yury Don <don@rosfirm.ru> wrote:
> 09.10.2012 06:21, Daniele Varrazzo пишет:
>
>> - if nobody opposes it, drop support for zope (further zope issues, if
>> any, can be dealt with in the 2.4 maint branch)
>
> I and one my collegau oppose since we use psycopg with zope (presentrly with
> zope 2.9)

Hello Yury, thank you for letting us know.

The problem with Zope, as I've said several times, is that nobody is
maintaining it. There are two bugs open in the tracker and I haven't
found anybody to show me a failing test. Even the guy who opened
ticket #123 (http://psycopg.lighthouseapp.com/projects/62710/tickets/123)
has failed to come back to help fixing it or giving me feedback I'm
going in the right direction. He has shown the log of a failing
interaction between a page and the db and not reported how to
reproduce it. ZPsycopgDA is not rocket science, but it takes knowledge
of the life cycle of a zope page, and I don't have it.

It's a matter of responsibility: Federico and me are the only people
doing maintenance on psycopg2 and none of us use Zope. The QA level on
the rest of the adapter is *very* high and on ZPsycopgDA is exactly
zero. I've fumbled several times breaking things in the past (big
times, see isolation consts), but I can fix these errors; when
somebody breaks zope nobody notices for one year and four releases.

On Zope side, none of the people I've asked for help have ever
answered, in this ML and in others. When I've asked about it to the
developers of the biggest Zope company in Italy I've been answered
"nobody uses ZPsycopgDA anymore: everybody just uses zope.sqlalchemy".

When I say I want to drop support for zope I mean I want to leave
ZPsycopgDA and psycopg2da (for zope3), which are not part of the
psycopg2 package, out of psycopg2 repository. These are two separate
directories living in our tarball and not released if not in the sdist
package. There is not even a setup.py for them: there is a package of
PyPI that somebody else I don't even know maintains
(http://pypi.python.org/pypi/ZPsycopgDA/). For me this is great: for
what I see an external project just depending on psycopg, with its
docs and tests if they want, is the best solution in term of quality
(i.e. people who care responsible for it). They would have all our
support.

In the meantime, if you can provide some help for the mentioned
outstanding zope issues, that would be great: as you can see from my
roadmap they are basically the only blocker for the release of a
bugfixing package. If we accepted to drop them we could release 2.5,
with juicy new features, *before it*, and that's not good IMO.

Thank you very much

-- Daniele


Re: Two releases?

From
Marco Beri
Date:
Il giorno 09/ott/2012, alle ore 07:18, Yury Don <don@rosfirm.ru> ha scritto:

> 09.10.2012 06:21, Daniele Varrazzo пишет:
>> - if nobody opposes it, drop support for zope (further zope issues, if
>> any, can be dealt with in the 2.4 maint branch)
>
> I and one my collegau oppose since we use psycopg with zope (presentrly
> with zope 2.9)
>
> Best regards,
> Yury Don

Daniele is dropping Zope support only in 2.5 branch while is keeping
it in 2.4.x maintenance branch.

I do not know if (and how much) it is a burden to keep Zope support. I
imagine that such a proposal implies keeping it is a huge task.

I don't think Zope 2.X is gonna badly need new 2.5 features so I
understand Daniele attempts to focus them only on one branch.

Ciao.
Marco.


Re: Two releases?

From
Daniele Varrazzo
Date:
On Tue, Oct 9, 2012 at 8:02 AM, Federico Di Gregorio <fog@dndg.it> wrote:
> On 09/10/2012 02:21, Daniele Varrazzo wrote:
>> - 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?
>
> Yes, there no reason to drop Zope. If one would drop support completely,
> that could make sense but just having two  branches instead of one when
> there are no backward compatibility issues will only complicate things
> for our users. Or not?

About the release numbers: for me it seems the regular policy in most
FS projects, including Python and Postgres, between which we sit. One
of my last commits in devel is about enabling cursors subclasses to be
part of cooperative inheritance (using super()): I think it would be
more surprising to see this subtle change appearing in 2.4.6 than in
2.5, even if this doesn't break people's code.

About Zope: as already explained above, the reason for dropping it,
apart from my frustration, is that it is just better suited as a
separate "project" in the sense of recognizable entity, such as having
a PyPI handle. So it takes its own setup.py etc. Those considerations
were not valid in the past, when the Python ecosystem was different.
But now if a maintained ZPsycopgDA has to exists it better be
easy_installable (one could say pippable, but it's too loaded of
meanings in Italian) or it just doesn't make a favour to the users.
The prove is that random people try to fill the gaps on occasional
basis, with patchy results (ZPsycopgDA is 2.4.4 on PyPI, psycopg2da is
2.0.9).

Now that Fabio (Tranchitella) is no more active, you don't fancy
touching Zope even with a bargepole and I have never used it, I just
don't see any helpful to Zope users to declare ZPsycopgDA part of
psycopg2. It's not a base we need to cover to offer the whole service.
Let's just leave the adapter to people willing to maintain it.

-- Daniele