295 lines
10 KiB
Markdown
Executable File
295 lines
10 KiB
Markdown
Executable File
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
Versions follow `MAJOR.MINOR.PATCH-REVISION_STAGE_N` (e.g. `3.99.1-4_rc_1`).
|
|
|
|
---
|
|
|
|
## [4.1.0] — 2026-05-07
|
|
|
|
### Added
|
|
- `profile.sh --install` command to automatically configure profile loading in
|
|
shell startup files.
|
|
- `--install --bashrc` and `--install --profile` target selectors for
|
|
single-file installation.
|
|
- **`git.sh`** — entirely new module providing git workflow helpers: `gst`,
|
|
`ggraph`, `gsync`, `gacp`, `greset`, `gwip`, `gprune`, `groot`.
|
|
- Dedicated git helper completions under `profile.d/bash-completion/`, loaded
|
|
automatically in interactive sessions from `profile.d/bash-completion/*.sh`.
|
|
|
|
### Changed
|
|
- `disp` now wraps long messages on terminal width, avoids mid-word splits, and
|
|
aligns continuation lines with the message body after the prefix.
|
|
- `help` now supports `help <command>` and delegates to `<command> --help`.
|
|
- `taz` now supports `-p auto` / `--parallel=auto` to automatically use the
|
|
runtime CPU count. This mode is now the default via
|
|
`TAZ_DEFAULT_THREADS=auto`.
|
|
- `taz` keeps backward compatibility with legacy `TAZ_DEFAULT_THREADS=0`
|
|
values by interpreting `0` as `auto`.
|
|
|
|
### Fixed
|
|
- Startup responsiveness improved: `check_updates -q` now uses a short network
|
|
timeout so unavailable/slow networks no longer delay prompt readiness.
|
|
- `dwl` gained timeout support (`-t` / `--timeout`) and is now used by quiet
|
|
startup update checks to enforce fast failure.
|
|
- `profile.sh` now detects direct execution and warns that it is designed to be
|
|
sourced.
|
|
|
|
## [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.sh` — `file_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.sh` — `pkgs()`** — 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 (`avialable` → `available`).
|
|
- **`processes.sh` — `kt()`** — copy-paste error: usage error message read
|
|
`"Usage: ppg <string>"` instead of `"Usage: kt <pid>"`.
|
|
|
|
### Added
|
|
- **`packages.sh` — `get_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 system** — `load_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 themes** — `default`, `dark`, `light`, `solarized` (24-bit
|
|
true-colour), `solarized-light` (24-bit), `monokai`, `monochrome`, `abyss`,
|
|
`plasma`, `adwaita`.
|
|
- **`[prompt]` section** — `PROMPT_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/` directory** — `CONTRIBUTING.md`, `FAQ.md`, `profile.conf.example`
|
|
(annotated template), `todo.md`.
|
|
- **`.gitignore`** — `profile.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
|
|
* James Robertson <jameswrobertson@earthlink.net>
|
|
* Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg>
|