Pratikte release notları

Değer verilen release notes en iyi uygulamaları

5 dk okuma güncellendi:

Önemli olan release notes en iyi uygulamaları, bir sonucu olanlardır: girdiyi merge anında yazın, kimin etkilendiğini belirtin, gerekli eylemi hiç olmasa bile belirtin, breaking change’lere tarih verin, değişiklik başına bir kalıcı girdi tutun, sonuca göre gruplayın, ve sıkıcı bölümü koruyun. Her biri okuyucunun ne yaptığını değiştirir. Bu konudaki diğer tavsiyelerin çoğu notların nasıl göründüğünü değiştirir.

Release notes en iyi uygulamaları arayın ve stil tavsiyesi bulun: net olun, öz olun, sade dil kullanın, ekran görüntüleri ekleyin. Bunların hiçbiri yanlış değil ve hiçbiri hiçbir şeyi değiştirmiyor, çünkü hiçbir ekip belirsiz olma niyetiyle oturmamıştır. Aşağıdaki uygulamalar atlamanın maliyetiyle birlikte gelir, çünkü ekli bir başarısızlık modu olmayan bir uygulama sadece bir tercihtir.

UygulamaAtlamanın maliyeti
Girdiyi release’te değil merge’de yazmakSonradan yeniden oluşturulan girdiler “çeşitli iyileştirmeler” der
Kimin etkilendiğini belirtmekHer okuyucu bunun kendisini ilgilendirmediğine karar verir
Gerekli eylemi belirtmek, “hiçbiri” dahilKırk aynı destek ticket’ı, ve en kötüsünü varsayan okuyucular
Breaking change’lere tarih vermek, versiyonlamak değilSon tarih geçtikten sonra keşfedilir
Değişiklik başına kalıcı, bağlanabilir bir girdiKimse “bu ne zaman değişti” diye cevap veremez
Sisteme göre değil sonuca göre gruplamakOkuyucular kendi bölümlerini bulmak için mimarinizi bilmek zorunda kalır
Sıkıcı bölümü korumakGüvenlik, uyumluluk ve sürüm uyuşmazlığı hata ayıklayan kişi kaynaklarını kaybeder

Release notes için en iyi uygulamalar nelerdir?

Girdiyi merge ettiğinizde yazın, yayımladığınızda değil. Atlamanın maliyeti: sürümü commit geçmişinden yeniden oluşturan kişi değişikliği yapan kişi değildir, ve niyeti tahmin edecektir. İki hafta sonra yazılan girdiler “çeşitli iyileştirmeler” diyenlerdir.

Kimin etkilendiğini isimle belirtin. “Business plandaki ekipler”, “v1 export API’sini kullanan herkes”, “Postgres 14’te self-hosted kurulumlar”. Atlamanın maliyeti: her okuyucu kendisini ilgilendirip ilgilendirmediğini anlamak zorunda kalır, ve çoğu ilgilendirmediğine karar verir.

Gerekli eylemi, hiç olmasa bile belirtin. Atlamanın maliyeti: destek aynı soruyu kırk kez cevaplar, ve sormayan okuyucular bir şey gerektiğini varsayıp erteler.

Breaking change’lere sürüm numarası değil tarih verin. “v5’te kaldırıldı” v5’in ne zaman geleceğini bilmeyen biri için hiçbir şey ifade etmez. “1 Kasım’da çalışmayı bırakır” herkes için aynı şeyi ifade eder. Atlamanın maliyeti: son tarih geçtikten sonra keşfedilir. Neyin buna dahil olduğu ve onu yayımlamak için kontrol listesi breaking change nedir içindedir.

Değişiklik başına kalıcı, bağlanabilir bir girdi tutun. Bir e-posta arşiv değildir ve bir Slack mesajı referans değildir. Atlamanın maliyeti: altı ay sonra kimse “bu ne zaman değişti” diye cevap veremez, siz de dahil. E-postanın yine de bir işi var, ürün güncellemesi e-posta şablonu’nda ele alınan; kaydı değiştirmek yerine ona işaret eder.

Sisteme göre değil sonuca göre gruplayın. Atlamanın maliyeti: okuyucu hangi bölümün onu ilgilendirdiğini anlamak için mimarinizi kafasında tutmak zorunda kalır. Bundan çıkan sıralama release notes nasıl yazılır içindedir.

Sıkıcı bölümü koruyun. Bağımlılık güncellemeleri ve dahili değişiklikler en altta kalır, her biri bir satır. Atlamanın maliyeti: güvenlik ekibi, uyumluluk incelemecisi ve sürüm uyuşmazlığı hata ayıklayan kişi tek kaynaklarını kaybeder. Bunu en sık yanlış yapan girdiler düzeltmelerdir; hata düzeltmesi release notes onları, okuyucu harekete geçip geçmeyeceğini bilecek şekilde nasıl yazacağınızı gösterir.

Changelog en iyi uygulamaları nelerdir, ve nasıl farklıdır?

