Pada 7 Oktober 2025, tim Python merilis versi stabil terbaru, Python 3.14. Pembaruan ini menggabungkan berbagai peningkatan pada bahasa inti (core), interpreter, dan pustaka standar (standard library). Di antara fitur-fitur paling menonjol, yaitu template string literals, deferred evaluation of annotations, dan dukungan untuk multiple interpreters langsung dari pustaka standar.
Pembaruan ini bukan sekadar penambahan fitur estetis—ada juga peningkatan kinerja, debugging yang lebih aman, dan penyempurnaan pengalaman pengembang sehari-hari. Berikut sorotan perubahan paling signifikan.
Alih-alih menghitung anotasi (type hints) secara langsung saat melakukan definisi fungsi atau kelas, Python 3.14 menyimpan anotasi dalam bentuk yang “ditangguhkan” (deferred).
Artinya, evaluasi hanya dilakukan ketika diperlukan (misalnya saat program dijalankan), sehingga definisi fungsi menjadi lebih ringan secara runtime, yang pada akhirnya meningkatkan kinerja.
Modul baru bernama annotationlib juga disediakan untuk membantu memeriksa anotasi dalam berbagai format (nilai langsung, forward reference, atau string).
Sebelumnya, kemampuan menjalankan beberapa interpreter (subinterpreters) dalam satu proses hanya tersedia lewat C API.
Di Python 3.14, modul concurrent.interpreters kini tersedia langsung di pustaka standar.
Fungsi ini membuka peluang bagi model concurrency baru yang lebih ringan daripada multiprocessing, serta pemanfaatan multi-core tanpa GIL (Global Interpreter Lock) yang selama ini menghambat eksekusi paralel.
Namun, ada sedikit catatan: memulai interpreter baru masih relatif berat, dan belum semua ekstensi pihak ketiga kompatibel—meski dukungan ini diharapkan akan terus berkembang.
Python 3.14 memperkenalkan t-strings, literal string dengan prefiks t yang menyerupai f-strings, tetapi tidak langsung dirender ke string.
Sebaliknya, ia menghasilkan objek Template yang memisahkan bagian statis dan interpolasi.
Dengan demikian, sisa logika dapat diproses sebelum akhirnya dirender—berguna misalnya untuk sanitasi input (HTML, SQL) atau konteks di mana kontrol terhadap interpolasi diperlukan.
Salah satu loncatan besar pada Python 3.14 yaitu dimungkinkannya debugger eksternal menempel (attach) ke proses Python yang sedang berjalan, tanpa menghentikan atau merekompilasi ulang interpreter.
Fitur ini diakses melalui fungsi sys.remote_exec(), yang menjalankan skrip kecil di titik eksekusi “aman”.
Untuk keamanan, terdapat kontrol melalui environment variable, flag baris perintah, maupun opsi konfigurasi Python.
Bagi aplikasi tahap produksi dan sistem yang memerlukan observabilitas tinggi, kemampuan ini sangat krusial.
Python 3.14 memperkenalkan jenis interpreter baru (opsional), yang menggunakan teknik tail calls antar fungsi kecil C—berbeda dari struktur besar switch/case tradisional.
Benchmark awal menunjukkan peningkatan performa sekitar 3–5 %.
Interpreter ini hanya bekerja dalam kombinasi dengan Clang 19+ pada arsitektur x86-64 dan AArch64, dan harus diaktifkan secara eksplisit.
Catatan penting: fitur ini tidak mengubah perilaku program, hanya cara internalnya dieksekusi.
Mode free-threaded (di mana GIL nonaktif) yang diperkenalkan di 3.13 kini disempurnakan. Adaptive interpreter sekarang aktif dalam mode tersebut, dan mekanisme sementara dari versi sebelumnya telah diganti dengan solusi yang lebih permanen. Overhead pada program single-threaded turun ke kisaran 5–10 %, tergantung platform dan kompiler.
Ada juga flag baru thread_inherit_context yang memungkinkan thread baru mewarisi konteks dari thread pemanggilnya, misalnya filtering peringatan (warnings).
Untuk meningkatkan pengalaman pengembang, Python 3.14 menyertakan perbaikan pesan kesalahan (error messages) agar lebih bersahabat.
Contohnya, jika ada typo pada keyword seperti whille, Python akan menyarankan koreksi:
SyntaxError: invalid syntax. Did you mean 'while'?
Penggunaan elif setelah else, penutupan string yang keliru, atau penggunaan prefix tidak kompatibel (misal ub'...') kini juga menghasilkan pesan yang lebih informatif.
zstd)Python 3.14 memperluas dukungan kompresi dengan modul compression.zstd, yaitu antarmuka ke format Zstandard (Zstd) yang cepat dan efisien.
Fitur ini juga terintegrasi ke modul tarfile, zipfile, dan shutil, sehingga arsip-arsip Zstd kini dapat dibaca atau dibuat langsung.
Penggunaan modul kompresi lama (lzma, bz2, gzip, zlib) tetap didukung, dan belum ada penghapusan fitur yang mendesak—penghapusan atau perubahan akan dilakukan minimal lima tahun ke depan sesuai status Long Term Support-nya.
Dalam domain asyncio, Python 3.14 memperkenalkan peralatan command-line baru:
python -m asyncio ps PID — menampilkan semua task dalam proses asinkronpython -m asyncio pstree PID — menampilkan hirarki coroutine tree dari prosesSelain itu, fungsi seperti capture_call_graph() dan print_call_graph() membantu visualisasi alur eksekusi coroutine.
Modul asyncio.create_task() kini juga mendukung argumen keyword arbitrer yang diteruskan ke konstruktor Task, bukan hanya parameter nama atau konteks.
Dalam Python versi sebelumnya, garbage collector melakukan pengumpulan acak dari generasi ke generasi. Kini, GC menjadi inkremental: saat pengumpulan, hanya sebagian dari generasi lama yang diproses tiap siklus—mengurangi jeda besar pada heap berukuran besar.
Struktur generasi kini disederhanakan menjadi “young” dan “old”.
Panggilan gc.collect(1) sekarang melakukan langkah bertahap pada generasi lama, bukan pengumpulan penuh.
REPL (interaktif Python) di versi 3.14 kini secara default mendukung syntax highlighting berwarna, kecuali jika variabel lingkungan tertentu mengaktifkan mode dasar.
Fitur autocompletion juga disertakan secara langsung—misalnya, ketika mengetik import co lalu menekan <Tab>, sistem akan menyarankan modul-modul yang cocok dengan prefix tersebut.
Beberapa perubahan kecil tapi penting:
bytes.fromhex() dan bytearray.fromhex() kini menerima objek bytes dan bytes-like.float.from_number() dan complex.from_number() ditambahkan sebagai class method, menghasilkan tipe float/complex dari angka jika argumennya valid._) atau koma sebagai pemisah ribuan di bagian pecahan (fractional).int() sekarang tidak lagi mendelegasikan ke __trunc__()—kelas yang ingin mendukung konversi ke integer harus mengimplementasikan __int__() atau __index__().map() memperoleh parameter keyword-only strict, mirip dengan fungsi zip(), yang memeriksa apakah semua iterable memiliki panjang yang sama.super kini copyable dan pickleable.except dan except* yang melibatkan banyak tipe kini tidak lagi mewajibkan tanda kurung jika as tidak digunakan (PEP 758).return, break, atau continue digunakan untuk “escape” dari blok finally (PEP 765).Sejumlah bagian modul dan API telah ditandai deprecated atau dihapus. Versi 3.15 dan seterusnya akan melanjutkan proses penghapusan bertahap.
Beberapa perubahan di C API dan konfigurasi build juga terjadi, termasuk dukungan resmi untuk platform Emscripten (sebagai tier 3). Binary release Python sekarang turut mendukung kompiler Just-In-Time (JIT) eksperimental, serta menyediakan distribusi resmi untuk Android.
“What’s new in Python 3.14” — Python 3.14.0 documentation (Python documentation)