15 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Herkese açık sürüm kanalları, sürüm adlandırması ve sıklığı | Sürüm politikası |
|
OpenClaw’ın herkese açık üç sürüm hattı vardır:
- stable: varsayılan olarak npm
beta’ya veya açıkça istendiğinde npmlatest’e yayımlanan etiketli sürümler - beta: npm
beta’ya yayımlanan ön sürüm etiketleri - dev:
maindalının hareketli en güncel hali
Sürüm adlandırması
- Stable sürüm sürümü:
YYYY.M.D- Git etiketi:
vYYYY.M.D
- Git etiketi:
- Stable düzeltme sürümü sürümü:
YYYY.M.D-N- Git etiketi:
vYYYY.M.D-N
- Git etiketi:
- Beta ön sürüm sürümü:
YYYY.M.D-beta.N- Git etiketi:
vYYYY.M.D-beta.N
- Git etiketi:
- Ayı veya günü başına sıfır eklemeyin
latest, şu anki yükseltilmiş stable npm sürümü anlamına gelirbeta, şu anki beta kurulum hedefi anlamına gelir- Stable ve stable düzeltme sürümleri varsayılan olarak npm
beta’ya yayımlanır; sürüm operatörleri açıkçalatest’i hedefleyebilir veya daha sonra doğrulanmış bir beta derlemesini yükseltebilir - Her stable OpenClaw sürümü npm paketini ve macOS uygulamasını birlikte dağıtır; beta sürümleri normalde önce npm/paket yolunu doğrular ve yayımlar; mac uygulamasının derlenmesi/imzalanması/noterleştirilmesi ise açıkça istenmedikçe stable için ayrılır
Sürüm sıklığı
- Sürümler önce beta olarak ilerler
- Stable, yalnızca en son beta doğrulandıktan sonra gelir
- Bakımcılar normalde sürümleri, mevcut
maindalından oluşturulan birrelease/YYYY.M.Ddalından çıkarır; böylece sürüm doğrulaması ve düzeltmelerimainüzerindeki yeni geliştirmeleri engellemez - Bir beta etiketi itilmişse veya yayımlanmışsa ve bir düzeltmeye ihtiyaç
duyuyorsa, bakımcılar eski beta etiketini silmek veya yeniden oluşturmak
yerine sonraki
-beta.Netiketini oluşturur - Ayrıntılı sürüm prosedürü, onaylar, kimlik bilgileri ve kurtarma notları yalnızca bakımcılara yöneliktir
Sürüm ön kontrolü
- Test TypeScript kapsamının daha hızlı yerel
pnpm checkgeçidinin dışında da korunması için sürüm ön kontrolünden öncepnpm check:test-typesçalıştırın - Daha geniş import döngüsü ve mimari sınır kontrollerinin daha hızlı yerel
geçidin dışında da yeşil olması için sürüm ön kontrolünden önce
pnpm check:architectureçalıştırın - Paket doğrulama adımı için beklenen
dist/*sürüm çıktılarının ve Control UI paketinin mevcut olması amacıylapnpm release:checköncesindepnpm build && pnpm ui:buildçalıştırın - Her etiketli sürümden önce
pnpm release:checkçalıştırın - Sürüm kontrolleri artık ayrı bir manuel workflow içinde çalışır:
OpenClaw Release Checks OpenClaw Release Checks, sürüm onayından önce QA Lab sahte parity geçidini ve canlı Matrix ile Telegram QA hatlarını da çalıştırır. Canlı hatlarqa-live-sharedortamını kullanır; Telegram ayrıca Convex CI kimlik bilgisi kiralarını da kullanır.- İşletim sistemleri arası kurulum ve yükseltme çalışma zamanı doğrulaması,
özel çağırıcı workflow olan
openclaw/releases-private/.github/workflows/openclaw-cross-os-release-checks.ymliçinden tetiklenir ve yeniden kullanılabilir herkese açık workflow olan.github/workflows/openclaw-cross-os-release-checks-reusable.ymldosyasını çağırır - Bu ayrım bilinçlidir: gerçek npm sürüm yolunu kısa, deterministik ve artefakt odaklı tutarken daha yavaş canlı kontrollerin kendi hattında kalmasını sağlar; böylece yayımlamayı yavaşlatmaz veya engellemez
- Sürüm kontrolleri, workflow mantığının ve sırların denetimli kalması için
mainworkflow referansından veya birrelease/YYYY.M.Dworkflow referansından tetiklenmelidir - Bu workflow, mevcut bir sürüm etiketini veya workflow dalının geçerli tam 40 karakterlik commit SHA’sını kabul eder
- Commit-SHA modunda yalnızca workflow dalının geçerli HEAD’i kabul edilir; daha eski sürüm commit’leri için bir sürüm etiketi kullanın
OpenClaw NPM Releaseyalnızca doğrulama amaçlı ön kontrol de, itilmiş bir etiket gerektirmeden workflow dalının geçerli tam 40 karakterlik commit SHA’sını kabul eder- Bu SHA yolu yalnızca doğrulama içindir ve gerçek bir yayımlamaya yükseltilemez
- SHA modunda workflow, paket meta veri kontrolü için yalnızca
v<package.json version>üretir; gerçek yayımlama yine gerçek bir sürüm etiketi gerektirir - Her iki workflow da gerçek yayımlama ve yükseltme yolunu GitHub-hosted runner’larda tutarken, değişiklik yapmayan doğrulama yolu daha büyük Blacksmith Linux runner’larını kullanabilir
- Bu workflow,
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cachekomutunu hemOPENAI_API_KEYhem deANTHROPIC_API_KEYworkflow sırlarıyla çalıştırır - npm sürüm ön kontrolü artık ayrı sürüm kontrolleri hattını beklemez
- Onaydan önce
RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.tskomutunu çalıştırın (veya eşleşen beta/düzeltme etiketiyle) - npm yayımlandıktan sonra, taze bir geçici önek içinde yayımlanmış kayıt
defteri kurulum yolunu doğrulamak için
node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.Dkomutunu çalıştırın (veya eşleşen beta/düzeltme sürümüyle) - Bir beta yayımlamasından sonra, yayımlanmış npm paketine karşı kurulu paket
onboarding’ini, Telegram kurulumunu ve gerçek Telegram E2E’yi paylaşılan
kiralanmış Telegram kimlik bilgisi havuzunu kullanarak doğrulamak için
OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@YYYY.M.D-beta.N OPENCLAW_NPM_TELEGRAM_CREDENTIAL_SOURCE=convex OPENCLAW_NPM_TELEGRAM_CREDENTIAL_ROLE=ci pnpm test:docker:npm-telegram-livekomutunu çalıştırın. Yerel bakımcı tek seferlik çalıştırmalarında Convex değişkenleri atlanabilir ve üç adetOPENCLAW_QA_TELEGRAM_*ortam kimlik bilgisi doğrudan verilebilir. - Bakımcılar aynı yayımlama sonrası kontrolü GitHub Actions üzerinden manuel
NPM Telegram Beta E2Eworkflow ile çalıştırabilir. Bu workflow bilinçli olarak yalnızca manueldir ve her merge işleminde çalışmaz. - Bakımcı sürüm otomasyonu artık ön kontrol-sonra-yükselt modelini kullanır:
- gerçek npm yayımlaması başarılı bir npm
preflight_run_idkontrolünden geçmelidir - gerçek npm yayımlaması, başarılı ön kontrol çalıştırmasıyla aynı
mainveyarelease/YYYY.M.Ddalından tetiklenmelidir - stable npm sürümleri varsayılan olarak
betaolur - stable npm yayımlaması workflow girdisiyle açıkça
latest’i hedefleyebilir - token tabanlı npm dist-tag değişikliği artık güvenlik nedeniyle
openclaw/releases-private/.github/workflows/openclaw-npm-dist-tags.ymliçinde yer alır; çünkünpm dist-tag addhâlâNPM_TOKENgerektirirken herkese açık depo yalnızca OIDC ile yayımlamayı korur - herkese açık
macOS Releaseyalnızca doğrulama içindir - gerçek özel mac yayımlaması, başarılı özel mac
preflight_run_idvevalidate_run_idkontrollerinden geçmelidir - gerçek yayımlama yolları, artefaktları yeniden derlemek yerine hazırlanmış artefaktları yükseltir
- gerçek npm yayımlaması başarılı bir npm
YYYY.M.D-Ngibi stable düzeltme sürümlerinde yayımlama sonrası doğrulayıcı, aynı geçici önek yükseltme yolunu daYYYY.M.DsürümündenYYYY.M.D-Nsürümüne kontrol eder; böylece sürüm düzeltmeleri eski genel kurulumları sessizce temel stable yükü üzerinde bırakamaz- npm sürüm ön kontrolü, paket dosyası hem
dist/control-ui/index.htmlhem de boş olmayan birdist/control-ui/assets/yükü içermedikçe başarısız olur; böylece tekrar boş bir tarayıcı panosu yayımlamayız - Yayımlama sonrası doğrulama ayrıca yayımlanmış kayıt defteri kurulumunun kök
dist/*düzeni altında boş olmayan paketlenmiş Plugin çalışma zamanı bağımlılıkları içerdiğini de kontrol eder. Eksik veya boş paketlenmiş Plugin bağımlılık yükleriyle yayımlanan bir sürüm, yayımlama sonrası doğrulayıcıda başarısız olur velatest’e yükseltilemez. pnpm test:install:smoke, aday güncelleme paket dosyasındaki npm packunpackedSizebütçesini de zorunlu kılar; böylece yükleyici e2e, sürüm yayımlama yolundan önce yanlışlıkla oluşan paket şişmesini yakalar- Sürüm çalışması CI planlamasını, eklenti zamanlama manifestlerini veya
eklenti test matrislerini etkilediyse, onaydan önce
.github/workflows/ci.ymliçindeki planlayıcıya aitchecks-node-extensionsworkflow matris çıktılarının yeniden üretilip gözden geçirilmesi gerekir; böylece sürüm notları eski bir CI düzenini açıklamaz - Stable macOS sürüm hazırlığı, güncelleyici yüzeylerini de kapsar:
- GitHub sürümünde paketlenmiş
.zip,.dmgve.dSYM.zipbulunmalıdır - yayımlamadan sonra
mainüzerindekiappcast.xml, yeni stable zip’i işaret etmelidir - paketlenmiş uygulama, debug olmayan bir bundle id’yi, boş olmayan bir
Sparkle feed URL’sini ve bu sürüm sürümü için kanonik Sparkle derleme taban
değerine eşit veya ondan yüksek bir
CFBundleVersiondeğerini korumalıdır
- GitHub sürümünde paketlenmiş
NPM workflow girdileri
OpenClaw NPM Release, operatör tarafından denetlenen şu girdileri kabul eder:
tag:v2026.4.2,v2026.4.2-1veyav2026.4.2-beta.1gibi zorunlu sürüm etiketi;preflight_only=trueolduğunda yalnızca doğrulama amaçlı ön kontrol için workflow dalının geçerli tam 40 karakterlik commit SHA’sı da olabilirpreflight_only: yalnızca doğrulama/derleme/paket içintrue, gerçek yayımlama yolu içinfalsepreflight_run_id: gerçek yayımlama yolunda zorunludur; böylece workflow, başarılı ön kontrol çalıştırmasındaki hazırlanmış paket dosyasını yeniden kullanırnpm_dist_tag: yayımlama yolu için npm hedef etiketi; varsayılanıbeta
OpenClaw Release Checks, operatör tarafından denetlenen şu girdileri kabul eder:
ref:mainüzerinden tetiklendiğinde doğrulanacak mevcut sürüm etiketi veya geçerli tam 40 karakterlikmaincommit SHA’sı; bir sürüm dalından çalıştırıldığında mevcut bir sürüm etiketi veya geçerli tam 40 karakterlik sürüm dalı commit SHA’sı kullanılır
Kurallar:
- Stable ve düzeltme etiketleri
betaveyalatest’e yayımlanabilir - Beta ön sürüm etiketleri yalnızca
beta’ya yayımlanabilir OpenClaw NPM Releaseiçin tam commit SHA girdisine yalnızcapreflight_only=trueolduğunda izin verilirOpenClaw Release Checksher zaman yalnızca doğrulama içindir ve ayrıca workflow dalının geçerli commit SHA’sını da kabul eder- Sürüm kontrolleri commit-SHA modu ayrıca workflow dalının geçerli HEAD’ini de gerektirir
- Gerçek yayımlama yolu, ön kontrol sırasında kullanılan aynı
npm_dist_tagdeğerini kullanmalıdır; workflow yayımlama devam etmeden önce bu meta veriyi doğrular
Stable npm sürüm sırası
Bir stable npm sürümü çıkarırken:
preflight_only=trueileOpenClaw NPM Releaseçalıştırın- Etiket henüz mevcut değilse, ön kontrol workflow’unun yalnızca doğrulama amaçlı deneme çalıştırması için workflow dalının geçerli tam commit SHA’sını kullanabilirsiniz
- Normal beta-önce akışı için
npm_dist_tag=betaseçin veya yalnızca doğrudan stable yayımlama yapmak istediğinizdelatestseçin - Canlı prompt cache, QA Lab parity, Matrix ve Telegram kapsamını istediğinizde
aynı etiketle veya workflow dalının geçerli tam commit SHA’sıyla ayrı olarak
OpenClaw Release Checksçalıştırın- Bu ayrım bilinçlidir; böylece canlı kapsam kullanılabilir kalırken uzun süren veya kararsız kontroller yayımlama workflow’una yeniden bağlanmamış olur
- Başarılı
preflight_run_iddeğerini kaydedin preflight_only=false, aynıtag, aynınpm_dist_tagve kaydedilmişpreflight_run_idileOpenClaw NPM Releasekomutunu tekrar çalıştırın- Sürüm
betaüzerinde yayımlandıysa, bu stable sürümübeta’danlatest’e yükseltmek için özelopenclaw/releases-private/.github/workflows/openclaw-npm-dist-tags.ymlworkflow’unu kullanın - Sürüm kasıtlı olarak doğrudan
latest’e yayımlandıysa vebetahemen aynı stable derlemeyi izlemeliyse, her iki dist-tag’i de stable sürümü işaret edecek şekilde aynı özel workflow’u kullanın veya zamanlanmış otomatik iyileştirme eşitlemesininbetayı daha sonra taşımasına izin verin
Dist-tag değişikliği güvenlik nedeniyle özel depoda bulunur; çünkü bu işlem
hâlâ NPM_TOKEN gerektirirken herkese açık depo yalnızca OIDC ile yayımlamayı
korur.
Bu, hem doğrudan yayımlama yolunu hem de beta-önce yükseltme yolunu belgelenmiş ve operatör tarafından görünür durumda tutar.
Bir bakımcının yerel npm kimlik doğrulamasına geri dönmesi gerekirse, herhangi
bir 1Password CLI (op) komutunu yalnızca ayrılmış bir tmux oturumu içinde
çalıştırın. op komutunu doğrudan ana ajan kabuğundan çağırmayın; onu tmux
içinde tutmak istemleri, uyarıları ve OTP işlemlerini görünür kılar ve tekrar
eden ana makine uyarılarını önler.
Herkese açık başvurular
.github/workflows/openclaw-npm-release.yml.github/workflows/openclaw-release-checks.yml.github/workflows/openclaw-cross-os-release-checks-reusable.ymlscripts/openclaw-npm-release-check.tsscripts/package-mac-dist.shscripts/make_appcast.sh
Bakımcılar, gerçek çalışma kılavuzu için
openclaw/maintainers/release/README.md
içindeki özel sürüm belgelerini kullanır.