Політика випусків
OpenClaw має три публічні канали випусків:- stable: теговані випуски, які типово публікуються в npm
beta, або в npmlatest, якщо це явно запрошено - beta: теги попередніх випусків, які публікуються в npm
beta - dev: рухома вершина
main
Схема назв версій
- Версія stable-випуску:
YYYY.M.D- Git-тег:
vYYYY.M.D
- Git-тег:
- Версія коригувального stable-випуску:
YYYY.M.D-N- Git-тег:
vYYYY.M.D-N
- Git-тег:
- Версія beta-попереднього випуску:
YYYY.M.D-beta.N- Git-тег:
vYYYY.M.D-beta.N
- Git-тег:
- Не додавайте провідні нулі для місяця або дня
latestозначає поточний просунутий stable-випуск npmbetaозначає поточну ціль встановлення beta- Stable- і коригувальні stable-випуски типово публікуються в npm
beta; оператори випусків можуть явно націлитиlatestабо пізніше просунути перевірену beta-збірку - Кожен випуск OpenClaw постачається разом як npm-пакет і програма macOS
Частота випусків
- Випуски спочатку проходять через beta
- Stable іде лише після перевірки останньої beta
- Детальна процедура випуску, затвердження, облікові дані та примітки щодо відновлення доступні лише мейнтейнерам
Передрелізна перевірка
- Запустіть
pnpm build && pnpm ui:buildпередpnpm release:check, щоб на кроці перевірки pack були наявні очікувані артефакти випускуdist/*і bundle Control UI - Запускайте
pnpm release:checkперед кожним тегованим випуском - Передрелізна перевірка npm для main-гілки також запускає
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cacheперед пакуванням tarball, використовуючи секрети workflowOPENAI_API_KEYіANTHROPIC_API_KEY - Запустіть
RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.ts(або відповідний beta/correction-тег) перед затвердженням - Після публікації в npm запустіть
node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.D(або відповідну beta/correction-версію), щоб перевірити шлях встановлення з опублікованого реєстру у свіжому тимчасовому prefix - Автоматизація випусків для мейнтейнерів тепер використовує підхід preflight-then-promote:
- реальна публікація в npm має пройти успішний npm
preflight_run_id - stable-випуски npm типово націлені на
beta - stable-публікація npm може явно націлювати
latestчерез вхід workflow - просування stable npm з
betaнаlatestусе ще доступне як явний ручний режим у довіреному workflowOpenClaw NPM Release - цьому режиму просування все ще потрібен дійсний
NPM_TOKENу середовищіnpm-release, оскільки керування npmdist-tagвідокремлене від trusted publishing - публічний
macOS Releaseпризначений лише для валідації - реальна приватна публікація mac має пройти успішні private mac
preflight_run_idіvalidate_run_id - реальні шляхи публікації просувають підготовлені артефакти замість повторного збирання
- реальна публікація в npm має пройти успішний npm
- Для коригувальних stable-випусків, таких як
YYYY.M.D-N, постпублікаційний перевіряльник також перевіряє той самий шлях оновлення в тимчасовому prefix зYYYY.M.DдоYYYY.M.D-N, щоб коригувальні випуски не могли непомітно залишати старі глобальні встановлення на базовому stable-payload - Передрелізна перевірка npm завершується fail-closed, якщо tarball не містить і
dist/control-ui/index.html, і непорожній payloaddist/control-ui/assets/, щоб ми знову не випустили порожню браузерну панель керування - Якщо робота над випуском зачепила планування CI, маніфести часу розширень або швидкі
матриці тестів, заново згенеруйте й перегляньте вихідні дані матриці workflow
checks-fast-extensions, якими володіє planner, з.github/workflows/ci.ymlперед затвердженням, щоб примітки до випуску не описували застарілу структуру CI - Готовність stable-випуску macOS також включає поверхні оновлювача:
- GitHub-випуск має зрештою містити запаковані
.zip,.dmgі.dSYM.zip appcast.xmlуmainпісля публікації має вказувати на новий stable zip- запакована програма має зберігати non-debug bundle id, непорожній Sparkle feed
URL і
CFBundleVersion, не нижчий за канонічну межу збірки Sparkle для цієї версії випуску
- GitHub-випуск має зрештою містити запаковані
Вхідні параметри workflow NPM
OpenClaw NPM Release приймає такі керовані оператором вхідні параметри:
tag: обов’язковий тег випуску, наприкладv2026.4.2,v2026.4.2-1абоv2026.4.2-beta.1preflight_only:trueлише для перевірки/збирання/пакування,falseдля реального шляху публікаціїpreflight_run_id: обов’язковий у реальному шляху публікації, щоб workflow повторно використав підготовлений tarball з успішного передрелізного запускуnpm_dist_tag: цільовий тег npm для шляху публікації; типовоbetapromote_beta_to_latest:true, щоб пропустити публікацію й перемістити вже опубліковану stablebeta-збірку наlatest
- Stable- і correction-теги можуть публікуватися або в
beta, або вlatest - Beta-теги попередніх випусків можуть публікуватися лише в
beta - Реальний шлях публікації має використовувати той самий
npm_dist_tag, що й під час передрелізної перевірки; workflow перевіряє ці метадані до продовження публікації - Режим просування має використовувати stable- або correction-тег,
preflight_only=false, порожнійpreflight_run_idіnpm_dist_tag=beta - Режим просування також потребує дійсного
NPM_TOKENу середовищіnpm-release, оскількиnpm dist-tag addусе ще потребує звичайної npm-автентифікації
Послідовність stable-випуску npm
Під час створення stable-випуску npm:- Запустіть
OpenClaw NPM Releaseзpreflight_only=true - Виберіть
npm_dist_tag=betaдля звичайного beta-first потоку абоlatestлише тоді, коли ви свідомо хочете пряму stable-публікацію - Збережіть успішний
preflight_run_id - Запустіть
OpenClaw NPM Releaseще раз ізpreflight_only=false, тим самимtag, тим самимnpm_dist_tagі збереженимpreflight_run_id - Якщо випуск потрапив у
beta, пізніше запустітьOpenClaw NPM Releaseз тим самим stabletag,promote_beta_to_latest=true,preflight_only=false, порожнімpreflight_run_idіnpm_dist_tag=beta, коли захочете перемістити цю опубліковану збірку наlatest
npm-release і
дійсного NPM_TOKEN у цьому середовищі.
Це дозволяє документувати й робити видимими для оператора як прямий шлях публікації, так і шлях просування beta-first.
Публічні посилання
.github/workflows/openclaw-npm-release.ymlscripts/openclaw-npm-release-check.tsscripts/package-mac-dist.shscripts/make_appcast.sh
openclaw/maintainers/release/README.md
як фактичний робочий посібник.