· kaynak Hacker News – Front Page (native)
Python 3.15.0 yayında: Varsayılan UTF-8, daha hızlı JIT ve macOS'ta free-threading
Python 3.15.0 artık kararlı: 1.012 katılımcıdan gelen 5.643 commit içeriyor. UTF-8 varsayılan kodlama olurken, deneysel JIT Apple Silicon'da iki haneli kazançlar sağlıyor ve macOS yükleyicileri varsayılan olarak free-threading ile geliyor.
Python 3.15.0 artık kararlı
Python Software Foundation, Python 3.15.0'ı 9 Ekim 2026'da yayınladı ve sürüm kısa sürede Hacker News'in ana sayfasına ulaştı. python.org'daki sürüm notlarına göre bu, dilin en yeni büyük sürümü; 3.14 serisine kıyasla 1.012 katılımcıdan gelen 5.643 commit'i bir araya getiriyor ve yorumlayıcıyı, standart kütüphaneyi, tip sistemini ve C API'sini etkiliyor.
Yorumlayıcı ve dil değişiklikleri
Dil düzeyindeki öne çıkan özelliklerin her biri bir PEP üzerinden geldi:
- PEP 661, kütüphanelerin geçmişte kendilerinin oluşturduğu geçici sentinel nesnelerinin yerini alan yerleşik bir sentinel tipi sunuyor.
- PEP 686, UTF-8'i Python'ın varsayılan kodlaması yapıyor ve platformlar arası metin işlemeyi standartlaştırıyor.
- PEP 798, comprehension'ların içinde doğrudan unpacking yapılmasına izin veriyor.
- PEP 810, yorumlayıcının başlama süresini kısaltmayı hedefleyen açık lazy import'lar ekliyor.
- PEP 814, dict'in değiştirilemez karşılığı olan frozendict yerleşik tipini getiriyor.
- PEP 829, paket başlatma yapılandırma dosyalarını tanımlıyor.
Deneysel JIT derleyicisi de önemli bir yükseltme aldı. Sürüm notları, x86-64 Linux üzerinde standart yorumlayıcıya kıyasla geometrik ortalamada yüzde 7–8, AArch64 macOS üzerinde ise tail-calling yorumlayıcıya kıyasla yüzde 11–12 performans artışı bildiriyor. İlgili bir derleme değişikliği olarak PEP 831, frame pointer'ları varsayılan olarak etkinleştiriyor; böylece sistem düzeyindeki profil araçları kutudan çıktığı gibi daha iyi çalışıyor.
Tip sistemi, profilleme ve C API
Tip sistemi tarafında 3.15, tipli extra öğeleriyle TypedDict'leri (PEP 728), tip formlarını belirtmek için bir TypeForm yapısını (PEP 747) ve tip sisteminde disjoint base'leri (PEP 800) ekliyor. Standart kütüphane, PEP 799 kapsamında adanmış bir profilleme paketi kazanıyor; paket, yüksek frekanslı istatistiksel örnekleme yapabilen Tachyon profiler'ını, iyileştirilmiş hata mesajlarını ve araç çıktısında daha fazla renk içeriyor.
Extension yazarları ise bytes nesneleri oluşturmak için yeni bir PyBytesWriter C API'si (PEP 782), finalizasyon tehlikelerine karşı koruma (PEP 788) ve — PEP 793, 803 ve 820 üzerinden — free-threaded build'ler için kararlı bir ABI elde ediyor.
Platform değişiklikleri ve bir Tk uyarısı
Dağıtım düzeyinde resmî Windows 64-bit binary'leri artık tail-calling yorumlayıcıyla geliyor, resmî macOS yükleyicileri ise varsayılan olarak free-threading desteği içeriyor.
Sürüm notları ayrıca Python'ın kontrolü dışındaki bir soruna dikkat çekiyor: macOS 27.0'daki bir davranış değişikliği, bir menü komutu bir iletişim kutusu açtığında IDLE'ın ve diğer tkinter tabanlı GUI uygulamalarının kilitlenmesine neden olabiliyor; kullanıcıyı yanıt vermeyen dönen imleç ve zorla kapatmaktan başka seçenek bırakmıyor. Sorunun Tk araç setinin tüm güncel sürümlerini, dolayısıyla her güncel Python sürümündeki tkinter modülünü etkilediği düşünülüyor. Ekip, Tk'e bağımlı kullanıcılara macOS yükseltmesini ertelemesini ya da önce iş akışlarını test etmesini öneriyor; güncellemeler issue #158053 üzerinden izleniyor.
Oynanabilir bir changelog
Sürümü kutlamak için çekirdek geliştirici Barry Warsaw, yorumlayıcının içinde geçen bir terminal metin macerası olan "whatsnewt"yi yayınladı. Oyuncular Startup Foyer'da uyanıyor ve Release Gate'e doğru ilerleyerek, her biri kod yazıp çalıştırarak gerçek bir 3.15 özelliğini kullanmayı gerektiren on sekiz bulmacayı çözüyor; tip sistemiyle ilgili bulmacalar pyrefly tip denetleyicisi tarafından doğrulanıyor. uvx --python 3.15 whatsnewt komutuyla başlatılabiliyor.
Hugo van Kemenade, hem 3.14'ün hem de 3.15'in sürüm yöneticiliğini üstlendi; çalışması Sovereign Tech Agency'nin bursuyla desteklendi. Sürüm logosu Georgi Ker ve Marie Nordin tarafından hazırlandı.
Neden önemli
Yıllık her Python sürümü, ekosistem için bir uyumluluk taban çizgisi haline geliyor ve 3.15, gerçek göç ağırlığı taşıyan birçok değişiklik içeriyor. Varsayılan kodlamanın UTF-8 olması, özellikle Windows'da sessizce yerel ayara bağlı kodlamalara güvenen kodların davranışını değiştirebilir. Yeni sentinel ve frozendict yerleşikleri, kütüphane yazarlarına özel çözümler yerine standart temel yapılar sunarken, açık lazy import'lar ve yükseltilmiş JIT, son sürümleri tanımlayan performans çalışmasını genişletiyor. Free-threading'in macOS'ta varsayılan olarak kurulması ve free-threaded build'ler için kararlı bir ABI'nin gelmesi, GIL'siz çabanın deney aşamasından desteklenen bir yapılandırmaya doğru ilerlediğinin sinyalini veriyor — özellikle C extension geliştiricilerinin buna karşı test yapması gerekiyor. Ekipler, 3.15'i benimsemeden önce bağımlılıklarını bu sürümde doğrulamalı; macOS'ta IDLE veya diğer Tk tabanlı araçlara bel bağlayanlar ise bir düzeltme ya da geçici çözüm gelene kadar macOS 27.0 yükseltmesini beklemeli.
- #python
- #cpython
- #release
- #programming-language
- #open-source
İlgili yazılar
- Deno, Cloudflare'e katılıyor: self-hosted Workers ve Durable Objects birinci sınıf hale geliyor
- MIT lisanslı macOS CLI'si bigarrow, yapay zeka agent'larının ekranınızda ok ve kutu çizmesini sağlıyor
- Once: açık kaynak Go CLI, shell komut çıktısını kullanıcı başına çalışan bir daemon'da önbelleğe alıyor