Files
profile/doc/CHANGELOG.md
2026-04-23 17:57:01 +02:00

8.9 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).


[4.0.0] — 2026-04-23

Added

  • New profile.conf reference template at doc/profile.conf.example.
  • Dynamic locale shortcuts generated from SET_LOCALE and startup default language selection through DEFAULT_LANG.
  • Prompt theming system with bundled themes (default, dark, light, solarized, solarized-light, monokai, monochrome, abyss, plasma, adwaita) and per-key prompt color overrides.
  • Module defaults exposed as configuration keys in profile.conf.

Changed

  • utaz now supports a wider range of archive formats.
  • Prompt and theme rendering improved, including better 24-bit color support.
  • Overall code quality and maintainability improved across modules.

Documentation

  • README updated with full function reference and configuration tables.
  • New and expanded docs in doc/ (CONTRIBUTING.md, FAQ.md, todo.md).
  • Historical releases imported from history.txt into this changelog.

[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.

[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.

Note: The section below was imported from history.txt to preserve pre-3.95.x-4_beta release notes.

Legacy releases (imported from history.txt)

[3.6.1] — 2026-03-05

  • Fix typo in compress.sh.

[3.6.0] — 2026-03-05

  • Improved utaz with broader multi-format support.
  • Introduced ppu and ppn.
  • Improved update system.

[3.5.0] — 2026-03-04

  • rain now has configurable speed and color.
  • showinfo adapted to fastfetch (in addition to neofetch).

[3.3.1] — 2022-02-24

  • Fixed version detection.
  • Added busy.
  • Fixed use of library functions before loading.

[3.3.0] — 2022-11-28

  • Initial version update support.
  • Changed versioning code.
  • Added installation path detection.

[3.2.3] — 2022-11-28

  • Improved README.

[3.2.2] — 2022-11-21

  • Fixed taz compression level parsing.
  • Fixed typo in dpkgs.

[3.2.1] — 2022-11-20

  • Fixed several messages.
  • Made dpkgs RPM-aware (initial support).
  • Removed version history from main script and reverted declaration order.
  • Added required license information in all files.
  • Completed LICENSE file.

[3.2.0] — 2022-11-18

  • Created disp command and integrated it across the codebase.

[3.1.1] — 2022-11-10

  • genpwd: added feasibility check for requested password constraints.

[3.1.0] — 2022-11-08

  • Added password generator.

[3.0.1] — 2022-11-07

  • Added concatenation option to rmspc.
  • Added ku.
  • Improved error handling in meteo.

[3.0.0] — 2022-08-27

  • Split code into several files/modules.
  • Added rain screensaver.

[2.8.2] — 2022-07-29

  • Added warning for non-bash users.

[2.8.1] — 2022-07-19

  • Cleanup, fixes and optimizations.

[2.8.0] — 2022-06-24

  • Added backtrace, error and settrace.
  • Bugfixes in showinfo.

[2.7.1] — 2022-06-22

  • Minor corrections.
  • Added help command.

[2.7.0] — 2022-06-21

  • Added isipv4 and isipv6, integrated into rmhost.
  • Removed broken Konsole save/restore support.

[2.6.3] — 2021-10-18

  • Changed PS1 to status-bar style.
  • Minor improvements.

[2.6.2] — 2021-02-26

  • Bugfix in taz for directories with trailing slash.

[2.6.1] — 2020-12-25

  • Added checks in rmhost.
  • Improved rmspc.
  • Created expandlist.

[2.6.0] — 2020-10-24

  • Added Konsole session save/restore.

[2.5.3] — 2020-09-11

  • Added aliases, improved code consistency and fixed typos.
  • Improved utaz, removed showdiskmap, removed remaining French text.
  • Added license information for future publication.

[2.5.2] — 2020-03-06

  • Sorted and improved aliases.

[2.5.1] — 2020-03-05

  • Language consistency fixes.
  • Added pigz support in taz.

[2.5.0] — 2020-03-03

  • Added taz and rmspc.
  • Renamed auzip to utaz and improved it.

[2.4.0] — 2020-03-02

  • Added auzip.

[2.3.2] — 2020-01-31

  • figlet: changed default font to ansi_shadow.

[2.3.1] — 2020-01-16

  • Bugfix: non-interactive shells were blocked by some functions.

[2.3.0] — 2020-01-08

  • Added figlet and neofetch as MOTD replacement.

[2.2.0] — 2019-12-16

  • Added showinfo.
  • First implementation of showdiskmap.

[2.1.2] — 2019-09-24

  • Bugfix in profile version display.

[2.1.1] — 2019-09-23

  • Bugfix in dpkgs.

[2.1.0] — 2018-09-16

  • Added rmhost, setc, setfr.
  • Improved locale management.

[2.0.1] — 2017-02-04

  • clean improvements (--shell).

[2.0.0] — 2015-10-24

  • Added advanced functions (clean, ssr, etc.).

[1.0.0] — 2013-02-16

  • Initial version.

[Initial fork]

Forked default Bash profile from Beyond Linux From Scratch by