Archlence v0.0.2
Pre-releaseArchlence v0.0.2
Archlence v0.0.2 ile Windows'a özgü ve veri kaybına yol açabilecek iki kritik hata giderildi.
Bu sürüm hâlâ bir ön yayımdır (pre-release) ve kararlı kullanım için önerilmemektedir.
Öne çıkan değişiklikler
- Test paketi artık Linux'un yanı sıra Windows ortamında da CI üzerinde çalıştırılıyor.
- Windows CI desteği sayesinde veri güvenliğini ve uygulamanın süreç yaşam döngüsünü etkileyen iki önemli hata tespit edilerek düzeltildi.
- v0.0.1 sürümünden v0.0.2'ye yükseltme sırasında kullanıcı verilerinin korunduğunu doğrulayan otomatik smoke testi eklendi.
Finansal doğruluk ve güvenilirlik
Türkçe hata mesajlarının Windows'ta işlemleri durdurması engellendi
Windows konsolu, bazı Türkçe sistemlerde varsayılan olarak cp1252 kodlamasını kullanabiliyor. Bu kodlama; ı, ğ ve ş gibi bazı Türkçe karakterleri desteklemiyor.
Uygulamadaki hata mesajlarının önemli bir bölümü except blokları içerisinde konsola yazdırılıyordu. Hata mesajı yazdırılırken yeni bir kodlama hatası oluştuğunda, yakalanan asıl istisnanın yerine bu hata dışarı sızabiliyor ve devam eden işlemi tamamen durdurabiliyordu.
Somut olarak, abonelik radarı bir işlem sırasında hata verdiğinde işlemin tamamının kaybolmasına neden olabilecek bir durum bulunuyordu.
Konsol çıktısı artık UTF-8 kullanacak şekilde yapılandırılıyor. Bir karakterin yine de kodlanamaması durumunda karakter ? ile değiştirilir; ancak süreç durmaz ve asıl işlem korunur.
Windows tek-örnek kilidindeki kapanış hatası giderildi
Uygulamanın aynı anda birden fazla kez açılmasını engelleyen tek-örnek kilidi, Windows'ta kapanış sırasında çökme riski taşıyordu.
Kilit dosyasındaki bir bayt önce kilitleniyor, ardından dosya kırpılıyordu. Windows'un bayt aralığı kilitleme API'si bu durumda kilidi serbest bırakırken hata verebiliyordu. Bu hata yakalanmadığı için uygulama kapanış sırasında çökebiliyordu.
Kilit mekanizması artık dosya boyunca korunan ve hiçbir zaman kırpılmayan sabit bir bayt kullanıyor. Böylece kilit güvenli şekilde serbest bırakılıyor ve uygulama kapanışı temiz biçimde tamamlanıyor.
Performans
run_tests.pydosyasının Windows'takimultiprocessingdavranışı düzeltildi.- Daha önce alt süreç oluşturan her test, Windows'un
spawnbaşlatma yöntemi nedeniyle test paketinin tamamını yeniden çalıştırabiliyordu. - Windows CI günlüğünde bu nedenle
Ran 599 testsçıktısı üç kez görülebiliyordu. - Yapılan düzenlemeyle test süresi CI ortamında üç kata kadar kısaldı.
Bu ölçüm yalnızca CI görevi üzerinde yapılmıştır. Kullanıcı makinelerinde ayrıca performans ölçümü gerçekleştirilmemiştir.
UI ve erişilebilirlik
Bu sürümde kullanıcıya doğrudan görünen bir arayüz değişikliği bulunmuyor.
Yapılan düzeltmeler; arka plan hata yönetimi, test altyapısı, veri güvenliği ve uygulamanın süreç yaşam döngüsüyle ilgilidir.
Test ve paketleme
- Test paketi artık hem Linux hem de Windows CI ortamlarında çalıştırılıyor.
run_tests.py, Windows'takimultiprocessingsistemininspawnbaşlatma yöntemiyle güvenli şekilde çalışıyor.- Testler artık
ARCHLENCE_HOMEortam değişkeni kullanılarak platformdan bağımsız biçimde geçici bir dizine yönlendiriliyor. - Önceki test izolasyonu yöntemi Windows'ta etkisiz kalabiliyor ve testlerin gerçek kullanıcı profiline veri yazmasına neden olabiliyordu.
- v0.0.1 → v0.0.2 yükseltme smoke testi gerçek bir taban sürüm kullanacak şekilde otomatikleştirildi.
- Test sırasında önce v0.0.1 kuruluyor, kullanıcı profiline bir sentinel kaydı ekleniyor, ardından v0.0.2 mevcut kurulumun üzerine yükleniyor.
- Yükseltme tamamlandıktan sonra sentinel kaydının ve kullanıcı verilerinin bozulmadan korunduğu doğrulanıyor.
Çalışma sırasında bulunan ve düzeltilen ek sorunlar
Test paketindeki bazı yardımcı fonksiyonların SQLite bağlantılarını açık bıraktığı tespit edildi.
with sqlite3.connect(...) kullanımı bağlantıyı kapatmaz; yalnızca bağlantı üzerinde bir transaction bağlamı oluşturur. Linux'ta açık durumdaki bir dosya silinebildiği için bu sorun görünür olmuyordu. Windows ise açık SQLite dosyalarını kilitli tuttuğundan testler geçici dosyaları temizlerken başarısız olabiliyordu.
İlgili bağlantılara açık kapatma çağrıları eklendi ve Windows'taki test temizleme hataları giderildi.
Bilinen sınırlamalar
- Bu sürüm henüz kararlı değildir ve ön yayım (pre-release) olarak sunulmaktadır.
- Yükseltme testi bu sürümle birlikte otomatikleştirilmiştir ve sonraki sürümlerde standart yükseltme doğrulaması olarak kullanılacaktır.
- Windows ve Linux paketleri dijital olarak imzalanmamıştır. Windows SmartScreen uyarısı görülebilir.
- Fiyat servisi hâlâ tek bir veri sağlayıcısına bağlıdır.
- Eski profillerin ve yedeklerin okunabilmesi için kullanılan legacy CBC desteği deprecated durumundadır.
- UI katmanındaki geniş kapsamlı
exceptblokları veprint()kullanımlarından kaynaklanan teknik borç tamamen giderilmemiştir.
Kurulum dosyaları
Windows
ArchlenceSetup-0.0.2.exe
Linux
Archlence-0.0.2-x86_64.AppImage
Checksum doğrulaması
İndirdiğiniz dosyaların bütünlüğünü kontrol etmek için paketlerle aynı dizinde bulunan SHA256SUMS.txt dosyasını kullanabilirsiniz:
sha256sum -c SHA256SUMS.txtSBOM
Yazılım bileşenleri listesi aşağıdaki dosya adıyla yayımlanmaktadır:
Archlence-0.0.2-sbom.cdx.json