Python 2.7.11 Telah Rilis

Yana Permana 7 Desember 2015

Python 2.7.11 Telah Rilis

Setelah Python 3.5 Final dirilis, kali ini Pengembang Python tetap merilis versi terbaru Python 2. Karena Python 2 masih banyak digunakan oleh Programmer Python dan perangkat lunak yang berbasis Python 2.

Pada rilis ini banyak dilakukan perbaikan security untuk bagian Core & Builtins dan Library. Apa saja bagian Python 2 yang telah diperbaiki? Ini dia.

Core & Builtins

  • Menghindari buffer overreads ketika int(), long(), float() dan compile() dilewatkan objek buffer. Objek ini tidak memerlukan terminasi dengan null byte, namun dengan fungsi yang sudah diasumsikan.
  • Perbaikan tokenizer yang hang ketika pemrosesan undecodable source code dengan null byte
  • Implementasi default dari __reduce__ dan __reduce_ex__ kini menolak builtin type yang tidak mendefinisikan __new__
  • format(int, 'c') kini memunculkan OverflowError ketika argumen tidak dalam range(0, 256)
  • Kini builtin type yang tidak diboleh menjadi subclassed, jika builtin type tersebut merupakan hasil inheritance dari subclassed lainnya.
  • Perbaikan bug dalam encoding UTF-7 ketika decoding misformed data.
  • os.urandom() tidak menggunakan getentropy() pada sistem operasi Solaris karena getentropy telah memblok os.urandom(). getentropy() sudah ada sejak Solaris 11.3.
  • Operasi NAN sekarang ditangani dengan benar ketika Python dikompilasi dengan ICC jika -fp-model strict tidak dispesifikasi
  • Perbaikan buffer overread dalam bytearray. Objek bytearray kini mengalokasikan tempat untuk null byte dan untuk terminasinya juga menggunakan null.
  • Deprecation warning akan muncul ketika non-text encoding diketahui dalam encode(), decode(), constructor str, unicode, bytearray. Ini terjadi jika Python dijalankan dengan opsi 3.
  • PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), PyObject_RichCompareBool() dan _PyDict_Contains() kini diperbaharui agar bisa memeriksa dan menangani error dengan baik.
  • Gunakan "computed gotos" untuk bytecode dispatch dalam interpreter. Fitur ini merupakan peningkatan performa interpretation
  • Perbaikan integer overflow dalam objek iterator
  • Perbaikan exception type checking dalam error handler standar.
Library
  • ZipFile kini harus ditulis dengan header ZIP_STORED untuk entri direktori.
  • Mitigasi incompatibilities antara modul multiprocessing, direktori dan eksekusi zipfile. Khusus sistem operasi Windows, multiprocessing akan melewatkan __main__ dalam proses spawn.
  • Perbaikan memory leak dalam SSLSocket.getpeercer()
  • Dalam Readlinee completer, getattr() hanya akan dipanggil sekali
  • Protokol SSLv3 yang vunerable telah dinon-aktifkan secara default ketika membuat ssl.SSLContext
  • Perbaikan memory leak dalam SSLSocket.getpeercert()
  • Perbaikan modul mhlib dalam filesystem kini tidak mendukung link counting untuk direktori
  • Perbaikan pickling untuk objek recursive
Faktor keamanan menjadi isu utama dalam rilis Python 2.7.11. Menjelang tahun baru ini, Pengembang Python telah berhasil memperbaiki beberapa masalah keamanan seperti Integer Overflow, Memory Leak dan lain-lain. Itulah sekilas rilis Python 2.7.11, lebih lengkap catatan rilis Python 2.7.11 dapat dilihat di Python.org.

(yp/python)