A las 14:35:15 hora española de hoy, Thomas Hervé anunciaba en la lista de desarrollo de Twisted la release de la versión 12.0.0 de la conocida librería de desarrollo.
Entre los cambios añadidos a esta nueva release se incluye la resolución de 47 tickets entre ellos:
Un fix al reactor de GTK2 que previene de wake-ups innecesarios
Soporte preliminar para IPv6 en el lado servidor
Bastantes arreglos a la implementación del nuevo protocolo basado en TLS
Mejoras a la documentación principal en la página web
Como aviso, cabe comentar que Twisted 12.0.0 ya no soporta la versión 2.4 de Python, ahora la versión 2.5 pasa a ser la versión más antigua soportada de forma oficial.
Twisted Core Features
Ahora el argumento para la interfaz IReactorTCP.listenTCP puede ser una dirección IPv6 lo cual permite la creación de servidores TCP IPv6. El equipo de TwistedMatrix también ha añadido una nueva extensión a través de
twisted.python.contants.Names
que ofrece una forma de definir colecciones de nombres contantes al estilo de los “enum type” de C.
Otra de las mejoras a las constantes es la posibilidad de que contengan valores arbitrarios usando twisted.python.contants.Values
algo solicitado hace algún tiempo en la lista de correo.
Como ya hemos dicho, la posibilidad de usar IPv6 con los sockets TCP es parte de las mejoras al core de la librería.
Twisted Core major Bug Fixes
Se han solucionado los problemas de rendimiento con los reactores GTK2 y glib2, entre ellos el fastidioso bug por el cual cuando el reactor iba a estado idle no paraba de emitir eventos de wake-up como un loco. También se ha mejorado la respuesta del reactor GTK2 en Windows.
Desfasados (Deprecated) y Eliminados
Se han eliminado los módulos
twisted.enterprise.reflector
, twisted.enterprise.row
, twisted.enterprise.sqlreflector
, twisted.enterprise.util
y twisted.enterprise.adbapi.safe
todos ellos del submódulo “enterprise” usado para conectar con bases de datos.
Además se ha eliminado printTraceBack
y noOperation
de twisted.spread.pb
de Perspective Broker que de hecho estaba marcado como “deprecated” desde Twisted 8.2. Todos estos módulos son ahora oficialmente obsoletos.
Twisted Conch Features
El submódulo conch es mucho más humilde, la única feature añadida al mismo es el uso del módulo
shadow
de Python para autenticar cuando está disponible en el sistema.
Twisted Conch Bug Fixes
Se han eliminado los viejos mensajes en plataformas con diferente ordenamiento de diccionarios en
twisted.conch.ssh.transport.messages
. Se ha corregido un bug por el cual muchos tests unitarios relacionados con conch eran ignorados si pyasn1 no estaba instalado en el sistema.
Twisted names Bug Fixes
No hay novedades en el submódulo de servidores de nombre excepto que ahora
twisted.names.dns.Message
establece el flag ‘auth’ en las instancias de RRHeader reflejando así la autoridad del propio mensaje, lo cual, está considerado un bug fix.
Twisted Web Features
Ahora
twisted.web.util.redirectTo
eleva la excepción TypeError
si la URL que se le pasa es una cadena unicode en lugar de una cadena de bytes.La nueva clase
twisted.web.template.CharRef
proporciona soporte para la inserción de referencias numéricas de caracteres en la salida generada por las plantillas introducidas en la versión anterior.
En el resto de módulos los cambios han sido prácticamente irrelevantes. Lo cierto es que los cambios de la versión 11.1.0 fueron mucho más abundantes pero no todas las releases pueden ser un “chorrazo” de features.
Via Thomas Hervé
Más Información | Página oficial de Twisted Matrix Labs