Files
swarm-master/ansible/RELEASE_NOTES_v2.0.0.md
William Valentin aceeb7b542 Initial commit — OpenClaw VM infrastructure
- ansible/: VM provisioning playbooks and roles
  - provision-vm.yml: create KVM VM from Ubuntu cloud image
  - install.yml: install OpenClaw on guest (upstream)
  - customize.yml: swappiness, virtiofs fstab, linger
  - roles/vm/: libvirt domain XML, cloud-init templates
  - inventory.yml + host_vars/zap.yml: zap instance config
- backup-openclaw-vm.sh: daily rsync + MinIO upload
- restore-openclaw-vm.sh: full redeploy from scratch
- README.md: full operational documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:18:31 -07:00

119 lines
3.6 KiB
Markdown

# Release v2.0.0 - Multi-OS Support & Critical Fixes
## 🎉 Major Release
This release adds **multi-OS support** (macOS + Linux), **development mode**, and fixes **all critical issues** reported by users.
### ✨ New Features
#### Multi-OS Support
-**macOS support** alongside Debian/Ubuntu
-**Homebrew** automatically installed on both platforms
- ✅ OS-specific tasks for clean separation
- ✅ Automatic OS detection with proper fallback
#### Installation Modes
-**Release Mode** (default): `pnpm install -g openclaw@latest`
-**Development Mode**: Clone repo, build from source, symlink binary
- ✅ Switch with `-e openclaw_install_mode=development`
- ✅ Development aliases: `openclaw-rebuild`, `openclaw-dev`, `openclaw-pull`
### 🐛 Critical Bug Fixes
All issues from user feedback resolved:
1.**DBus Session Bus Errors**
- Auto-configured `loginctl enable-linger`
- Dynamic `XDG_RUNTIME_DIR=/run/user/$(id -u)`
- Proper `DBUS_SESSION_BUS_ADDRESS` setup
- No more manual `eval $(dbus-launch --sh-syntax)` needed!
2.**User Switch Command**
- Fixed from `sudo -i -u openclaw` to `sudo su - openclaw`
- Ensures proper login shell with environment
3.**Homebrew Integration**
- Installed for both Linux and macOS
- Added to PATH in both `.bashrc` and `.zshrc`
- `brew shellenv` properly configured
4.**PNPM Configuration**
- `PNPM_HOME` properly set in shell configs
- PATH includes pnpm directories
- Correct permissions on `~/.local/share/pnpm`
5.**User-ID Dynamic**
- No longer hardcoded to 1000
- Dynamically determined with `id -u`
### 🔧 Improvements
-**Better onboarding**: Recommends `openclaw onboard --install-daemon`
-**No auto-config**: Config files created by openclaw itself
-**Enhanced security**: systemd service hardening
-**Linting**: yamllint & ansible-lint production profile passed
### 📦 Installation
#### Quick Start (Release Mode)
```bash
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash
```
#### Development Mode
```bash
git clone https://github.com/openclaw/openclaw-ansible.git
cd openclaw-ansible
./run-playbook.sh -e openclaw_install_mode=development
```
### 📚 Documentation
- [README.md](README.md) - Getting started
- [CHANGELOG.md](CHANGELOG.md) - Full changelog
- [UPGRADE_NOTES.md](UPGRADE_NOTES.md) - Technical details
- [docs/development-mode.md](docs/development-mode.md) - Development guide
### ⚠️ Breaking Changes
1. **User switch command changed**: Use `sudo su - openclaw` instead of `sudo -i -u openclaw`
2. **No auto-configuration**: Config files no longer auto-generated, use `openclaw onboard`
3. **No auto-service**: systemd service not auto-installed, use `--install-daemon` flag
### 🔄 Migration
For existing installations:
```bash
# Add environment variables
echo 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' >> ~/.bashrc
echo 'export PNPM_HOME="$HOME/.local/share/pnpm"' >> ~/.bashrc
# Enable lingering
sudo loginctl enable-linger openclaw
# Add Homebrew (Linux)
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
# Reload
source ~/.bashrc
# Reinstall openclaw
pnpm install -g openclaw@latest
```
### 📊 Testing
- ✅ yamllint: **PASSED**
- ✅ ansible-lint: **PASSED** (production profile)
- ✅ Tested on Debian 11/12
- ✅ Tested on Ubuntu 20.04/22.04
- ⚠️ macOS framework ready (needs real hardware testing)
### 🙏 Thanks
Special thanks to early adopters who provided feedback on the DBus and user switching issues!
---
**Full Changelog**: https://github.com/openclaw/openclaw-ansible/blob/main/CHANGELOG.md