docs(changelog): add missing 0.5.0 release entry for Go CLI binary refactor
- commit
- 53b3337c282dd43a4e20e0e6373bb04f1323ac51
- author
- brice · · 2026-03-13 07:14 UTC
- parent
- dd7a881
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +57 -0
M CHANGELOG.md +57 -0
| @@ -16,6 +16,63 @@ All notable changes to this project will be documented in this file. | |||
| 16 | 16 | ### Removed | |
| 17 | 17 | - **archup-cli post-boot install**: Removed `archup-cli.sh` and its invocation from `all.sh`; the post-boot model is barebone or Dank Linux only | |
| 18 | 18 | ||
| 19 | + | ## [0.5.0] - 2026-03-13 | |
| 20 | + | ||
| 21 | + | ### Added | |
| 22 | + | - **Go CLI binary**: Rewrote the installer as a compiled Go binary using Cobra, Bubble Tea, Bubbles, Huh, and Lipgloss; replaced the bash orchestrator with a Go binary downloader (`install/bootstrap.sh`) | |
| 23 | + | - **DDD architecture**: Introduced `internal/domain`, `internal/application`, `internal/infrastructure`, and `internal/interfaces` layers with domain entities, ports, and adapters | |
| 24 | + | - **Kernel selection**: Added TUI screen for choosing between linux, linux-lts, linux-zen, and linux-cachyos kernels | |
| 25 | + | - **GPU detection**: Added GPU detection and automatic driver/package selection during bootstrap | |
| 26 | + | - **Disk encryption toggle**: Added TUI screen for enabling LUKS encryption with separate password support | |
| 27 | + | - **Dank Linux opt-in**: Added toggle screen before installation and first-boot auto-run via flag file | |
| 28 | + | - **AUR helper and Chaotic-AUR selection**: Added TUI screen; Chaotic AUR is always enabled; user selects helper (paru/yay) | |
| 29 | + | - **CachyOS repository support**: Added host-side and chroot-side CachyOS repo setup when linux-cachyos kernel is selected | |
| 30 | + | - **Limine bootloader**: Replaced systemd-boot with Limine; added nested snapshot entries (`//Snapshots`), machine-id injection, and a pacman hook for kernel upgrades | |
| 31 | + | - **limine-snapper-sync**: Install and enable the limine-snapper-sync service for automatic snapshot boot entries | |
| 32 | + | - **Plymouth theme**: Added custom theme with ASCII art PNG logo, centered layout, scaled LUKS password entry, and black background | |
| 33 | + | - **Power management**: Added zram-generator for compressed swap and enabled power-profiles-daemon | |
| 34 | + | - **Post-boot first-login hook**: Moved DMS opt-in and firewalld configuration to first-login; deploy Starship prompt | |
| 35 | + | - **Installation verification gate**: Added post-install verification with structured warnings before completing | |
| 36 | + | - **AMD P-State configuration**: Added comprehensive AMD CPU detection and P-State mode selection | |
| 37 | + | - **WiFi credential migration**: Migrate iwd credentials to NetworkManager profiles post-install | |
| 38 | + | - **bleu-theme integration**: Integrated bleu-theme for CLI tool theming | |
| 39 | + | - **ble.sh**: Added Bash Line Editor installation on first boot | |
| 40 | + | - **Wayland runtime libs**: Added essential runtime libraries for Wayland desktop sessions | |
| 41 | + | - **Nerd fonts**: Added ttf-ibmplex-mono-nerd and ttf-firacode-nerd to extra packages | |
| 42 | + | - **nvtop**: Added nvtop GPU monitor to extra packages | |
| 43 | + | - **Audio stack**: Added Pipewire (pipewire, pipewire-alsa, pipewire-jack, pipewire-pulse, wireplumber), pamixer, playerctl, and gst plugins | |
| 44 | + | - **Bluetooth utilities**: Added bluetui alongside bluez stack | |
| 45 | + | - **WiFi packages**: Added wireless-regdb, impala, and broadcom-wl-dkms | |
| 46 | + | - **firewalld**: Replaced ufw with firewalld; added post-boot initialization script | |
| 47 | + | - **Local debug mode**: Added flag to skip GitHub downloads during VM testing | |
| 48 | + | - **Comprehensive unit tests**: Added test suites for preflight, bootstrap, base install, config, and system phases; centralized test helpers | |
| 49 | + | ||
| 50 | + | ### Changed | |
| 51 | + | - **Installer entrypoint**: `cmd/archup` replaces the former bash entry point; build managed with goreleaser and GNU Make | |
| 52 | + | - **TUI architecture**: Converted to thin interface layer with flat section navigation, unified keyboard hints, and dedicated view files | |
| 53 | + | - **Shell configuration**: Stripped to no-op; all shell setup now handled by `cli-tools.sh` on first boot | |
| 54 | + | - **Post-boot scripts**: Refactored into `PostBootScripts` list; removed `copyShellConfigs`; added TTY and network ordering to systemd service | |
| 55 | + | - **Chaotic-AUR setup order**: Keyring and mirrorlist installed before adding to `pacman.conf` to prevent pacman errors | |
| 56 | + | - **Branding**: Renamed UEFI boot label and Limine branding from "ArchUp" to "Arch Linux"; updated installer title with version, default hostname `arch`, and black background | |
| 57 | + | ||
| 58 | + | ### Removed | |
| 59 | + | - **Bash orchestrator scripts**: Removed shell scripts superseded by Go handlers (DDD migration cleanup) | |
| 60 | + | - **systemd-boot**: Consolidated entirely on Limine bootloader | |
| 61 | + | - **Legacy UI and phases code**: Removed dead `internal/ui` and `internal/phases` code paths from pre-DDD era | |
| 62 | + | - **UFW**: Replaced by firewalld | |
| 63 | + | ||
| 64 | + | ### Fixed | |
| 65 | + | - **Security**: Prevented password exposure in process listings and config files | |
| 66 | + | - **NetworkManager**: Stopped masking `NetworkManager-wait-online` to restore DNS readiness; added `nss-lookup.target` ordering and DNS readiness gate | |
| 67 | + | - **Bootloader**: Corrected Limine path/cmdline keys, nested `/+` format, default entry, and quiet mode flags | |
| 68 | + | - **Plymouth**: Fixed centering, scaling, bullet positions, background color, and lock icon removal | |
| 69 | + | - **Post-boot**: Fixed bash_profile self-cleanup placement, HOME-relative log path, TTY log bleed suppression | |
| 70 | + | - **CachyOS**: Added `pacman-key --init` and `MkdirAll` before CachyOS repo setup | |
| 71 | + | - **AUR helpers**: Built from source as non-root user; handle Chaotic-AUR unavailability; used `makepkg --packagelist` for deterministic installation | |
| 72 | + | - **Chaotic-AUR mirrors**: Fetch dynamically from official mirrorlist with fallback support | |
| 73 | + | - **Logging**: Added comprehensive UI event logging; prevented stdout leak to TUI | |
| 74 | + | - **CodeRabbit review findings**: Fixed `PrevSection` logic, `Branch()` empty guard, `isEncrypted` dedup, `DISK_PLACEHOLDER` constant, regex pacman uncomment, UEFI-safe limine hook | |
| 75 | + | ||
| 19 | 76 | ## [0.3.0] - 2025-10-22 | |
| 20 | 77 | ||
| 21 | 78 | ### Added | |
| @@ -16,6 +16,63 @@ All notable changes to this project will be documented in this file. | |||||
| 16 | ### Removed | 16 | ### Removed | ||
| 17 | - **archup-cli post-boot install**: Removed `archup-cli.sh` and its invocation from `all.sh`; the post-boot model is barebone or Dank Linux only | 17 | - **archup-cli post-boot install**: Removed `archup-cli.sh` and its invocation from `all.sh`; the post-boot model is barebone or Dank Linux only | ||
| 18 | 18 | ||||
| 19 | + | ## [0.5.0] - 2026-03-13 | |||
| 20 | + | ||||
| 21 | + | ### Added | |||
| 22 | + | - **Go CLI binary**: Rewrote the installer as a compiled Go binary using Cobra, Bubble Tea, Bubbles, Huh, and Lipgloss; replaced the bash orchestrator with a Go binary downloader (`install/bootstrap.sh`) | |||
| 23 | + | - **DDD architecture**: Introduced `internal/domain`, `internal/application`, `internal/infrastructure`, and `internal/interfaces` layers with domain entities, ports, and adapters | |||
| 24 | + | - **Kernel selection**: Added TUI screen for choosing between linux, linux-lts, linux-zen, and linux-cachyos kernels | |||
| 25 | + | - **GPU detection**: Added GPU detection and automatic driver/package selection during bootstrap | |||
| 26 | + | - **Disk encryption toggle**: Added TUI screen for enabling LUKS encryption with separate password support | |||
| 27 | + | - **Dank Linux opt-in**: Added toggle screen before installation and first-boot auto-run via flag file | |||
| 28 | + | - **AUR helper and Chaotic-AUR selection**: Added TUI screen; Chaotic AUR is always enabled; user selects helper (paru/yay) | |||
| 29 | + | - **CachyOS repository support**: Added host-side and chroot-side CachyOS repo setup when linux-cachyos kernel is selected | |||
| 30 | + | - **Limine bootloader**: Replaced systemd-boot with Limine; added nested snapshot entries (`//Snapshots`), machine-id injection, and a pacman hook for kernel upgrades | |||
| 31 | + | - **limine-snapper-sync**: Install and enable the limine-snapper-sync service for automatic snapshot boot entries | |||
| 32 | + | - **Plymouth theme**: Added custom theme with ASCII art PNG logo, centered layout, scaled LUKS password entry, and black background | |||
| 33 | + | - **Power management**: Added zram-generator for compressed swap and enabled power-profiles-daemon | |||
| 34 | + | - **Post-boot first-login hook**: Moved DMS opt-in and firewalld configuration to first-login; deploy Starship prompt | |||
| 35 | + | - **Installation verification gate**: Added post-install verification with structured warnings before completing | |||
| 36 | + | - **AMD P-State configuration**: Added comprehensive AMD CPU detection and P-State mode selection | |||
| 37 | + | - **WiFi credential migration**: Migrate iwd credentials to NetworkManager profiles post-install | |||
| 38 | + | - **bleu-theme integration**: Integrated bleu-theme for CLI tool theming | |||
| 39 | + | - **ble.sh**: Added Bash Line Editor installation on first boot | |||
| 40 | + | - **Wayland runtime libs**: Added essential runtime libraries for Wayland desktop sessions | |||
| 41 | + | - **Nerd fonts**: Added ttf-ibmplex-mono-nerd and ttf-firacode-nerd to extra packages | |||
| 42 | + | - **nvtop**: Added nvtop GPU monitor to extra packages | |||
| 43 | + | - **Audio stack**: Added Pipewire (pipewire, pipewire-alsa, pipewire-jack, pipewire-pulse, wireplumber), pamixer, playerctl, and gst plugins | |||
| 44 | + | - **Bluetooth utilities**: Added bluetui alongside bluez stack | |||
| 45 | + | - **WiFi packages**: Added wireless-regdb, impala, and broadcom-wl-dkms | |||
| 46 | + | - **firewalld**: Replaced ufw with firewalld; added post-boot initialization script | |||
| 47 | + | - **Local debug mode**: Added flag to skip GitHub downloads during VM testing | |||
| 48 | + | - **Comprehensive unit tests**: Added test suites for preflight, bootstrap, base install, config, and system phases; centralized test helpers | |||
| 49 | + | ||||
| 50 | + | ### Changed | |||
| 51 | + | - **Installer entrypoint**: `cmd/archup` replaces the former bash entry point; build managed with goreleaser and GNU Make | |||
| 52 | + | - **TUI architecture**: Converted to thin interface layer with flat section navigation, unified keyboard hints, and dedicated view files | |||
| 53 | + | - **Shell configuration**: Stripped to no-op; all shell setup now handled by `cli-tools.sh` on first boot | |||
| 54 | + | - **Post-boot scripts**: Refactored into `PostBootScripts` list; removed `copyShellConfigs`; added TTY and network ordering to systemd service | |||
| 55 | + | - **Chaotic-AUR setup order**: Keyring and mirrorlist installed before adding to `pacman.conf` to prevent pacman errors | |||
| 56 | + | - **Branding**: Renamed UEFI boot label and Limine branding from "ArchUp" to "Arch Linux"; updated installer title with version, default hostname `arch`, and black background | |||
| 57 | + | ||||
| 58 | + | ### Removed | |||
| 59 | + | - **Bash orchestrator scripts**: Removed shell scripts superseded by Go handlers (DDD migration cleanup) | |||
| 60 | + | - **systemd-boot**: Consolidated entirely on Limine bootloader | |||
| 61 | + | - **Legacy UI and phases code**: Removed dead `internal/ui` and `internal/phases` code paths from pre-DDD era | |||
| 62 | + | - **UFW**: Replaced by firewalld | |||
| 63 | + | ||||
| 64 | + | ### Fixed | |||
| 65 | + | - **Security**: Prevented password exposure in process listings and config files | |||
| 66 | + | - **NetworkManager**: Stopped masking `NetworkManager-wait-online` to restore DNS readiness; added `nss-lookup.target` ordering and DNS readiness gate | |||
| 67 | + | - **Bootloader**: Corrected Limine path/cmdline keys, nested `/+` format, default entry, and quiet mode flags | |||
| 68 | + | - **Plymouth**: Fixed centering, scaling, bullet positions, background color, and lock icon removal | |||
| 69 | + | - **Post-boot**: Fixed bash_profile self-cleanup placement, HOME-relative log path, TTY log bleed suppression | |||
| 70 | + | - **CachyOS**: Added `pacman-key --init` and `MkdirAll` before CachyOS repo setup | |||
| 71 | + | - **AUR helpers**: Built from source as non-root user; handle Chaotic-AUR unavailability; used `makepkg --packagelist` for deterministic installation | |||
| 72 | + | - **Chaotic-AUR mirrors**: Fetch dynamically from official mirrorlist with fallback support | |||
| 73 | + | - **Logging**: Added comprehensive UI event logging; prevented stdout leak to TUI | |||
| 74 | + | - **CodeRabbit review findings**: Fixed `PrevSection` logic, `Branch()` empty guard, `isEncrypted` dedup, `DISK_PLACEHOLDER` constant, regex pacman uncomment, UEFI-safe limine hook | |||
| 75 | + | ||||
| 19 | ## [0.3.0] - 2025-10-22 | 76 | ## [0.3.0] - 2025-10-22 | ||
| 20 | 77 | ||||
| 21 | ### Added | 78 | ### Added | ||