20 de mayo de 2015
Django 1.8.2 resuelve un problema de seguridad y varios bugs en la versión 1.8.1.
cached_db¶Un cambio a session.flush() en el backend de sesión cached_db en Django 1.8 establece equivocadamente la clave de sesión en una cadena vacía en lugar de None. Una cadena vacía se trata como una clave de sesión válida y se configura el cookie de sesión según sea necesario. Cualquier usuario con una cadena vacía en su cookie de sesión utilizará el mismo almacenamiento de sesión. session.flush() es llamado por django.contrib.auth.logout() y, más seriamente, por django.contrib.auth.login() cuando un usuario cambia de cuenta. Si un usuario está conectado y se vuelve a conectar a una cuenta diferente (sin desconectar) el almacenamiento de sesión se vacía para evitar su reutilización. Después de que el almacenamiento de sesión se vacía (y su clave de sesión se convierte en '') los detalles de la cuenta se establecen en la sesión y la sesión se almacena. Cualquier usuario con una cadena vacía en su cookie de sesión ahora estará conectado a esa cuenta.
Fixed comprobación para la unicidad de alias del motor de plantillas (#24685).
Se ha corregido el crash cuando se reutiliza la misma instancia Case en una consulta (#24752).
Se ha corregido la promoción de unión para expresiones Case. Por ejemplo, anotando una consulta con una expresión Case podría filtrar inesperadamente resultados (#24766).
Se han corregido los objetos Q negados en expresiones. Casos como Case(When(~Q(friends__age__lte=30))) intentaban generar una subconsulta que resultaba en un crash (#24705).
Se ha corregido la generación del cláusula GROUP BY incorrecta en MySQL cuando el modelo de consulta tiene una clave foránea auto-referencial (#24748).
Se ha implementado ForeignKey.get_db_prep_value() para que los campos ForeignKey apuntando a UUIDField y la herencia en modelos con claves primarias de tipo UUIDField funcionen correctamente (#24698, #24712).
Se ha corregido el lookup isnull para HStoreField (#24751).
Se ha corregido un crash en MySQL cuando una migración elimina un índice combinado ( unique_together o index_together) que contiene una clave foránea (#24757).
Se ha corregido la eliminación de cookie de sesión al utilizar SESSION_COOKIE_DOMAIN (#24799).
En PostgreSQL, cuando no se otorgan permisos para el postgres database, Django ahora cae en la base de datos predeterminada cuando normalmente requiere una conexión «sin base de datos» (#24791).
Los textos traducidos son:
may 31, 2026