v0.3.0 - nself-org/cli GitHub Wiki
Release Date: January 11, 2025
Major architecture refactor - the foundation for modern nself.
v0.3.0 represents a breaking change with a complete architectural overhaul, moving from a monolithic structure to a modular, maintainable src-centric architecture.
-
Major Architecture Refactor: All implementation code now lives in
/srcwith organized subdirectories -
/bincontains only thin shim scripts that delegate to/src/cli - Templates, certificates, and libraries moved to
/src - Clean separation of concerns with modular error handling and auto-fix systems
- Modular error detection and reporting
- Auto-fix capabilities for common issues
- Interactive user prompts for complex fixes
- Port conflict resolution with automatic alternative port configuration
- Docker build error analysis and recovery
- Go module dependency resolution
- Node.js build error handling
- Broke down 1078-line monolithic build.sh into maintainable modules
- Separate modules for environment, Docker, services, nginx, SSL, and Hasura
- Improved error detection and recovery during build process
- Real-time service health monitoring
- Color-coded status indicators
- Improved log filtering and display
- Progress indicators for long-running operations
- Comprehensive system health checks
- Environment validation
- Service connectivity testing
- Auto-fix suggestions for common issues
- Installation upgrade path from v0.2.x to v0.3.0
- Bash 3.2 compatibility for macOS (removed associative arrays)
- Port conflict detection now uses configured ports from .env.local
- Go module build errors with automatic dependency resolution
- Template path references updated for new src structure
- Safety checks for nself repository detection
- Shebang standardization to
#!/usr/bin/env bash - Auto-fix subsystem now uses absolute paths
- Performance optimizations for quick checks
- Docker Desktop auto-start on macOS
- Interactive menus for complex configuration choices
- Error messages are more descriptive and actionable
- Build process is more resilient to failures
- Version detection now properly reads from /src/VERSION
Users upgrading from v0.2.x should:
- Back up their
.envfiles - Run
nself update - Run
nself buildto regenerate configurations
Full Changelog: v0.2.4...v0.3.0