Sürüm Kontrol Listesi (npm + macOS)
Depo kökündenpnpm (Node 22+) kullanın. Etiketleme/yayınlama öncesinde çalışma ağacını temiz tutun.
Operatör tetikleyicisi
Operatör “release” dediğinde, şu ön uç kontrollerini derhal yapın (engel yoksa ek soru sormayın):- Bu dokümanı ve
docs/platforms/mac/release.md’i okuyun. ~/.profile’den ortam değişkenlerini yükleyin veSPARKLE_PRIVATE_KEY_FILE+ App Store Connect değişkenlerinin ayarlı olduğunu doğrulayın (SPARKLE_PRIVATE_KEY_FILE,~/.profileiçinde bulunmalıdır).- Gerekirse
~/Library/CloudStorage/Dropbox/Backup/Sparkle’ten Sparkle anahtarlarını kullanın.
- Sürüm & meta veriler
-
package.jsonsürümünü artırın (ör.2026.1.29). - Uzantı paket sürümlerini + değişiklik günlüklerini hizalamak için
pnpm plugins:syncçalıştırın. - CLI/sürüm dizgelerini güncelleyin:
src/cli/program.tsvesrc/provider-web.tsiçindeki Baileys kullanıcı aracısı. - Paket meta verilerini (ad, açıklama, depo, anahtar kelimeler, lisans) ve
bineşlemesininopenclawiçinopenclaw.mjs’ye işaret ettiğini doğrulayın. - Bağımlılıklar değiştiyse,
pnpm-lock.yaml’in güncel olması içinpnpm installçalıştırın.
- Derleme & çıktılar
- A2UI girdileri değiştiyse,
pnpm canvas:a2ui:bundleçalıştırın ve güncellenensrc/canvas-host/a2ui/a2ui.bundle.jsdosyasını commit edin. -
pnpm run build(dist/’yi yeniden üretir). - npm paketi
files’nin gerekli tümdist/*klasörlerini içerdiğini doğrulayın (özellikle başsız node + ACP CLI içindist/node-host/**vedist/acp/**). -
dist/build-info.json’ün mevcut olduğunu ve beklenencommithash’ini içerdiğini doğrulayın (CLI afişi bunu npm kurulumları için kullanır). - İsteğe bağlı: Derlemeden sonra
npm pack --pack-destination /tmp; tarball içeriğini inceleyin ve GitHub sürümü için elinizin altında tutun (commit etmeyin).
- Değişiklik günlüğü & dokümantasyon
- Kullanıcıya yönelik öne çıkanlarla
CHANGELOG.md’yi güncelleyin (eksikse dosyayı oluşturun); girdileri sürüme göre kesinlikle azalan sırada tutun. - README örneklerinin/flag’lerinin mevcut CLI davranışıyla uyumlu olduğundan emin olun (özellikle yeni komutlar veya seçenekler).
- Doğrulama
-
pnpm build -
pnpm check -
pnpm test(kapsam çıktısı gerekiyorsapnpm test:coverage) -
pnpm release:check(npm pack içeriğini doğrular) -
OPENCLAW_INSTALL_SMOKE_SKIP_NONROOT=1 pnpm test:install:smoke(Docker kurulum duman testi, hızlı yol; sürümden önce zorunlu)- Hemen önceki npm sürümünün bozuk olduğu biliniyorsa, ön kurulum adımı için
OPENCLAW_INSTALL_SMOKE_PREVIOUS=<last-good-version>veyaOPENCLAW_INSTALL_SMOKE_SKIP_PREVIOUS=1ayarlayın.
- Hemen önceki npm sürümünün bozuk olduğu biliniyorsa, ön kurulum adımı için
- (İsteğe bağlı) Tam yükleyici duman testi (root olmayan + CLI kapsamı ekler):
pnpm test:install:smoke - (İsteğe bağlı) Yükleyici E2E (Docker,
curl -fsSL https://openclaw.ai/install.sh | bashçalıştırır, onboarding yapar, ardından gerçek araç çağrılarını çalıştırır):pnpm test:install:e2e:openai(OPENAI_API_KEYgerektirir)pnpm test:install:e2e:anthropic(ANTHROPIC_API_KEYgerektirir)pnpm test:install:e2e(her iki anahtarı da gerektirir; her iki sağlayıcıyı da çalıştırır)
- (İsteğe bağlı) Değişiklikleriniz gönderme/alma yollarını etkiliyorsa web gateway’i noktasal kontrol edin.
- macOS uygulaması (Sparkle)
- macOS uygulamasını derleyin + imzalayın, ardından dağıtım için zipleyin.
- Sparkle appcast’ini üretin (HTML notları
scripts/make_appcast.shile) veappcast.xml’ü güncelleyin. - Uygulama zip’ini (ve isteğe bağlı dSYM zip’ini) GitHub sürümüne eklemek için hazır tutun.
- Kesin komutlar ve gerekli ortam değişkenleri için macOS release’i izleyin.
APP_BUILDsayısal + monotonik olmalıdır (Sparkle’ın sürümleri doğru karşılaştırması için-betayok).- Noterleme yapılıyorsa, App Store Connect API ortam değişkenlerinden oluşturulan
openclaw-notaryanahtarlık profilini kullanın (bkz. macOS release).
- Yayınlama (npm)
- git durumunun temiz olduğunu doğrulayın; gerekirse commit ve push yapın.
- Gerekirse
npm login(2FA doğrulaması). -
npm publish --access public(ön sürümler için--tag betakullanın). - Kayıt defterini doğrulayın:
npm view openclaw version,npm view openclaw dist-tagsvenpx -y [email protected] --version(veya--help).
Sorun Giderme (2.0.0-beta2 sürümünden notlar)
- npm pack/publish takılıyor veya çok büyük tarball üretiyor:
dist/OpenClaw.appiçindeki macOS uygulama paketi (ve sürüm zip’leri) pakete dahil ediliyor.package.jsonfilesile yayın içeriğini beyaz listeleyerek düzeltin (dist alt dizinleri, dokümanlar, skills dahil; uygulama paketlerini hariç tutun).npm pack --dry-runiledist/OpenClaw.app’un listelenmediğini doğrulayın. - dist-tags için npm auth web döngüsü: OTP istemi almak için eski kimlik doğrulamayı kullanın:
NPM_CONFIG_AUTH_TYPE=legacy npm dist-tag add [email protected] latest
npxdoğrulamasıECOMPROMISED: Lock compromisedile başarısız oluyor: temiz bir önbellekle yeniden deneyin:NPM_CONFIG_CACHE=/tmp/npm-cache-$(date +%s) npx -y [email protected] --version
- Geç bir düzeltmeden sonra etiketin yeniden işaretlenmesi gerekiyor: etiketi zorla güncelleyin ve push edin, ardından GitHub sürüm varlıklarının hâlâ eşleştiğinden emin olun:
git tag -f vX.Y.Z && git push -f origin vX.Y.Z
- GitHub sürümü + appcast
- Etiketleyin ve push edin:
git tag vX.Y.Z && git push origin vX.Y.Z(veyagit push --tags). -
vX.Y.Ziçin GitHub sürümünü oluşturun/yenileyin; başlıkopenclaw X.Y.Zolmalıdır (sadece etiket değil). Gövde, o sürüm için tam değişiklik günlüğü bölümünü (Öne Çıkanlar + Değişiklikler + Düzeltmeler) satır içi olarak içermeli (çıplak bağlantılar yok) ve gövde içinde başlık tekrarlanmamalıdır. - Varlıkları ekleyin:
npm packtarball (isteğe bağlı),OpenClaw-X.Y.Z.zipveOpenClaw-X.Y.Z.dSYM.zip(oluşturulduysa). - Güncellenmiş
appcast.xml’yi commit edin ve push edin (Sparkle ana daldan beslenir). - Temiz bir geçici dizinden (
package.jsonyok), kurulum/CLI giriş noktalarının çalıştığını doğrulamak içinnpx -y [email protected] send --helpçalıştırın. - Sürüm notlarını duyurun/paylaşın.
Eklenti yayın kapsamı (npm)
Yalnızca@openclaw/* kapsamı altındaki mevcut npm eklentilerini yayınlıyoruz. npm’de olmayan paketli
eklentiler yalnızca disk ağacı olarak kalır (yine de
extensions/** içinde gönderilir).
Listeyi türetme süreci:
npm search @openclaw --jsonve paket adlarını yakalayın.extensions/*/package.jsonadlarıyla karşılaştırın.- Yalnızca kesişimi (zaten npm’de olanlar) yayınlayın.
- @openclaw/bluebubbles
- @openclaw/diagnostics-otel
- @openclaw/discord
- @openclaw/feishu
- @openclaw/lobster
- @openclaw/matrix
- @openclaw/msteams
- @openclaw/nextcloud-talk
- @openclaw/nostr
- @openclaw/voice-call
- @openclaw/zalo
- @openclaw/zalouser
tlon).