18 de diciembre de 2019
Django 3.0.1 resuelve un problema de seguridad y varios errores en la versión 3.0.
Por favor, aquí tienes las traducciones de los textos originales:
Para evitar esta vulnerabilidad, las solicitudes de restablecimiento de contraseña ahora comparan el correo electrónico enviado utilizando el algoritmo más estricto y recomendado para la comparación insensible a mayúsculas y minúsculas de dos identificadores según Unicode Technical Report 36, sección 2.11.2(B)(2). Al producirse una coincidencia, el correo electrónico que contiene el token de restablecimiento será enviado a la dirección de correo electrónico registrada en lugar de la dirección enviada.
Se ha corregido una regresión en Django 3.0 restaurando la capacidad de utilizar Django dentro de Jupyter y otros entornos que fuerzan un contexto asíncrono, agregando una opción para deshabilitar el mecanismo de seguridad asíncrono con la variable de entorno DJANGO_ALLOW_ASYNC_UNSAFE (#31056).
Se ha corregido una regresión en Django 3.0 donde RegexPattern, utilizado por re_path(), devolvía argumentos posicionales para pasar a la vista cuando todos los grupos nombrados opcionales estaban ausentes (#31061).
Se han permitido nuevamente, después de una regresión en Django 3.0, las expresiones Window para ser utilizadas en condiciones fuera de los filtros de conjuntos de datos, por ejemplo, en condiciones When (#31060).
Se ha corregido la posibilidad de pérdida de datos en SplitArrayField. Al utilizarla con ArrayField(BooleanField()), todos los valores después del primer valor True se marcaban como verificados en lugar de preservar los valores pasados (#31073).
may 31, 2026