Hata Düzeltmeleri
- Başka bir paketlenmemiş (unpacked) TypeVarTuple varsayılan değer olarak kabul ediliyor.
- TypeAliasType name ve value için anahtar sözcük argümanları kabul ediliyor.
- Alt sınırların çarpımlarında dolaşım bütçesinin tükenmesi tespit ediliyor.
- Özyinelemeli protokol maddileştirmesinde (materialization) kendi kendine karşılaştırma düzeltildi.
- PEP 695 paket varsayılanlarında kapsam dışı tür değişkenleri reddediliyor.
- TypeVarTuple sonrasında sondaki ParamSpec varsayılanı kullanılıyor.
LSP Sunucusu
- Argüman ipucu düzenlemelerinde atama ve üreteç ifadeleri parantez içine alınıyor.
- Argüman adı inlay ipuçları gruplama parantezlerinden önce yerleştiriliyor.
- Değişken türü inlay ipuçları gruplama parantezlerinden sonra yerleştiriliyor.
Hata Düzeltmeleri
- Alt sınıfların hash'lenebilirliği geri yükleyebilmesine izin verildi.
- Özyinelemeli takma adlar (alias) olumsuzlanırken oluşan çökmeler önlendi.
- Özyinelemeli descriptor setter kontrolleri için yığın taşması önlendi.
- Yapıcı (constructor) tür değişkeni varsayılanları ertelendi.
- Katı imza kontrolleri için bağlı alıcılar (bound receiver) korunuyor.
- Dinamik öznitelikler için okuma türleri korunuyor.
- Protokol olmayan sınıflarda runtime_checkable reddediliyor.
- TypeAliasType anahtar sözcük argümanları doğrulanıyor.
Yeni Özellikler
- LSP sunucusu: Dönüş türü satır içi ipuçları (inlay hints) eklendi.
İyileştirmeler
- macOS için kararlı imzalama tanımlayıcıları benimsendi.
- Yalnızca stub içinde bulunan türleri içeren satır içi ipuçları eklenmesi önlendi.
- Birleşim çıkarımı sırasında uyumsuz birleşim üyeleri filtreleniyor.
- ParamSpec'ler çağrı genelindeki kısıtlamalardan çıkarılıyor.
- Dil sunucusunun daha fazla işleminde önbelleğe alınmış AST'lerin temizlenmesinden kaynaklanan duraksamalar azaltıldı.
- TypedDict öğeleri silinirken, pop edilirken veya varsayılan değerle alınırken salt okunur anahtarlar raporlanıyor.
- uv'nin iç içe modül sahipliği metaverisi destekleniyor.
Yeni Özellikler
- Tür açıklaması eklenmemiş fonksiyonlar ve metotlar için dönüş türü çıkarımı desteği eklendi. Bu özellik varsayılan olarak devre dışıdır. Etkinleştirmek için pyproject.toml dosyasındaki [analysis.return-type-inference] ayarını "always" olarak belirleyin.
- Paketle birlikte sunulan typeshed tür tanımlama dosyaları güncellendi.
Hata Düzeltmeleri
- Dinamik tür takma adlarının olumsuzlanması sırasında oluşabilen beklenmedik sonlandırma sorunu giderildi.
- Diğer koleksiyon öğeleri iç içe demet türleri içerdiğinde demet sabitlerinin uzunluklarının genişletilmesi sağlandı.
- İç içe değişken sayıda tür değişkeni içeren geçersiz Generic ve Protocol bağımsız değişkenlerinin raporlanması sağlandı.
Performans İyileştirmeleri
- Olanaksız kesişim karşılaştırmaları atlanarak genel sınıf desenlerinde tür daraltma işlemi hızlandırıldı.
Hata Düzeltmeleri
- Özyinelemeli tür takma adları ve kesişim türleriyle ilgili çökmeler ve takılmalar önlendi.
- Nesne özellikleri geçersiz kılındığında yanlış invalid-mutable-override hataları verilmesi sorunu giderildi.
- Sınırlandırılmış veya kısıtlanmış tür değişkenleri üzerinden yapılan özellik atama ve silme denetimleri düzeltildi.
- Ek temel sınıfların gizlediği örnek yerleşimi çakışmalarının algılanması sağlandı.
- Pydantic modelleri, üst sınıflardan devralınan özellikleri ClassVar ile geçersiz kıldığında yanlış eksik bağımsız değişken hataları verilmesi sorunu giderildi.
- uv, çözümleme kapsamı dışındaki sahipleri bildirdiğinde bilinen modül sahiplerinin korunması sağlandı.
Tanılama İyileştirmeleri
- Tek tek dondurulmuş Pydantic alanlarına yapılan atamalar artık raporlanıyor.
Temel Tür Denetimi
- Genel işlevlere aktarılan kesişim türü bağımsız değişkenleri için tür çıkarımı iyileştirildi.
- Temel sınıfın türü Any veya Unknown olduğunda, tür açıklaması bulunmayan alt sınıf özelliklerinde devralınan tür açıklamalarının korunması sağlandı.
- Kademeli tür denetimi yapılan bağımsız değişkenler birden fazla aşırı yüklemeyle eşleştiğinde ortak dönüş türü yapısının korunması sağlandı.
- Çağıran taraftaki tür değişkenlerinden tür çıkarılırken üst sınırların denetlenmesi sağlandı.
LSP Sunucusu
- Notebook hücre konumları, ilgili hücrenin sonunu aşmayacak şekilde sınırlandırıldı.
- Çalışma alanı yapılandırması gelmeden önce istekler alındığında oluşan kilitlenme düzeltildi.
- Hücre magic komutları içeren hücrelerden sonraki notebook hücresi aramalarındaki sorun düzeltildi.
- Notebook'un son hücresinin sonunu aşan tamamlama isteklerinde oluşan panic hatası düzeltildi.
Tanılama İyileştirmeleri
- İsteğe bağlı olarak etkinleştirilebilen, eşleşmeyen sentinel adlarını denetleyen bir kural eklendi.
- Aynı olan bağımsız değişken türü tanılama mesajlarının yinelenmesi önlendi.
- invalid-mutable-override kuralı varsayılan olarak etkinleştirildi.
- Birbirinden farklı string literal türlerinin gösterimi iyileştirildi.
- Öznitelik geçersiz kılma tanılamalarının bastırılması dikkate alındı.
Temel Tür Denetimi
- Alıcı öznitelik bildirimlerinin geçersiz kılınması denetlenmeye başlandı.
- Kapalı TypedDict.get çağrılarında kesinlikle bulunmayan anahtarlar için varsayılan değer çıkarımı sağlandı.
- Değişken uzunluklu bağımsız değişkenler açılırken daha sonraki konumsal bağımsız değişkenler için yer ayrıldı.
- Açılan tuple birleşimlerinin minimum uzunlukları korundu.
- Tür bağlamı type[...] olduğunda yalın genel sınıf adlarının özelleştirilmesi sağlandı.
Performans İyileştirmeleri
- Nominal tümleyenlerin oluşturulması önlendi.
- Sistem yolu eşitliği optimize edildi.
İyileştirmeler
- macOS ve Windows sürüm arşivlerindeki yürütülebilir dosyalar ile ty wheel paketleri artık kod imzalı olarak sunuluyor.
- macOS yürütülebilir dosyaları Apple Developer ID sertifikasıyla imzalanıyor ve Apple tarafından noter onayından geçiriliyor.
- Windows yürütülebilir dosyaları, Azure Artifact Signing üzerinden zaman damgalı Authenticode imzalarıyla sunuluyor.
- Bu değişiklikler sürüm yayıncısının ve ikili dosyaların bütünlüğünün doğrulanmasını sağlıyor, yayıncı tabanlı izin listelerini destekliyor ve güvenlik uyarılarıyla antivirüslerin yanlış pozitif sonuçlarını azaltmayı amaçlıyor.
- LSP sunucusunda, üzerine gelindiğinde annotation operatörlerine ilişkin belgelerin gösterilmesi sağlandı.
- Çekirdek tür denetiminde öznitelik ve özellik geçersiz kılma türleri denetlenmeye başlandı.
- Doğruluk değerleri ve tür denetimleri üzerinden tuple birleşimlerinin kapsamı daraltıldı.
- Sözlük sabitleri kullanılırken literal türlerin korunması sağlandı.
- Kesişim türlerinde Boolean olmayan karşılaştırma sonuçları korundu.
- Bağlı metot birleşimleri çağrılırken alıcı özelleştirmelerinin korunması sağlandı.
- İçinde değer bulunmayan türlerin doğruluk durumu açıkça temsil edilmeye başlandı.
- Kısıt kümeleri üzerinden geçerlilik tür bağlamının çözümlenmesi sağlandı.
- Genel olmayan nominal hedeflerde özyineleme korumalarının gereksiz yere kullanılmaması sağlandı.
- Kesişim türlerindeki olumlu sonuçlar denetlenmeden önce kesin dışlamaların kontrol edilmesi sağlandı.
- Bellek kullanımını iyileştirmek için saklanan sequent haritalarındaki kısıtlamaların paylaşılması sağlandı.
- Varsayılan Python sürümü 3.15 olarak güncellendi.
- Unicode 17 sürümüne geçildi.
- Düzeltmelerin CLI üzerinde her zaman gösterilmesi sağlandı.
Hata Düzeltmeleri
- Boş koleksiyon dallarının boş olmayan sabitlerden çıkarımlanması sağlandı.
- Ortamlar değiştiğinde bağımlılık meta verilerinin geçersiz kılınması sağlandı.
- Bileşik türlerde son öznitelik kısıtlamaları korundu.
- Annotated değerlerindeki özyinelemeli yapı korundu.
- Üst sınıftan devralınan dataclass alanlarının dönüştürücüleri özelleştirildi.
Performans İyileştirmeleri
- lspci komutunun her süreçte yalnızca bir kez çalıştırılması sağlandı.
- Model aramasındaki apply_filters filtreleme işlemi optimize edilerek %40'ın üzerinde hız artışı sağlandı.
Önizleme Özellikleri
- uv dosyaları değiştiğinde uv proje meta verilerinin yenilenmesi sağlandı.
Hata Düzeltmeleri
- Özyinelemeli lambda sınıf dekoratörlerinde oluşan panikler önlendi.
- Gözlemlenebilir notebook durumlarının eşitlik karşılaştırması düzeltildi.
- Kesişimler üzerinden oluşan özyinelemeli takma ad döngülerinin algılanması düzeltildi.
- Projenin kökü değiştikten sonra include ve exclude kalıplarının konumlandırılması düzeltildi.
- Dinamik sınıf metaclass'larını çıkarırken oluşan yığın taşması düzeltildi.
- Özyinelemeli dataclass dönüşüm meta verileri normalleştirildi.
- Döngü kurtarma sırasında özyinelemeli TypedDict'ler normalleştirildi.
- ParamSpec özelleştirmesinde döngü işaretçileri korundu.
Komut Satırı Arayüzü
- Ruff ve ty'da yanıt dosyaları yerine mevcut @ yollarına öncelik verildi.
LSP Sunucusu
- İçe aktarma tamamlamalarına namespace paketi desteği eklendi.
- Silinen dosyalar kapatılırken eski G/Ç tanılamalarının kalması önlendi.
- Oluşturulan kodun Markdown fence'leri içinde kalması sağlandı.
- Sanal ortamlar değiştiğinde Python ayarlarının yenilenmesi sağlandı.
Tanılama İyileştirmeleri
- İsteğe bağlı olarak etkinleştirilebilen truthiness-test-of-none-union kuralı eklendi.
- Değerin yalnızca doğru tür bağlamıyla çıkarım yapılması durumunda cast edilen türle uyumlu olabileceği durumlarda disjoint-cast tanılamalarının gösterilmesi önlendi.
- İç içe callable imza gösteriminin sınırlandırılması sağlandı.
- Meta veri hatalarında eski uv sürümleri hakkında açıklama gösterildi.
- Unicode karakterleri veya çift tırnak içeren dize değişmezi türlerinin gösterimi iyileştirildi.
- uv meta veri tanılamaları iyileştirildi.
- Kısıtlanmış tür değişkenlerindeki başarısızlık tanılamaları korundu.
- Tanılama kurtarma sırasında genel tür çıkarımı hataları korundu.
- Dekoratör uygulamalarında kullanımdan kaldırılmış overload'ların bildirilmesi sağlandı.
Temel Tür Denetimi
- Alıcıya sahip olmayan bağlı yöntemlerin çağrılabilir olmadığı belirlendi.
- Union ile sınırlandırılmış tür değişkenlerinde üye araması düzeltildi.
- Final sınıf nesneleri için tür değişkeni çıkarımı düzeltildi.
- ParamSpec kimliklerinin tutarlı şekilde yenilenmesi sağlandı.
- Protokol uyumluluğunda genel property setter'larının dikkate alınması sağlandı.
- Sınırlandırılmış tür değişkenlerinden nominal genel özelleştirmelerin çıkarılması sağlandı.
- Ek açıklama içermeyen alt sınıf varsayılanları için ek açıklamaların devralınması sağlandı.
- Çözümlenmemiş TypeIs hedeflerinin geçici olarak tutulması sağlandı.
- Değişmez all kullanılarak wildcard dışa aktarımlarının sınırlandırılması sağlandı.
- Her zaman doğru olan guard'ların ardından gelen match durumlarının daraltılması sağlandı.
- Çağrı çıkarımı çözücüsüne genel bağlam aktarılması sağlandı.
- ParamSpec karşılaştırmalarında yakalanan değişkenler korundu.
- Örtük dunder çağrılarında intersection alıcıları korundu.
- Çağrı analizi sırasında literal açılımının korunması sağlandı.
- Yapıcı çıkarımı sırasında özyinelemeli tür bağlamının korunması sağlandı.
- NewType'ları dilimlerken tuple biçimlerinin korunması sağlandı.
- Tür genişletme sırasında tuple alt sınıfı kimliğinin korunması sağlandı.
- Sınırlandırılmış tür değişkenlerinin bildirilmiş kısıtlara yükseltilmesi sağlandı.
- cast çağrıları boyunca dış tür bağlamının aktarılması sağlandı.
- Materialization kontrollerinde doğrudan TypeVarTuple'ların tanınması sağlandı.
- Her overload bağımsız değişken genişletmesinin sonuçları korundu.
- Örnek üyeleri yalnızca bir kez özelleştirildi.
- Self sınırlarının genel tür takma adları üzerinden özelleştirilmesi sağlandı.
- dataclass_transform içinde slots_default desteği eklendi.
- Yerleşik typeshed stub'ları senkronize edildi.
- Yerleşik typeshed stub'ları senkronize edildi.
- Çıkarım sonrasında çağrı bağımsız değişkenlerinin yalnızca bir kez doğrulanması sağlandı.
- None içeren union operand'larının doğrulanması sağlandı.
Performans
- Özyinelemeli protokol materialization'larının genişletilmesi önlendi.
- İç içe match kalıplarında tekrarlanan işlemler önlendi.
- Düzleştirilmiş modül listesinin önbelleğe alınması sağlandı.
- Snapshot'lar taranırken nonlocal bağlamaların indekslenmesi sağlandı.
- Yaprak modüller için alt öğe aramalarının atlanması sağlandı.
- Bağımsız constraint-pair türetmelerinin atlanması sağlandı.
- Varsayılan tanım durumlarının depolanması atlandı.
Bellek Kullanımı İyileştirmeleri
- Boş sequent map'lerin önbelleğe alınması önlendi.
- Docstring literal türlerinin tutulması önlendi.
- Bağlı yöntem alıcıları sıkıştırıldı.
- ParamSpec imza meta verileri extras alanına taşındı.
- Otomatik içe aktarma keşfi sırasında kapatılan modül AST'lerinin eş zamanlı olarak serbest bırakılması sağlandı.
- Önemsiz şekilde atanabilir türlerin önbelleğe alınması atlandı.