Düzeltmeler​

  • Dokunmatik Ekranlarda Tablo Üzerindeki Aç düğmesinin Uzun Adları Kapatması Sorunu Giderildi. Önceden fareyle bir satırın adının sağ ucuna gelindiğinde görüntülenen Aç düğmesi, tüm satırlarda yer alarak uzun adların sonunu kapatıyordu (ör. “Book the venue for the spring lau…”). Artık dokunmatik ekranlarda bu düğme gösterilmeyecek. Çünkü adın solundaki sayfa simgesi zaten ilgili sayfayı açıyor. Fare kullanıldığında ise düğme, imleç üzerine getirildiğinde gösterilmeye devam edecek. Bu sorun hem telefon ve tabletlerdeki web uygulamasında hem de tablet modundaki Surface gibi dokunmatik öncelikli cihazlarda çalışan masaüstü uygulamasında giderildi.
  • Tablonun Seçim Sütununun Genişliğini Koruması Sağlandı. Önceden uzun bir başlık, tablonun telefon ekranından daha geniş hâle gelmesine neden oluyordu. 2.81.0 sürümünden itibaren dokunmatik ekranlarda sürekli gösterilen seçim sütununun genişliği 40 pikselden 18 piksele düşüyor ve seçim kutusu ekranın kenarına sıkışıyordu. Sütunun genişliğinin artık 40 piksel olarak korunması sağlandı.
  • Uzun Adlı Tabloların İlk Sütundan Açılması Sağlandı. Önceden dar bir bölmede ilk hücrenin genişliği bölmeyi aştığında, tablo açılırken 40 piksel kaydırılıyor; bu nedenle seçim sütunu ekran dışında kalıyor ve “New row” metni “ew row” şeklinde görüntüleniyordu. Tablo artık başlangıç konumunda açılacak ve yalnızca imleç hareket ettiğinde kaydırılacak şekilde düzeltildi. Bu sorun 2.81 sürümünden daha eskiydi.
  • Dar Bölmelerde + Row ve Başlık Menüsünün Ekranda Kalması Sağlandı. Önceden genişliği yaklaşık 490 pikselin altındaki bölmelerde veritabanı başlığındaki araçlar bölmenin dışına taşıyor, bu nedenle + Row ve … menüsüne erişilemiyordu. Araçların artık bölme içinde alt satıra geçmesi sağlandı. Geniş bölmelerde ise tek satırlı görünüm korundu.
  • Bu dört düzeltme, telefon uygulamalarına da aynı çekirdek güncellemeyle eklendi: İnceleme bekleyen sürümün yerine yeni bir derlemeyle iPhone 1.36.0, Android için ise 1.1.53 sürümü yayımlandı.

Düzeltmeler​

  • Bir görünümün yatay ve dikey kaydırma çubuklarının birleştiği köşedeki beyaz kare kaldırıldı. Önceden koyu temada hem yatay hem de dikey yönde kaydırılabilen görünümlerin sağ alt köşesinde, ekrandaki en parlak öğe olan 10 piksellik düz beyaz bir kare görüntüleniyordu. 2.80.0 sürümünde eklenen yüzme şeritleri sayesinde bu sorun kolayca fark edildi; çünkü şeritlere sahip bir pano her iki yönde de kaydırılabiliyordu. Geniş veritabanı tablolarında da aynı sorun yaşanıyordu. Artık bu köşede, açık veya koyu tema fark etmeksizin arkadaki sayfa görüntülendi. Sorun ilk olarak iPhone 1.35.0 ve Android 1.1.51 sürümlerinin telefon testlerinde tespit edildi ve aynı düzeltme her iki mobil uygulamaya da eklendi.

Sürüm Özeti​

  • ZenNotes 2.78.0 sürümüyle notlara kapak görselleri, diyagramlara matematik formülleri eklendi. Notion'daki gibi notların üst kısmında geniş bir kapak görseli kullanılabilecek şekilde düzenleme yapıldı. Kapakların klavyeden seçilmesi ve Obsidian'ın banner eklentileriyle uyumlu aynı frontmatter biçiminde kaydedilmesi sağlandı. Mermaid diyagramlarında $$...$$ biçimindeki matematik formüllerinin etiketlerde gösterilmesi ve tüm temalarda etiketlerin arka plan renklerinden bağımsız olarak okunabilir kalması sağlandı. Telefonlar için ana ekrana Takvim bileşeni eklendi ve PDF'lerin telefonun kendi görüntüleyicisinde açılması sağlandı.​

Özellikler​

  • Not kapakları eklendi. Notların üst kısmına, metinle birlikte kaydırılarak ekrandan çıkan geniş bir kapak görseli eklenmesi sağlandı. Vim modunda Space l c, komut paletindeki Kapağı Ekle seçeneği veya :cover komutuyla kapak seçici açılabilecek şekilde düzenlendi. Kapak seçiciye sekiz renk geçişi, The Met'in açık koleksiyonundan Hokusai, Van Gogh, Bierstadt ve Cole'un altı kamu malı fotoğrafı, NASA'nın Earthrise ve Blue Marble görselleri, kasadaki mevcut görseller ve yapıştırılan herhangi bir HTTPS görsel bağlantısı eklendi. Diskten görsel yükleme, görsel yapıştırma ve sürükleyip bırakma desteği sağlandı. Kapak üzerine gelindiğinde Kapağı Değiştir, Yeniden Konumlandır ve Kaldır seçenekleri eklendi. Yeniden konumlandırma işleminin sürükleme veya ok tuşlarıyla (j/k, Vim modunda) yapılması sağlandı. Enter tuşuyla yeni konumun kaydedilmesi, Escape tuşuyla eski konumun geri yüklenmesi sağlandı. Her düzenleme normal bir düzenleme olarak işlendiğinden u ve Cmd+Z ile geri alınabilmesi sağlandı.
  • Kapaklar standart frontmatter biçiminde kaydedildi. Kapakların, isteğe bağlı odak noktası banner_y ile birlikte banner: "![[assets/lisbon.jpg]]" biçiminde kaydedilmesi sağlandı. Obsidian'ın kullandığı bu anahtarlar sayesinde paylaşılan kasalarda aynı kapak görselinin gösterilmesi sağlandı. cover: kullanan notlarda da görsellerin görüntülenmesi sağlandı. Seçilen tüm görsellerin kasadaki assets klasörüne normal dosyalar olarak kaydedilmesi sağlandı. Böylece kapakların yerel kasalarda, kendi sunucusunda barındırılan sistemlerde, web uygulamasında ve uçtan uca şifrelenmiş kasalar dâhil Cloud Sync üzerinden çalışması sağlandı. Varlıklar görünümünde kapak görsellerinin de kullanımda olarak sayılması sağlandı. Ayarlar > Tipografi > Not kapakları bölümüne varsayılan olarak Notla birlikte kaydır, Düzenleyici ve Okuma görünümünün üzerinde sabit tut veya Gizle seçenekleri eklendi. Yapılandırma dosyasındaki karşılığı [appearance] altında note_cover_placement olarak belirlendi.
  • Yayımlanan notlara ve Hızlı Bakış'a kapak desteği eklendi. Yayımlanan notların herkese açık sayfalarında kapakların gösterilmesi sağlandı. macOS Hızlı Bakış önizlemesinde de (Finder'da Space tuşu) kapakların odak noktalarına uygun şekilde görüntülenmesi sağlandı.
  • Mermaid etiketlerinde matematik formülleri desteklendi. A["$$\frac{a}{b}$$"] gibi etiketlerde TeX kodu yerine KaTeX ile biçimlendirilmiş formüllerin gösterilmesi sağlandı. Bu davranış mermaid.live, GitHub ve Obsidian ile uyumlu hâle getirildi. Önizleme, düzenleyicinin canlı önizlemesi, genişletilmiş diyagram görünümü, Hızlı Bakış, yayımlanan notlar ve telefonlarda; akış şemaları, sıralama, durum, sınıf ve ER diyagramları ile zihin haritalarında destek sağlandı. Etiket yerleşimi yapılmadan önce formüllerin boyutlarının ölçülmesiyle kutuların içine doğru şekilde yerleştirilmesi sağlandı.
  • Mermaid etiketlerinin tüm arka plan renklerinde okunabilir olması sağlandı. Diyagramların Pele 1.12.0 ile çizilmesi sağlandı. classDef, style, sıralama diyagramlarındaki rect veya box ile seçilen arka plan renklerine göre etiketlerde koyu ya da beyaz metnin otomatik seçilmesi sağlandı. Böylece açık temada koyu düğümlerde, koyu temada ise açık düğümlerde metinlerin okunamaması sorunu giderildi. Etiketlerde <u>, <sub>, <sup>, <code> ve <kbd> biçimlendirmeleri desteklendi. List<T> gibi yalnızca etikete benzeyen metinlerin yanlışlıkla List biçiminde gösterilmesi düzeltildi. Çince ve Japonca etiketlerin diyagramı genişletmek yerine satırlara bölünmesi sağlandı. C4, sıralama diyagramlarındaki kendine gönderilen mesajlar, zaman çizelgeleri, sankey, treemap ve blok diyagramlarının yerleşimleri iyileştirildi.
  • Telefonlar için Takvim bileşeni eklendi. Dave'in isteği üzerine ana ekrana takvim bileşeni eklendi. Ay görünümünde yazı yazılan günlerin noktalarla, açık görevlerin işaretlerle, hafta numaralarının ve bugünün bir halka ile gösterilmesi sağlandı. Seçilen günün görevleri, her görevin yanında işaretleme kutusuyla birlikte görüntülenecek şekilde düzenlendi. Android'de bileşenin tam ekran boyutuna kadar genişletilmesi ve görev listesinin kaydırılabilmesi sağlandı. iPhone'da büyük boyutta günün, iOS 27'nin ekstra büyük boyutunda ise haftanın listelenmesi ve oklarla geçiş yapılması sağlandı. Bir görev işaretlendiğinde değişikliğin anında gösterilmesi sağlandı. Android'de uygulama kapalı olsa bile değişikliğin nota yazılması, iPhone'da ise uygulama bir sonraki açıldığında kaydedilmesi sağlandı. "Şu tarih için görev ekle..." seçeneğiyle klavye açık şekilde ilgili günün takviminin açılması sağlandı. Özellik, bu temel altyapı üzerine kurularak sonraki telefon sürümlerine eklendi.
  • Birlikte sunulan zn sürümü güncellendi. [terminal] math = "latex" ayarıyla zn aracının terminal önizlemesinde görüntülenen matematik formüllerini ve TikZ çizimlerini bilgisayarda kurulu TeX üzerinden oluşturması sağlandı. TeX kurulu olmadığında açık bir uyarı verilmesi ve zn doctor komutuyla kurulum komutlarının gösterilmesi sağlandı. Önizleme görsellerinin bölme alanının boyutu değiştikçe alana uygun şekilde yeniden boyutlandırılması sağlandı.

