4 mai 2021
Django 3.2.1 corrige un problème de sécurité et plusieurs bogues de la version 3.2.
MultiPartParser, UploadedFile et FieldFile permettaient des traversées de répertoires via des fichiers téléversés avec des noms de fichiers trafiqués à dessein.
In order to mitigate this risk, stricter basename and path sanitation is now applied.
Détection de GDAL 3.2 corrigée sous Windows (#32544).
Correction d’un bogue de Django 3.2 où les sous-classes de BigAutoField et SmallAutoField n’étaient pas admises dans le réglage DEFAULT_AUTO_FIELD (#32620).
Correction d’une régression dans Django 3.2 produisant un plantage de QuerySet.values()/values_list() après QuerySet.union(), intersection() et difference() lorsque le tri se faisait sur un champ non annoté (#32627).
Suite à une régressions dans Django 3.2, l’affichage du message d’exception a été restauré sur la page de débogage technique 404 (#32637).
Correction d’un bogue dans Django 3.2 où un contrôle système plante lors d’un accès inverse à des liaisons un-à-un dans CheckConstraint.check ou UniqueConstraint.condition (#32635).
Correction d’une régression dans Django 3.2 qui provoquait un plantage de ModelAdmin.search_fields lors de recherche avec des phrases dont les guillemets ne sont pas fermés (#32649).
Correction d’un bogue dans Django 3.2 où des erreurs de recherche de variable étaient journalisées en produisant le gabarit de plan de site si des alternatives n’étaient pas définies (#32648).
Correction d’une régression dans Django 3.2 qui provoquait un plantage lors de la combinaison d’objets Q() contenant des expressions booléennes (#32548).
Correction d’une régression dans Django 3.2 qui provoquait un plantage de QuerySet.update() sur un jeu de requête trié par des champs hérités ou joints avec MySQL et MariaDB (#32645).
Correction d’une régression dans Django 3.2 qui provoquait un plantage lors du décodage d’une valeur de cookie utilisée par django.contrib.messages.storage.cookie.CookieStorage, dans le format pré Django 3.2 (#32643).
Correction d’une régression dans Django 3.2 qui empêchait l’appui sur majuscule de sélectionner plusieurs lignes dans la liste pour modification du site d’administration (#32647).
Correction d’un bogue dans Django 3.2 où un contrôle système plante sur le réglage STATICFILES_DIRS contenant une liste de tuples binaires (préfixe, chemin) (#32665).
Correction d’un vieux bogue impliquant des combinaisons par bits de jeux de requête dans des sou-requêtes, ayant commencé à se manifester dans Django 3.2 en raison d’une autre correction utilisant Exists pour exclure des liaisons multivaluées (#32650).
Correction d’un bogue dans Django 3.2 où des erreurs de recherche de variable étaient journalisées en produisant certains gabarits du site d’administration (#32681).
Fixed a bug in Django 3.2 where an admin changelist would crash when deleting
objects filtered against multi-valued relationships (#32682). The
admin changelist now uses Exists() instead of QuerySet.distinct()
because calling delete() after distinct() is not allowed in Django
3.2 to address a data loss possibility.
Correction d’une régression dans Django 3.2 où l’environnement du processus appelant n’était pas transmis à la commande dbshell` avec PostgreSQL (#32687).
Correction d’une régression de performance dans Django 3.2 lors de la construction de filtres complexes avec des sous-requêtes (#32632). Comme effet de bord, l’API privée pouvant vérifier l’égalité de django.db.sql.query.Query a été supprimée.
avr. 02, 2025