Django 1.8.7 release notes¶
24 november 2015
Django 1.8.7 åtgärdar ett säkerhetsproblem och flera buggar i 1.8.6.
Dessutom har Djangos version av six, django.utils.six
, uppgraderats till den senaste versionen (1.10.0).
Fixad möjlighet till läckage av inställningar i date
mallfilter¶
Om ett program tillåter användare att ange ett ogiltigt format för datum och skickar detta format till filtret date
, t.ex. {{ last_updated|date:user_date_format }}
, kan en illvillig användare komma åt alla hemligheter i programmets inställningar genom att ange en inställningsnyckel i stället för ett datumformat. t.ex. "SECRET_KEY"
i stället för "j/m/Y"
.
För att åtgärda detta tillåter den underliggande funktionen som används av mallfiltret date
, django.utils.formats.get_format()
, nu endast åtkomst till formateringsinställningarna för datum/tid.
Buggrättningar¶
Fixade en krasch i felsökningsvyn under höstens DST-ändring när
USE_TZ
ärFalse
ochpytz
är installerat.Åtgärdade en regression i 1.8.6 som orsakade att databasroutrar utan metoden
allow_migrate()
kraschade (#25686).Åtgärdade en regression i 1.8.6 genom att återställa möjligheten att använda
Manager
-objekt förqueryset
-argumentet iModelChoiceField
(#25683`).Åtgärdade en regression i 1.8.6 som gjorde att ett program med South-migreringar i katalogen
migrations
misslyckades (#25618).Åtgärdat en möjlighet till dataförlust med
Prefetch
omto_attr
är inställd på enManyToManyField
(#25693).Fixade en regression i 1.8 genom att göra så att
gettext()
återigen returnerar UTF-8 bytestrings på Python 2 om indata är en bytestring (#25720).Fixad serialisering av
DateRangeField
ochDateTimeRangeField
(#24937).Fixade den exakta uppslagningen av
ArrayField
(#25666).Fixade uppdatering av
ForeignKey
-fält medon_delete=models.SET_NULL
genomModel.refresh_from_db()
(#25715).Åtgärdade en regression av duplicerade frågor i 1.8 vid borttagning av modeller med fullmakt (#25685).
Korrigerad krasch i
set_FOO_order()
närForeignKey
i en modell medorder_with_respect_to
refererar till en modell med enOneToOneField
primärnyckel (#25786).Åtgärdade felaktig validering för
PositiveIntegerField
ochPositiveSmallIntegerField
på MySQL vilket resulterade i att värden större än 4294967295 respektive 65535 passerade valideringen och avkortades av databasen (#25767).