# Django 5.2.8 documentation

# Django 3.1.1 versionsinformation

1 september 2020

Django 3.1.1 åtgärdar två säkerhetsproblem och flera buggar i 3.1.

## CVE-2020-24583: Felaktiga behörigheter för kataloger på mellannivå i Python 3.7+

I Python 3.7+ tillämpades inte läget `FILE_UPLOAD_DIRECTORY_PERMISSIONS` på kataloger på mellannivå som skapats under uppladdning av filer och på insamlade statiska kataloger på mellannivå när kommandot `collectstatic` användes.

Du bör granska och manuellt fixa behörigheter på befintliga kataloger på mellannivå.

## CVE-2020-24584: Upptrappning av behörigheter i kataloger på mellannivå i filsystemets cache på Python 3.7+

I Python 3.7+ hade katalogerna på mellannivå i filsystemets cache systemets standard-umask i stället för `0o077` (inga grupp- eller andra behörigheter).

## Buggrättningar

- Korrigerad ombrytning av översatta åtgärdsetiketter i admins sidofält för navigering för östasiatiska språk (#31853).

- Fixat ombrytning av långa modellnamn i sidofältet i admins navigering (#31854).

- Korrigerad kodning av sessionsdata vid uppgradering av flera instanser av samma projekt till Django 3.1 (#31864).

- Justerad mall för sidofältet i admins navigering för att minska felsökningsloggningen vid rendering (#31865).

- Fixed a data loss possibility in the `select_for_update()`. When using related fields pointing to a proxy model in the `of` argument, the corresponding model was not locked (#31866).

- Åtgärdat en möjlighet till dataförlust, efter en regression i Django 2.0, vid kopiering av modellinstanser med ett cachelagrat fältvärde (#31863).

- Åtgärdade en regression i Django 3.1 som orsakade en krasch vid avkodning av ogiltiga sessionsdata (#31895).

- Återställde en föråldring i Django 3.1 som orsakade en krasch när man skickade föråldrade nyckelordsargument till en queryset i `TemplateView.get_context_data()` (#31877).

- Genomförd trådkänslighet för `MiddlewareMixin.process_request()` och `process_response()`-hooks när de är i ett async-sammanhang (#31905).

- Fixad `__in`-uppslagning på nyckelomvandlingar för `JSONField` med MariaDB, MySQL, Oracle och SQLite (#31936).

- Åtgärdade en regression i Django 3.1 som orsakade behörighetsfel i `CommonPasswordValidator` och `settings.py` som genererades av kommandot `startproject`, när användaren inte hade behörighet till alla mellanliggande kataloger i en Django-installationssökväg (#31912).

- Fixade upptäckten av en asynkron `get_response`-kallelse i olika inbyggda mellanprogram (#31928).

- Fixade en `QuerySet.order_by()` krasch på PostgreSQL när du beställer och grupperar efter `JSONField` med en anpassad `decoder` (#31956). Som en följd av detta returnerar hämtning av en `JSONField` med rå SQL nu en sträng istället för förinstallerade data. Du måste uttryckligen anropa `json.loads()` i sådana fall.

- Fixade en `QuerySet.delete()`-krasch på MySQL, efter en prestandaregression i Django 3.1 på MariaDB 10.3.2+, vid filtrering mot en aggregerad funktion (#31965).

- Fixade en `django.contrib.admin.EmptyFieldListFilter` krasch vid användning på omvända relationer (#31952).

- Förhindrade överflödigt innehåll i vyn för adminändringslistan när sidofältet för navigering är aktiverat (#31901).