Django 3.2.1 release notes¶
4 maj 2021
Django 3.2.1 åtgärdar ett säkerhetsproblem och flera buggar i 3.2.
CVE-2021-31542: Möjlig katalogtraversering via uppladdade filer¶
MultiPartParser
, UploadedFile
och FieldFile
tillät katalogöverskridanden via uppladdade filer med lämpligt utformade filnamn.
För att minska denna risk tillämpas nu striktare rensning av basnamn och sökvägar.
Buggrättningar¶
Korrigerad detektering av GDAL 3.2 på Windows (#32544).
Åtgärdat ett fel i Django 3.2 där underklasser av
BigAutoField
ochSmallAutoField
inte var tillåtna förDEFAULT_AUTO_FIELD
-inställningen (#32620).Åtgärdade en regression i Django 3.2 som orsakade en krasch av
QuerySet.values()/values_list()
efterQuerySet.union()
,intersection()
ochdifference()
när den beställdes av ett oannoterat fält (#32627).Återställde, efter en regression i Django 3.2, visning av ett undantagsmeddelande på den tekniska 404-felsökningssidan (#32637).
Åtgärdat ett fel i Django 3.2 där en systemkontroll skulle krascha på en omvänd ett-till-ett-relation i
CheckConstraint.check
ellerUniqueConstraint.condition
(#32635`).Åtgärdade en regression i Django 3.2 som orsakade en krasch av
ModelAdmin.search_fields
vid sökning mot fraser med obalanserade citattecken (#32649).Åtgärdat ett fel i Django 3.2 där fel vid variabeluppslagning loggades och renderade sitemap-mallen om alternativ inte definierades (#32648).
Åtgärdade en regression i Django 3.2 som orsakade en krasch när man kombinerade
Q()
-objekt som innehåller booleska uttryck (#32548).Åtgärdade en regression i Django 3.2 som orsakade en krasch av
QuerySet.update()
på en queryset som beställts av ärvda eller sammanfogade fält på MySQL och MariaDB (#32645`).Åtgärdade en regression i Django 3.2 som orsakade en krasch vid avkodning av ett cookie-värde, som används av
django.contrib.messages.storage.cookie.CookieStorage
, i formatet före Django 3.2 (#32643`).Åtgärdat en regression i Django 3.2 som stoppade shift-tangentmodifieraren att välja flera rader i admin-ändringslistan (#32647).
Åtgärdat ett fel i Django 3.2 där en systemkontroll kraschade på
STATICFILES_DIRS
-inställningen med en lista med 2-tuples av(prefix, path)
(#32665).Fixade en långvarig bugg som involverade queryset bitvis kombination när den användes med underfrågor som började manifesteras i Django 3.2, på grund av en separat fix som använder
Exists
för att ``exclude() `` flervärdiga relationer (#32650).Åtgärdat en bugg i Django 3.2 där fel vid variabeluppslagning loggades vid rendering av vissa adminmallar (#32681).
Fixade en bugg i Django 3.2 där en admin-ändringslista kraschade när man tog bort objekt filtrerade mot flervärdesrelationer (#32682). Den administrativa ändringslistan använder nu
Exists()
istället förQuerySet.distinct()
eftersom det inte är tillåtet att anropadelete()
efterdistinct()
i Django 3.2 för att hantera en dataförlustrisk.Fixade en regression i Django 3.2 där den anropande processmiljön inte skulle skickas till kommandot
dbshell
på PostgreSQL (:biljett:`32687`).Åtgärdat en prestandaregression i Django 3.2 när man bygger komplexa filter med underfrågor (#32632). Som en bieffekt tas det privata API:et för att kontrollera
django.db.sql.query.Query
jämlikhet bort.