Python 2.7.11 Telah Rilis
Yana Permana 7 Desember 2015
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.
- 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
(yp/python)