clawmacdo 0.32.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +35 -7
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -5,17 +5,31 @@
5
5
 
6
6
  Rust CLI tool for deploying [OpenClaw](https://openclaw.ai) to **DigitalOcean**, **AWS Lightsail**, **Tencent Cloud**, **Microsoft Azure**, or **BytePlus Cloud** — with Claude Code, Codex, and Gemini CLI pre-installed.
7
7
 
8
- ## ✨ What's New in v0.32.0
8
+ ## ✨ What's New in v0.34.0
9
9
 
10
10
  - **`update-model` subcommand** — change the AI model on a running OpenClaw instance without redeploying (updates API keys, provider config, model settings, and restarts the gateway)
11
+ - **`update-ip` subcommand** — refresh the IP address of a deployed instance from the cloud provider API (Lightsail, DigitalOcean, BytePlus) and update both JSON deploy record and SQLite
12
+ - **Refresh IP button** — new "Refresh IP" button in Deployments tab queries the cloud provider and updates the IP in-place
13
+ - **Deployments action dropdown** — deployment row actions now open in a stacked menu so controls stay readable instead of overlapping in narrow tables
14
+ - **Deployments table fit** — deployments table now uses a tighter fixed layout with wrapped cell content to avoid left-right scrolling in the tab
15
+ - **Funnel actions in dropdown** — the Deployments tab now handles the two-step funnel flow from the Actions menu: first toggle funnel on/off, then open the funnel URL once it becomes available
11
16
  - **Snapshot/restore progress tracking** — snapshot and restore operations are now async with step-by-step progress via SSE; the frontend can display real-time progress bars using `GET /api/deploy/{operation_id}/events`
17
+ - **Deploy progress in Deployments tab** — running deployments show an animated progress bar with current step label, polling every 3 seconds
18
+ - **Funnel verification** — toggling funnel ON now polls the funnel status with a progress bar before showing the Open button
19
+ - **Docker fix: systemd user manager restart** — "Fix Agent Docker Access" now restarts the systemd user service manager so the gateway picks up the docker group
20
+ - **`KillMode=control-group`** — gateway service now kills the entire cgroup on restart, preventing orphaned child processes from holding the port
21
+ - **AWS credential passthrough** — web UI credentials are written to `~/.aws/credentials` so the AWS CLI uses them instead of stale local config
22
+ - **Lightsail destroy with credentials** — destroy modal now prompts for AWS Access Key ID and Secret Access Key
23
+ - **Lightsail snapshot listing** — credentials from the web UI are now passed through to the AWS CLI for snapshot listing
24
+ - **Agent Docker Access warning** — deploy form shows the common Docker socket permission error with a clear fix instruction
25
+ - **Dual license** — switched from MIT to GPLv3 (open source) + Commercial (proprietary) dual license model
26
+
27
+ ### Previous highlights (v0.25.x – v0.26.x)
12
28
  - **`do-snapshot` subcommand** — create a named DigitalOcean snapshot from an existing droplet by ID, with optional `--power-off` flag for clean shutdown/snapshot/power-on cycle
13
- - **BytePlus EIP cost reduction** — switched from pay-by-bandwidth to pay-by-traffic billing, reduced default bandwidth from 10 Mbps to 5 Mbps, and EIP is now created inline with the instance (`ReleaseWithInstance: true`) so it auto-releases on destroy
29
+ - **BytePlus EIP cost reduction** — switched from pay-by-bandwidth to pay-by-traffic billing, reduced default bandwidth from 10 Mbps to 5 Mbps
14
30
  - **BytePlus spot instances** — new `--spot` flag on deploy enables `SpotAsPriceGo` strategy for up to ~80% compute cost savings
15
- - **`bp-snapshot` subcommand**create a named snapshot of a BytePlus ECS instance's system disk
16
- - **`bp-restore` subcommand** restore a new BytePlus ECS instance from a snapshot (creates custom image, then launches instance)
17
- - **`ls-snapshot` subcommand** — create a snapshot of an AWS Lightsail instance
18
- - **`ls-restore` subcommand** — restore a new Lightsail instance from a snapshot (direct, no intermediate image step)
31
+ - **`bp-snapshot` / `bp-restore`** snapshot and restore for BytePlus ECS instances
32
+ - **`ls-snapshot` / `ls-restore`** snapshot and restore for AWS Lightsail instances
19
33
  - **BytePlus EIP orphan cleanup** — destroy command now finds and releases unbound EIPs left behind after instance termination
20
34
 
21
35
  ### Previous highlights (v0.21.x – v0.23.x)
@@ -62,6 +76,19 @@ Rust CLI tool for deploying [OpenClaw](https://openclaw.ai) to **DigitalOcean**,
62
76
  - **5 cloud providers** — DigitalOcean, AWS Lightsail, Tencent Cloud, Microsoft Azure, BytePlus Cloud
63
77
  - **npm distribution** — `npm install -g clawmacdo`
64
78
 
79
+ ## Security Hardening
80
+
81
+ - Privileged remote provisioning commands now run through stdin-fed shells instead of nested quoted `sudo` / `su -c` wrappers.
82
+ - User-supplied hostnames are normalized and validated before any deploy flow uses them.
83
+ - The web UI now only accepts backup archives from `~/.clawmacdo/backups` and SSH keys from `~/.clawmacdo/keys`.
84
+ - Backup restore validates the local `.tar.gz` before upload and extracts remotely with `--no-same-owner` and `--no-same-permissions` into a dedicated restore directory.
85
+ - The gateway service now reads `~/.openclaw/gateway.env` instead of the broader `.env`, so setup-only secrets such as `ANTHROPIC_SETUP_TOKEN` are not inherited by the long-running service.
86
+ - Direct Docker-group access for `openclaw` has been removed. If sandbox mode is requested during deploy, the deploy now forces sandbox mode off until a safer non-root mediation path exists.
87
+ - Lightsail credentials are passed only to the child AWS CLI processes instead of mutating process-global environment variables or writing `~/.aws/credentials`.
88
+ - Tencent's optional security-group helper now takes SSH ingress from `CLAWMACDO_TENCENT_SSH_CIDR` and defaults to `127.0.0.1/32` instead of opening SSH to the world.
89
+
90
+ See [docs/HIGH_SECURITY_FIXES.md](docs/HIGH_SECURITY_FIXES.md) for the finding-by-finding code map, rationale, and functionality impact.
91
+
65
92
  ## 🏗️ Project Structure
66
93
 
67
94
  ```
@@ -727,6 +754,7 @@ For licensing inquiries, contact: bunnyppl@gmail.com
727
754
  | [TanStack Progress Tracking](docs/tanstack-progress-tracking.md) | Frontend integration guide for TanStack (React Query) progress bars |
728
755
  | [Security Scan](docs/SECURITY_SCAN.md) | Security scanning CLI and vulnerability assessment |
729
756
  | [Security Flaw Evaluation](docs/EVAL_SECURITY_FLAW.md) | Security flaw evaluation report and findings |
757
+ | [High Security Fixes](docs/HIGH_SECURITY_FIXES.md) | Code-level remediation map for all HIGH findings |
730
758
  | [Tencent Cloud Plan](docs/TENCENT_PLAN.md) | Tencent Cloud provider support plan |
731
759
  | [Repository Guidelines](docs/AGENTS.md) | Contribution guidelines and repository conventions |
732
760
 
@@ -737,5 +765,5 @@ See [CHANGELOG.md](CHANGELOG.md) for version history and breaking changes.
737
765
  ---
738
766
 
739
767
  **Last updated:** March 19, 2026
740
- **Current version:** 0.32.0
768
+ **Current version:** 0.34.0
741
769
  **Architecture version:** 2.0 (modular workspace)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawmacdo",
3
- "version": "0.32.0",
3
+ "version": "0.34.0",
4
4
  "description": "CLI tool for deploying OpenClaw to multiple cloud providers with pre-installed AI dev tools",
5
5
  "keywords": [
6
6
  "openclaw",
@@ -30,8 +30,8 @@
30
30
  "node": ">=16"
31
31
  },
32
32
  "optionalDependencies": {
33
- "@clawmacdo/darwin-arm64": "0.32.0",
34
- "@clawmacdo/linux-x64": "0.32.0",
35
- "@clawmacdo/win32-x64": "0.32.0"
33
+ "@clawmacdo/darwin-arm64": "0.34.0",
34
+ "@clawmacdo/linux-x64": "0.34.0",
35
+ "@clawmacdo/win32-x64": "0.34.0"
36
36
  }
37
37
  }