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
