* DE (Linux): ensures process returns successfully before using its output
* Packages (Linux): optimises pacman detection code
* Packages (Linux): Auto detect the DBPath directory for pacman on archlinux (#2154)
* Add new KISS Linux logo based off favicon
* Fix Bedrock Linux version detection & futureproof for 0.8
* Host (Linux): uses `/sys/firmware/devicetree/base/smbios` if available
* Linux: uses the standard `/sys/firmware/devicetree/base` instead of the outdated `/proc/device-tree`
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=195
* Shell: makes fish shell version detection more robust (v2)
* Shell: makes fish shell version detection more robust
* Media (Linux): handles invalid percent-encoding in cover metadata
* Media: updates naming convention from `mediacover` to `media-cover`
for media cover logo sources
* Doc: update changelog
* Chore: silenses some compiler warnings
* Media: moves media cover cleanup logic to media detection
* Media: fixes album cover serialization in JSON result
* Logo (Builtin): tidy [ci skip]
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=181
* Brightness (macOS): tidy
* Brightness (macOS): prioritizes DDC/CI reply over simple I²C
transaction
* Logo (Builtin): adds Zraxyl
* Release: v2.54.0
* CI (Windows): switches CI to use the release signing policy on
the master branch
* CMake: adds a new build option to gate wordexp usage and
detection
* Doc: adds security warning for Command module in README
* IO (OpenBSD): fixes incorrect glob usage
* Display (Windows): rename VRR to DRR
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=179
* CI: fix release action
* Packaging: updates debian stuff [ci skip]
* Release: v2.53.0
* CPU (Android): adds support for new Qualcomm and MediaTek SoC codes
* Doc: update changelog [ci skip]
* CPU (Linux): adds support for new ARM C1 series CPU part IDs
* Zpool: increase libzfs so version to 6
* CI: upgrades runner of intel macOS
* CPU (Windows): refines ARMv8.4-A detection to require LSE2
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=177
Bugfixes:
* Fix building on macOS 14 or older; no functional changes
- Update to 2.51.0:
Changes:
* Fastfetch now requires yyjson 0.12 to build when using
`-DENABLE_SYSTEM_YYJSON=ON`
* The Disk module no longer shows hyperlink mountpoints by
default, which cause issues on some real consoles (Disk)
- Instead, the custom key for the Disk module now supports
`{mountpoint-link}` and `{name-link}` to show hyperlinks
for mountpoints and names. For example, `{ "type": "disk",
"key": "Disk ({mountpoint-link})" }` can be used to restore
the old behavior.
Features:
* Adds `succeeded` module condition to JSONC config. When set
to `false`, the module will only run if the last module failed
(gh#fastfetch-cli/fastfetch#1908)
* By upgrading to yyjson 0.12, fastfetch now adds JSON5 format
support for configuration files (gh#fastfetch-cli/fastfetch#1907)
- JSON5 is a superset of JSONC that allows unquoted keys, single
quotes, multi-line strings, etc., and is fully compatible with
JSONC and strict JSON.
- To use JSON5, simply name your config file with a .json5
extension. The .jsonc extension is still supported and used
as the default extension for better IDE syntax highlighting
support.
* Fastfetch has been ported to GNU/Hurd
(gh#fastfetch-cli/fastfetch#1895)
* Built-in logos now honor logo.width
(gh#fastfetch-cli/fastfetch#1905)
- When its value is larger than the actual logo width, the
logo will be padded with spaces to the right
* Adds Trinity DE version detection
(gh#fastfetch-cli/fastfetch#1917)
* Adds formatted free and available disk size fields
(gh#fastfetch-cli/fastfetch#1929)
- `{size-free}`: free size of the disk
- `{size-available}`: available size of the disk
- See askubuntu.com for the difference between free and
available size
* Adds x86_64 micro-architecture level detection
(gh#fastfetch-cli/fastfetch#1928)
- Useful when installing software that requires or is
optimized for specific CPU features. E.g., CachyOS
- Exposed via `{march}` in custom format
* Adds Aarch64 micro-architecture level detection (CPU)
- Supported on Linux (including Android), macOS and Windows
- This is not fully accurate because there are many optional
features across different levels, and not all levels are
detectable.
- Exposed via `{march}` in custom format.
* Adds shepherd detection support (InitSystem, Linux)
Bugfixes:
* Fixes possible default route detection failure when the route
table is very large (gh#fastfetch-cli/fastfetch#1919)
* Fixes twin WM detection (gh#fastfetch-cli/fastfetch#1917)
* Various fixes for Android support
- Corrects WM name for Android (WM, Android)
- Fixes battery temperature detection when running in ADB
(Battery, Android)
- Adds CPU and GPU temperature detection support (CPU, Android)
Logos:
* Adds AerynOS
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=173
Bugfixes:
* Fixes linglong package detection V2
(gh#fastfetch-cli/fastfetch#1903)
* Fixes building with -DENABLE_SYSTEM_YYJSON=ON
(gh#fastfetch-cli/fastfetch#1904)
* Fixes showMac does not honor defaultRouteOnly
(gh#fastfetch-cli/fastfetch#1902)
* Fixes failing to acquire default route on Linux in certain
cases (gh#fastfetch-cli/fastfetch#1902)
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=171
Bugfixes:
* Fixes percentage bar not displaying correctly in certain cases
* Fixes linglong package detection on Debian 13
(gh#fastfetch-cli/fastfetch#1899)
- Update to 2.50.0:
Changes:
* Keys in JSON configuration files are now case-sensitive, as
stated in v2.49.0.
- This is a breaking change, but it should not affect most
users as long as your config file passes JSON schema
validation.
* All module config flags have been removed, as stated in v2.49.0.
- To configure modules via the command line
* The percent bar config display.bar.* options have been replaced
with a more organized, nested object structure.
- `display.bar.charElapsed` has been renamed to
`display.bar.char.elapsed`.
- `display.bar.charTotal` has been renamed to
`display.bar.char.total`.
- `display.bar.borderLeft` has been renamed to
`display.bar.border.left`.
- `display.bar.borderRight` has been renamed to
`display.bar.border.right`.
* The undocumented flag `--load-config` has been removed.
- Use `--config` or `-c` instead.
* Flashfetch, a simplified fastfetch variant that used a hardcoded
module list with direct function calls to reduce startup
overhead, has been changed to a version that aims to match
neofetch's behavior as closely as possible, for demonstration
purposes.
- Flashfetch is intended to be built from source (like st). We
do not provide prebuilt binaries in distributions.
Features:
* Added support for reading JSON config from stdin using
`--config -` or `-c -`.
* Added `display.bar.border.{leftElapsed,rightElapsed}` for using
the border as part of the bar content.
(gh#fastfetch-cli/fastfetch#1875)
- `display.bar.border: null` has been added as a shorthand to
disable bar borders.
* Added display.bar.color.{elapsed,total,border} to customize the
color of the elapsed, total, and border sections of the percent
bar.
- `display.bar.color: null` has been added as a shorthand to
disable bar colors.
* Improved Bedrock Linux detection
(gh#fastfetch-cli/fastfetch#1881)
* Added the command flag `--gen-config-full`, which generates a
JSON config file containing all optional module options.
* Improved the default IP address display when
`localip.showAllIPs` is not set (LocalIP)
- For IPv4, the preferred source address (if detected) is shown.
- For IPv6, the first GUA or ULA that is not deprecated or
temporary is shown.
* Added detection support for Xlibre
(gh#fastfetch-cli/fastfetch#1888)
Bugfixes:
* Fixed custom object inheriting a key from the previous custom
object if the key is blank (gh#fastfetch-cli/fastfetch#1477)
* Fixed a possible segfault when parsing color strings in the
JSON config (gh#fastfetch-cli/fastfetch#1878)
* Fixed lliurex detection (gh#fastfetch-cli/fastfetch#1882)
* Fixed compatibility with -ffast-math
(gh#fastfetch-cli/fastfetch#1894)
Logos:
* Added ObsidianOS (gh#fastfetch-cli/fastfetch#1890)
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=169
Deprecation Notice:
* In fastfetch v2, the JSONC configuration format has been
introduced, while command line configuration flags are kept
for compatibility. Although they have the same effects, they
use two different code paths, and as the number of flags
grows, the codebase is becoming increasingly difficult to
maintain.
- Removal of module config flags is planned for v2.50.0, which
will also fix a long-standing issue
(gh#fastfetch-cli/fastfetch#1477)
- Removal of most other config flags is also planned for later
versions.
* Keys of JSON configuration files will be all case-sensitive.
Currently they are inconsistent. Planned for v2.50.0.
Features:
* Improve `nouveau` driver support for `--gpu-driver-specific`
(GPU, Linux)
- VRAM size detection
- GPU temperature detection
- Core count detection (when available)
* Support labwc WM version detection, used for XFCE4 on Wayland
(WM, Linux)
* Parse unicode escaped strings generated by qt5ct
(gh#fastfetch-cli/fastfetch#1864)
* Add `--{duration,percent,size,freq,temp}-space-before-unit
[always|never]` options to add a space before the unit when
printing duration, percent, size, frequency and temperature
values
* Add `--duration-abbreviation` to abbreviate duration values
in custom format
- For example: 1 day, 2 hours, 3 mins will be displayed as
1d 2h 3m
* Add `--percent-width` to pad the percent value with spaces to
a fixed width
- For example: `--percent-width 3` will display `50%` instead
of `50%`; useful for aligning percent values in custom
format
Bugfixes:
* Improve accuracy of Flatpak count detection
(gh#fastfetch-cli/fastfetch#1856)
* Remove qi package manager support
(gh#fastfetch-cli/fastfetch#1858)
* Fix interface status when the interface is up but not
connected (Wifi, Linux)
* Fix variable names in custom format
(gh#fastfetch-cli/fastfetch#1861)
- `full-path` to `path` (Editor)
- `session` to `session-name` (Users)
- `name` to `project-name` (Version)
* Fix wrong /s assignment in custom format
(gh#fastfetch-cli/fastfetch#1871)
Logos:
* Add `Aeon`
* Remove `Evolinx`
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=167
Features:
* Add support for detecting Openbox WM version
* Add a new option `--packages-combined`, which combines related
package managers into single counts
(gh#fastfetch-cli/fastfetch#1851)
- For example: if you have both `flatpak-system` and
`flatpak-user` packages installed, they will be combined
into a single `flatpak` count with `--packages-combined`
enabled.
* Add `modules[n].condition` to conditionally enable modules on
different platforms
- Useful when sharing configuration files across platforms
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=165
Features:
* Add support for detecting Fedora variants
(gh#fastfetch-cli/fastfetch#1830)
- Currently supported variants: CoreOS, Kinoite, Sericea,
Silverblue
* Improve performance and security when spawning child processes
by replacing `fork-exec` with `posix_spawn` (*nix)
* Trim leading and trailing whitespaces in disk serial numbers
(PhysicalDisk)
* Add /etc/profiles/per-user detection for Nix user packages
(gh#fastfetch-cli/fastfetch#1782)
* Introduce `years` (whole years as integer), `days-of-year`
(days since the last anniversary) and `years-fraction` (years
as fraction, e.g. 1.5 means 1 year and 6 months) formatting
placeholder to `Disk` (since disk creation), `Users` (since
user login) and `Uptime` (since system boot) modules
- For example: `fastfetch -s disk --disk-key 'OS Installation'
--disk-format '{years} years {days-of-year} days'`
* Add --fraction-ndigits option to specify the number of digits
after the decimal point when displaying ordinary fractional
values
- Typically used with `{years-fraction}` above
- This option does not affect percentage values, sizes, etc,
which are controlled by individual options.
Bugfixes:
* Fix compilation issues when not using
`-DBINARY_LINK_TYPE=dlopen`
- Regression from v2.47.0
- Note: this option was added for debugging purposes only and
is not recommended for production use
* Prevent text files from being loaded as image files
(gh#fastfetch-cli/fastfetch#1843)
Logos:
* Add Minimal System
* Add AxOS
* Rename Ada to Xray OS
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=163
- Update to 2.47.0:
Features:
* Improve DietPi OS and Raspberry Pi OS detection
(gh#fastfetch-cli/fastfetch#1816)
* Increase `PROC_FILE_BUFFSIZ` to avoid possible short reads
- Fix potential bugs in `DiskIO`, `NetIO` and `CPUUsage`
modules
* Improve accuracy of CPU usage calculations by including
interrupt and softirq times
* Ignore init and systemd processes when detecting terminals
Logos:
* Improve visibility on white-background terminals for some
logos by replacing white with the default foreground color
- According to Wikipedia, the default foreground color is
implementation-defined. It's usually black for white themes
and white for dark themes. However, some terminals, notably
Konsole with the default theme, use a different color,
which may cause issues with some logos.
* Add Xubuntu
OBS-URL: https://build.opensuse.org/request/show/1291298
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=161
Features:
* Recognize additional GPU vendors (GPU, Linux)
* Support CTWM, FVWM and I3 window manager version detection (WM)
* Support `"logo": { "type": "command-raw" }` to run a command
and display its output as logo
(gh#fastfetch-cli/fastfetch#1780)
- Useful for displaying custom logos generated by other
programs such as `pokeget`: `{ "type": "command-raw",
"source": "pokeget random --hide-name" }`
- Supported in JSONC config file only. `pokeget random
--hide-name | fastfetch --file-raw` - should be used in shell
* Support --swap-separate to display detailed swap devices on
separate lines instead of a summary (Swap)
Bugfixes:
* Don't ignore sshfs mountpoints
(gh#fastfetch-cli/fastfetch#1776)
* Fix dnf package count detection
(gh#fastfetch-cli/fastfetch#1777)
Logos:
* Add Starry Linux (gh#fastfetch-cli/fastfetch#1771)
* Add rhel_small (gh#fastfetch-cli/fastfetch#1774)
* Update color palette of voidlinux (gh#fastfetch-cli/fastfetch#1775)
* Add void2
* Update Xenia Linux (gh#fastfetch-cli/fastfetch#1783)
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=157
Features:
* Add option `--disk-hide-folders` and `--disk-hide-fs` to hide
specific mountpoints and filesystems in Disk module (Disk)
- `--disk-hide-folders` defaults to `/efi:/boot:/boot/efi` on
Linux and *BSD. Previously these EFI-related folders were
hardcoded to be hidden on Linux.
Bugfixes:
* Ignore `/usr/bin/script` when detecting shell and terminal
(gh#fastfetch-cli/fastfetch#1761)
* Fix compatibility with KDE Plasma 6.4 which is in beta
currently (gh#fastfetch-cli/fastfetch#1765)
Logos:
* Add Kylin (gh#fastfetch-cli/fastfetch#1760)
* Add UBLinux (gh#fastfetch-cli/fastfetch#1764)
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=155
Features:
* Add option to hide unknown GPUs (GPU)
* Detect VRAM type of AMD GPUs on Linux (GPU, Linux)
Bugfixes:
* Fix disk usage detection on 32-bit Linux
(gh#fastfetch-cli/fastfetch#1734)
* Fix duplicated playback status (Media, Linux)
Logos:
* new AthenaOS
* add Hydra Framework
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=153
Changes:
* Normalize the module name `Bios` to `BIOS`
(gh#fastfetch-cli/fastfetch#1721)
- No configuration file changes are required because fastfetch
parses module names case-insensitively.
Bugfixes:
* Disable disk type detection for virtual disks
(gh#fastfetch-cli/fastfetch#1669)
* Fix incorrect CPU temperature reporting (CPU, OpenBSD)
* Fix setting logo.chafa.symbols in JSON configuration
(gh#fastfetch-cli/fastfetch#1709)
* Fix non-normalized time display
(gh#fastfetch-cli/fastfetch#1720)
* Miscellaneous minor fixes
Features:
* Add CPU temperature detection support (CPU, SunOS)
* Improve CPU frequency detection (CPU, NetBSD)
* Add Wi-Fi detection support (Wifi, NetBSD)
* Add Webcam detection support (Camera, OpenBSD)
- Requires root privileges
Logos:
* Remove GoralixOS logo (gh#fastfetch-cli/fastfetch#1699)
* Add Aurora logo (gh#fastfetch-cli/fastfetch#1700)
* Add Codex Linux logo (gh#fastfetch-cli/fastfetch#1701)
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=151
Changes:
* Due to the deprecation, Linux x86_64 binaries are now built
with Ubuntu 22.04 (Glibc 2.35, Debian 12)
- You can always build fastfetch yourself on your own. Please
don't report bugs related to this change.
Bugfixes:
* Don't detect disk type for virtual disks
(gh#fastfetch-cli/fastfetch#1669)
Features:
* Support physical core count detection on non-x86 platforms
(CPU, Linux / FreeBSD)
* Support CPU frequency detection on PPC64 (CPU, FreeBSD)
* Support soar packages count detection (Packages, Linux)
* Support `~` path expanding on Windows (Logo, Windows)
* Support retrieving full user name (Title)
- Exposed with `--title-format '{full-user-name}'`
* Improve CPU (thermal zone) temperature detection on Windows
(CPU, Windows)
- Administrator privileges are no longer needed
* Support base Wifi info detection on OpenBSD (Wifi, OpenBSD)
- To be tested
* Support GPU temperature detection for Intel dGPU on Linux
(GPU, Linux)
- To be tested
* Add new ARM CPU part numbers (CPU, Linux)
* Add base implementation of Bluetooth device detection
(gh#fastfetch-cli/fastfetch#1690)
* Some small improvements
Logo:
* Add anduinos
* Add 2 more Alpine logos
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=149
Bugfixes:
* Fix loading presets config on Windows
(gh#fastfetch-cli/fastfetch#1682)
- Regression of v2.40.0
* Remove the prefix `v` of Hyprland version on Arch Linux (WM,
Linux)
- update to 2.40.3
Bugfixes:
* Fix loading example configs from presets directory
(gh#fastfetch-cli/fastfetch#1672)
- Regression of v2.40.2
* Mark kitty image protocol support for warp terminal on macOS
too (Logo)
OBS-URL: https://build.opensuse.org/package/show/utilities/fastfetch?expand=0&rev=147