Files
mw-pfeddersheim-workstation/CHANGELOG.md
T
2026-05-20 10:49:07 +02:00

5.6 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • New Ansible role ansible/roles/system-upgrade/ that runs as the first role in workstation.yml. Performs a full pacman -Syu, dual-installs linux612 (LTS, fallback) and linux70 (stable, new default) kernels with matching headers, and verifies both initramfs images and GRUB menu entries post-install. Invoke stand-alone with ansible-playbook ansible/workstation.yml --tags system-upgrade; idempotent on re-runs (2026-05-18).
  • docs/adr/0002-kernel-and-nvidia-strategy.md — ADR documenting the LTS+stable kernel choice and the 575xx → 595.71 NVIDIA migration for Hyprland/Wayland preparation (2026-05-18).
  • Pre-flight safety gate in the new role: aborts if free space on / drops below min_free_root_gb (5 GiB by default) (2026-05-18).
  • Comprehensive NVMe benchmark for Samsung PM9A1 before firmware update: SMART health, hdparm, fio seq/rand benchmarks (2026-04-02). See docs/tech/nvme-benchmark-pre-gxa7802q.md.
  • CLI suite update script scripts/update-cli-suite.sh for Manjaro/Arch tool maintenance (2026-04-02).

Changed

  • Executed system-upgrade playbook on the live workstation (2026-05-18). pacman -Syu upgraded 1103 packages; kernel set now linux612 6.12.85-1 (LTS, was 6.12.77-1) + linux70 7.0.3-1 (NEW); NVIDIA migrated to mainline 595.71.05 for both linux612-nvidia and linux70-nvidia; legacy *-nvidia-575xx packages removed. Both /boot/initramfs-6.12-x86_64.img (54 MB) and /boot/initramfs-7.0-x86_64.img (122 MB) generated; GRUB regenerated with menuentries for both kernels. Reboot required: select linux70 from the GRUB "Advanced options for Manjaro Linux" submenu to activate the new kernel and NVIDIA 595.71.05 modules. Logs: logs/system-upgrade-20260518-101253-live.log.
  • NVIDIA driver migrated from the pinned *-nvidia-575xx (575.64.05) branch to the mainline *-nvidia (595.71.05) branch via the new system-upgrade role. linux612-nvidia-575xx, nvidia-575xx-utils, lib32-nvidia-575xx-utils, nvidia-575xx-settings are removed; linux612-nvidia, linux70-nvidia, nvidia-utils, lib32-nvidia-utils, opencl-nvidia, nvidia-settings are installed in one atomic pacman transaction (2026-05-18).
  • ansible/workstation.yml: system-upgrade registered as the first role, guarded by when: os_type == 'archlinux', with tag system-upgrade (2026-05-18).
  • ansible/vars/main.yml: added kernel_packages, nvidia_kernel_modules, nvidia_userspace_packages, nvidia_packages_to_remove, min_free_root_gb so future kernel/driver pins are a one-line change (2026-05-18).
  • docs/tech/setup.md: new bootstrap step "Run system upgrade & kernel install" before the main playbook, with --tags system-upgrade examples and a reboot-into-linux70 callout (2026-05-18).
  • Samsung PM9A1 NVMe firmware update applied: GXA7401Q → GXA7801Q (non-SED variant, reboot pending to activate). All nvme-cli steps succeeded (2026-04-02).
  • Corrected firmware research: GXA7802Q is SED-only (00B07); non-SED drives (00B00) require GXA7801Q. Updated docs/tech/firmware-update-research.md with naming convention and correct source.
  • Updated .gitignore: added logs/ and docs/tech/capabilities/ exclusions (2026-04-02).

Added (continued)

  • Created formal stability tests report documenting the 2026-03-17 memory management improvements (2026-03-17).
  • System stability improvements: enabled systemd-oomd and zswap via Ansible (2026-03-17).
  • Memory resource limits for Firebird and Mailpit Docker containers (2026-03-17).
  • Implemented and verified advanced memory optimizations: zswap 30% pool, THP madvise, and proactive kernel reclaim tuning (2026-03-17).
  • Integrated 16GB swap file management into Ansible roles for consistency and persistence (2026-03-17).
  • Comprehensive health report for mw-pfeddersheim-workstation (2026-03-09).

Changed (continued)

  • Increased system swap file size from 4GB to 16GB to prevent OOM-related system hangs (2026-03-17).
  • Updated system status in README.md and docs/tech/workstation-health.md (2026-03-17).
  • Cleaned up deprecated software information from docs/tech/stack.md (2026-03-13).
  • Synchronized software versions across documentation files (2026-03-13).

Fixed

  • Resolved kitty cursor keys not working by disabling the TERM=xterm-256color override in .bashrc, allowing Kitty to correctly set TERM=xterm-kitty. Added Ansible management for kitty.conf to ensure proper terminal behavior and shell integration (2026-05-19).
  • system-upgrade role: GRUB menu assertion now matches Manjaro's real menuentry 'Manjaro Linux (Kernel: X.Y.Z-MANJARO x64)' format (counted per-kernel-family) instead of the wrong menuentry .*linux(612|70) regex that always returned 0 hits on Manjaro and broke the live run with a false-negative failure (2026-05-18).
  • system-upgrade role: migration task changed_when now matches pacman's progress lines ^\(N/M\)\s+(installing|upgrading|removing)\s instead of plain substring matching, so the role's own echo lines no longer trigger spurious changed=true on idempotent re-runs. Verified: second live re-run reports ok=16 changed=0 failed=0 skipped=5 (2026-05-18).
  • Resolved system unresponsiveness issue by addressing critical memory/swap pressure with increased headroom and proactive OOM killing (2026-03-17).
  • Identified failed archlinux-keyring-wkd-sync.service in system health check.