Düzeltmeler​

  • Telefonlarda PDF görüntüleme sorunları giderildi. Dave'in katkısıyla Android'de gömülü PDF'lerdeki Referans olarak aç ve Önizle seçeneklerinin boş bir sayfa açması sorunu düzeltildi. Android WebView'da yerleşik PDF görüntüleyici bulunmadığından PDF'lerin artık telefonun kendi görüntüleyicisinde açılması sağlandı. Görüntülenemeyen Önizle seçeneği PDF kartından kaldırıldı. Ayrıca telefon ekranının dar genişliğinde dosya adının tamamen sıkışması ve rozetin Önizle düğmesinin altına taşması sorunu düzeltildi. Bitti ve Geri seçenekleriyle referans panelinin kapatılması ve not ekranında kalınması sağlandı. iPhone'da PDF'ler önceki gibi uygulama içinde görüntülenmeye devam etti.
  • Tek bir nota sabitlenmiş PDF'lerde Referans Panelini Gizle seçeneği düzeltildi. Bir nota sabitlenmiş PDF kullanıldığında komut paletinde Referans Panelini Gizle ve Referans Paneline Odaklan seçeneklerinin bulunmaması sorunu giderildi. Her iki komutun da masaüstünde ve telefonlarda çalışması sağlandı.
  • Windows'ta kaydedilen notlardaki görevleri işaretleme sorunu düzeltildi. Windows satır sonlarına sahip notlarda görev listesinden bir görevi işaretleme, taşıma veya düzenleme işlemlerinin çalışmaması ve farklı satır sonlarının karışık kullanıldığı notlarda yanlış görevin değiştirilmesi sorunları giderildi. İşlemlerin doğru göreve uygulanması ve notun mevcut satır sonlarının korunması sağlandı.
  • Temalar seçicisinde yazarken mevcut temanın değişmesi sorunu düzeltildi. Komut paletindeki Temalar seçicisinde filtre yazıldığında, örneğin Gruvbox Hard koyu teması kullanılırken l harfiyle Nord Light temasına geçilmesi ve bu temanın kalıcı hâle gelmesi sorunu giderildi. Temaların yalnızca üzerlerine gelindiğinde önizlenmesi ve Escape tuşuyla önceki temanın geri yüklenmesi sağlandı. Ayrıca "apple light" veya "gruvbox dark hard" gibi mod ya da varyant adı içeren tema ailelerinin aranabilmesi sağlandı.
  • Telefonlardaki çekmecede yinelenen dönemsel klasörler kaldırıldı. uNyanda'nın katkısıyla Günlük, Haftalık ve Aylık Notlar klasörlerinin hem kısayol satırlarında hem de Notlar bölümünde iki kez gösterilmesi sorunu düzeltildi. Masaüstü kenar çubuğundaki davranışla uyumlu olarak, Notlar listesinden bu kısayolların zaten açtığı klasörler çıkarıldı. Düzeltmenin sonraki telefon sürümlerinde sunulması sağlandı.

