Why not add a breaking changes locked (to contributors with write access)
and pinned issue that people can subscribe to like what trio does?
Eg, https://github.com/python-trio/trio/issues/1

On Mon, Dec 9, 2024, 6:32 AM Adi Roiban via Twisted <twisted@python.org>
wrote:

> Hi Povilas,
>
> Many thanks for working on this and following up with the deprecation
> exception process.
>
> +1 for approving the exception.
>
> On Sun, 8 Dec 2024 at 21:37, <povi...@radix.lt> wrote:
>
>> Hi,
>>
>> I created this PR to remove TestCase.defer{SetUp, TestMethod, TearDown,
>> RunCleanups} methods: https://github.com/twisted/twisted/pull/12389
>>
>> The justification is as follows:
>>
>> Currently `TestCase` has the following functions that are presumably
>> public due to their naming: `deferSetUp`, `deferTestMethod`,
>> `deferRunCleanups` and `deferTearDown`. This raises a few problems. I
>> suggest removing the functions without deprecation period due to the
>> following reasons:
>>
>>  - these functions expose so much of the internal structure of TestCase
>> that it makes the code hard to change (e.g.
>> https://github.com/twisted/twisted/pull/12375 cannot go in)
>>
>>  - there is no case where the functions would be useful as an extension
>> point. The only use of the functions that I found using Github code search
>> is my own code in the Buildbot project which overrides `deferRunCleanups`
>> and hooks even deeper into TestCase internals.
>>
>>  - the API is not "public ready" (i.e. the `ignored` parameter) - it
>> seems as if they were some kind of internal thing that simply didn't get
>> the `_` prefix.
>>
>>  - deprecation would be harder to implement than usual, due to the
>> functions being supposed to be overridden, not just called.
>>
>>  - this is API for tests, so it is not likely to break functionality that
>> is used in production. Only development workflows may be affected where the
>> fix is to update the tests.
>>
>> Given the above - small risk of breaking code for someone and relatively
>> high costs for going through the deprecation dance I would suggest to have
>> an exception for this change and allow to remove the functions without
>> deprecation period.
>>
>> If you have any objections and you think that the functions should stay
>> or at least be removed via deprecation please let me know.
>>
>> You can send your feedback by replying to this email or add your comment
>> to the PR
>>
>> https://github.com/twisted/twisted/pull/12389
>>
>> Thanks for your time!
>>
>> Regards,
>> Povilas
>> _______________________________________________
>> Twisted mailing list -- twisted@python.org
>> To unsubscribe send an email to twisted-le...@python.org
>> https://mail.python.org/mailman3/lists/twisted.python.org/
>> Message archived at
>> https://mail.python.org/archives/list/twisted@python.org/message/QOHSOCN45LI7YG4WZS3SYNMT73I3ZJVL/
>> Code of Conduct: https://twisted.org/conduct
>>
>
>
> --
> Adi Roiban
> _______________________________________________
> Twisted mailing list -- twisted@python.org
> To unsubscribe send an email to twisted-le...@python.org
> https://mail.python.org/mailman3/lists/twisted.python.org/
> Message archived at
> https://mail.python.org/archives/list/twisted@python.org/message/HSH2FK4Y4EWIT4QSYDUEBD6LZEHOMA5L/
> Code of Conduct: https://twisted.org/conduct
>
_______________________________________________
Twisted mailing list -- twisted@python.org
To unsubscribe send an email to twisted-le...@python.org
https://mail.python.org/mailman3/lists/twisted.python.org/
Message archived at 
https://mail.python.org/archives/list/twisted@python.org/message/WFQV3L5YRJ7MM6K2RT6TIYWVQ7V7A3DO/
Code of Conduct: https://twisted.org/conduct

Reply via email to