Rust ile yazılan posta ve işbirliği sunucusu Stalwart, 1.0 sürümünü yayımladı. Bu, projenin ilk kararlı sürümü ve veritabanı yapısını artık sabit tutmayı taahhüt ettiği ilk sürüm. Mevcut kurulumlar için geçiş, program dosyasını değiştirmekle olmuyor.
Pazartesi günü heise online'ın aktardığı sürüm, yeni özelliklerden çok 0.x dönemiyle hesaplaşma niteliğinde. 1.0 hem veritabanı düzenini hem de yapılandırma şemasının bir bölümünü değiştiriyor; bu yüzden proje, ayarları ve verileri yeni ve boş bir depoya kopyalayan `stalwart-migrate` adlı bir komut satırı aracı sunuyor. Araç, başlangıç noktası olarak 0.16.27 sürümünde ısrar ediyor. İlk kopyalama, eski sunucu hizmet vermeye devam ederken yapılabiliyor; sonraki turlar yalnızca değişenleri alıyor ve eski kurulumun durdurulması sadece son eşitleme için gerekiyor. Hesap ve ileti kimlikleri, IMAP UID'leri ve değişiklik dizileri korunuyor, böylece istemcilerin ellerinde zaten bulunan postalar yeniden indirilmiyor. OAuth kullanıcılarının yeniden oturum açması gerekiyor, tam metin dizini arka planda yeniden kuruluyor. Geçişi tek seferde yapamayan kurumlar için ikinci bir yol var: bir taşıma vekil sunucusu ve hesapları tek tek taşımak için Vandelay aracı.
Duyurunun asıl gövdesini performans çalışması oluşturuyor. Yeniden yazılan `mail-parser` kütüphanesi ve yeni `encodify` kodlama kütüphanesi SIMD ve SWAR tekniklerini kullanıyor: komut başına birkaç bayt kontrol ediliyor, SWAR vektör komutları yerine sıradan yazmaçlardan yararlanıyor. Protokol ayrıştırıcıları, istenmeyen posta filtresinin simgeleştiricisi ve filtre ile yönlendirme ifadelerinin değerlendirilmesi de aynı ilkeyle elden geçirildi. Depolama tarafında sunucu veritabanı gidiş-dönüşlerini azaltıyor, nesneleri zstd ve posta, takvim ile kişi verileri için ayrı ayrı ayarlanmış sözlüklerle sıkıştırıyor ve ileti dizinlerini bellekte kompakt bir önbellekte tutuyor. Büyük hesaplara bellek bütçesi olan ayrı bir önbellek alanı ayrılıyor; anlık görüntüler yerel diskte, Redis'te ya da blob depolamada durabiliyor.
Üretici karşılaştırması alışılmadık ölçüde somut: sekiz AMD EPYC sanal çekirdeği, 32 GB RAM ve yerel NVMe diskli özdeş Azure makineleri; rakip olarak Postfix 3.11.7 ve Dovecot 2.4.5. Stalwart 38 karşılaştırmanın 35'inde önde çıktı. 250.000 ileti üzerinde tam metin arama 136 milisaniye yerine 3,75 milisaniye sürdü. Dovecot'un kazandığı üç testin hepsi tüm iletileri okundu olarak işaretlemekle ilgiliydi. Proje, betikleri ve ham verileri içeren karşılaştırma deposunu yayımlıyor ve sınırlamaları da belgeliyor; buna iki yığının diske yazma davranışı arasındaki farklar da dahil. Bu dürüst bir tercih, ama aynı zamanda "dünyanın en hızlı posta sunucusu" başlığının, proje dışından biri başka donanım ve başka posta kutusu profilleriyle tekrarlayana kadar yıldızlı bir not hak ettiği anlamına geliyor.
Aramanın kendisi de genişledi. Stalwart artık PDF, Office ve OpenDocument dosyaları, EPUB ve RTF içindeki metni hem eklerden hem de dosya deposundan çıkarıp dizinliyor; böylece bir sorgu, ileti gövdesinde hiç geçmeyen bir sözleşme maddesini ekte bulabiliyor. Boyut ve karmaşıklık sınırları belge işlemenin tükettiği kaynağı sınırlıyor. Yerleşik arama motoru sözcük konumlarını sakladığı için ifade aramalarını destekliyor; dizinleme işleri sınırlı sayıda paralel görevle arka plan kuyruğundan geçiyor, başarısız işler yeniden denenebiliyor ve dizinler yeniden kurulabiliyor. IMAP METADATA uzantısı da geliyor.
Yükseltme sırasında yöneticileri gerçek iş bekliyor. Stalwart, hâlâ standartlaşma sürecindeki "OAuth Profile for Open Public Clients" profilini artık tam olarak uyguluyor; dış OIDC sağlayıcılarının buna uyması gerekiyor. Uyumluluk anahtarları tek tek kontrolleri gevşetebiliyor ama profili desteklemeyen bir sağlayıcının yerini tutmuyor. Kümeler Redis tabanlı bellek içi depoya ihtiyaç duyuyor; tek sunucular yerleşik yerel depoyu alıyor. DKIM2, kuantum sonrası ML-DSA-44 ile Ed25519'u birleştiren hibrit imzalar kazanıyor. Kullanıcılar yetkili uygulamaların hesaplarına erişimini iptal edebiliyor, giden HTTP istekleri sunucu tarafı istek sahteciliğine karşı korunuyor ve ikincil LDAP sunucuları yedekleme sağlıyor. Ticari Enterprise sürümü birden çok yapay zekâ modeli sağlayıcısına bağlantı ve bir yapay zekâ istenmeyen posta sınıflandırıcısı ekliyor.
Bir değişikliğin kod kalitesiyle ilgisi yok, projenin nasıl yürütüldüğüyle doğrudan ilgili: Stalwart test paketlerini özel bir depoda tutacak ve yeni özellikleri yayımdan önce kapalı geliştirecek. Her sürümün kaynak kodu AGPL-3.0 altında özgür kalıyor. Kendi sunucusunu işletenler için bu bir takas: daha az görünür süreç, üründe aynı lisans. Geliştirmeyi açıkta izleyenler içinse bu, o dönemin sonu.




