Releases: bizzkoot/opencode-backup
Releases Β· bizzkoot/opencode-backup
Release list
v0.0.6
v0.0.5
v0.0.4
What's Changed
- fix: SC2084 error in opencode-removal.sh (fc55d87)
- ci: change shellcheck severity to error from warning (98b604b)
- fix: remaining SC2155 warnings in opencode-removal.sh (5b43513)
- fix: resolve all shellcheck warnings (f014c6d)
- chore: bump version to 0.0.4 (a079dfe)
- feat: v0.0.4 - Audit fixes & version centralization\n\n- Security: Verified download process for curl installation\n- Security: Input validation for package manager selection\n- Security: Path validation to prevent privilege escalation\n- Error handling: Exit status checks in interactive menu\n- Testing: Comprehensive test suite (unit, integration, security)\n- Documentation: SECURITY.md, DEVELOPMENT.md, RELEASE.md\n- Release: Automated release workflow with GitHub Actions\n- Version: Centralized version management (VERSION file)\n (eca8718)
Full Changelog: v0.0.3...v0.0.4
v0.0.3
OpenCode Backup & Removal Manager v0.0.3
π Major Release: Complete Architecture Refactor
This release brings significant improvements including a new unified dispatcher, shared library system, OpenCode installation capability, and interactive menu.
β¨ New Features
π§ Unified Dispatcher (opencode.sh)
- Single entry point for all OpenCode operations
- Interactive menu when run without arguments
- Command routing to backup, restore, install, and remove tools
- Consistent UX matching backup/removal scripts
π¦ OpenCode Installation
- Auto-detection of best installation method
- 8 installation methods supported:
brew(Homebrew - macOS/Linux, recommended)npm(Node.js package - any OS)scoop(Windows)choco(Chocolatey - Windows)paru(Arch Linux AUR)mise(Multi-language runtime)nix(Nix package manager)curl(YOLO installer)
- Interactive confirmation for curl installer
- Fallback options when package manager not detected
ποΈ Shared Library System (lib/common.sh)
- Centralized helpers for all scripts
- OS detection (Linux, macOS, Windows)
- Color helpers (info, success, warning, error)
- Command wrappers for safe execution
- Package manager detection
- Installation functions
π Interactive Menu
- Organized layout: Backup & Restore, Installation & Removal
- 6 main options: Create Backup, Restore, List Backups, Settings, Install, Remove
- Platform detection displayed in header
- Seamless navigation with clear prompts
π§ Improvements
Code Architecture
- Extracted shared logic into
lib/common.sh - Reduced code duplication across scripts
- Graceful fallback when library is missing (main scripts still work)
- Dispatcher enforces library presence for clean architecture
Documentation
- New architecture section explaining scripts structure
- Library system documentation with fallback behavior
- Installation guide with all supported methods
- Interactive mode documentation with menu examples
- Enhanced README with images and collapsible sections
- Updated QUICKSTART for dispatcher workflow
User Experience
- Single entry point for all operations
- No need to memorize command-line options
- Consistent menus across all scripts
- Clear error messages with actionable suggestions
π Breaking Changes
None. All existing command-line usage continues to work as before.
π Statistics
- 7 new commits since v0.0.1
- 1,034 lines added, 148 lines removed
- 9 files changed:
lib/common.sh(new file - shared library)opencode.sh(new file - dispatcher)opencode-backup.sh(refactored)opencode-removal.sh(refactored)- Documentation updates (README.md, QUICKSTART.md)
- New UI images (Backup.png, Removal.png, Icon.png)
π Usage Examples
Interactive Menu
./opencode.sh # Launch interactive menuCommand Line
./opencode.sh backup # Create backup
./opencode.sh restore # Restore backup
./opencode.sh install # Install OpenCode (auto-detect)
./opencode.sh install brew # Install via Homebrew
./opencode.sh remove --remove-all # Remove OpenCodeDirect Script Invocation (still supported)
./opencode-backup.sh backup
./opencode-removal.sh --helpπ Upgrade Instructions
Easiest Method (Download & Extract):
- Download the
Assetfile from this release - Extract the zip to your backup folder
- Overwrite existing files when prompted
- Done! All features are now available
Alternative (Git Pull):
cd /path/to/opencode-backups
git pull origin master
./opencode.sh # Try new interactive menu!π Bug Fixes
- Removal tool: Enhanced macOS-specific detection
- Removal tool: Added post-removal verification
π Acknowledgments
This release includes improvements based on user feedback for better workflow and ease of use.
v0.0.1
v0.0.1 - Initial Release
Initial release of the OpenCode Backup & Removal Manager suite.
π¦ What's Included
1. opencode-backup.sh (v0.0.1)
A comprehensive backup and restore tool for OpenCode.
- Interactive Menu: User-friendly text interface.
- Security: Optional AES-256-CBC encryption for backups.
- Flexibility: Selective backup of config, session history, and binaries.
- Safety: Automated safety backups created before any restore operation.
- Cross-Platform: Optimized for macOS, Linux, and Windows (Git Bash/WSL).
2. opencode-removal.sh (v0.0.1)
An intelligent uninstaller for OpenCode.
- Deep Scan: Finds OpenCode installations from various package managers (npm, brew, scoop, etc.).
- Smart Data Detection: Identifies all configuration and history directories.
- Integrated Backup: Seamless integration with the backup tool to secure data before removal.
- Risk Assessment: Color-coded risk levels (Safe, Medium, High) for each item.
- Dry Run: Preview all actions before execution.
π Prerequisites
bashorzshrsync,tar,gzipnode(for config parsing and sorting)openssl(required for encrypted backups)