Sürüm Özeti​

  • ZenNotes 2.76.0, görev yönetimine odaklanan bir sürüm olarak yayımlandı. Herhangi bir görevin sağ tıklama menüsünden istenen son tarih seçilebilir hâle getirildi. Son tarihi olmayan görevlerin Bugün grubu yerine kendilerine ait Son tarihi yok grubunda gösterilmesi sağlandı. Görevler listesinin tarih gruplandırması korunarak yüksek öncelikli görevleri üstte gösterebilmesi sağlandı.​
  • Ayrıca telefonlarda çözülemeyen Cloud çakışmaları düzeltildi. Bu çakışmalardan birinin korunan bir notu silebilmesine neden olan sorun giderildi. Not aramasında, arabellek değiştiricisinde ve [[ seçicisinde klasör adlarının tutarlı biçimde gösterilmesi sağlandı.​

Özellikler​

  • Görev menüsünden herhangi bir son tarih seçilebilmesi sağlandı. Tüm görev görünümlerinde ortak kullanılan menüdeki son tarih seçenekleri yalnızca gelecek haftaya kadar uzanıyordu. Daha ileri bir tarih seçmek için takvimden tarihi bulmak ve görev satırına due:2026-11-04 yazmak gerekiyordu. Bu işlem özellikle telefonlarda zahmetliydi. Artık Görevler listesinde, panoda, her iki takvimde ve telefonlarda bir göreve uzun basıldığında gösterilen menüde hazır seçeneklerin ardından Bir tarih seç… seçeneği sunuldu. Bu seçenek, not içinde @date yazıldığında açılan aylık takvimi görüntüler. Takvim, görevin son tarihine (son tarih yoksa bugüne) göre açılır ve bir güne tıklanarak tarih belirlenebilir. Vim modunda @ tuşuyla listede, panoda ve Görevler takviminde seçili görev için takvim açılabilir. Günlük nottaki bir görev için notun kendi tarihi seçildiğinde, bu tarih göreve açıkça yazılır ve görev taşındığında korunması sağlanır.
  • Son tarihi olmayan görevler için ayrı bir bölüm eklendi. Daha önce son tarihi olmayan açık görevler Bugün bölümünde gösteriliyor ve bu durum, son tarihi gelen görevlerle henüz tarih belirlenmemiş görevlerin birbirine karışmasına neden oluyordu. Artık Görevler listesinde bu görevler, Yaklaşan bölümünün ardından Son tarihi yok başlığı altında gösterildi. Durum panosuna da Yaklaşan ile Devam ediyor sütunları arasına Son tarihi yok sütunu eklendi. Bir kart bu sütuna sürüklendiğinde veya Shift+L / Shift+H kısayollarıyla bu sütuna taşındığında görevin due: değeri temizlendi. Ana sayfadaki Bugün bölümü yalnızca bugün son tarihi gelen veya süresi geçmiş görevleri içerecek şekilde düzenlendi. Günlük notlara yazılan görevler için Görevler notun tarihinde sona erer ayarı açık olduğunda, görevin son tarihi notun tarihi olarak kabul edilmeye devam edildi. Böylece bu görevlerin Bugün bölümünde kalması ve not tarihleri bulunduğundan Son tarihi yok sütununa taşınamaması sağlandı.
  • Görevler listesinin önceliğe göre sıralanması sağlandı. Önceden listedeki her grup, görevlerin notlardaki satır sırasına göre düzenleniyordu. Bu nedenle yüksek öncelikli bir görev, düşük öncelikli beş görevin altında kalabiliyordu. Artık listenin üstüne eklenen Sıralama menüsüyle her grup Not sırası veya Öncelik seçeneklerine göre sıralanabiliyor. Öncelik sıralamasında yüksek, orta, düşük ve önceliksiz görevler bu sırayla gösteriliyor; aynı öncelikteki görevler son tarihlerine göre sıralanıyor. Bugün, Yaklaşan ve diğer gruplandırmalar korunuyor. Vim modunda s tuşuyla sıralama değiştirilebiliyor. Ex komut satırında : order priority ve : order note komutları kullanılabiliyor. Komut paleti, Ayarlar → Görevler ve config.toml dosyasındaki [view] bölümü altında yer alan tasks_list_order ayarı da aynı sıralamayı belirliyor. Shift+J/K kısayolları ve sürükleyerek sıralama yalnızca Not sırası modunda kullanılabiliyor; Öncelik modunda bu işlemler Not sırası moduna nasıl dönüleceğini belirtiyor. zn 0.11.0 sürümünde de aynı ayar anahtarı kullanılıyor; görev listesinde bu ayar O tuşuyla değiştirilebiliyor.


Hata Düzeltmeleri​

  • Bulut senkronizasyonundaki çakışmalar sorunsuz çözüldü ve hiçbir notun silinmesi önlendi. (Sorun Discord üzerinden Dave tarafından bildirildi.) Senkronizasyonu takılı kalan bir telefonda, Untitled.md dosyası için iki çakışma oluştu. Diğer cihazdaki sürüm korunduğunda dosyanın zaten mevcut olduğu belirtildi. İkinci çakışmada ise dosyanın yeniden değiştiği gerekçesiyle her iki seçenek de reddedildi. Ayrıca telefonda daha önce bulunmayan bir notun diğer cihazdaki sürümü seçildiğinde, telefonun koruduğu notun her iki cihazda da silinmesine neden olundu. Yerel bir Cloud sunucusuna bağlı iki cihazla yeniden oluşturulan bu sorunların üç farklı nedeni belirlendi. Bu cihazın daha önce düzenlediği bir dosyayla karşılaşılan not, o dosyayla çakışma olarak kuyruğa alınıyordu. Artık Cloud bu notu güncelledikten sonra her eşitleme işleminde çakışma çözüme kavuşturuluyor; not, Cloud'un koruduğu konuma yerleştirilirken bu cihazdaki dosya değiştirilmeden bırakılıyor. Diğer cihazdaki sürüm, bu cihazda aynı yolu kullanan bir dosya bulunduğunda onun yerini alamıyordu. Artık mevcut dosya, uygun olan bir sonraki dosya adına taşınıyor (Untitled 2.md ve devamı). Ayrıca Cloud'daki bir yol başka bir dosya tarafından kullanıldığında, genel bir “yeniden değişti” mesajı yerine bu durum açıkça bildiriliyor.
  • Bir notun klasör adı her yerde aynı şekilde gösterildi. 2.75.0 sürümünde not araması tam kasa yolunu (inbox/Projects/Atlas), [[ seçicisi Projects/Atlas/ yolunu, arabellek değiştiricisi ise doğrudan üst klasör adını gösteriyordu. Ayrıca seçici, arşivlenmiş 2025/Atlas klasörünü gelen kutusundaki bir klasör gibi gösteriyordu. Artık üç görünümde de notun klasörü aynı kuralla adlandırılıyor: Ana notlar alanının içindeyse bu alanın içindeki klasör, başka bir yerdeyse kasa kökünden başlayan ve önce alanı belirten yol gösteriliyor (archive/2025/Atlas).
  • Varlık taşıma işleminde v1..2 gibi klasör adlarının kullanılabilmesi sağlandı. Varlık taşıma penceresi, art arda iki nokta içeren tüm yolları reddediyor ve boş yanıt verildiğinde varlığın kasa köküne taşınacağını belirtiyordu. Ancak tüm platformlarda varlıklar assets/ klasörüne yerleştiriliyordu. Artık yalnızca başlı başına bir yol bileşeni olan .. reddediliyor, boş yanıtın varlığı assets/ klasörüne taşıyacağı belirtiliyor ve işlem buna uygun şekilde gerçekleştiriliyor. Böylece kasa kökünde bulunan bir varlık da bu klasöre taşınıyor.
  • zn 0.11.0 sürümü pakete dahil edildi. macOS ve Linux'ta ZenNotes tarafından yüklenen zn sürümü artık 0.11.0 oldu. Bu sürümde, Son tarihi yok özelliği ve önceliğe göre sıralama için terminal desteği sunuldu.

Yenilikler:​

  • Tüm kayıtlar için sayfa oluşturma. Bir veritabanı kaydı, kendisine ait bir sayfa oluşturulduktan sonra bağlantı olarak kullanılabiliyor. Önceden sayfa oluşturmak için her kaydı tek tek açmak gerektiğinden, CSV dosyasından dönüştürülen veritabanlarında bağlantı verilebilecek sayfalar bulunmuyordu. Veritabanına eklenen yeni ⋯ menüsünden, komut paletinden veya Vim modu açıkken tablo görünümünde O tuşuna basarak Tüm kayıtlar için sayfa oluştur seçeneğini kullanabilirsiniz. Sayfası olmayan her kayıt için veritabanı klasöründe yeni bir sayfa oluşturulur; kayıt özellikleri frontmatter olarak, başlığı ise sayfa başlığı olarak eklenir. Mevcut sayfalar korunur. Kayıt adıyla aynı ada sahip bir sayfa dosyası zaten klasörde bulunuyorsa (örneğin bir betik tarafından oluşturulmuşsa) dosya kopyalanmak yerine kayıtla ilişkilendirilir. Başlığı boş olan satırlar atlanır. İşlem başlamadan önce kullanıcıya onay sorulur ve yapılacaklar açıklanır. Terminalden zn base pages "<database>" komutuyla da aynı işlem yapılabilir. Önce sonucu görmek için --dry-run parametresi kullanılabilir. Bu özellik, bu sürümle birlikte gelen zn 0.10.0 ile eklendi.
  • Vim modu açıkken veya kapalıyken sonraki ve önceki sekmeye geçiş. Ctrl+PageDown ve Ctrl+PageUp kısayolları (macOS'te Cmd+Option+Sağ Ok ve Cmd+Option+Sol Ok), açık sekmeler arasında gt ve gT komutlarıyla aynı sırada, paneller arasında da geçiş yaparak ilerler. Sekmelerin sonuna veya başına gelindiğinde geçiş diğer uçtan devam eder. Komut paletine Next Tab ve Previous Tab seçenekleri eklendi. Ctrl+Tab kısayolu, önceki notaya geçiş işlevini korur. Sekmeler arasında geçiş yapmasını tercih ediyorsanız bu kısayolu Ayarlar → Keymaps bölümünden yeniden atayabilirsiniz.
  • Eksik bir güne bağlantı verildiğinde günlük notun oluşturulması. Henüz notu bulunmayan [[2026-11-03]] gibi bir tarih bağlantısını açtığınızda, takvimde olduğu gibi günlük notlar klasöründe günlük şablonunuz kullanılarak o güne ait not oluşturulur ve ilgili tarihte görünür. Haftalık ve aylık başlıklar da aynı şekilde çalışır. Önceden bu bağlantı, Gelen Kutusu'nda oluşturulan ve takvim tarafından sayılmayan sıradan bir not oluşturuyordu. Bir klasörü belirten bağlantı ise o klasörde sıradan bir not oluşturmaya devam eder.
  • zn 0.10.0 sürüme dâhil edildi. macOS ve Linux'ta ZenNotes tarafından yüklenen zn sürümü artık 0.10.0. Bu sürüm, tüm kayıtlar için sayfa oluşturma özelliğinin terminal üzerinden kullanılmasını sağlayan zn base pages komutunu ekliyor. Ayrıca 0.9.2 sürümündeki şu yenilikleri de içeriyor: Satır kaydırıldığında ikinci $ işareti satırın sonuna gitmeyi sağlıyor ve üç ters tırnak işareti (```) kod bloğu oluşturuyor.

Hata Düzeltmeleri:​

  • Kısa notların altındaki boş alana tıklandığında klavye düzenleyicide kalıyor. Son satırın altındaki, ilk satırın üstündeki veya geniş pencerelerde metin sütununun yanındaki boş alana tıklandığında klavye odağı düzenleyicinin dolgu alanına geçiyordu. Bu nedenle Vim tuşları çalışmıyor ve metne tekrar tıklanana kadar düzenleyici donmuş gibi görünüyordu. Artık bu alanlara tıklandığında imleç tıklanan konuma, notun altındaki boş alana tıklandığında ise notun sonuna yerleşiyor ve klavye odağı düzenleyicide kalıyor. Bu davranış, Vim modu açık veya kapalıyken tüm düzenleyicilerde geçerli.
  • Windows'ta Ctrl+Shift+Z yineleme işlemini gerçekleştiriyor. Düzenleyicinin menüsünde Yinele komutu Ctrl+Shift+Z olarak gösteriliyordu ancak Windows'ta yalnızca Ctrl+Y çalışıyordu. Artık her iki kısayol da çalışıyor.
  • Quick Capture, kullanıcının bulunduğu ekranda açılıyor. Birden fazla ekran kullanıldığında Quick Capture kısayolu, paneli daha önce ilk açıldığı ekranda gösteriyordu. Artık panel, fare işaretçisinin bulunduğu ekranda açılıyor ve önceki konumlandırma biçimini koruyor: ortadaysa ortada, köşedeyse köşede açılıyor. Bir ekrana geri dönüldüğünde panel en son bulunduğu konuma geri geliyor. Ekranda zaten açık olan, örneğin sabitlenmiş bir panel ise yerinde kalıyor.
  • Takvimde bir günün üzerine gelindiğinde o güne ait not gösteriliyor. Takvimin açılır önizlemesi, notun tamamını tek bir paragrafa dönüştürüyor ve dört satırdan sonra kesiyordu. Artık not; başlıklar, listeler ve görev kutuları kendi satırlarında olacak şekilde, okunabilir biçimi korunarak gösteriliyor. Önizleme takvimin üzerine değil, yanına yerleştiriliyor.
  • Düzenlenen Daily Note şablonu yeni günlük notlara uygulanıyor. Yerleşik Daily Note şablonu düzenlendikten sonra oluşturulan her yeni günlük notta yalnızca başlık görünüyordu. Bu durum şablon sıfırlanana kadar devam ediyordu. Artık düzenlenen şablon yeni günlük, haftalık ve aylık notlara uygulanıyor. Ayrıca Ayarlar bölümünde [Missing template] yerine düzenlenen şablon gösteriliyor.
  • Uzun notlardaki daraltılmış bilgi kutuları başlangıçta kapalı kalıyor. Uzun bir notun derinliklerinde bulunan ve > [!type]- biçiminde tanımlanan bir bilgi kutusu, düzenleyicinin ilk yükleme sırasında okuduğu bölümün dışında kaldığında genişletilmiş olarak açılıyordu. Bu sınır, M serisi Mac'lerde yaklaşık 2 MB, daha yavaş bilgisayarlarda ise daha düşüktü. Artık düzenleyici ilgili bölüme ulaştığında bilgi kutusu otomatik olarak daraltılıyor; kullanıcının açtığı kutular kapatılmıyor ve imlecin bulunduğu konumun üzeri daraltılmıyor.
  • Uzun notlar yüklendikleri anda doğru görüntüleniyor. Düzenleyici, uzun notları süre sınırlarına sahip parçalar hâlinde okuyordu. Bazı öğeler kısmi sonuç üzerinden görüntüleniyor ve notun geri kalanı yüklendiğinde yeniden çizilmiyordu. Bu sorun; dil etiketi olmayan kodların gövde yazı tipiyle gösterilmesini, girintisi eksik liste satırlarını, kod içindeki # yorum satırlarında başlık oklarının görünmesini, hashtag'leri, şablon belirteçlerini, vurgulamaları, wikilink'leri ve kod içinde biçimlendirilen görev etiketlerini etkiliyordu. Artık okuma tamamlandığı anda bu öğeler yeniden çiziliyor. Ayrıca düzenlenen bir diyagram, okuma sırasında hata göstermek yerine son başarılı çizimini koruyor.
  • Uzun notlarda başlık daraltma okları daha az kaynak tüketiyor. 3 MB boyutundaki bir notun en üstünde, imleç hareketi başına okların maliyeti yaklaşık 44 ms'den 0 ms'ye düştü. İmlecin tamamladığı hareketin süresi de 120 ms'den 79 ms'ye indi.

Sürüm Özeti:​

  • ZenNotes 2.73.0 sürümünde, başlık çubuğu kapatıldığında pencerenin sekme çubuğundan taşınması sağlandı ve tarayıcı uygulamasına da aynı seçeneği eklenerek başlık çubuğunun gizlenmesi sağlandı. Ayarlar ekranının dar pencerelere ve tabletlere uyumu iyileştirildi, Vim'in o ve O tuşlarıyla alıntı veya bilgi kutusu biçiminin korunması sağlandı ve birlikte sunulan zn sürümü 0.9.1'e yükseltildi.

Detaylı Sürüm Notları:​

  • Başlık çubuğu kapalıyken sekme çubuğu pencereyi taşımayı sağlar. Ayarlar → Görünüm → Chrome → Pencere başlık çubuğu seçeneği kapatıldığında, pencereyi tutup sürükleyerek taşımanın tek yolu kenar çubuğu başlığındaki boş alandı. Kenar çubuğu kapatıldığında bu alan da ortadan kalkıyordu ve Mac'te pencere hiç taşınamıyordu. Bu sorun, Discord'da SLP tarafından, penceresini sekme çubuğundan taşımaya izin veren Obsidian'ın yanındaki bir video ile bildirildi. Artık sekme çubuğundaki boş alan, Obsidian'da olduğu gibi başlık çubuğu işlevi görüyor: pencereyi taşımak için sürüklenebiliyor; sekmeler, geri ve ileri düğmeleri ile diğer tüm düğmeler ise tıklanabilir durumda kalıyor. Kenar çubuğu başlığı (üstündeki şerit dâhil) ve not listesi başlığı da aynı şekilde çalışıyor. Bu davranış yalnızca pencerenin üst kısmındaki sekme çubuklarında geçerli; dolayısıyla üst üste yerleştirilmiş bölünmüş görünümün alt yarısı başlık çubuğu işlevi görmüyor. İlk kurulum ekranında ve kasa seçilmemiş ekranında da aynı amaçla üstte bir şerit bulunuyor. Başlık çubuğu kapatıldığında pencere çerçevesiz kalan Windows ve Linux sistemlerinde de aynı davranış geçerli.

  • Tarayıcı uygulamasının başlık çubuğu gizlenebiliyor. Kendi sunucunuzda barındırılan tarayıcı uygulamasında, notun başlığını gösteren çubuğu kaldırmanın bir yolu yoktu. Artık Ayarlar → Görünüm → Chrome bölümünde Başlık çubuğu seçeneği de bulunuyor. Bu seçenek kapatıldığında çalışma alanı sayfanın en üstünden başlıyor ve tercih ilgili tarayıcı için saklanıyor.

  • Ayarlar, dar pencerelere ve tabletlere uyum sağlıyor. Dar bir masaüstü penceresinde, iPad'de veya Android tablette birçok Ayarlar satırında etiket tek kelimelik bir sütuna sıkışıyor, kontrol ise kartın dışına taşıyordu. Bu sorun; tüm metin alanlarında (Kasa adı ve şablon seçicileri), konum, yazı tipi ve kaydırıcı satırlarında ve tek satırda bir tuş ile üç düğme gösteren Keymap bölümünün tamamında görülüyordu. Artık yan yana yerleşim için yeterli alan olmadığında kontrol, etiketin altına taşınıyor. Keymap'in filtre alanı da karta sığacak şekilde düzenlendi.

  • Vim'in o ve O tuşları, alıntı veya bilgi kutusu biçimini sürdürüyor (#961). Vim modu açıkken, alıntı veya bilgi kutusu içindeki bir satırda o ya da O tuşuna basıldığında, altında alıntının dışında kalan boş bir satır açılıyordu. Artık bu tuşlar, Enter tuşunun başlatacağı biçimlendirmeyle yeni bir satır açıyor: alıntıda > , alıntı içindeki liste öğesinde > - , numaralı alıntı listesindeki öğede bir sonraki numara ve alıntı içindeki kod bloğunda alıntı işaretiyle girintisi korunmuş bir satır oluşturuluyor. Alıntıların dışında herhangi bir değişiklik yapılmadı.

  • Yavaş ayrıştırma tamamlandığında bilgi kutuları ve kod blokları yeniden çiziliyor. Yavaş bir bilgisayarda veya uzun bir notta düzenleyicinin ayrıştırma işlemi zaman sınırını aşabiliyor ve biraz sonra tamamlanabiliyordu. Bu durumda bilgi kutusu, bir sonraki tuş vuruşuna veya imleç hareketine kadar ham > satırları şeklinde kalabiliyor ve kod blokları da görünür olmaya devam ediyordu. Artık ayrıştırma tamamlanır tamamlanmaz içerik yeniden çiziliyor. Sorun, sürüm PR'ı sırasında CI tarafından tespit edildi.

  • Birlikte gelen zn sürümü 0.9.1'e yükseltildi. macOS ve Linux'ta ZenNotes tarafından yüklenen zn artık 0.9.1 sürümünde. TUI önizlemesinde [[double brackets]] gibi birden fazla kelime içeren vikibağlantılar artık satırın bölme alanından daha geniş olmasına ve tüm ekranın kaydırılmasına neden olmuyor.

Yeni Özellikler​

  • Görev Klasörleri (#962): Önceden görevler, kasadaki tüm onay kutularını içeriyordu. Okuma listelerini veya içe aktarılan arşivleri görevlerden hariç tutmanın tek yolu, ilgili klasörü ve sonradan oluşturulan diğer klasörleri tek tek hariç tutmaktı. Artık görevlerin hangi klasörlerde bulunacağını belirleyebilirsiniz. Kenar çubuğunda bir klasöre sağ tıklayıp Görev Klasörü Olarak Kullan seçeneğini belirleyin. Vim modu açıksa klasör üzerinde m tuşuna basarak da aynı menüyü açabilirsiniz. En az bir görev klasörü belirlendiğinde yalnızca bu klasörlerdeki notlar Görevler listesine, panolara ve takvimlere dâhil edilir; diğer tüm onay kutuları normal onay kutusu olarak kalır. Görev klasörü listesi boş bırakılırsa önceki davranış korunur ve kasanın tamamı taranır.

  • Görevlerden Hariç Tut seçeneği görev klasörlerinin içinde de çalışmaya devam eder. Örneğin, Tasks klasörünü görev klasörü olarak ayarlayıp Tasks/Someday klasörünü hariç tutarak bir gün yapılacaklar listesini görev görünümünün dışında bırakabilirsiniz. Her iki liste de Ayarlar → Görevler → Kontrol Listeleri bölümünde bulunur ve buradan klasör yolları elle girilebilir. Ayarlar kasanın kendi içindeki .zennotes/vault.json dosyasına kaydedildiğinden zn task list, MCP araçları ve kendi sunucusunu barındıran kullanıcılar da aynı ayarları kullanır. Bir klasör yeniden adlandırıldığında veya taşındığında her iki listedeki ilgili yollar da güncellenir; bu davranış daha önce hariç tutulan klasör listesinde bulunmuyordu. Telefon uygulamalarına görev klasörü desteği bir sonraki güncellemeyle eklenecek.

  • İşleme Dönüştürülebilen Bulut Hata Mesajları: Cloud özelliği hakkında hangi değişikliğin yapılması gerektiği sorulduğunda uNyanda, hata mesajlarını iyileştirmeyi önerdi. Cloud kullanan herkes teknik bilgiye sahip olmadığından hata mesajlarının neyin yanlış gittiğini, nedenini ve nasıl çözülebileceğini açıklaması hedeflendi.

  • Önceden masaüstü uygulamasında çevrimdışıyken fetch failed, zaman aşımında The operation was aborted due to timeout, dosya yüklemesinde ZenNotes Cloud object upload failed (411). ve web sitesinden kaldırılmış bir cihaz için sunucunun Authentication is required. mesajı gibi teknik ifadeler gösteriliyordu. Ayrıca Expected sync sequence 41, received 43 gibi yaklaşık otuz dahili eşitleme kontrolünün hata mesajları da doğrudan kullanıcıya yansıtılıyordu. Çakışma inceleme ve yayımlama pencerelerinde ise Electron'ın Error invoking remote method ... hata metni olduğu gibi gösteriliyordu. Artık tüm Cloud hataları, kullanıcıların anlayabileceği şekilde yeniden düzenlendi. Mesajlarda ne olduğu, sorunun Cloud tarafında mı yoksa kullanıcı tarafında mı gerçekleştiği ve hangi işlemin yapılması gerektiği açıklanıyor. Gerektiğinde ZenNotes Cloud'a Bağlan, Bağlantıyı Kes, Şimdi Eşitle, İncele, Arşivi Kaydet veya zennotes.org üzerindeki Faturalandırma gibi ilgili düğme ve sayfaların adları belirtiliyor.

  • Ayarlar → Cloud bölümünde hata mesajının altında kapalı durumda bir Ayrıntılar alanı gösteriliyor. Bu alanda özgün hata metni, durum bilgisi ve hata kodu bulunuyor; ayrıca Ayrıntıları Kopyala ve Sorun Bildir seçenekleri eklendi. Durum çubuğunda, üzerine gelindiğinde gösterilen açıklamalarda ve bildirimlerde yalnızca anlaşılır hata mesajı gösteriliyor. Çevrimdışı bağlantı veya zaman aşımı durumlarında artık “Cloud'a ulaşılamıyor” mesajı kullanılıyor.

  • Depolama, dosya sayısı ve kasa sınırları; Eşitleme, Yedekleme veya Yayımlama özelliklerini içermeyen planlar (süresi dolmuş ücretsiz aylar dâhil); şifreleme parolası ve kurtarma anahtarı hataları ile çakışma incelemesindeki geçerliliğini yitirmiş seçimler için de hata mesajları yeniden düzenlendi. Cloud hizmetinin kendisinin gönderdiği hata yanıtları da güncellendi; böylece eski uygulama sürümlerinde de bu mesajların yeni biçimleri gösteriliyor. Uygulama içi kullanım kılavuzuna Cloud bir sorun bildirdiğinde adlı yeni bir bölüm eklendi.

Düzeltmeler​

  • Aylardır Cloud ile eşitlenmeyen bir cihaz, eksikleri artık kendiliğinden tamamlıyor. ZenNotes Cloud, değişiklik günlüğünü 90 gün boyunca saklıyordu. Son eşitlemesi bu süreden daha eski olan bir cihaz ise uygulamanın çözemediği bir durumla karşılaşıyordu: Her eşitleme başarısız oluyor, cihazın bağlantısını kaldırıp yeniden bağlamak da işe yaramıyordu. Bu nedenle aylarca kullanılmayan bir dizüstü bilgisayar yeniden eşitleme yapamıyordu. Artık eşitleme, Cloud'daki tüm dosyaların listesini yeniden oluşturarak başlıyor ve ardından değişiklik günlüğünü takip etmeye devam ediyor. Cihaz uzaktayken üzerinde yaptığınız değişiklikler korunuyor: Burada yapılan düzenlemeler düzenleme olarak gönderiliyor, silinen dosyalar silme işlemi olarak işleniyor ve yeni dosyalar yükleniyor. Her iki tarafta da düzenlenen dosyalar ise hiçbir zaman üzerine yazılmadan, karar vermeniz için sıraya alınıyor. Cloud'da silinmiş ancak bu cihazda düzenlenmiş bir dosya da korunarak karar vermeniz için sıraya ekleniyor. İşlem devam ederken durum göstergesi, her dosyanın Cloud ile karşılaştırılarak eşitlemenin tamamlandığını belirtiyor. Aynı düzeltme, telefonlara da bir sonraki güncellemeyle ulaşacak.

  • Cloud'un artık kabul etmediği bir cihazın oturumu kapatılıyor. Web sitesinden hesabınızdan kaldırılan veya oturum açma süresi dolan bir cihazın oturumu artık telefonlarda olduğu gibi masaüstü uygulamasında da kapatılıyor. Durum satırında "Signed out of Cloud" yazıyor ve yeniden bağlanana kadar Ayarlar bölümünde Connect ZenNotes Cloud seçeneğinin üzerinde oturumun neden kapatıldığı açıklanıyor. Notlarınız cihazda kalıyor. Bu işlem yalnızca Cloud'un kendi yanıtı oturumun geçersiz olduğunu belirttiğinde gerçekleşiyor. Büyük bir yükleme sırasında depolama sunucusunun isteği reddetmesi veya herkese açık bir Wi-Fi ağının giriş sayfasının Cloud'un yanıtı yerine gelmesi durumunda ise bu işlem uygulanmıyor ve oturumunuz açık kalıyor.

  • Başarısız Cloud oturum açma işleminin nedeni gösteriliyor. Windows, Linux ve geliştirme sürümlerinde oturum açma işlemi yerel bir döngü adresi üzerinden tarayıcıya geri döndüğü için başarısızlığın nedeni hiçbir yerde gösterilmiyordu. Tarayıcı yalnızca oturum açmanın başarısız olduğunu belirtiyor, Ayarlar bölümünde ise beş dakikaya kadar "Finish signing in in your browser" mesajı kalıyordu. Artık tüm platformlarda neden bir iletişim penceresinde gösteriliyor ve uygulama Connect ZenNotes Cloud seçeneğine geri dönüyor. Cloud meşgul olduğunda veya erişilemediğinde oturum açma başarısız olursa, işlemin kendiliğinden yeniden denenmediği belirtilerek Connect ZenNotes Cloud seçeneğinin tekrar seçilmesi isteniyor.

  • Simge ve renk seçicileri klavyeyi doğru şekilde kullanıyor (#960). Kenar çubuğundayken m tuşuna basmak veya Change icon… ya da Change color… seçeneklerini kullanmak bir seçici açıyordu; ancak tuşlar arka plandaki kenar çubuğunu kontrol etmeye devam ediyordu. j ve k tuşları arka planda satır seçimini değiştiriyor, l ilgili satırı açarak odağı seçiciden düzenleyiciye taşıyor ve yazılan metnin arkadaki notu değiştirmesine neden oluyordu. Enter tuşu da seçim yapmak yerine satırı açıyordu. Vim modu kapalıyken yön tuşları ve Enter da aynı soruna yol açıyordu. Artık açık bir iletişim penceresi, kenar çubuğunun ve diğer panellerin klavyeyle kontrol edilmesini engelliyor. Her iki seçicide de yön tuşları seçenekler arasında gezinmeyi sağlıyor; Vim modu açıkken h, j, k ve l tuşları da aynı işlevi görüyor. Enter seçimi onaylıyor, Escape pencereyi kapatıyor ve seçici mevcut simge veya renk seçili olacak şekilde, görünür bir odak halkasıyla açılıyor. Panel odağını değiştiren (Alt+h/j/k/l) ve notları değiştiren, yeniden açan veya oluşturan kısayollar da iletişim penceresi açıkken devre dışı kalıyor. macOS'te Cmd+N, Shift+Cmd+N ve Ctrl+1–9; diğer platformlarda ise Ctrl+N, Shift+Ctrl+N ve Alt+1–9 bu kapsama giriyor. Renk seçicisi açıkken Alt+L daha önce odağı arkadaki düzenleyiciye taşıyor, Cmd+N ise orada yeni bir not oluşturuyordu.

  • Bir açıklama kutusu içindeki matematik veya kod bloğu artık kutunun içinde kalıyor (#961). Bir alıntı veya açıklama kutusunun içinde $$ yazıp Enter tuşuna basıldığında, satırlardaki > işaretleri kaybolarak blok kutunun dışına çıkıyordu. Bu durumda Önizleme, kutunun içinde boş bir matematik alanı gösterirken formülü altında düz metin olarak görüntülüyordu. Artık yeni satır ve kapanış $$ işareti, alıntı işaretini (> , > > veya açıklama kutusu içindeki liste öğesinin girintisini) koruyor. Aynı durum kod çitleri (```) için de geçerli. Açıklama kutusu içindeki çitli bir kod bloğunda Enter tuşuna basıldığında da > işareti korunuyor; böylece kod kartı artık Enter'a bastığınız yerde sonlanmıyor.

  • Panodan yapıştırılan ekran görüntülerine yapıştırma zamanı temel alınarak ad veriliyor (#775). Panodan yapıştırılan her görsel assets/ klasörüne önce image.png, ardından image 2.png, image 3.png ve bu şekilde kaydediliyordu. Bunun nedeni, uygulamanın tarayıcı altyapısının panodaki tüm görsellere image.png adını vermesi ve uygulamanın bu adı kullanıcı tarafından seçilmiş gibi korumasıydı. Artık yapıştırılan ekran görüntüleri, Obsidian'da olduğu gibi, yapıştırma tarihini ve saatini içeren Pasted Image 2026-10-19 142312.png biçiminde adlandırılıyor. Finder veya Dosya Gezgini üzerinden kopyaladığınız dosyalar ise kendi adlarını koruyor.

  • Vim'in normal modu, tüm düzenleyicilerde giriş yöntemi düzenleyicilerinin devreye girmesini engelliyor (#921). Korece, Çince veya Japonca giriş yöntemi etkin olduğunda, kasa dışından açılan bir Markdown dosyası normal modda giriş yöntemi aracılığıyla metin alıyordu. hjkl tuşları aday penceresinin yanıp sönmesine neden oluyor, ia ise ekleme moduna geçmek yerine dosyaya yazılıyordu. Ana düzenleyicide bu durum zaten engelleniyordu (Ayarlar → Düzenleyici, Keep the input method out of normal mode). Aynı koruma kayan not ve Hızlı yakalama özelliklerinde de bulunuyordu; ancak kasa dışından açılan dosyaların penceresinde, sabitlenmiş referans panelinde ve şablon düzenleyicisinde yoktu. Artık bu alanlarda da koruma sağlanıyor.

  • Uygulamayla birlikte gelen zn sürümü 0.9.0'a yükseltildi. macOS ve Linux'ta ZenNotes tarafından yüklenen zn artık 0.9.0 sürümünü kullanıyor. Bu sürüm, kasanın görev klasörlerini zn task list, zn task watch ve zn mcp komutlarında destekliyor. Ayrıca TUI'nin Ayarlar bölümünde hariç tutulan klasörler artık tüm uygulamaların okuduğu konuma kaydediliyor; önceden burada yapılan değişiklikler hiçbir etki oluşturmuyordu. Güncellemeye 0.8.1 sürümündeki düzeltmeler de dahil edildi: Tamamlanan bir görev notu, TUI panosunda kendi özel durum sütununda kalıyor ve zn mcp asistanlara uygulamanın talimatlarını yeniden iletiyor.

Yenilikler:​

  • Görev durumu değiştiğinde tepki verme: zn task watch (#941). ZenNotes'un macOS ve Linux sürümleriyle birlikte sunduğu zn komut satırı aracı (CLI), 0.7.1 sürümünden 0.8.0 sürümüne güncellendi. zn task watch, bir görevin durumu her değiştiğinde yeni bir satır çıktısı verir. Bu değişiklikler görev notundaki status:, onay kutusu görevinin @status: alanı veya onay kutusunun kendisi üzerinden gerçekleşebilir. Kanban panosunda bir kartı sürüklemek, ZenNotes veya başka bir düzenleyicide notu değiştirmek ve zn task toggle komutunu kullanmak bu kapsamdadır. Görev metnini değiştirmek veya aynı durumla yeniden kaydetmek ise değişiklik olarak algılanmaz. json seçeneği kullanıldığında her değişiklik; notun dosya yolu, başlığı ve bağlantısı, görev metni ile previousStatus (önceki durum) ve status (mevcut durum) alanlarını içeren ayrı bir satır olarak sunulur. Böylece bir betik, dosyaları taramaya veya önceki durumları hatırlamaya gerek kalmadan bir kart Ready (Hazır) durumuna geçtiği anda bir yapay zekâ ajanını başlatabilir. zn yalnızca değişiklikleri bildirir; değişiklik gerçekleştiğinde çalışacak işlemi kendi betiğiniz belirler. Böylece çalıştırılabilir kodlar, tüm cihazlarla eşitlenen kasa içinde tutulmaz. Araç, yerel kasayı dosyalar üzerinden, ZenNotes Server'ı ise sunucunun ilettiği değişiklikler üzerinden izler. zn task list --json komutu da her görev için durum bilgisini sunar. Ayarlar → CLI üzerinden yüklenen zn, henüz güncellenmediyse bu sürümle birlikte 0.8.0'a yükseltilir. Homebrew kullananlar şu komutu çalıştırabilir: brew upgrade zn

  • Yapay zekâ asistanları artık her görevin durumunu görebiliyor. ZenNotes'un MCP sunucusu (Ayarlar → MCP) üzerinden kullanılan list_tasks aracı artık her görevin status alanını da döndürüyor. Bu alan, Kanban panosu özel duruma göre gruplandırıldığında görevin hangi sütunda bulunduğunu belirtir. Görev notlarında status: alanı kullanılır; bu alan yoksa varsayılan durum open (açık) olur. Onay kutusu görevlerinde ise @status: alanı veya notun ön bilgi bölümünde (frontmatter) tanımlanan durum, uygulamanın bunları okuma biçimine uygun olarak değerlendirilir. Böylece bir asistana "Review sütununda neler var?" diye sorulduğunda doğru yanıtı verebilir. Aracın status parametresi görevleri duruma göre filtrelemeye devam eder: open (açık), done (tamamlandı) ve waiting (beklemede). Parametrenin açıklaması da bu davranışı netleştirecek şekilde güncellendi. zn mcp komutu da zn 0.8.0 ile aynı alanı sunuyor. Böylece her iki MCP sunucusu da aynı bilgileri sağlayabiliyor.

  • Uygulamadan ayrıldığınızda telefonlardaki eşitleme işlemi tamamlanıyor. iPhone ve Android cihazlarda ZenNotes Cloud, daha önce yalnızca uygulama ekranda açıkken eşitleme yapıyordu. Uygulamadan çıkıldığında devam eden eşitleme de durduruluyordu. Bu nedenle başka bir uygulamaya geçmeden hemen önce yazılan bir not, diğer cihazlara ancak telefonda ZenNotes yeniden açıldığında ulaşabiliyordu. Artık uygulamadan ayrılırken eşitleme işlemi önce tamamlanıyor. Son düzenleme birkaç saniye içinde kaydedilip sunucuya yükleniyor. Bu özelliği kapatmak için Ayarlar → Cloud → Sync in the background (Arka planda eşitleme) seçeneğini devre dışı bırakabilirsiniz. Ancak uygulama tamamen kapalı kaldığı sürece eşitleme yapılmaz. Her iki işletim sistemi de uygulamaları arka planda kısa süre sonra askıya alır. Bu nedenle diğer cihazlarda yapılan değişiklikler, uygulamayı yeniden açtığınızda eşitlenir. Bu yenilik iPhone 1.26.0 ve Android 1.1.40 sürümleriyle sunuluyor.

Düzeltilen Hatalar:​

  • Hızlı yakalama kısayolları artık Vim'in normal modunda da çalışıyor (#942, @uNyanda tarafından hazırlanan #944). Vim etkin olduğunda Hızlı Yakalama penceresindeki Ctrl+P (not aç), Ctrl+N (yeni not oluştur) ve Linux ile Windows'ta Ctrl+W (pencereyi gizle) kısayolları, düzenleyici ekleme modunda olmadığı sürece çalışmıyordu. Bunun nedeni, Vim'in bu tuşları önce kendi komutları olarak algılamasıydı. Linux ve Windows'ta bu tuşlar pencerenin temel kısayollarıdır. macOS'ta ise Cmd tuşuyla kullanılan sürümler çalışırken Ctrl tuşlu sürümler çalışmıyordu. Artık bu kısayollar Vim'in tüm modlarında çalışıyor. Not seçicide veya komut paletinde Ctrl+N ve Ctrl+P, alt bilgi bölümünde ve kullanım kılavuzunda belirtildiği gibi seçimler arasında aşağı ve yukarı hareket ediyor. Not seçici artık her notun adını eksiksiz gösteriyor. Önce klasör adı, ardından klasör içindeki dosya yolu görüntüleniyor. Bilgi uzun olduğunda yolun sol tarafı kırpılıyor. Önceden dosya yolu önce gösteriliyor ve notun adını görünmez hâle getirebiliyordu. Her iki liste de seçim yaparken listenin altına inildiğinde seçili satırın görünür kalmasını sağlıyor. Alt bilgi bölümü, o anda kullanılabilen kısayolları gösteriyor. Kapatma ipucu ise yeniden atanmışsa geçerli Etkin sekmeyi kapat kısayolunu gösteriyor; bu kısayol atanmamışsa ipucu gizleniyor.

  • Linux ve Windows'ta Notlarda Ara bölümünde Ctrl+P artık yukarı hareket ediyor (#938, @uNyanda tarafından hazırlanan #939). Linux ve Windows'ta Notlarda Ara penceresi Ctrl+P, macOS'ta ise Cmd+P ile açılıyor. ZenNotes'taki tüm listelerde Ctrl+P yukarı, Ctrl+N ise aşağı hareket etmek için kullanılıyor. Ancak Notlarda Ara penceresinde Ctrl+P, seçimi yukarı taşımak yerine komut paletini kapatıyordu. Bu davranış düzeltildi; artık Ctrl+P seçimi yukarı taşıyor. Notlarda Ara özelliği artık hiçbir platformda açma-kapama anahtarı olarak çalışmıyor. Pencere; Escape tuşuna basıldığında, bir not açıldığında veya pencerenin dışına tıklandığında kapanıyor. Böylece macOS'ta açık komut paletindeyken Cmd+P tuşlarına basmak da paleti kapatmıyor.

Katkıda Bulunanlar İçin:​

  • MCP görev durumu (#943, b74d25ba): apps/desktop/src/mcp/vault-ops.ts dosyasındaki VaultTask.status alanı eklendi. Bu alan, her görev notu için atanıyor; durum belirtilmemişse open (açık) değerini alıyor. Durum bilgisi içeren her satırda ise satırdaki ilk @status: alanı (küçük harfe dönüştürülerek) veya notun frontmatter bölümündeki varsayılan durum kullanılıyor. Uygulamanın kendi alan okuma işlevi olan inlineTaskField, yeniden kopyalanmak yerine packages/shared-domain paketinden dışa aktarıldı ve MCP sunucusu tarafından içe aktarıldı. Durum belirteci content alanında kalmaya devam ediyor; böylece görev kimlikleri ve içerikleri değişmiyor. Eski TypeScript CLI da aynı tarama mekanizmasını kullanıyor. Bu sayede task list --json komutuna da durum alanı eklendi. list_tasks açıklaması artık bu alanı belirtiyor; status parametresinin açıklaması da zn mcp ile aynı ifadeleri kullanarak görevleri duruma göre filtrelediğini açıklıyor. Go sürümündeki karşılıkları ZenNotes/tui deposunda 7657716 ve 58b0e56 kayıtlarıdır (zn 0.8.0).

  • Hızlı yakalama (Quick Capture) (#944, @uNyanda tarafından hazırlanan e91aa5cd; inceleme sonrası düzeltme: f8e7fe17): QuickCaptureApp.tsx, yakalama aşamasında çalışan bir pencere dinleyicisi aracılığıyla Mod+N, Mod+P ve Mod+Shift+P kısayollarını yönetiyor. Bir katman (overlay) açıkken bu dinleyici devre dışı kalıyor. Bu yaklaşım, App.tsx dosyasının kendi düzenleyici kısayollarını ele alma biçimiyle aynı; ilgili kayıtlar #510 ve #579. useCloseWindowShortcut işlevine capture parametresi eklendi. Bu parametre yalnızca Hızlı Yakalama penceresinde etkinleştiriliyor. Not seçicideki satır düzeni, BufferPalette bileşeninin #635 numaralı çalışmasındaki düzenle eşleştirildi. dir="rtl" içindeki bir span öğesinde alt yol, U+202A ve U+202C Unicode yönlendirme karakterleriyle çevreleniyor. Böylece rakamlarla başlayan dosya yolları doğru sırayla okunuyor. Her iki katman da seçili öğeyi görünür alana kaydırıyor; bu işlem data-qc-idx anahtarına göre izleniyor. useCloseShortcutDisplay() (close-shortcut.ts), useCloseWindowShortcut ile aynı yöntemle Etkin sekmeyi kapat kısayolunu okuyor ve aynı depolama olayı üzerinden güncel kalıyor. Toplam 13 yeni test eklendi.

  • Notlarda Ara (Search Notes) (#939, @uNyanda tarafından hazırlanan 7565112b; yorum sonrası düzeltme: 4ac1f637): App.tsx içindeki focusPaneHandler, olay yakalama aşamasında çalışıyor. global.searchNotes dalı, daha önce Ctrl+P tuşunu komut paletinin isPalettePreviousKey() işlevi algılamadan önce paleti kapatıyordu. Bu işlem sırasında preventDefault() ve stopImmediatePropagation() çağrılıyordu. Açık paleti kapatan bu açma-kapama davranışı kaldırıldı. Paleti açan mevcut yol ve #510 numaralı çalışmadaki olay yakalama aşamasında kayıt mekanizması değiştirilmedi.

  • Not dilbilgisi (Note Grammar) (#940, ea5528ea): Ayrıştırıcıda (parser) herhangi bir değişiklik yapılmadı. cm-markdown-language.ts dosyasının başlık açıklamasında, tam içerik okumalarının neden korunduğu belirtildi: ayrıştırma işlemi zaman aşımına uğradığında ve gövdenin başlangıç noktası değiştiğinde. Kesme işleminden sonra mevcut blokları yeniden kullanma yaklaşımı denenmişti. Ancak yeni bir ayrıştırmayla yapılan 50.000 karşılaştırmada 29 kez eski veya geçersiz sonuç üretirken mevcut dilbilgisi yaklaşımı yalnızca 3 kez hata verdi. Kesme işleminden sonra okumanın yapılmasını doğrulayan yeni bir test eklendi.

  • Birlikte sunulan CLI: zn 0.8.0 (fb4177b7) sürümü eklendi. terminal-release.json dosyası, zn-release-1 doğrulamasından sonra bayt düzeyinde birebir kopyalandı. Kaynak kaydı 58b0e56, protokol sürümü 1 ve dört arşivin tamamı checksums.txt ile eşleşiyor. Hazırlanan darwin-arm64 ikili dosyası zn v0.8.0 sürümünü bildiriyor.

  • Yenilikler (What's New): packages/app-core/src/lib/whats-new.ts dosyasına 2.70.0 sürümüne ait kayıt eklendi (9e50b245).
    • Belgeler: Uygulama içi kullanım kılavuzunun CLI kartı 0.7.2 ve 0.8.0 sürümlerini kapsayacak şekilde güncellendi. Görevler ve klasörler kartına zn task watch eklendi. Hızlı Yakalama penceresinin Ctrl+N ve Ctrl+P kısayollarına ilişkin açıklamaları da güncellendi. Web sitesinde aynı üç bölüm ve zn task watch komutuna ait belgeler yayımlandı. Bu değişiklikler ZenNotes/website#79 üzerinden kullanıma sunuldu.
    • Telefonlar: Uygulamadan ayrılırken son eşitlemenin tamamlanması özelliği, iOS #61 ve Android #113 kayıtlarıyla eklendi.
  • Her iki uygulama kabuğuna da src/bridge/background-sync.ts dosyası eklendi. Son eşitleme işlemi için yerel platformda bir başlatma ve bitirme mekanizması kullanılıyor. iOS tarafında bunun için UIApplication.beginBackgroundTask kullanılıyor. Ayar anahtarı zn:background-sync olarak tanımlandı; anahtar mevcut değilse özellik varsayılan olarak açık kabul ediliyor. Android için geliştirilen 15 dakikalık WorkManager işi, birleştirme öncesinde oluşturulup kaldırıldı. Bunun nedeni, Android uygulamayı askıya aldığında eşitlemeyi gerçekleştiren WebView işleyicisinin ayrı bir süreç olarak dondurulması ve WorkManager görevinin bu süreci uyandıramamasıydı.

Yeni Özellikler​

  • Bir notta 50 adede kadar ek dosya yayımlama desteği eklendi. Daha önce ZenNotes, notu ve tüm eklerini tek bir istekte gönderdiği ve Cloud hizmeti istek başına en fazla 20 dosyayı kabul ettiği için web'de yayımlanan bir not en fazla 20 ek dosya ve 25 MB boyutuyla sınırlıydı. Artık her ek dosya önce doğrudan depolama alanına yükleniyor, ardından not yayımlanıyor. Böylece her not için 50 adede kadar ek dosya ve toplam 100 MB desteği sunuluyor. Tek bir dosya için geçerli olan 10 MB sınırı ise korunuyor. Tüm sınırlar herhangi bir dosya yüklenmeden önce kontrol ediliyor. Bir not bu sınırları aşıyorsa uygulama hemen uyarı veriyor ve hangi değişikliğin yapılması gerektiğini belirtiyor. Örneğin:
    • “Bu nota 51 dosya eklenmiş, ancak yayımlanan bir not en fazla 50 dosya içerebilir. Bazı ekleri kaldırıp yeniden yayımlayın.”
  • Ek dosyalar belleğe tamamen yüklenmek yerine doğrudan diskten aktarılıyor. Ayrıca yavaş internet bağlantılarında artık tüm dosyaları içeren tek ve büyük bir isteğin gönderilmesi gerekmiyor.
  • Not yayımlamak için ZenNotes Cloud'un Publish eklentisi gerekiyor. Aynı özellik iPhone ve Android uygulamalarına da sonraki güncellemelerde gelecek.

Hata Düzeltmeleri​

  • Ek dosya sınırının her yerde aynı olması sağlandı. Uygulama 50 ek dosyaya izin verirken hizmet yalnızca 20 dosyayı kabul ediyordu. Bu nedenle 21–50 arasında ek dosya içeren notlar, tüm dosyalar yüklendikten sonra reddediliyordu. Artık hem uygulama hem de hizmet 50 ek dosyaya izin veriyor.

Hata Düzeltmeleri​

  • Mermaid diyagramlarındaki uzun etiketlerin kesilmesi sorunu düzeltildi. Uzun etiketler artık kesilmek yerine alt satıra kaydırılıyor. Mermaid, bir etiketin alt satıra geçip geçmeyeceğini belirlemek için etiketi 200 piksel genişlik sınırıyla tek satırda düzenliyor ve elde edilen genişliğin tam olarak 200 piksel olup olmadığını kontrol ediyor. Ancak cihaz ölçeği kesirli olduğunda tarayıcı, örneğin ekran ölçeği %133 iken 199,995 piksel veya Retina Mac'te uygulama yakınlaştırması %120 iken 200,00001 piksel gibi çok küçük farklılıklar döndürebiliyor. Bu nedenle kontrol başarısız oluyor, etiket tek satırda kalıyor, metin kutusu sınır genişliğine göre boyutlandırılıyor ve metnin geri kalanı kesiliyordu. Örneğin, “aurora, forwarding disabled P” ifadesinin sonundaki metin görünmüyordu. Artık etiketler her ölçek düzeyinde doğru şekilde alt satıra geçiyor. Bu düzeltme hem düğüm kutularındaki hem de bağlantı çizgileri üzerindeki etiketlerde geçerli. Aşağıdaki alanlarda da sorun giderildi:
    • Düzenleyicinin canlı önizlemesi
    • Önizleme ekranı
    • Genişletilmiş diyagram görünümü
    • PDF dışa aktarımı
    • Paylaşılan notlar
  • Zaten sığan diyagramların görünümü ise eskisiyle tamamen aynı kalıyor. (#911)

Katkıda Bulunanlar İçin Teknik Ayrıntılar​

  • Mermaid (#911): Mermaid'in "addHtmlSpan" işlevinde kullandığı "bbox.width === width" kontrolü, Mermaid 11.17.2 ve 12.1.0 sürümlerinde hâlâ tam eşitlik gerektiriyor. Bu nedenle Mermaid'i daha yeni bir sürüme yükseltmek sorunu çözmüyor.
  • "packages/app-core/src/lib/mermaid-render.ts" dosyasındaki "withCapAwareLabelMeasurement", "mermaid.render" işlevini sarmalıyor. Diyagram oluşturulurken "foreignObject" içindeki satır içi piksel cinsinden maksimum genişlik sınırına yarım cihaz pikseli kadar yakın ölçülen bir öğenin genişliği, bu sınırla aynı değerde raporlanıyor.
  • "Element.prototype.getBoundingClientRect" üzerindeki yama, çakışan ilk çizim işlemi başladığında uygulanıyor ve son işlem tamamlandığında kaldırılıyor.
  • Tüm Mermaid çizimleri "renderMermaidSvg" üzerinden gerçekleştiriliyor; bu yapının korunması gerekiyor. "mermaid-render.test.ts", Chromium'un bildirdiği genişlik değerlerini taklit eden bir Mermaid uygulaması kullanarak test yapıyor.
  • Mermaid, genişlikleri belirli bir toleransla karşılaştırmaya başladığında bu geçici çözüm kaldırılabilir.