Visitar URL original
[YANKED] pytest 8.1.0 removes many deprecations, but not mentioned in changelog · Issue #12069 · pytest-dev/pytest · GitHub
Skip to content

[YANKED] pytest 8.1.0 removes many deprecations, but not mentioned in changelog #12069

Closed

Description

@mr-c

#11757 is not mentioned as a breaking change for the Pytest 8.1.0 Release in https://docs.pytest.org/en/stable/changelog.html ; it breaks plugins who were still supporting the older signature.

I'm opening this issue as a hint to others; is it possible to update the changelog after a release?

Activity

  1. RonnyPfannschmidt commented on Mar 4, 2024

    @RonnyPfannschmidt
    Member

    this is a duplicate of #12068

    the removal process itself is as intended, the oversight was that warnings of certain hooks where not displayed as expected

    leaving this open for now to help people
    the fact that it wasn't failing on 8.0 is the actual bug

  2. bluetech commented on Mar 4, 2024

    @bluetech
    Member

    @RonnyPfannschmidt @nicoddemus since we botched the deprecation, perhaps we should revert the removal until we can have at least one release with proper deprecation?

  3. RonnyPfannschmidt commented on Mar 4, 2024

    @RonnyPfannschmidt
    Member

    should we yank 8.1 for the deprecation issues?

  4. RonnyPfannschmidt commented on Mar 4, 2024

    @RonnyPfannschmidt
    Member

    lets defer the return of code a bit as i'd like to know first how to trigger the errors

  5. nicoddemus commented on Mar 4, 2024

    @nicoddemus
    Member

    I think it is fair to postpone the removals if we did not issue the proper warnings, as we vouch to do before any removals took place.

    Those removals would then have to be postponed to 9.0/9.1 then.

    Not sure if you folks would like to yank 8.1? Seems reasonable.

  6. bluetech commented on Mar 4, 2024

    @bluetech
    Member

    Reverting + releasing 8.1.1 should not be a problem, but if @RonnyPfannschmidt wants to avoid a revert, let's yank as it seems to be causing a lot of failures.

  7. RonnyPfannschmidt commented on Mar 4, 2024

    @RonnyPfannschmidt
    Member

    lets yank and revert then

  8. nicoddemus commented on Mar 4, 2024

    @nicoddemus
    Member

    I'm yanking it.

  9. nicoddemus commented on Mar 4, 2024

    @nicoddemus
    Member

    image

  10. changed the title [-]pytest 8.1.0 removes many deprecations, but not mentioned in changelog[/-] [+][YANKED] pytest 8.1.0 removes many deprecations, but not mentioned in changelog[/+] on Mar 4, 2024
  11. pinned this issue on Mar 4, 2024
  12. bluetech commented on Mar 4, 2024

    @bluetech
    Member

    Thanks @nicoddemus!

    @RonnyPfannschmidt do you want me to revert the removal, or do you want to?

  13. nicoddemus commented on Mar 4, 2024

    @nicoddemus
    Member

    Opening PR to update the CHANGELOG.

  14. added a commit that references this issue on Mar 4, 2024
  15. mr-c commented on Mar 4, 2024

    @mr-c
    Author

    Dear maintainers and devs, thank you for all that you do and the quick response! 💖

  16. 29 remaining items

  17. sigma67 commented on Mar 9, 2024

    @sigma67

    Edit: it seems I misunderstood how yanking works.

    https://peps.python.org/pep-0592

  18. bluetech commented on Mar 9, 2024

    @bluetech
    Member

    @sigma67 No, if you pin the exact version, it should successfully install even if yanked. This is the famous "left-pad" issue.

  19. nicoddemus commented on Mar 9, 2024

    @nicoddemus
    Member

    @bluetech is correct AIFAK: yanking is not removing, the package is still available if you explicitly ask for it, for example:

    λ pip install pytest==8.1.0
    Collecting pytest==8.1.0
      Using cached pytest-8.1.0-py3-none-any.whl.metadata (7.6 kB)
    Collecting iniconfig (from pytest==8.1.0)
      Using cached iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB)
    Requirement already satisfied: packaging in .\.env310\lib\site-packages (from pytest==8.1.0) (23.2)
    Collecting pluggy<2.0,>=1.4 (from pytest==8.1.0)
      Using cached pluggy-1.4.0-py3-none-any.whl.metadata (4.3 kB)
    Collecting exceptiongroup>=1.0.0rc8 (from pytest==8.1.0)
      Using cached exceptiongroup-1.2.0-py3-none-any.whl.metadata (6.6 kB)
    Collecting tomli>=1 (from pytest==8.1.0)
      Using cached tomli-2.0.1-py3-none-any.whl.metadata (8.9 kB)
    Collecting colorama (from pytest==8.1.0)
      Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
    WARNING: The candidate selected for download or install is a yanked version: 'pytest' candidate (version 8.1.0 at https://files.pythonhosted.org/packages/5a/4a/3f626e3974bea1e6d471bd86f7965c67cd06d5770d1fec9aae445c44da7b/pytest-8.1.0-py3-none-any.whl (from https://pypi.org/simple/pytest/) (requires-python:>=3.8))
    Reason for being yanked: See https://github.com/pytest-dev/pytest/issues/12069
    Using cached pytest-8.1.0-py3-none-any.whl (335 kB)
    Using cached exceptiongroup-1.2.0-py3-none-any.whl (16 kB)
    Using cached pluggy-1.4.0-py3-none-any.whl (20 kB)
    Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
    Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
    Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
    Installing collected packages: tomli, pluggy, iniconfig, exceptiongroup, colorama, pytest
    Successfully installed colorama-0.4.6 exceptiongroup-1.2.0 iniconfig-2.0.0 pluggy-1.4.0 pytest-8.1.0 tomli-2.0.1
    

    Even though 8.1.0 was yanked -- locked dependencies should be fine then.

  20. edgarrmondragon commented on Mar 9, 2024

    @edgarrmondragon

    Yup, I can confirm that poetry-locked yanked dependencies install just fine and merely emit a warning

  21. iurisilvio commented on Mar 10, 2024

    @iurisilvio

    Is it expected to 8.1.1 proper warn about the deprecation?

    The pytest-ruff don't trigger any deprecation warning. I don't know if it is expected or if I have to test it better.

  22. bluetech commented on Mar 10, 2024

    @bluetech
    Member

    @iurisilvio No, we still need to work on fixing the deprecation.

  23. bluetech commented on Mar 10, 2024

    @bluetech
    Member

    But you can test with the yanked 8.1.0 for now, if it works you're clear 😄

  24. iurisilvio commented on Mar 10, 2024

    @iurisilvio

    Thanks! I'll test with 8.1.0!

  25. bwoodsend commented on Mar 10, 2024

    @bwoodsend

    8.1.1 didn't revert all the removals, right? The _pytest.runner.call_runtest_hook removal is still waiving at me insistently using pytest 8.1.1.

    Edit: I've remembered that that's private API so I guess it gets the well what did you expect? treatment.

  26. nicoddemus commented on Mar 10, 2024

    @nicoddemus
    Member

    No, we only reverted those two removals:

    The rationale being that we were not warning about those deprecations.

    call_runtest_hook was never deprecated because it was an internal API, which we do not guarantee stability across releases.

    I guess it gets the well what did you expect? treatment.

    Well perhaps not being so harsh 😁, but yes, we reserve the right to break those when we improve the internal code.

  27. unpinned this issue on Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions