[Twisted-Python] Twisted 21.2.0rc1 Release Candidate Announcement

Richard van der Hoff richard at matrix.org
Sat Feb 20 17:31:21 MST 2021


On 15/02/2021 02:53, Craig Rodrigues wrote:
> It's time for another Twisted release!
>
> There are two major announcements for this release:
>
> - *Python 2.7 support has been dropped*.  Twisted 21.2.0 supports 
> Python 3.5 and higher only
> - *This will be the last Twisted release to support Python 3.5*.
>
Thanks Craig for getting this release ready.

It looks like it is incompatible with Python 3.5.2: exception as below. 
There's no real reason you should care about this, except that it is 
(still!) what Ubuntu 16.04LTS ships with, and Ubuntu claim to still be 
supporting 16.04 until April this year, so this might catch a few people 
by surprise, as it did me[1]. Anyway, I suggest bumping 
`python_requires` in `setup.cfg` 
(https://github.com/twisted/twisted/blob/trunk/setup.cfg#L27), to stop 
the new version being installed on systems where it won't work.

(env3)rav at faith:~$ python3
Python 3.5.2 (default, Oct  7 2020, 17:19:02)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
 >>> from twisted.python import log
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File 
"/home/synapse/env3/lib/python3.5/site-packages/twisted/python/log.py", 
line 20, in <module>
     from twisted.python import reflect
   File 
"/home/synapse/env3/lib/python3.5/site-packages/twisted/python/reflect.py", 
line 377, in <module>
     def _safeFormat(formatter: Union[types.FunctionType, Type[str]], o: 
object) -> str:
   File "/usr/lib/python3.5/typing.py", line 552, in __getitem__
     dict(self.__dict__), parameters, _root=True)
   File "/usr/lib/python3.5/typing.py", line 512, in __new__
     for t2 in all_params - {t1} if not isinstance(t2, TypeVar)):
   File "/usr/lib/python3.5/typing.py", line 512, in <genexpr>
     for t2 in all_params - {t1} if not isinstance(t2, TypeVar)):
   File "/usr/lib/python3.5/typing.py", line 1077, in __subclasscheck__
     if super().__subclasscheck__(cls):
   File "/usr/lib/python3.5/abc.py", line 225, in __subclasscheck__
     for scls in cls.__subclasses__():
TypeError: descriptor '__subclasses__' of 'type' object needs an argument


[1] Yes, yes, I know. I'm going to fix it real soon, I promise.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20210221/4cf74b42/attachment.htm>


More information about the Twisted-Python mailing list