8 Juli 2015
Django 1.8.3 memperbaiki masalah keamanan dan kesalahan di 1.8.2.
Juga, django.utils.deprecation.RemovedInDjango20Warning telah dinamai menjadi RemovedInDjango110Warning sebagai versi peta jalan telah diperbaiki menjadi 1.9, 1.10, 1.11 (LTS), 2.0 (dijatuhkan dukungan Python 2). Untuk kesesuaian kebelakang, RemovedInDjango20Warning tetap sebagai nama lain dapat diimpor.
Dalam versi sebelumnya Django, backend sesi membuat rekaman kosong baru di penyimpanan sesi kapanpun request.session diakses dan ada kunci sesi yang disediakan di permintaan kue yang tidak mempunyai rekaman sesi. Ini dapat mengizinkan seorang penyerang dengan mudah membuat banyak rekaman sesi baru cukup dengan mengirim permintaan berulang dengan kunci sesi yang tidak diketahui, kemungkinan mengisi penyimpanan sesi atau menyebabkan rekaman sesi pengguna lain dikeluarkan.
Backend sesi siap-pakai sekarang membuat sebuah sesi hanya merekam jika sesi sebenarnya dirubah; rekaman sesi kosong tidak dibuat. Demikian kemungkinan DoS ini sekarang memungkinkan jika situs memilih untuk membuka tampilan merubah-sesi pada pengguna anonim.
Ketika setiap backend sesi siap-pakai telah diperbaiki terpisah (daripada memperbaiki kerangka kerja sesi inti), perawat dari backend sesi pihak-ketiga harus memeriksa apakah kerentanan yang sama hadir dalam backend mereka dan memperbaiki jika ada.
Beberapa pengecek siap-pakai Django (EmailValidator, paling serius) tidak melarang karakter baris baru (karena penggunaan dari $ sebagai ganti dari``Z`` di regular expression). Jika anda menggunakan nilai-nilai dengan baris baru di tanggapan HTTP atau kepala surel, anda dapat menderita dari serangan suntikan kepala. Django itu sendiri tidak rentan karena HttpResponse dan alat pengirim surat dalam django.core.mail melarang baris baru di kepala HTTP dan SMPT, masing-masing. Selagi pengecek telah diperbaiki di Django, jika anda sedang membuat tanggapan HTTP atau pesan surel di cara lain, itu adalah ide bagus untuk memastikan bahwa metode tersebut melarang baris baru juga. Anda mungkin juga ingin mengesahkan bahwa tiap data yang ada di aplikasi anda tidak mengandung baris baru yang tidak diharapkan.
validate_ipv4_address(), validate_slug(), dan URLValidator juga terpengaruh, bagaimanapun, pada Django 1.6 bidang formulir GenericIPAddresseField, IPAddressField, SlugField, dan URLField yang menggunakan pengesah ini semua memilah masukan, jadi kemungkinan dari baris baru memasukkan data anda hanya ada jika anda sedang menggunakan pengesah ini diluat dari bidang formulir.
Tidak terdokumentasi, secara internal tidak digunakan fungsi validate_integer() sekarang lebih ketat ketika itu mensahkan menggunakan regular expression daripada cukup memberikan nilai menggunakan int() dan memeriksa jika sebuah pengecualian telah dimunculkan.
URLValidator menyertakan sebuah regular expression yang sangat lambat menilai terhadap masukan tidak sah tertentu. Regular expression ini telah disederhanakan dan dioptimalkan.
BaseRangeField.prepare_value() untuk digunakan setiap metode prepare_value() base_field (#24841).makemigrations jika sebuah modul perpindahan antara hilang __init__.py atau adalah sebuah berkas (#24848).QuerySet.exists() mengembalikan hasil tidak benar setelah keterangan dengan Count() (#24835).HStoreField.has_changed() (#24844).RequestContext setelah dia dibuat (#24847).null/not null selama penamaan bidang dari basisdata MySQL (#24817).ModelAdmin.list_display (#24851).AutoField di PostgreSQL (#24892).primary_key=True menjadi unique=True (#24893).prefetch_related() setelah menghapus obyek (#24831).choices lebih panjang dari 1 hari dengan DurationField (#24897).Case dengan exclude() (#24833).Case. Sebagai contoh, bubuhi keterangan sebuah permintaan dengan banyak pernyataan Case dapat tidak diharapkan menyaring hasil (#24924).SimpleTestCase.assertRaisesMessage() pada Python 2.7.10 (#24903).verbosity di perintah pengelolaan optparse dengan menuangkan itu ke sebuah integer (#24769).prefetch_related() di basisdata selain dari PostgreSQL untuk model menggunakan primary key UUID (#24912).unique_together di MySQL (#24972).forms.ImageField (#24948).GenericRelation dengan related_query_name (#24940).ForeignKey.related_name pada Python 3 dengan memperbaiki pemeriksaan sistem positif salah (#25016).UUIDField dan obyek anak yang mempunyai sebuah primary key AutoField (#24958).unordered_list di masukan tertentu (#25031).URLValidator yang mentidaksahkan Punycode TLDs (#25059).runserver (#23882).Mar 30, 2019