Django 1.8.7 versionsinformation¶
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ärFalseochpytzä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
migrationsmisslyckades (#25618).Åtgärdat en möjlighet till dataförlust med
Prefetchomto_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
DateRangeFieldochDateTimeRangeField(#24937).Fixade den exakta uppslagningen av
ArrayField(#25666).Fixade uppdatering av
ForeignKey-fält medon_delete=models.SET_NULLgenomModel.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ärForeignKeyi en modell medorder_with_respect_torefererar till en modell med enOneToOneFieldprimärnyckel (#25786).Åtgärdade felaktig validering för
PositiveIntegerFieldochPositiveSmallIntegerFieldpå MySQL vilket resulterade i att värden större än 4294967295 respektive 65535 passerade valideringen och avkortades av databasen (#25767).