Maintenance
रिलीज़ चैनल
OpenClaw तीन अपडेट चैनल शिप करता है:
- stable: npm dist-tag
latest। अधिकांश उपयोगकर्ताओं के लिए अनुशंसित। - beta: npm dist-tag
betaजब यह वर्तमान हो; यदि beta अनुपलब्ध है या नवीनतम stable रिलीज़ से पुराना है, तो अपडेट फ्लोlatestपर वापस चला जाता है। - dev:
main(git) का गतिशील हेड। npm dist-tag:dev(प्रकाशित होने पर)।mainब्रांच प्रयोग और सक्रिय विकास के लिए है। इसमें अधूरी सुविधाएँ या ब्रेकिंग बदलाव हो सकते हैं। इसे उत्पादन gateways के लिए उपयोग न करें।
हम आमतौर पर stable builds को पहले beta में शिप करते हैं, वहाँ उनका परीक्षण करते हैं, फिर एक
स्पष्ट promotion चरण चलाते हैं जो सत्यापित build को संस्करण संख्या बदले बिना
latest पर ले जाता है। Maintainers ज़रूरत पड़ने पर stable रिलीज़ को
सीधे latest पर भी प्रकाशित कर सकते हैं। npm installs के लिए dist-tags ही सत्य का स्रोत हैं।
चैनल बदलना
openclaw update --channel stableopenclaw update --channel betaopenclaw update --channel dev--channel आपकी पसंद को config (update.channel) में बनाए रखता है और
install method को संरेखित करता है:
stable(package installs): npm dist-taglatestके माध्यम से अपडेट होता है।beta(package installs): npm dist-tagbetaको प्राथमिकता देता है, लेकिन जबbetaअनुपलब्ध हो या वर्तमान stable tag से पुराना हो, तोlatestपर वापस जाता है।stable(git installs): नवीनतम stable git tag को checkout करता है, और-alpha.N,-beta.N,-rc.N,-dev.N,-next.N,-preview.N,-canary.N,-nightly.Nजैसे semver prerelease tags तथा अन्य prerelease suffixes को बाहर रखता है।beta(git installs): नवीनतम beta git tag को प्राथमिकता देता है, लेकिन beta अनुपलब्ध या पुराना होने पर नवीनतम stable git tag पर वापस जाता है।dev: git checkout सुनिश्चित करता है (डिफ़ॉल्ट~/openclaw, याOPENCLAW_HOMEसेट होने पर$OPENCLAW_HOME/openclaw;OPENCLAW_GIT_DIRसे override करें),mainपर स्विच करता है, upstream पर rebase करता है, build करता है, और उस checkout से global CLI install करता है।
One-off संस्करण या tag targeting
एकल अपडेट के लिए किसी विशिष्ट dist-tag, version, या package spec को target करने के लिए --tag का उपयोग करें,
बिना अपने persisted channel को बदले:
# Install a specific versionopenclaw update --tag 2026.4.1-beta.1 # Install from the beta dist-tag (one-off, does not persist)openclaw update --tag beta # Switch to the moving GitHub main checkoutopenclaw update --channel dev # Install a specific npm package specopenclaw update --tag openclaw@2026.4.1-beta.1 # Install from GitHub main once without persisting the channelopenclaw update --tag mainनोट्स:
--tagकेवल package (npm) installs पर लागू होता है। Git installs इसे अनदेखा करते हैं।- tag persist नहीं किया जाता। आपका अगला
openclaw updateसामान्य रूप से आपके configured channel का उपयोग करता है। - package installs के लिए, OpenClaw staged npm install से पहले GitHub/git source specs को
एक temporary tarball में pre-pack करता है। जब आप moving
maincheckout को अपना persistent install बनाना चाहते हैं, तो--channel devया--install-method git --version mainका उपयोग करें। - Downgrade protection: यदि target version आपके वर्तमान version से पुराना है,
OpenClaw पुष्टि के लिए prompt करता है (
--yesसे skip करें)। --channel beta,--tag betaसे अलग है: channel flow beta अनुपलब्ध या पुराना होने पर stable/latest पर वापस जा सकता है, जबकि--tag betaउस एक run के लिए rawbetadist-tag को target करता है।
Dry run
बदलाव किए बिना preview करें कि openclaw update क्या करेगा:
openclaw update --dry-runopenclaw update --channel beta --dry-runopenclaw update --tag 2026.4.1-beta.1 --dry-runopenclaw update --dry-run --jsondry run प्रभावी channel, target version, planned actions, और downgrade confirmation की आवश्यकता होगी या नहीं दिखाता है।
Plugins और channels
जब आप openclaw update के साथ channels बदलते हैं, OpenClaw plugin
sources को भी sync करता है:
devgit checkout से bundled plugins को प्राथमिकता देता है।stableऔरbetanpm-installed plugin packages को restore करते हैं।- npm-installed plugins core update पूरा होने के बाद update किए जाते हैं।
वर्तमान स्थिति जाँचना
openclaw update statusactive channel, install kind (git या package), current version, और source (config, git tag, git branch, या default) दिखाता है।
Tagging best practices
- उन releases को tag करें जिन पर आप git checkouts को land कराना चाहते हैं (
vYYYY.M.PATCHstable के लिए,vYYYY.M.PATCH-beta.Nbeta के लिए;-alpha.N,-rc.N, और-next.Nजैसे named semver prerelease suffixes stable targets नहीं हैं)। vYYYY.M.PATCH-1औरv1.0.1-1जैसे legacy numeric stable tags अभी भी compatibility के लिए stable git tags के रूप में पहचाने जाते हैं।vYYYY.M.PATCH.beta.Nभी compatibility के लिए पहचाना जाता है, लेकिन-beta.Nको प्राथमिकता दें।- tags को immutable रखें: कभी भी किसी tag को move या reuse न करें।
- npm dist-tags npm installs के लिए सत्य का स्रोत बने रहते हैं:
latest-> stablebeta-> candidate build या beta-first stable builddev-> main snapshot (वैकल्पिक)
macOS app availability
Beta और dev builds में macOS app release नहीं हो सकती। यह ठीक है:
- git tag और npm dist-tag फिर भी प्रकाशित किए जा सकते हैं।
- release notes या changelog में "no macOS build for this beta" का उल्लेख करें।