¡Hola!
Desde mediados de febrero, hace aproximadamente un mes, parece como si el tiempo se hubiera detenido en la comunidad internacional de NVDA. Hay varios complementos oficiales cuyas actualizaciones aún no han llegado al sitio web, no recibimos notificaciones del repositorio de traducciones y el tráfico ha descendido visiblemente en las listas de correo correspondientes. Esto, en parte, se debe a que los desarrolladores de NV Access, en colaboración con miembros de la comunidad internacional, están esforzándose al máximo para migrar NVDA de Python 3.7 a Python 3.8. Ya asistimos a una migración similar y mucho más intensa el año pasado, cuando NVDA dejó atrás Python 2.7 y comenzó a usar la versión 3.7. Muchos complementos se quedaron fuera de juego, y el ciclo anual de liberación de actualizaciones se alteró visiblemente, con consecuencias que percibimos todavía.
Tal y como se puede leer en el documento «Creación de una liberación oficial» de la documentación para desarrolladores, la primera versión de cada ciclo anual va a forzar la ruptura de compatibilidad con todos aquellos complementos que no estén exclusivamente preparados para ella. Eso significa que muchos complementos dejarán de funcionar con la versión 2021.1. Si no quieres que el tuyo sea uno de ellos, deberás tomar algunas medidas:

  • Si tu complemento usa extensiones C (archivos .pyd), dichos archivos deberán haber sido compilados con Python 3.8. Si deseas conservar la compatibilidad con NVDA 2019.3, deberás incluir los archivos .pyd de Python 3.7 y 3.8, importando el que corresponda según sea el caso.
  • A menos que cambie la situación, puedes usar la biblioteca asyncio desde tu complemento. Esto permite definir con facilidad operaciones asíncronas.
  • Se actualiza WXPython a la versión 4.1.1. Si tu complemento tiene interfaz gráfica, es posible que se vea afectado por los cambios de esta nueva versión, por lo que se recomienda hacer tantas pruebas como sea posible.
  • Gracias a Python 3.8, ahora se pueden usar expresiones de asignación (:=).

Si deseas probar NVDA con Python 3.8, puedes hacerlo instalando la versión de desarrollo alpha-21882 o una compilación posterior.

Cambios críticos para sintetizadores de voz

Si tu complemento ofrece soporte para un sintetizador de voz, ya sea instalado en el equipo o incorporado en el propio complemento, hay algunos cambios más que debes hacer. En NVDA 2021.1, se van a eliminar del módulo speech todos los comandos de voz representados por nombres de clase acabados en command (BaseCallbackCommand, BeepCommand, BreakCommand, etc.). En su lugar, estas clases están disponibles en speech.commands. En la última versión estable (2020.4), las clases se encuentran disponibles tanto en speech como en speech.commands, por lo que el proceso de transición debería conservar la compatibilidad con versiones anteriores y no plantear demasiados problemas.
Está previsto que próximamente se publique la primera beta de NVDA 2021.1. Hasta entonces, y para facilitar las pruebas, no será necesario editar el manifest de los complementos, ya que seguirán funcionando en las versiones alpha con normalidad.
¡Feliz lunes!

Autor: José Manuel Delicado Alcolea

Ingeniero de software y máster en Ingeniería Informática por la Universidad Rey Juan Carlos. Me encanta todo lo relacionado con la informática, la accesibilidad y las nuevas tecnologías. Consultor de accesibilidad por cuenta propia desde el año 2015.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.