# Django 5.2.8 documentation

# Django 3.2.1 versionsinformation

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` och `SmallAutoField` inte var tillåtna för `DEFAULT_AUTO_FIELD`-inställningen (#32620).

- Åtgärdade en regression i Django 3.2 som orsakade en krasch av `QuerySet.values()/values_list()` efter `QuerySet.union()`, `intersection()` och `difference()` 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` eller `UniqueConstraint.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ör `QuerySet.distinct()` eftersom det inte är tillåtet att anropa `delete()` efter `distinct()` 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 (#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.