İçeriğe geç

Değişiklik günlüğü kuralları

Bu sayfa, genel kullanıma açık her NextPDF deposunun değişiklik kaydederken ve sürüm yayımlarken uyduğu sözleşmeyi tanımlar. Bu bir kural referansıdır; paket davranışını tanımlamaz. Her paket ve her sürüm için yayın notları, ilgili deponun kendi CHANGELOG.md dosyasında bulunur. Bu ortak kurallar, depolar arası değişiklik günlüğü özetinin tutarlı ve sızıntısız kalmasını sağlar.

Her commit konusu type(scope): description biçimini kullanır. type değeri şunlardan biridir:

TürAnlamıKullanıcıya yönelikSürüm etkisi
featYeni özellikevetminor yükseltme
fixDavranış düzeltmesievetpatch yükseltme
perfDavranış değişikliği olmadan performans iyileştirmesievetpatch yükseltme
refactorGözlemlenebilir değişiklik olmadan iç yeniden yapılandırmahayıryok
docsYalnızca belgelerhayıryok
testYalnızca testlerhayıryok
build / ciYalnızca derleme veya işlem hattıhayıryok
choreBakım, bağımlılıklar veya araçlarhayıryok
revertÖnceki bir commit’in geri alınmasıdeğişirdeğişir

Geriye dönük uyumluluğu bozan bir değişiklik, türün veya kapsamın ardından gelen bir ! işaretiyle (feat(api)!: …) ya da bir BREAKING CHANGE: alt bilgisiyle belirtilir. Her iki işaret de Semantic Versioning kapsamında major sürüm yükseltmesine yol açar. Güvenlikle ilgili bir düzeltmeyi, depolar arası özetin Security sütununda görünebilmesi için kaydedin.

Sürüm yükseltmeleri mekanik olarak belirlenir. Geriye dönük uyumluluğu bozan herhangi bir değişiklik içeren sürüm major’dır. Böyle bir değişiklik yoksa ve sürüm herhangi bir feat içeriyorsa minor’dır. Bunlar da yoksa ve sürüm herhangi bir fix veya perf içeriyorsa patch’tir. 1.0 öncesi paketler, SemVer §4 uyarınca geriye dönük uyumluluğu bozan bir değişiklik için minor sürümü yükseltebilir. Özetin doğru kalması için commit, geriye dönük uyumluluğu bozan işareti yine de taşır.

Her deponun CHANGELOG.md dosyası Keep a Changelog 1.1.0 standardını izler: girdiler, yayımlanan sürüme göre Added, Changed, Deprecated, Removed, Fixed ve Security başlıkları altında gruplanır. Depoda süren notlar bir [Unreleased] bölümünde tutulabilir, ancak depolar arası özet yalnızca etiketlenmiş, yayımlanmış sürümleri sayar. Yayımlanmamış çalışma genel dizinde asla görünmez.

Depolar arası özet nasıl türetilir (ve nasıl sızıntısız tutulur)

“Depolar arası özet nasıl türetilir (ve nasıl sızıntısız tutulur)” başlıklı bölüm

Özet tablosu, değişiklik günlüğü dizininde her deponun Conventional Commits geçmişinin en son yayımlanan etikette salt okunur olarak okunması ve kategorilerin sayılmasıyla oluşturulur. Türetme kuralları, iç ayrıntıların sızmaması için bilinçli olarak dar tutulur:

  1. Sayılar, içerik değil. Kullanıcıya yönelik her tür için yalnızca commit sayısı raporlanır. Hiçbir commit konusu, gövdesi, alt bilgisi veya karması gösterilmez.
  2. Yalnızca kullanıcıya yönelik türler. docs, test, ci, chore ve refactor, bir paket tüketicisinin gözlemlediği hiçbir şeyi değiştirmedikleri için hariç tutulur.
  3. Yalnızca yayımlanmış. Bir commit, yalnızca genel kullanıma açık bir paketin etiketlenmiş bir sürümünün parçası olduktan sonra sayılır.
  4. Tanımlayıcı yok. Belirli bir commit kapsamında görünebilecek dahili issue, ticket, cycle, wave veya iş öğesi referansları asla açığa çıkarılmaz, çünkü kapsam metninin kendisi asla gösterilmez. Yalnızca tür okunur.
  5. Otomasyon atfı yok. Otomasyon atfı alt bilgileri okunmaz veya görüntülenmez.

Bu nedenle genel değişiklik günlüğü, toplu bir commit akışı değil, her paketin kendi CHANGELOG.md dosyasına bağlantılar içeren bir kategori özetidir. Özet, tasarımı gereği iç sızıntı barındırmaz. Esas sürüm metni, sahibi olan pakette kalır.