Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
0ea5639
Platform (Windows): prefers Nt* APIs
CarterLi Feb 18, 2026
5347e74
Logo (Builtin): adds linuxmint2
CarterLi Feb 18, 2026
e6de2d4
Doc: update issue template [ci skip]
CarterLi Feb 18, 2026
4996986
Logo (Builtin): updates Linux Mint ASCII Logo (#2186)
Chiron8 Feb 18, 2026
a1e2027
Platform: add current working directory (cwd) to FFPlatform structure…
CarterLi Feb 20, 2026
ec1af7c
Platform (OpenBSD): improves executable path retrieval method
CarterLi Feb 22, 2026
54a6864
Packages (Linux): supports moss
CarterLi Feb 22, 2026
915af95
Keyboard (Linux): supports more keyboard events
CarterLi Feb 22, 2026
fc7f3a1
Logo (Builtin): adds RengeOS Logo (#2170)
crystalforceix Feb 24, 2026
e22a999
Logo (Builtin): Aritx logos improvements (#2157)
thealio Feb 24, 2026
fc77108
Common: fixes segmentation fault triggered by dereferencing value at …
s0ssh Feb 24, 2026
0bdb198
Logo (Builtin): updates RengeOS entry to remove redundant name
CarterLi Feb 24, 2026
4706f97
Logo (Builtin): simplifies Rocky Linux
CarterLi Feb 24, 2026
64f24bd
Logo (Builtin): renames Refracted Devuan to Refracta
CarterLi Feb 24, 2026
54ffdd3
Logo (Builtin): simplifies RedOS name entries
CarterLi Feb 24, 2026
2c0b4ca
Logo (Builtin): simplifies Raspbian name entries
CarterLi Feb 24, 2026
5656691
Logo (Builtin): simplifies Nobara name entries
CarterLi Feb 24, 2026
5b27656
Logo (Builtin): simplifies MX and MXSmall name entries
CarterLi Feb 24, 2026
5b00afe
Logo (Builtin): simplifies MiracleLinux name entry
CarterLi Feb 24, 2026
1d770d8
Logo (Builtin): simplifies MassOS name entry
CarterLi Feb 24, 2026
d12e5ab
Logo (Builtin): tidy
CarterLi Feb 24, 2026
663f9d6
Logo (Builtin): corrects spelling of LinuxLight to LinuxLite
CarterLi Feb 24, 2026
9c38e12
Logo (Builtin): remove redundant names for Debian and DebianSmall
CarterLi Feb 24, 2026
0140a46
Logo (Builtin): corrects name casing for Deepin and removes redundant…
CarterLi Feb 24, 2026
3b5186d
Logo (Builtin): rename ExodiaPredator to ExodiaOS and simplify name e…
CarterLi Feb 24, 2026
fd36783
Logo (Builtin): removes redundant name entry for Exherbo
CarterLi Feb 24, 2026
63106eb
Logo (Builtin): simplify name entries for Artix and its variants
CarterLi Feb 24, 2026
a5d1b96
Logo (Builtin): update ArcoLinux entries to reflect discontinuation a…
CarterLi Feb 24, 2026
463c24b
WM (Linux): for LXQt, only query wm settings when wm was not detected
CarterLi Feb 25, 2026
c698eb8
Logo (Builtin): fixes Fedora secureblue (#2201)
underscorejoser Feb 25, 2026
3cc2190
Editor: adds Zed version detection support (#2200)
Alxhr0 Feb 25, 2026
350250d
Doc: updates json schema [ci skip]
CarterLi Feb 25, 2026
418c7ee
Logo (Builtin): updates secureblue
CarterLi Feb 25, 2026
27b474f
CPU: ensures `tempSensor` accepts `string` only
CarterLi Feb 26, 2026
627fee2
Chore: adds assertions
CarterLi Feb 26, 2026
bc6e8c7
Global (Linux): unrefs dbus connection to avoid memleaks
CarterLi Feb 26, 2026
afa986e
Global (Linux): unrefs dbus replies to avoid memleaks
CarterLi Feb 26, 2026
45d324a
OpenGL: releases EGL context to avoid memleaks
CarterLi Feb 26, 2026
08dfd13
Platform (macOS): use `_NSGetExecutablePath` to query current exe path
CarterLi Feb 26, 2026
340a58b
Shell (Windows): ignore `lldb-dap`
CarterLi Feb 27, 2026
42509f1
Common (Windows): always uses en_US when fetching exe version
CarterLi Feb 27, 2026
1789ef8
Processing (Windows): tidy
CarterLi Feb 27, 2026
92ada88
WM (Windows): detect FancyWM & GlazeWM and their versions
CarterLi Feb 27, 2026
6423fea
Revert "OS (Windows): restores compatibility with WINE"
CarterLi Feb 27, 2026
ca8f54d
CI: forwards envs & upgrades deps
CarterLi Feb 27, 2026
072b76c
WM: defaults `detectPlugin` to `true`
CarterLi Feb 27, 2026
a69cf45
Binary (Windows): removes `imagehlp` dep
CarterLi Feb 27, 2026
3e25b21
WM (Windows): supports komorebi detection
CarterLi Feb 28, 2026
000a688
TerminalShell (Windows): improves logic of GUI program check
CarterLi Feb 28, 2026
b6b42e6
DisplayServer (Windows): reduce system dependencies
CarterLi Feb 28, 2026
5087ea7
Presets: replaces outer single-line border with double-lines in `exam…
CarterLi Feb 28, 2026
1c03262
Title: adds `{cwd-tilde}` support
CarterLi Feb 28, 2026
c8c32a7
Presets: adds `examples/32`
CarterLi Feb 28, 2026
eb53797
Logo (Builtin): adds support for Emmabuntüs (#2207)
zamhedonia Feb 28, 2026
e15d06b
Chore (Windows): move NT stuff to common
CarterLi Mar 1, 2026
67ca907
Kmod (Windows): adds support
CarterLi Mar 1, 2026
86458ab
Kmod (SunOS): adds support
CarterLi Mar 1, 2026
7006ae0
CMake (Windows): disable `ENABLE_WIN7_COMPAT` by default
CarterLi Mar 1, 2026
dd37ee0
Doc: updates README [ci skip]
CarterLi Mar 1, 2026
2198e61
DisplayServer (Windows): uses the standard `GetDpiForMonitor` to quer…
CarterLi Mar 2, 2026
0a55314
WM (Windows): uses `WinVerifyTrustEx` consistantly
CarterLi Mar 2, 2026
70fa134
Bootmgr (Windows): prefers NT API
CarterLi Mar 2, 2026
75f4a3d
Platform (Windows): don't error out on i686
CarterLi Mar 2, 2026
b86c088
Bluetooth (Windows): adds a string variant helper; removes `propsys` …
CarterLi Mar 3, 2026
68f0b11
WM (Windows): loads `wintrust` lazily
CarterLi Mar 3, 2026
207f742
TerminalFont (Windows): hardens the Windows Terminal font detection l…
CarterLi Mar 3, 2026
ab041e0
JsonSchema: update [ci skip]
CarterLi Mar 3, 2026
7ea0bbf
CPU / CPUCache (Windows): prefers `NtQuerySystemInformation(Ex)`
CarterLi Mar 3, 2026
e6db59f
WM (Linux): fix niri version detection logic
CarterLi Mar 5, 2026
b64d8a0
DisplayServer (Linux): check if RANDR is running in Emulation mode
CarterLi Mar 5, 2026
ddc2131
Chore (Windows): adds comments
CarterLi Mar 3, 2026
766ed07
Refactor: prefers `ffStr*`
CarterLi Mar 3, 2026
2ce152b
SmbiosHelper (Windows): prefers `NtQuerySystemInformation`
CarterLi Mar 4, 2026
abf8d75
Chore (Windows): adds missing header (#2215)
Dariqq Mar 6, 2026
e4d3138
WM (macOS): fetches WM plugin version
CarterLi Mar 6, 2026
7c47bc2
WM: honors `general.detectVersion`
CarterLi Mar 6, 2026
777d3e5
WM (macOS): fixes issues raised by Copilot
CarterLi Mar 6, 2026
224bea2
WM (Windows): fixes issues raised by Copilot
CarterLi Mar 6, 2026
d040cc8
SMBIOS (Windows): fixes issues raised by Copilot
CarterLi Mar 6, 2026
14dccce
CI (Linux): builds fastfetch with chafa support
CarterLi Mar 6, 2026
1b702e1
Release: v2.60.0
CarterLi Mar 6, 2026
53ffe84
Global: applies Copilot's suggestions
CarterLi Mar 6, 2026
c7363f9
Common (Windows): adds definition of `KUSER_SHARED_DATA`
CarterLi Mar 6, 2026
f924a8b
Uptime: reads `(System|Interrupt)Time` directly from `SharedUserData`
CarterLi Mar 6, 2026
52a81db
Disk (Windows): reads `SystemWindowsDirectory` directly from `SharedU…
CarterLi Mar 6, 2026
26ae4eb
Chore (Windows): removes unnecessary headers
CarterLi Mar 6, 2026
121d399
CPUUsage (Windows): simplifies Win10 detection
CarterLi Mar 7, 2026
8f8ca11
Kernel (Windows): simplifies kernel version detection
CarterLi Mar 7, 2026
f5b70dd
Doc: updates changelog
CarterLi Mar 7, 2026
dd0021c
GPU (Windows): adds kernel version check before D3DKMT syscall
CarterLi Mar 7, 2026
499b4ff
Kmod (Windows): don't specify maybe_unused on used params
CarterLi Mar 7, 2026
50288d9
Doc: updates changelog [ci skip]
CarterLi Mar 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report_crash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@ body:
options:
- label: I have checked the FAQ but the issue is not covered
required: true
- type: checkboxes
attributes:
label: Not a known issue
description: Please check if the issue is already known and being worked on.
options:
- label: I have checked the existing issues but the issue is not covered
required: true
- label: My issue is not about crashing on Fedora and KDE 6.6
required: true
- type: markdown
attributes:
value: "### General description of the bug"
Expand Down
45 changes: 26 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ jobs:
run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test

- name: install required packages
run: sudo apt-get update && sudo apt-get install -y gcc-13 g++-13 libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev libddcutil-dev libchafa-dev directx-headers-dev rpm ninja-build
run: sudo apt-get update && sudo apt-get install -y gcc-13 g++-13 libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev libddcutil-dev directx-headers-dev rpm ninja-build

- name: install linuxbrew packages
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/home/linuxbrew/.linuxbrew/bin/brew install imagemagick --ignore-dependencies
/home/linuxbrew/.linuxbrew/bin/brew install imagemagick chafa --ignore-dependencies

- name: Initialize CodeQL
if: matrix.arch == 'amd64'
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
cpack -V

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-linux-${{ matrix.arch }}
path: ./fastfetch-*.*
Expand Down Expand Up @@ -217,7 +217,7 @@ jobs:
run: ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-linux-i686
path: ./fastfetch-*.*
Expand Down Expand Up @@ -257,7 +257,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-linux-armv7l
path: ./fastfetch-*.*
Expand Down Expand Up @@ -293,7 +293,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-linux-armv6l
path: ./fastfetch-*.*
Expand Down Expand Up @@ -336,7 +336,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-linux-${{ matrix.arch }}
path: ./fastfetch-*.*
Expand Down Expand Up @@ -374,7 +374,7 @@ jobs:
shell: alpine.sh {0}

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-musl-amd64
path: ./fastfetch-*.*
Expand Down Expand Up @@ -428,7 +428,7 @@ jobs:
run: ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-macos-${{ matrix.arch }}
path: ./fastfetch-*.*
Expand All @@ -444,6 +444,7 @@ jobs:
uses: vmactions/omnios-vm@v1
with:
usesh: true
envs: 'CMAKE_BUILD_TYPE'
prepare: |
uname -a
pkg update --accept
Expand All @@ -462,7 +463,7 @@ jobs:
cpack -V

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-omnios-amd64
path: ./fastfetch-*.*
Expand All @@ -478,6 +479,7 @@ jobs:
uses: vmactions/solaris-vm@v1
with:
usesh: true
envs: 'CMAKE_BUILD_TYPE'
release: "11.4-gcc-14"
prepare: |
uname -a
Expand All @@ -497,7 +499,7 @@ jobs:
cpack -V

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-solaris-amd64
path: ./fastfetch-*.*
Expand All @@ -520,6 +522,7 @@ jobs:
cpu_count: 4
shell: bash
version: '15.0'
environment_variables: 'CMAKE_BUILD_TYPE'
run: |
uname -a
sudo pkg update
Expand All @@ -534,7 +537,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-freebsd-amd64
path: ./fastfetch-*.*
Expand All @@ -557,6 +560,7 @@ jobs:
cpu_count: 4
shell: bash
version: '7.8'
environment_variables: 'CMAKE_BUILD_TYPE'
run: |
uname -a
sudo pkg_add -u
Expand All @@ -571,7 +575,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-openbsd-amd64
path: ./fastfetch-*.*
Expand All @@ -594,6 +598,7 @@ jobs:
cpu_count: 4
shell: bash
version: '10.1'
environment_variables: 'CMAKE_BUILD_TYPE'
run: |
uname -a
sudo pkgin -y install clang cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick
Expand All @@ -607,7 +612,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-netbsd-amd64
path: ./fastfetch-*.*
Expand All @@ -626,6 +631,7 @@ jobs:
uses: vmactions/dragonflybsd-vm@v1
with:
usesh: yes
envs: 'CMAKE_BUILD_TYPE'
prepare: |
uname -a
pkg update
Expand All @@ -642,7 +648,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-dragonfly-amd64
path: ./fastfetch-*.*
Expand All @@ -665,6 +671,7 @@ jobs:
architecture: x86-64
cpu_count: 4
shell: bash
environment_variables: 'CMAKE_BUILD_TYPE'
run: |
uname -a
pkgman install -y git dbus_devel mesa_devel libelf_devel imagemagick_devel opencl_headers ocl_icd_devel vulkan_devel zlib_devel chafa_devel cmake gcc make pkgconfig python3.10 || pkgman install -y git dbus_devel mesa_devel libelf_devel imagemagick_devel opencl_headers ocl_icd_devel vulkan_devel zlib_devel chafa_devel cmake gcc make pkgconfig python3.10
Expand All @@ -677,7 +684,7 @@ jobs:
ctest --output-on-failure

- name: upload artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-haiku-amd64
path: ./fastfetch-*.*
Expand Down Expand Up @@ -759,7 +766,7 @@ jobs:
- if: github.event_name == 'push' && github.repository == 'fastfetch-cli/fastfetch'
id: upload-unsigned-artifact
name: upload artifacts for signing
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}
path: |
Expand All @@ -786,7 +793,7 @@ jobs:
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets

- name: upload true artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}
path: ./fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}.*
Expand Down Expand Up @@ -823,7 +830,7 @@ jobs:

- name: download artifacts
if: needs.linux-hosts.outputs.ffversion != steps.get_version_release.outputs.release
uses: actions/download-artifact@v5
uses: actions/download-artifact@v8

- name: create release
if: needs.linux-hosts.outputs.ffversion != steps.get_version_release.outputs.release
Expand Down
36 changes: 34 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
# 2.60.0

Changes:
* The CMake option `ENABLE_WIN7_COMPAT:BOOLEAN` now defaults to `OFF` and will be removed in v2.61.0, effectively dropping support for Windows 7 in the next release.
* This follows the Windows 7 deprecation notice introduced in v2.57.0.
* `wm.detectPlugin` now defaults to `true` (WM)

Features:
* Adds `{cwd}` for custom title formatting, which displays the current working directory (Title)
* Adds support for detecting the Zed version (#2200, Editor)
* Adds support for detecting `moss` packages (Packages, Linux)
* Adds support for detecting komorebi, FancyWM, and GlazeWM (WM, Windows)
* Adds support for WM plugin version detection on macOS (WM, macOS)
* Adds support for retrieving the executable path on OpenBSD (#2195, OpenBSD)

Bugfixes:
* Fixes a potential segmentation fault caused by dereferencing a negative index (#2198)
* Fixes `tempSensor` parsing so that it accepts only string values (#2202, CPU)
* Fixes an issue that unexpectedly caused fewer devices to be reported (Keyboard, Linux)
* Improves WM detection on LXQt by querying WM settings only when no WM has already been detected (#2199, WM, Linux)
* Fixes memory leaks in DBus connection handling and in the OpenGL EGL context lifecycle
* Fixes niri version detection on Fedora (WM, Linux)
* Includes various internal cleanups and optimizations

Logos:
* Adds `RengeOS` (#2170)
* Adds `Emmabuntüs` (#2207)
* Updates Artix Linux (#2157)
* Updates Linux Mint (#2186)
* Renames `Refracted Devuan` to `Refracta`
* Renames `ExodiaPredator` to `ExodiaOS`

# 2.59.0

Changes:
Expand Down Expand Up @@ -35,7 +67,7 @@ Features:
* Honors the `DBPath` and `RootDir` settings in `pacman.conf` when detecting Pacman packages (#2154, Packages, Linux)

Bugfixes:
* Fixes a crash issues on KDE Plasma 6.6 (Display, Linux)
* Fixes a crash issue on KDE Plasma 6.6 (Display, Linux)
* Fixes the Command module not working with `--dynamic-interval` (#2152, Command)
* Fixes Quartz Compositor version detection. It now correctly reports the version of `WindowServer` (`SkyLight`) instead of `WindowManager`. (WM, macOS)

Expand All @@ -62,7 +94,7 @@ Deprecation notice:
* Support for Windows 7 (and 8.x) is deprecated and will be removed in a future release. Extended support for Windows 7 (and 8.1) ended on January 10, 2023. These versions do not officially support ANSI escape codes (running fastfetch on them requires a third-party terminal such as ConEmu). In addition, Windows 7 lacks some APIs used by fastfetch. Fastfetch currently loads these APIs dynamically at runtime to maintain compatibility, but this adds complexity to the codebase and increases the maintenance burden.
* A CMake flag `ENABLE_WIN7_COMPAT:BOOLEAN` has been introduced (defaults to `ON` for now). If set to `OFF`, Windows 7 compatibility code is excluded, and the resulting binaries will support only Windows 10 (version 1607 and later) and Windows 11.
* The main prebuilt Windows binaries on the Release page (`fastfetch-windows-amd64.*`) are built with `ENABLE_WIN7_COMPAT=OFF`. These are the binaries used by `scoop` and `winget`. Users who need Windows 7 (or 8.x) support can download the `-win7` variant instead.
* The `ENABLE_WIN7_COMPAT` CMake option and the `-win7` variant binaries are planned to be removed in 2.60.0.
* ~~The `ENABLE_WIN7_COMPAT` CMake option and the `-win7` variant binaries are planned to be removed in 2.60.0~~.

Features:
* Supports COSMIC DE version detection (DE, Linux)
Expand Down
Loading