detached 53b3337

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 VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · 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.
1616 ### Removed
1717 - **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
1818
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+
1976 ## [0.3.0] - 2025-10-22
2077
2178 ### Added
@@ -16,6 +16,63 @@ All notable changes to this project will be documented in this file.
16 ### Removed16 ### 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 only17 - **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-2276 ## [0.3.0] - 2025-10-22
20 77
21 ### Added78 ### Added

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 0

    ↑↓ moveenter openesc close