11 puan yazan GN⁺ 2025-09-17 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Terminal kayıt aracı asciinema CLI 3.0, baştan sona Rust ile yeniden yazıldı; buna dosya formatı yükseltmesi ve canlı terminal yayını özellikleri eklendi
  • Rust kullanımı sayesinde statik binary dağıtımı, hızlı başlangıç süresi sağlanırken; AVT entegrasyonu ile eşzamanlılık ve sistem çağrılarının işlenmesi kolaylaştı, yeni özelliklerin uygulanması için de bir temel oluşturuldu
  • Yeni asciicast v3 formatı, olay aralığına (delta) dayalı zamanlama, term alt meta veri yapısı, "x" çıkış olayı ve # satır yorumlarını getirerek düzenlenebilirliği ve ifade gücünü artırıyor
  • Canlı terminal yayını, yerel gömülü sunucu ve uzak relay (self-hosted/resmi sunucu) olmak üzere iki modda sunuluyor; ağ koşullarına göre uyarlanabilir buffering ile akıcı bir izleme deneyimi sağlıyor
  • Temel felsefe Local-first olarak yeniden düzenlendi; rec artık dosya adını zorunlu kılıyor ve yükleme işlemi ayrılıyor (upload <dosya>), kendi sunucusunu seçme istemi ile self-hosting dostu yapı ve istenmeyen veri sızıntısını önleme güçlendiriliyor

3.0 sürümü: Rust ile yeniden yazılan asciinema CLI ve başlıca iyileştirmeler

  • asciinema CLI 3.0 resmen yayımlandı
  • Bu sürümde tüm kod Rust ile yeniden yazıldı ve aynı anda kayıt dosyası formatı yükseltildi
  • Terminal oturumlarının canlı yayını gibi çeşitli özellikler eklendi/geliştirildi

Rust ile yeniden yazım ve genel iyileştirmeler

  • CLI'nin tamamen Rust ile yeniden yazılması, geliştirici deneyimini ve bakım yapılabilirliği artırdı; statik binary dağıtımıyla kurulum yolu sadeleşti, başlangıç hızı arttı ve özellik genişletilebilirliği sağlandı
    • Yazarın deneyimine göre sistem çağrıları ve eşzamanlılık işleme Python'a kıyasla daha kolay olduğu için bu tercih yapıldı; ayrıca asciinema virtual terminal (AVT) CLI'ye entegre edilerek yeni özelliklerin uygulanması mümkün hale geldi
  • Sonuç olarak performans, dağıtım ve mimari açısından gelecekte eklenecek özellikler için bir temel oluşturuldu

asciicast v3 dosya formatı

  • asciicast v3 dosya formatına geçişle birlikte, mevcut v2'de görülen çeşitli eksikler gideriliyor
  • v2'nin mutlak zaman damgaları, aralık (interval/delta) tabanlı zamanlama ile değiştirildi; böylece olay ekleme/silme sırasında sonraki zaman damgalarının topluca ayarlanması sorunu ortadan kalktı
  • Başlık yapısı yeniden düzenlenerek terminalle ilgili meta veriler term anahtarı altında gruplanıyor ve oturum çıkış durumunu kaydetmek için "x" (exit) olayı destekleniyor
  • Dosya içinde satır yorumlarına (#) izin verilerek okunabilirlik ve yönetim kolaylığı artırıldı
  • Verilen örnek snippet, yapı ve olay akışı bileşimini sezgisel biçimde gösteriyor
  • Yeni format asciinema server ve asciinema player tarafından zaten destekleniyor

Canlı terminal yayını

  • Yerel mod: Gömülü HTTP sunucusu ile aynı ağda izlenebilen bir yayın sunuyor; veriler yalnızca izleyici tarayıcısına aktarıldığı için gizlilik öncelikli bir mod
    • CLI, en güncel asciinema player ile paketlenmiş geliyor; böylece anında oynatma mümkün oluyor, ancak güvenlik duvarında port açılması gerekebilir
  • Uzak mod: asciinema server (resmi ya da self-hosted) relay olarak kullanılarak paylaşılabilir URL üzerinden yayın dağıtılıyor
    • İki mod aynı anda kullanılabildiği için duruma uygun dağıtım yapılandırması mümkün
  • Player, gerçek zamanlı ağ gecikmesi ölçümüne dayalı uyarlanabilir buffering ile düşük gecikme ve buffer underrun önleme arasında denge kuruyor
  • Sunucu yayını otomatik kaydetmeyi destekliyor; şu anda asciinema.org işletilen sunucusunda kayıt kapalı ve aynı anda 1 yayın sınırı politikası uygulanıyor
    • Self-hosting durumunda kayıt varsayılan olarak açık ve eşzamanlı yayın sayısında sınır yok

Local-first yaklaşımına dönüş

  • Geçmişte asciinema rec, yükleme davranışını varsayılan akışa dahil ettiği için farkında olmadan herkese açma ve bilgi sızdırma riski taşıyordu
    • 2.4 sürümünde yükleme öncesi seçim istemi ile bu geçişe hazırlık yapılmıştı; 3.0'da ise dosya adı zorunluluğu, rec içinden yükleme özelliğinin kaldırılması ve bunun upload <dosya> şeklinde açık bir komut olarak ayrılması sağlandı
  • Temel felsefe net biçimde local-first olarak tanımlanarak, kullanıcının yayınlama/paylaşma kararını bilinçli olarak vermesi için akış yeniden tasarlandı
    • Yalnızca yerel kullanım tam olarak destekleniyor ve yalnızca gerektiğinde açıkça yayımlama yapılıyor

Self-hosting dostuluğunun güçlendirilmesi

  • upload / stream / auth ilk kez kullanıldığında sunucu URL'si seçme istemi gösteriliyor; varsayılan olarak asciinema.org öneriliyor ancak kullanıcının tercih ettiği instance seçimi kaydediliyor
    • Bu zaten yapılandırma dosyası/ortam değişkeni ile belirtilebiliyordu; ancak etkileşimli ortamlarda (yeni VM, Dev container vb.) ayarlamak artık daha kolay
  • Bu değişiklik, self-hosting kullanılabilirliğini artırırken aynı zamanda istenmeyen dış yüklemeleri önleyen ek bir güvenlik önlemi işlevi görüyor

Dağıtım ve kullanım bilgisi

  • Paketlerin çeşitli dağıtım depolarına yansıması biraz zaman alabilir
  • Bu arada GNU/Linux ve macOS için önceden derlenmiş binary dosyaları GitHub releases üzerinden indirilebilir ya da kaynaktan derleme yapılabilir
  • Sürüm notları ve ayrıntılı değişiklik geçmişi GitHub'daki release notes ve CHANGELOG belgelerinde bulunabilir

Henüz yorum yok.

Henüz yorum yok.