Bir changelog bir referanstır, bu yüzden uygulamaları ikna etmek yerine eksiksizlik ve yapı ile ilgilidir. Önemli olan dört tanesi:

  • Satır başına sabit bir girdi türü. Added, Changed, Deprecated, Removed, Fixed, Security. Bir ev stili değil, bir filtre: “sadece breaking change’leri” istemeyi mümkün kılan şeydir. Keep a Changelog konvansiyonu genellikle bunun kaynağıdır.
  • Yayımlanmamış bölüm. Girdilerin merge ile release arasında yaşadığı yer. Yokluğu ekiplerin girdileri geç yazmasının sebebidir.
  • ISO tarihleri. 2026-08-28, 28/08/26 değil, çünkü ikincisi okuyucuya göre iki farklı gün anlamına gelir.
  • Commit başına değil değişiklik başına bir girdi. Bir hatayı düzelten üç commit bir girdidir.

İki artefakt changelog vs release notes içinde detaylıca karşılaştırılır; kısa versiyon changelog’un uygulamalarının eksiksizliği, release notes’un uygulamalarının ise dikkati koruduğudur. Kurumsal müşteriler için özel release notes bunun sadece müşterileriniz artık hepsi aynı build üzerinde olmadığında ortaya çıkan bir versiyonunu ele alır: aynı eksiksizlik ve dikkat hedefleri, ama hepsine aynı anda yayınlanmak yerine hesap başına ayarlanmış.

Kargo kültü olan üç şey

Girdi türü olarak emoji. Bir roket ve bir İngiliz anahtarı bir taksonomi değildir. Düzenli görünürler ve faydalı bir şekilde filtrelenemezler, sıralanamazlar, veya bir ekran okuyucu tarafından okunamazlar. Kelimeler kullanın, ve emoji istiyorsanız, kelimeden sonra koyun.

Barındırılan bir ürün için başlık olarak semantik sürüm numaraları. Semver, API uyumluluğu hakkında bir sözdür. Kimsenin sürümünü seçmediği bir SaaS ürünü için, başlıktaki bir sürüm numarası haber gibi giydirilmiş dahili arşivlemedir. Semver’i changelog’da tutun ve duyurunun dışında.

İçeriğe bakılmaksızın bir programa göre yayımlamak. İçinde bir şey olmayan aylık notlar insanlara notlarınızın gürültü olduğunu öğretir. Söyleyecek bir şey olduğunda yayımlayın. Changelog geri kalanını kapsar.

Gerçekten zor olan tek şey

Changelog ve duyuruyu her şeyi iki kez yazmadan senkronize tutmak.

Çoğu ekip tek bir sayfayla başlar, hedef kitleler farklılaştığında onu böler, ve sonra sessizce ikisinden birinin çürümesine izin verir, genellikle changelog’un, çünkü ona bağlı bir son tarih yoktur. Çıkış disiplin değil yapıdır: girdileri bir tür, tarih ve hedef kitle ile veri olarak tutun, ve her iki yüzeyi de bunun görselleştirmeleri olarak ele alın. Changelog araçları özetimiz bunun için ne olduğunu, rekabet ettiğimiz araçlar dahil, kapsar, ve Beamer alternatifi sayfası çoğu ekibin başladığı widget’a karşı dürüst karşılaştırmadır.

Release notes şablonu girdiler var olduğunda seçim adımının yaşadığı yerdir.

Yalnızca birini benimseyecekseniz

Girdiyi merge anında, sabit bir formatta, bir türle yazın. Bu sayfadaki diğer her uygulama bu yerine oturduğunda kolaylaşır, ve hiçbiri onsuz hayatta kalmaz.

FAQ

Release notes ekran görüntüleri içermeli mi? Sadece değişen şeyin kullanımda olduğu ekran görüntüleri. Kimsenin ziyaret etmediği bir ayarlar sayfasının ekran görüntüsü kaydırma ekler, bilgi eklemez. Sonucu ve etkilenen okuyucuyu belirten metin, ikisini de göstermeyen bir görüntüyü yener.

Bir breaking change için release notes nasıl yazılır? Önce tarih, sonra etkilenen çağıranlar, sonra gerekli eylem, sonra göç. Asla sürüm numarasıyla başlamayın. Örnek bir girdiyle tam form breaking change nedir içindedir.

Release notes mühendislik mi pazarlama tarafından mı yazılmalı? Değişikliği yapan mühendis tarafından, merge anında hazırlanır, ve onu yabancı gibi okuyan biri tarafından düzenlenir. İkisinden hiçbiri tek başına bir müşterinin harekete geçebileceği notlar üretmez.

İdeal release notes formatı nedir? Önce son tarihi olan öğeler, sonra yeni yetenekler, sonra iyileştirmeler, sonra geri kalanı için her biri bir satır olan bir liste. Release notes şablonu bu formatın doldurulacak bir sayfa halidir.


Bu yazıdaki teknik iddialar bağımsız olarak kontrol edilmedi. Yanlış bir şey varsa bize söyle, düzeltelim.

changeloop'ta ilgili sayfalar: Release notu şablonu, Changelog araçları karşılaştırması

changeloop
Döngüyü kapatan bir changelog geliştiren ekip. Kullanıcıların bir şey ister, ekibin teslim eder, isteyen kişi haberdar olur.