Django 1.8.2 sudah rilis!

Ridwan Fajar 5 Juni 2015

Django 1.8.2 sudah rilis!

Kini sudah saat untuk menjalankan perintah "pip install Django==1.8.2" di mesin server atau laptop Anda. Artinya Django terbaru sudah rilis sejak 20 Mei 2015 kemarin, dengan berbagai perubahan yang lebih baik. Di Django 1.8.2 sendiri terdapat perbaikan terhadap masalah keamanan dan beberapa perbaikan bug dari versi sebelumnya. Berikut ini adalah daftar perubahan yang terdapat di Django 1.8.2:

Memperbaiki session flushing di backend cached_db

Penggantian session.flush() di backend session cached_db di Django 1.8, tanpa diketahui mengisi session key ke string kosong ketimbang None. String kosong dapat dianggap sebagai valid session key dan digunakan sebagai session cookie. Setiap user dengan string kosong di session cookie mereka akan menggunakan session storeyang sama. session.flush() dipanggil oleh django.contrib.auth.logout() dan, lebih serius lagi, oleh django.contrib.auth.login() ketika user bergannti akun.

Jika user login dan ternyata malah login terhadap akun yang berbeda (tanpa logout), maka session akan dibersihkan untuk menghindari reuse. Setelah session dibersihkan, akun detail akan diisikan ke session dan session pun disimpan. Setiap user dengan string kosong di session cookie akan login tanpa sengaja ke akun tersebut.

Perbaikan Bug

  • memperbaiki pemeriksaan alias uniqueness dari template engine Django (#24685)
  • memperbaiki crash ketika menggunakan kembali instans Case yang sama di dalam query (#24752)
  • memperbaiki join promotion untuk ekpresi Case (#24766)
  • memperbaiki objek negated Q di dalam ekspresi (#24705)
  • memperbaiki GROUP BY clause generation yang salah di MySQL ketika query model memiliki self-referential foreign key (#24748)
  • mengimplementasikan ForeignKey.get_db_prep_value() agar ForeignKey menunjuk ke UUIDField dan pewarisan di model dengan UUIDField primary key dapat bekerja dengan baik (#24698, #24712)
  • memperbaiki isnull lookup untuk HStoreField (#24751)
  • memperbaiki crash MySQL ketika migration mencabut combined index berisi foreign key
  • memperbaiki penghapusan session cookie ketika menggunakan SESSION_COOKIE_DOMAIN (#24799)
  • memperbaiki tampilan widget contrib.admin ForeignKey ketika digunakan di baris dengan field lain (#24784)
Selain itu tim Django memberikan bocoran juga mengenai mulai geraknya pengembangan versi 1.8.3 untuk rilis selanjutnya. Berikut adalah beberapa perubahan yang akan terdapat di versi 1.8.3:

Perbaikan Bug

  • Memperbaiki BaseRangeField.prepare_value() untuk digunakan setiap method prepare_value yang dimiliki base_fields (#24841)
  • Memperbaiki crash selama makemigrations jika module migrasi kehilangan init.py atau dianggap file (#24848)
  • Memperbaiki QuerySet.exists() mengembalikan hasil yang keliru setelah proses annotation dengan Count() (#24835)
  • Memperbaiki HStoreField.has_change() (#24844)
Untuk Anda yang masih menggunakan Django versi lama, silahkan untuk melihat tabel dibawah ini yang menunjukkan versi Django mana sajakah yang akan masih didukung oleh Django Project dan versi mana sajakah yang harus diperbaharui ke versi berikutnya.

(rfs/djangoproject)