Vincent Koc
767e8280ac
fix(cli): harden official plugin recovery ( #93325 )
...
* fix(cli): harden official plugin recovery
* fix(config): preserve include write context
* fix(config): reject external include mutations
* fix(config): bind snapshots to config paths
* fix(config): preserve write ownership
* fix(cli): preflight plugin config mutations
* chore(plugin-sdk): refresh api baseline
* test(config): prove install env policy mutations
* fix(cli): preflight plugin updates
* fix(cli): preflight non-npm id migrations
* chore(plugin-sdk): refresh api baseline
* fix(cli): satisfy plugin recovery checks
2026-06-15 23:07:29 +08:00
Peter Steinberger
f4d2748ca5
docs: document plugin metadata utilities
2026-06-04 04:57:48 -04:00
Brian
7b5f75eb98
Pin official npm plugin install records ( #88585 )
...
* fix(plugins): pin official npm install records
* fix(infra): tolerate equivalent plugin install migrations
* fix(plugins): preserve manual exact plugin pins
* fix(infra): remove stale migration imports
* chore: unblock ci guards
* fix: preserve official sync integrity checks
* fix: avoid prerelease integrity carryover
* fix: preserve manual official npm specs
* fix: preserve beta fallback integrity checks
* fix: preserve trusted prerelease fallback integrity
* fix: preserve prerelease-only integrity checks
* fix: pin unchanged official npm records
* fix: allow official compatible fallback updates
* fix: preserve fallback integrity after prerelease resolution
* fix: skip incompatible fallback integrity pins
* fix: preserve pin-only install provenance
* fix: check integrity when repairing missing official pins
---------
Co-authored-by: Lilac <lilac@Lilacs-iMac.local >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-03 17:58:09 -07:00
B.K.
c96a12d3c8
fix(update): surface plugin channel fallbacks ( #81422 )
...
* fix: surface plugin update channel fallbacks
* fix: clarify dry-run plugin fallback output
* fix: preserve failed plugin fallback metadata
* chore: mark compatibility aliases deprecated
* chore: fix channel runtime lint directive
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-03 16:00:40 -07:00
Josh Avant
154f439c81
Add operator install policy and remove dangerous-code install scanners ( #89516 )
...
* feat: add operator install policy
* test: cover plain-file plugin install code
* fix: preserve locationless install policy findings
* refactor: remove install-time plugin scanner
* test: remove stale plugin install helper
* fix: preserve before-install builtin scan type
* fix: preserve plugin dependency denylist
---------
Co-authored-by: Mainframe <mainframe@MainfraacStudio.localdomain >
2026-06-03 14:17:29 -07:00
Mukunda Rao Katta
2d61521bd3
fix(update): pin post-core plugin compatibility to the downgraded core version ( #87914 ) ( #87952 )
...
* fix(update): pin post-core plugin compatibility to the downgraded core version (#87914 )
* fix(update): force plugin compatibility repair on rollback
* style(update): clarify downgrade compatibility note
* fix(plugins): resolve compatible prerelease plugin downgrades
* fix(plugins): honor host gates during npm downgrade repair
* fix(plugins): keep prerelease downgrade fallback on channel
---------
Co-authored-by: Gio Della-Libera <giodl73@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-02 07:13:26 -04:00
Hussein Nourelddine
4a285d529a
feat(status): detect external plugin version drift
...
Surface active official external plugin version drift in gateway status diagnostics so users can see when a host/package update left npm or ClawHub plugins behind the running local gateway. The advisory uses the daemon service install records, compares against the running gateway version, gives detailed fix commands in deep status, and avoids local-state drift checks for remote gateway mode or explicit status probe URLs.
Co-authored-by: Hussein Nourelddine <hussein@gptc.com.kw >
2026-06-02 06:59:23 -04:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Peter Steinberger
f5eca3f84c
chore(lint): enable object and reassignment rules
2026-05-31 09:32:52 +01:00
Peter Steinberger
3132969c68
fix: fall back from official ClawHub artifact blocks ( #83566 )
...
* fix: fall back from official ClawHub artifact blocks
* test: refresh codex prompt snapshots
* test: refresh code mode prompt snapshots
* test: refresh linux prompt snapshots
2026-05-18 13:00:05 +01:00
Peter Steinberger
2976517bc7
fix(plugins): gate onboarding ClawHub npm fallback
2026-05-18 07:21:42 +01:00
Peter Steinberger
00205cab08
fix(plugins): restrict ClawHub npm fallback scope
2026-05-18 07:21:42 +01:00
JARVIS-Glasses
5214f16e29
fix(update): clear stale plugin refs after failed updates
2026-05-14 00:25:52 +01:00
Jesse Merhi
6c92324c5f
Revert "Check ClawHub trust before plugin installs ( #81307 )" ( #81363 )
...
This reverts commit 87eb450047 .
2026-05-13 19:34:18 +10:00
Jesse Merhi
87eb450047
Check ClawHub trust before plugin installs ( #81307 )
...
Merged via squash.
Prepared head SHA: 273fd7c20e
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Reviewed-by: @jesse-merhi
2026-05-13 16:31:52 +10:00
Alex Naidis
a290cd633f
fix(doctor): repair managed plugin peer links
...
Repair managed npm plugin OpenClaw peer links across doctor, install, and update flows.
- relink `peerDependencies.openclaw` packages under managed npm roots during doctor repair
- make read-only doctor preview broken peer links with a `doctor --fix` hint
- reject target plugin installs when their own peer link cannot be repaired, without blocking unrelated installs for stale sibling packages
- preserve update warning behavior for unrepairable package-local `node_modules`
Verification:
- `pnpm test src/plugins/plugin-peer-link.test.ts src/plugins/install.test.ts src/plugins/install.npm-spec.test.ts src/plugins/update.test.ts src/commands/doctor-plugin-registry.test.ts src/commands/doctor/repair-sequencing.test.ts -- --reporter=verbose`
- `pnpm exec oxfmt --check --threads=1 ...`
- `git diff --check`
- Crabbox/Testbox `tbx_01krde1jx199rnpm2rv1rdcj76`: focused tests + `pnpm check:changed`, exit 0
- Real CLI proof in PR body: read-only `openclaw doctor` warning plus `openclaw doctor --fix` symlink repair
Thanks @TheCrazyLex.
2026-05-12 07:49:08 +01:00
Peter Steinberger
738f94b290
fix: clarify update warning states
2026-05-11 18:02:05 +01:00
Peter Steinberger
c9c9c3f7f1
fix: surface plugin beta fallback outcomes
2026-05-11 16:57:27 +01:00
Peter Steinberger
388af50ba1
fix: smooth beta update health checks
2026-05-10 00:20:38 +01:00
pickaxe
d221d7b6a9
fix(plugins): isolate peer-link repair failures
2026-05-06 05:13:01 +01:00
pickaxe
fb42c722f0
fix(plugins): repair peer links after npm updates
2026-05-06 05:13:01 +01:00
Vincent Koc
2014c2327b
fix(plugins): sync official plugin installs during update ( #78065 )
...
* fix(plugins): sync official npm installs during update
* fix(plugins): sync official clawhub installs during update
* test(update): mock official plugin sync helpers
---------
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
2026-05-05 17:27:32 -07:00
Patrick Erichsen
8aa7b7a4ca
Tolerate corrupt plugins during update ( #77706 )
...
* fix(update): tolerate corrupt plugin state
* fix(update): preserve corrupt plugin proof state
* fix(update): narrow corrupt plugin warnings
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-05 14:18:26 -07:00
Vincent Koc
b0f841ef37
fix(plugins): honor beta channel for auto installs
2026-05-04 21:33:46 -07:00
pickaxe
2e8761c5c1
fix(plugins): repair missing openclaw peer links on update
2026-05-05 05:04:22 +01:00
Vincent Koc
7c0f5463a5
fix(update): isolate plugin sync failures
...
Disable and skip plugins that fail package-update plugin sync so broken plugin packages do not fail an otherwise successful OpenClaw update.
2026-05-04 14:06:44 -07:00
Peter Steinberger
4820b701a5
fix(plugins): fall back from invalid beta npm updates
2026-05-04 21:55:08 +01:00
Vincent Koc
5ca0aa1d15
fix(plugins): accept stable correction releases
2026-05-03 20:53:23 -07:00
Vincent Koc
616a4e9782
fix(plugins): restore preferred clawhub installs
2026-05-03 20:34:12 -07:00
Vincent Koc
ac00d7882a
fix(plugins): clean resolved npm load paths
2026-05-03 19:51:09 -07:00
Vincent Koc
9799e412f8
fix(plugins): clean pinned externalized load paths
2026-05-03 17:27:18 -07:00
Vincent Koc
c42a349b42
fix(plugins): trust official externalized npm installs
2026-05-03 17:20:47 -07:00
Vincent Koc
f5927cbb43
fix(plugins): update trusted prerelease installs
2026-05-03 17:17:10 -07:00
Simone
c5b559d4ee
fix(plugins): keep npm bridge updates scanned ( #76765 )
...
Keep externalized bundled npm bridge updates on the normal plugin security scanner path instead of granting source-linked official trust without artifact provenance.
Thanks @Lucenx9.
2026-05-03 17:50:31 +01:00
Vincent Koc
07e0342106
fix(update): trust catalog-matched npm updates
2026-05-03 03:04:25 -07:00
Vincent Koc
423b5d6981
fix(update): trust externalized npm bridges
2026-05-03 03:02:16 -07:00
Peter Steinberger
f969ae45a3
fix(plugins): follow beta channel for plugin updates
2026-05-02 20:19:03 +01:00
Vincent Koc
7fae11b3b1
fix(plugins): persist clawhub artifact metadata
2026-05-02 10:17:19 -07:00
Vincent Koc
0c6c1cac76
feat(plugins): prefer clawhub for bundled cutovers
2026-05-01 18:13:03 -07:00
Vincent Koc
0aa8022e88
refactor(plugins): rename clawhub storepack metadata to clawpack
2026-05-01 17:32:22 -07:00
Vincent Koc
20e8769d93
feat(plugins): persist clawhub storepack metadata
2026-05-01 17:05:47 -07:00
Alex Knight
bbc47cb9e1
fix(plugins): skip update when bundled plugin version is newer than installed clawhub/marketplace version ( #75604 )
2026-05-01 21:00:49 +10:00
Peter Steinberger
7ddf28c0d4
feat: support git plugin installs
2026-05-01 10:59:10 +01:00
Vincent Koc
43da089790
fix(update): skip disabled plugins during post-update sync ( #73970 )
...
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-04-28 19:36:11 -07:00
Peter Steinberger
b67d9bf7f0
fix: propagate update timeout to plugin installs
2026-04-26 10:45:11 +01:00
Peter Steinberger
c6b7444d16
fix(plugins): reset context engine slot on uninstall
2026-04-26 09:50:34 +01:00
Peter Steinberger
a434133aac
fix: fail update on plugin sync errors
2026-04-26 09:01:18 +01:00
Peter Steinberger
40e5d9adc7
fix(plugins): update external plugins in recorded root
2026-04-26 07:14:30 +01:00
Vincent Koc
9bd348fdec
fix(plugins): harden install ledger path handling
2026-04-25 11:48:17 -07:00
Vincent Koc
c070509b7f
fix(security): bound archive and MIME parser work ( #71561 )
...
* fix(security): bound archive and MIME parser work
* fix(security): harden zip preflight accounting
* fix(plugins): keep update channel sync on bundled path helpers
* fix(lint): avoid boolean literal comparisons
* fix(lint): keep agent spawn assertion immutable
* test(auto-reply): relax slow model directive regression timeout
2026-04-25 06:22:56 -07:00