Orijinal blog yayınında açıklandığı gibi, Bazel 4.0 ve sonraki sürümler iki sürüm kanalı için destek sağlar: sürekli sürümler ve uzun süreli destek (LTS) sürümleri. Bu sayfada en yeni Bazel'ın sürüm modeli hakkında bilgi edinin.
Sürüm oluşturma
Bazel, ana.alt.yama Anlamsal Sürüm Oluşturma şemasını kullanır.
- Ana sürüm, önceki sürümlerle uyumlu olmayan özellikler içerir. geri bildirim alırsınız. Her ana Bazel sürümü bir LTS sürümüdür.
- Ara sürümler, geriye dönük uyumlu hata düzeltmeleri ve ana daldan geri bağlanan özellikleri içerir.
- Yama sürümü, kritik hata düzeltmeleri içerir.
Ayrıca, yayın öncesi sürümler kısa çizgi ve tarih sonekini bir sonraki ana sürüm numarasına ekleyin.
Örneğin, her türün yeni bir sürümü aşağıdaki sürüm numaralarına neden olur:
- Büyük: 6.0.0
- Küçük: 6.1.0
- Yama: 6.1.2
- Yayın öncesi: 7.0.0-pre.20230502.1
Destek aşamaları
Her büyük Bazel sürümü için dört destek aşaması vardır:
- Devamlı: Bu ana sürüm hâlâ ön sürüm aşamasındadır. Bazel ekibi, HEAD'den sürekli sürümler yayınlar.
- Etkin: Bu ana sürüm, mevcut etkin LTS sürümüdür. Bazel ekibi önemli özellikleri ve hata düzeltmelerini küçük sürümlere geri aktarıyor.
- Bakım: Bu ana sürüm, bakımda olan eski bir LTS sürümüdür. yatırım yapmanız önemlidir. Bazel ekibi yalnızca güvenlik sorunları ve işletim sistemi uyumluluğu sorunları var.
- Desteği sonlandırıldı: Bazel ekibi artık bu büyük sürüm için destek sağlamıyor. Tüm kullanıcıların yeni Bazel LTS sürümlerine geçmesi gerekiyor.
Yayın sıklığı
Bazel, iki sürüm kanalı için düzenli olarak sürüm yayınlar.
Periyodik sürümler
- Periyodik sürümler Google Blaze sürümüyle koordine edilir ve yayınlanır her iki haftada bir HEAD adlı feed'den geliyor. Yeni Bazel LTS'nin önizlemesi kullanabilirsiniz.
- Periyodik sürümler uyumlu olmayan değişiklikler gönderebilir. Önemli ve önemli değişiklikler için uyumsuz işaretler önerilir. Uyumsuz değişikliklerin kullanıma sunulması geri uyumluluk politikamıza uygun olmalıdır.
LTS sürümleri
- Büyük sürüm: Yeni bir LTS sürümünün, HEAD'den yaklaşık 12 ayda bir çıkarılması bekleniyor. Yeni bir LTS sürümü kullanıma sunulduğunda hemen Etkin aşamaya girer ve önceki LTS sürümü Bakım aşamasına girer.
- Küçük sürüm: Active LTS kanalındaki yeni küçük sürümlerin 2 ayda bir yayınlanacaktır.
- Yama sürümü: Etkin ve Bakım aşamalarındaki LTS sürümleri için kritik hata düzeltmeleriyle ilgili yeni yama sürümlerinin isteğe bağlı olarak yayınlanması beklenir.
- Bazel LTS sürümü, 2 yıllık bakım aşaması.
Planlanan sürümler için lütfen GitHub'daki sürüm sorunlarını inceleyin.
Destek matrisi
LTS sürümü | Destek aşaması | Son sürüm | Destek sonu |
---|---|---|---|
Bazel 7 | Daimi | GitHub sürüm sayfasını kontrol edin | Yok |
Bazel 6 | Etkin | 6.4.0 | Aralık 2025 |
Bazel 5 | Bakım | 5.4.1 | Ocak 2025 |
Bazel 4 | Bakım | 4.2.4 | Ocak 2024 |
Tüm Bazel sürümleri sürüm sayfasını ziyaret edin.
Yayın prosedürü ve politikalar
Devamlı sürümler için süreç basittir: Yaklaşık iki haftada bir, Google'ın dahili Blaze sürümüyle aynı temele uygun yeni bir sürüm oluşturulur. Hızlı yayın planından dolayı hiçbir değişikliği geri aktarmayız. kullanıma sunmuş olursunuz.
LTS sürümlerinde aşağıdaki prosedür ve politikalar uygulanır:
- Yayın için temel bir taahhüt belirleyin.
- Yeni bir büyük LTS sürümü için ana dalın HEAD'i temel taahhüttür.
- Bir küçük sürüm veya yama sürümü için referans kaydetme, aynı LTS sürümünün mevcut en son sürümüne sahip olmalıdır.
- Referans değerden
release-<version>
adında bir sürüm dalı oluşturun. kaydetmez. - Değişiklikleri, yayın dalına PR'ler aracılığıyla geri taşıyın.
- Topluluk, belirli taahhütlerin geri taşınmasını önererek yanıt verebilir.
"
@bazel-io flag
" ilgili GitHub sorunları veya PR'leri üzerinden bunları potansiyel olarak işaretlemek için Bazel ekibi bunları önceliklendiriyor ve bunları test edip etmeyeceklerine kaydetmeleridir. - Yalnızca ana daldaki geriye dönük uyumlu taahhütler geriye aktarılabilir. Birleştirme çakışmalarını çözmek için yapılan küçük ek değişiklikler kabul edilir.
- Topluluk, belirli taahhütlerin geri taşınmasını önererek yanıt verebilir.
"
- Sürüm yayınlamayı engelleyen sorunları tespit edin ve sürüm dalında bulunan sorunları düzeltin.
- Sürüm dalı, aynı test paketi ile postsubmit ve aşağı akış testi ardışık düzeni üzerinde çalışıyorum. Bazel ekibi, sürüm dalının test sonuçlarını izler ve bulunan tüm gerileme sorunlarını düzeltir.
- Tüm özellikler bilindiğinde sürüm dalından yeni bir sürüm adayı oluşturun
ve yayın engelleyiciler giderilmiştir.
- Yayın adayı şu tarihte duyurulacaktır: bazel-tartı, Bazel ekibi, adayla ilgili topluluk hata raporlarını takip ediyor.
- Yeni sürüm yayınlamayı engelleyen öğeler tespit edilirse son adıma geri dönün ve tüm sorunları çözdükten sonra yeni bir sürüm adayı oluşturun.
- İlk sürüm adayı oluşturulduktan sonra sürüm dalına yeni özelliklerin eklenmesine izin verilmez.
- Başka bir sürüm yayınlanmayacaksa sürüm adayını resmi sürüm olarak aktar
engelleyiciler olduğu tespit edildi
- Yama sürümleri için sürümü en az iki iş günü sonra yayınlayın son kişi adayı çıktı.
- Büyük ve küçük sürümler için yayını, son yayın adayı piyasaya sürüldü, ancak bu süre bir haftadan kısa süre içinde adayı serbest bırakmalısınız.
- Sürüm yalnızca bir sonraki günün iş günü olduğu bir günde yayınlanır.
- Sürüm bazel-discuss'te duyurulur. Bazel ekibi, yeni sürümle ilgili topluluktaki hata raporlarını izler ve ele alır.
Regresyonları raporlayın
Kullanıcılar yeni bir Bazel sürümünde, sürüm adayında veya hatta HEAD'deki Bazel'de gerileme bulursa lütfen GitHub'da hata kaydı oluşturun. Sorunlu commit'i ikiye bölmek için Bazelisk'i kullanabilir ve bu bilgileri hata raporuna ekleyebilirsiniz.
Örneğin, derlemeniz Bazel 6.1.0 ile başarılı olur ancak 6.2.0'ın ikinci sürüm adayı ile başarısız olursa
bazelisk --bisect=6.1.0..release-6.2.0rc2 build //foo:bar
BAZELISK_SHUTDOWN
veya BAZELISK_CLEAN
ortam değişkenini çalışacak şekilde ayarlayabilirsiniz
derleme durumunu sıfırlamak için ilgili bazel komutlarını
yeniden üretebilirsiniz. Daha fazla bilgi için Bazelisk bisect özelliği ile ilgili dokümanlara göz atın.
Bölme özelliğini kullanmak için Bazelisk'i en son sürüme yükseltmeyi unutmayın.
Kural uyumluluğu
Kural yazarıysanız ve farklı standartlarla uyumluluğu korumak istiyorsanız Bazel sürümleri için lütfen Kurala Uyumluluk sayfası.