v0.3.0 - nself-org/cli GitHub Wiki

v0.3.0 Release Notes

Release Date: January 11, 2025

Major architecture refactor - the foundation for modern nself.


Overview

v0.3.0 represents a breaking change with a complete architectural overhaul, moving from a monolithic structure to a modular, maintainable src-centric architecture.


Breaking Changes

  • Major Architecture Refactor: All implementation code now lives in /src with organized subdirectories
  • /bin contains 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

Features

Added

Comprehensive Error Handling System (/src/lib/errors/)

  • 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

Modular Build System (/src/cli/build/)

  • 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

Enhanced Status and Logging

  • Real-time service health monitoring
  • Color-coded status indicators
  • Improved log filtering and display
  • Progress indicators for long-running operations

Doctor Command (/src/cli/doctor.sh)

  • Comprehensive system health checks
  • Environment validation
  • Service connectivity testing
  • Auto-fix suggestions for common issues

Fixed

  • 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

Improved

  • 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

Upgrade Notes

Users upgrading from v0.2.x should:

  1. Back up their .env files
  2. Run nself update
  3. Run nself build to regenerate configurations

Full Changelog: v0.2.4...v0.3.0

⚠️ **GitHub.com Fallback** ⚠️