Files
profile/doc/CHANGELOG.md
2026-04-21 15:24:04 +02:00

4.5 KiB
Executable File

Changelog

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

The format follows Keep a Changelog. Versions follow MAJOR.MINOR.PATCH-REVISION_STAGE_N (e.g. 3.99.1-4_rc_1).


[3.99.2-4_rc_2] — 2026-04-21

Fixed

  • prompt.sh\$Last_Command in PS1 was escaped, preventing the exit code from ever appearing in the prompt (the local variable no longer exists when PS1 is rendered by bash). Removed the backslash so the value is embedded at set_prompt build time.
  • filefct.shfile_stats() — a stray unconditional shift after esac doubled-shifted arguments already shifted by each case branch; successive options such as -H -d were silently skipped.
  • packages.shpkgs() — replaced the unreliable binary-presence test (command -v dpkg / rpm) with the new get_pkgmgr function. Also corrected a typo in the "no package manager" error message (avialableavailable).
  • processes.shkt() — copy-paste error: usage error message read "Usage: ppg <string>" instead of "Usage: kt <pid>".

Added

  • packages.shget_pkgmgr() — new exported helper that detects the active package manager of the running distribution. Detection first reads /etc/os-release (ID then ID_LIKE), then falls back to a fixed-priority binary scan. Supported families: apt, dnf, yum, zypper, pacman, apk, portage, xbps, nix. Returns 1 when nothing is identified. Available to all future commands in packages.sh.

[3.99.1-4_rc_1] — 2026

Added

  • Theming systemload_theme in profile.d/prompt.sh loads .theme files from profile.d/themes/ (or a custom directory set via PROMPT_THEME_DIR). Theme files are parsed, not executed — no shell code ever runs from a theme.
  • Built-in themesdefault, dark, light, solarized (24-bit true-colour), solarized-light (24-bit), monokai, monochrome, abyss, plasma, adwaita.
  • [prompt] sectionPROMPT_THEME and PROMPT_THEME_DIR keys to select a theme; eleven PROMPT_COLOR_* keys for per-key overrides in profile.conf.
  • Standard colour variables as theme keys — theme files may also override the disp.sh colour variables (Black, Blue, On_IBlack, …) to remap the terminal palette used by ls, grep, and colour-aware tools.
  • Module configuration defaults — all modules now expose their hardcoded defaults as profile.conf keys: TAZ_*, UTAZ_*, EXPANDLIST_*, CLEAN_*, RMSPC_*, FINDBIG_*, RAIN_*, MATRIX_*, SSH_DEFAULT_OPT, GENPWD_*, PWDSCORE_*, BUSY_*, METEO_DEFAULT_CITY, DWL_*, MYEXTIP_*, PKGS_*, PPU_*, KU_*, UPDT_DEFAULT_BRANCH.
  • UPDT_DEFAULT_BRANCH — configures the git branch used by check_updates and profile_upgrade. Changing the key causes profile_upgrade to automatically switch the local checkout to the new branch and display a warning.
  • doc/ directoryCONTRIBUTING.md, FAQ.md, profile.conf.example (annotated template), todo.md.
  • .gitignoreprofile.conf is now git-ignored so personal settings are never accidentally staged.

Changed

  • README §2 now explains how to create profile.conf from doc/profile.conf.example (new section 2.1 "Initial configuration").
  • README §4 updated with full module-defaults tables, theming reference, and a note about profile.conf being git-ignored.
  • Theme values no longer carry the export keyword (they are not shell variables, only data).

Security

  • load_theme uses a strict allowlist (no eval, no sourcing). Only PROMPT_COLOR_* keys and known disp.sh colour variable names are accepted. Values must match \$[A-Za-z_][A-Za-z0-9_]* or \\e\[[0-9;]*m; any other value is discarded with a warning.


Note: Versions prior to 3.95.x-4_beta did not maintain a formal changelog. The full history of earlier changes is available through the git log (git log --oneline).

[3.95.3-4_beta_3] — 2024

Added

  • Initial public release candidate series.
  • Core modules: compress, disp, filefct, fun, help, info, lang, net, packages, processes, prompt, pwd, rain, ssh, updates.
  • Bar-style prompt with time, command duration, and exit code.
  • taz / utaz archive helpers.
  • genpwd / pwdscore password tools.
  • matrix / rain screensavers.
  • profile_upgrade with git and archive download support.