Hi, We have a deprecation cycle so we can't just break the API and bump to 4.0 as I understand it. So we accidentally broke the API, that sucks but generally I don't think we can fix that anymore because rolling it back will break it again for those who already adjusted. However given the deprecation cycle I think the only real option we have is to rollback all the other changes to subclass object as we know that will break more API instead of releasing that change. This means things will stay the same for python 2 users and python 3 users. Eventually we won't need it anyway as python 2 gets dropped (wishful thinking, I know!), so we never have to do this painful transition explicitly.
Cheers, Floris On 17 May 2017 at 18:01, Bruno Oliveira <[email protected]> wrote: > On Tue, May 16, 2017 at 4:31 PM Brian Okken <[email protected]> > wrote: >> >> I don't get the "broke the API" part of this issue. >> What used to work and doesn't now? > > > We changed all classes to new-style classes in order to remove the subtle > differences between old style and new style, which may affect Python 2 > users. > > One example of such difference is that "x[0]" will raise a TypeError if x is > a new-style class, and AttributeError if it is an old style class. Here's an > real world code that broke because of this > (https://github.com/ManageIQ/integration_tests/pull/4645/files): > > if hasattr(report, 'skipped'): > if report.skipped: > try: > contents = report.longrepr[2] > except AttributeError: > contents = str(report.longrepr) > > Btw, the change for this particular incompatibility was released in 3.0.5 > mostly by accident, where TerminalRepr was changed to subclass from object > in > https://github.com/pytest-dev/pytest/commit/fbc5ba08d969adafd71ecb6fce25a1cad76bb983. > > Issue https://github.com/pytest-dev/pytest/issues/2398 contains more > detailed info. > > >> Is this really significant enough to warrant bumping to 4.0. >> >> Are you ready to follow through with the deprecating promise of >> https://docs.pytest.org/en/latest/backwards-compatibility.html so soon after >> the introduction of 3.0? >> >> How many people are affected by this change compared to the confusion of >> having to explain to everyone what the major feature(s) of 4.0 is(are)? > > > I believe that the purpose of this thread is to exactly discuss if this > accidental change is enough to warrant a 4.0 release. > > I'm also under the impression that this will affect very few users, but > would like to hear opinions from everyone. That accidental change from old > to new-style went out in 3.0.5, if it was a major breaking point we would > have heard more reports about it for now (although the current features > branch changed *all* classes to new-style). > > Cheers, > Bruno. > > _______________________________________________ > pytest-dev mailing list > [email protected] > https://mail.python.org/mailman/listinfo/pytest-dev > _______________________________________________ pytest-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/pytest-dev
