Python 3.15.0 candidate 2 is here!
Oleh Zai · Let's Make It Easy
Dipublikasikan 2026-09-02
Python 3.15.0 candidate 2 sudah masuk fase release candidate. Buat developer, ini bukan ajakan memindahkan production ke versi baru malam ini. Ini lebih mirip alarm untuk mulai ...
Python 3.15.0 candidate 2 sudah masuk fase release candidate. Buat developer, ini bukan ajakan memindahkan production ke versi baru malam ini. Ini lebih mirip alarm untuk mulai menjalankan test suite sebelum perubahan interpreter menjadi final.
1. Apa Itu Release Candidate?
Release candidate adalah build yang dianggap mendekati versi final. Pada tahap ini, perubahan yang masuk biasanya dibatasi pada bug fix yang sudah ditinjau dan dianggap jelas. Artinya, ruang perubahan lebih kecil dibanding fase development, tetapi kompatibilitas library tetap perlu diuji oleh masing-masing maintainer.
Simon Willison mengutip pengumuman release manager Python yang mendorong proyek pihak ketiga menyiapkan wheel Python 3.15 selama fase ini. Wheel yang dibangun terhadap release candidate disebut akan tetap bekerja pada versi Python 3.15 berikutnya, tetapi itu tidak menghapus kebutuhan untuk menguji extension dan dependency yang memakai binary code.
2. Test Matrix yang Masuk Akal
Mulai dengan menambahkan Python 3.15 ke matrix CI di samping versi yang sedang Anda dukung. Contoh yang dibagikan menggunakan actions/setup-python, allow-prereleases, dan check-latest supaya runner mengambil release candidate terbaru lalu berpindah ke stable ketika versi final tersedia.
Jangan hanya menjalankan unit test. Cek instalasi dari lockfile, build wheel, native extension, subprocess, encoding, dan command line tool. Banyak masalah upgrade interpreter muncul saat packaging atau deployment, bukan saat fungsi kecil diuji secara terisolasi.
3. Kapan Sebaiknya Migrasi?
Untuk library publik, pengujian sekarang membantu menemukan incompatibility lebih awal. Untuk aplikasi internal, gunakan hasil CI sebagai sinyal, bukan sebagai izin otomatis untuk production. Pastikan dependency kritis punya wheel atau jalur build yang jelas, lalu lakukan canary terpisah.
Belum ada alasan untuk menganggap semua ekosistem Python sudah siap hanya karena release candidate tersedia. Nilai praktisnya justru ada pada waktu tambahan untuk menemukan masalah sebelum final release.
4. Risiko Upgrade
Release candidate tetap bisa membuka masalah yang tidak terlihat pada lingkungan lokal. CI yang bersih belum cukup jika container production memakai base image berbeda atau dependency diinstall dari wheel dengan ABI tertentu. Pin versi untuk canary, simpan hasil test, dan siapkan rollback yang sederhana.
Untuk maintainer open source, laporan incompatibility dari pengguna RC dapat menjadi feedback yang sangat berharga sebelum final release. Untuk tim aplikasi, jadikan matrix sebagai alat observasi. Tidak semua warning harus langsung diperbaiki, tetapi setiap failure perlu diklasifikasikan: bug di aplikasi, dependency yang belum siap, atau perubahan behavior Python.
Tambahkan pengecekan untuk tools yang dipanggil lewat subprocess dan library yang membaca file binary. Pastikan versi interpreter yang dipakai test sama dengan versi di image deployment. Catatan kecil seperti ini sering lebih berguna daripada sekadar label “supported”, karena support bisa berarti test berhasil di satu platform saja.
Kalau proyek punya extension C atau Rust, jalankan build dari source dan install wheel pada lingkungan bersih. Simpan log kegagalan bersama versi compiler dan operating system. Dengan begitu, tim bisa membedakan masalah Python dari masalah packaging tanpa menebak-nebak saat release final sudah dekat.
Referensi: https://simonwillison.net/2026/Sep/1/python-315-rc-2/