Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
aeb1722
Packaging: update debian stuff [ci skip]
CarterLi Sep 5, 2025
5f9e7c7
OpenGL (Windows): simplifies code by removing custom window proc
CarterLi Sep 7, 2025
8eafec4
Separator: rename property `length` with `times`
CarterLi Sep 9, 2025
baaeef5
Separator: uses widecharwidth for Unicode wcwidth and fixes issue tha…
CarterLi Sep 9, 2025
1abfa70
LocalIP: adds IPv6 type selection for local IP display
CarterLi Sep 10, 2025
6f5e618
CPU (Linux): add new ARM part numbers
CarterLi Sep 10, 2025
45be29b
CPU (Linux): replaces HWCAP defines with explicit bitmasks for ARM
CarterLi Sep 11, 2025
6d72a32
3rdparty: upgrade widecharwidth
CarterLi Sep 11, 2025
3ece4e3
Presets: add a new example [ci skip]
CarterLi Sep 12, 2025
e025f28
Wifi (macOS): removes wdutil-based Wi-Fi detection code
CarterLi Sep 12, 2025
e3eec3f
CPU (Windows): handles zero temperature data and refactors value use
CarterLi Sep 14, 2025
38f4215
CPU (Windows): trims vendor string read from registry
CarterLi Sep 16, 2025
3bcdcc5
CI: merge amd64 and aarch64 code with matrix
CarterLi Sep 16, 2025
ab8a13b
CI: update cmake version
CarterLi Sep 17, 2025
509d6bf
CI: merge more jobs
CarterLi Sep 17, 2025
8bd171a
CI: adds glibc polyfill step for compatibility
CarterLi Sep 17, 2025
822ddc6
Disk (Linux): replace statx(2) call to syscall(2)
CarterLi Sep 17, 2025
82cdc4c
Disk (Linux): avoids invalid disk creation times before Linux epoch
CarterLi Sep 17, 2025
9e78160
Revert "Logo (Builtin): add Starry Linux"
CarterLi Sep 17, 2025
e9065e1
TerminalFont: Improves Ghostty font config parsing with fallback font…
CarterLi Sep 18, 2025
2c22c3b
CI (Windows): add chafa dependency
CarterLi Sep 18, 2025
f0e9caa
Disk: allows array input for disk folder and filesystem options
CarterLi Sep 18, 2025
1180eb5
Logo (Builtin): adds TempleOS
CarterLi Sep 19, 2025
0bb5b4c
Gamepad / Keyboard / Mouse: adds support to ignore input devices by n…
CarterLi Sep 19, 2025
4039006
Gamepad / Keyboard / Mouse: improves device error handling and memory…
CarterLi Sep 19, 2025
3079b44
FFstrbuf: adds more functions to match separated strings
CarterLi Sep 19, 2025
ef3989d
CommandOption: refactors code with `ffStrbufSeparatedContainIgnCaseS`
CarterLi Sep 19, 2025
57a4b9b
Disk: refactors mountpoint matching to use shared string utilities
CarterLi Sep 19, 2025
9d23d28
Logo (Builtin): update ObsidianOS logo (#1970)
neoapps-dev Sep 20, 2025
de92296
TerminalFont: improve ghostty with command `ghostty +show-config`
CarterLi Sep 20, 2025
e953937
Wifi (macOS): add (B)SSID detection back for Tohoe 26.0
CarterLi Sep 22, 2025
2ae9d01
OS (Linux): Better Ubuntu flavor detection
osalbahr Sep 22, 2025
cdcdb78
CPU (Windows): refines ARMv8.4-A detection to require LSE2
CarterLi Sep 22, 2025
350ffce
CI: upgrades runner of intel macOS
CarterLi Sep 20, 2025
3e86130
Zpool: increase libzfs so version to 6
CarterLi Sep 22, 2025
851751f
CPU (Linux): adds support for new ARM C1 series CPU part IDs
CarterLi Sep 22, 2025
483fba4
Doc: update changelog [ci skip]
CarterLi Sep 22, 2025
bfc2323
CPU (Android): adds support for new Qualcomm and MediaTek SoC codes
CarterLi Sep 23, 2025
4098cf5
Release: v2.53.0
CarterLi Sep 23, 2025
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
362 changes: 81 additions & 281 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
# 2.53.0

Changes:
* JSON property `length` in `Separator` module has been renamed to `times` for clarity (Separator)

Features:
* Adds IPv6 type selection (#1459, LocalIP)
* For example: `{ "type": "localip", "showIpv6": "ula" /* Show ULA only */ }`
* Adds more ARM CPU part IDs (CPU, Linux)
* Improves Ghostty font config parsing with fallback font detection (#1967, TerminalFont)
* Replaces statx(2) call with syscall(2) for better compatibility (Disk, Linux)
* Allows array input for disk folder and filesystem options (Disk)
* For example: `{ "type": "disk", "folders": ["/", "/home"] }`
* Adds support for ignoring input devices by name prefix (#1950, Keyboard / Mouse / Gamepad)
* For example: `{ "type": "keyboard", "ignores": ["Apple ", "Corsair "] }`
* Adds support for (B)SSID detection on macOS Tahoe (Wifi, macOS)
* Please don't expect it to work on later macOS versions
* Improves Ubuntu flavor detection (#1975, OS, Linux)
* Refines ARMv8.4-A detection to require LSE2 (CPU, Windows)
* Detects the latest Dimensity & Snapdragon SoC names (CPU, Android)

Bugfixes:
* Handles zero temperature data (#1960, CPU, Windows)
* Fixes `dlopen libzfs.so failed` error on Proxmox 9 (#1973, Zpool, Linux)

Logos:
* Removes Starry Linux
* Adds TempleOS
* Updates ObsidianOS

# 2.52.0

Changes:
Expand Down
11 changes: 2 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url

project(fastfetch
VERSION 2.52.0
VERSION 2.53.0
LANGUAGES C
DESCRIPTION "Fast neofetch-like system information tool"
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
Expand Down Expand Up @@ -1304,10 +1304,7 @@ endif()
include(CheckFunctionExists)
check_function_exists(wcwidth HAVE_WCWIDTH)
if(NOT HAVE_WCWIDTH)
list(APPEND LIBFASTFETCH_SRC src/3rdparty/mk_wcwidch/wcwidth.c)
endif()
if(LINUX)
check_function_exists(statx HAVE_STATX)
list(APPEND LIBFASTFETCH_SRC src/util/wcwidth.c)
endif()
if(NOT WIN32)
check_function_exists(pipe2 HAVE_PIPE2)
Expand Down Expand Up @@ -1424,10 +1421,6 @@ if(FreeBSD OR OpenBSD OR NetBSD)
unset(CMAKE_REQUIRED_DEFINITIONS)
endif()

if(HAVE_STATX)
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_STATX)
endif()

if(HAVE_WCWIDTH)
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_WCWIDTH)
endif()
Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
fastfetch (2.52.0) jammy; urgency=medium

* Update to 2.52.0

-- Carter Li <[email protected]> Fri, 05 Sep 2025 14:59:44 +0800

fastfetch (2.51.0) jammy; urgency=medium

* Update to 2.51.0
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Source: fastfetch
Section: universe/utils
Priority: optional
Maintainer: Carter Li <[email protected]>
Build-Depends: libvulkan-dev, libwayland-dev, libxrandr-dev, libxcb-randr0-dev, libdconf-dev, libdbus-1-dev, libmagickcore-dev, libxfconf-0-dev, libsqlite3-dev, librpm-dev, libegl-dev, libglx-dev, ocl-icd-opencl-dev, libpulse-dev, libdrm-dev, libddcutil-dev, libchafa-dev, directx-headers-dev, pkgconf, cmake (>= 3.12), debhelper (>= 11.2), dh-cmake, dh-cmake-compat (= 1), dh-sequence-cmake, dh-sequence-ctest, ninja-build
Build-Depends: libelf-dev, 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, libddcutil-dev, libchafa-dev, directx-headers-dev, pkgconf, cmake (>= 3.12), debhelper (>= 11.2), dh-cmake, dh-cmake-compat (= 1), dh-sequence-cmake, dh-sequence-ctest, ninja-build
Standards-Version: 4.0.0
Homepage: https://github.com/fastfetch-cli/fastfetch

Expand Down
2 changes: 1 addition & 1 deletion debian/files
Original file line number Diff line number Diff line change
@@ -1 +1 @@
fastfetch_2.51.0_source.buildinfo universe/utils optional
fastfetch_2.52.0_source.buildinfo universe/utils optional
113 changes: 104 additions & 9 deletions doc/json_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2307,17 +2307,60 @@
"const": "disk"
},
"folders": {
"type": "string",
"description": "A colon (semicolon on Windows) separated list of folder paths for the disk output\nDefault: auto detection using mount-points\nThis option overrides other `show*` options"
"description": "A list of folder paths for the disk output\nDefault: auto detection using mount-points\nThis option overrides other `show*` options",
"oneOf": [
{
"type": "string",
"description": "A colon (semicolon on Windows) separated list of folder paths to get disk usage from",
"default": "/"
},
{
"type": "array",
"description": "An array of folder paths to get disk usage from",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
]
},
"hideFolders": {
"type": "string",
"description": "A colon (semicolon on Windows) separated list of folder paths to hide from the disk output",
"description": "A list of folder paths to hide from the disk output",
"oneOf": [
{
"type": "string",
"description": "A colon (semicolon on Windows) separated list of folder paths to hide from the disk output"
},
{
"type": "array",
"description": "An array of folder paths to hide from the disk output",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
],
"default": "/efi:/boot:/boot/efi:/boot/firmware"
},
"hideFS": {
"type": "string",
"description": "A colon separated file systems to hide from the disk output"
"description": "A list of file systems to hide from the disk output",
"oneOf": [
{
"type": "string",
"description": "A colon separated list of file systems to hide from the disk output"
},
{
"type": "array",
"description": "An array of file systems to hide from the disk output",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
]
},
"showRegular": {
"type": "boolean",
Expand Down Expand Up @@ -2593,6 +2636,15 @@
"const": "gamepad",
"description": "List connected gamepads"
},
"ignores": {
"type": "array",
"description": "An array of case-insensitive device name prefixes to ignore",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
},
"percent": {
"$ref": "#/$defs/percent"
},
Expand Down Expand Up @@ -2852,6 +2904,15 @@
"const": "keyboard",
"description": "List (connected) keyboards"
},
"ignores": {
"type": "array",
"description": "An array of case-insensitive device name prefixes to ignore",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
},
"key": {
"$ref": "#/$defs/key"
},
Expand Down Expand Up @@ -2920,7 +2981,32 @@
},
"showIpv6": {
"description": "Show IPv6 addresses",
"type": "boolean",
"oneOf": [
{
"const": true,
"description": "Show the most useful IPv6 addresses"
},
{
"const": false,
"description": "Do not show IPv6 addresses"
},
{
"const": "gua",
"description": "Show only global unicast IPv6 addresses (2000::/3)"
},
{
"const": "ula",
"description": "Show only unique local IPv6 addresses (fc00::/7)"
},
{
"const": "lla",
"description": "Show only link-local IPv6 addresses (fe80::/10)"
},
{
"const": "unknown",
"description": "Show only IPv6 addresses that are not gua, ula or lla"
}
],
"default": false
},
"showSpeed": {
Expand Down Expand Up @@ -3150,6 +3236,15 @@
"const": "mouse",
"description": "List connected mouses"
},
"ignores": {
"type": "array",
"description": "An array of case-insensitive device name prefixes to ignore",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
},
"key": {
"$ref": "#/$defs/key"
},
Expand Down Expand Up @@ -3687,8 +3782,8 @@
"description": "Set the color of the separator line",
"$ref": "#/$defs/outputColor"
},
"length": {
"description": "Set the length of the separator line, or 0 to auto-detect",
"times": {
"description": "Set the times of separator string to repeat, or 0 to auto-detect",
"type": "integer",
"minimum": 0,
"default": 0
Expand Down
2 changes: 1 addition & 1 deletion presets/examples/29.jsonc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// #1887
{
"$schema": "file:///Users/carter/fastfetch/doc/json_schema.json",
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": null,
"display": {
"constants": [
Expand Down
87 changes: 87 additions & 0 deletions presets/examples/30.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": null,
"display": {
"key": {
"type": "both",
"paddingLeft": 6,
"width": 17
}
},
"modules": [
{
"type": "custom",
"format": "|---------------------: {#1}Hardware{#} : ---------------------|"
},
"break",
{
"keyColor": "green",
"type": "host"
},
{
"keyColor": "green",
"type": "cpu"
},
{
"keyColor": "yellow",
"type": "memory"
},
{
"keyColor": "yellow",
"type": "swap"
},
{
"type": "custom",
"keyIcon": "",
"key": "Disks"
},
{
"type": "disk",
"key": " ",
"format": " [{mountpoint}] - {size-used} / {size-total} ({size-percentage})"
},
"break",
{
"type": "title",
"format": "|-------------------------------------------------------|\u001b[40D: {#1}{user-name} @ {host-name}{#} :"
},
"break",
{
"type": "os",
"keyColor": "cyan"
},
{
"type": "kernel",
"keyColor": "cyan"
},
{
"type": "packages",
"keyColor": "red",
"key": "Pkgs"
},
{
"type": "shell",
"keyColor": "red"
},
{
"type": "terminal",
"key": "Term",
"keyColor": "red"
},
{
"type": "locale",
"keyColor": "magenta"
},
"break",
{
"type": "custom",
"format": "|---------------------: {#1}Software{#} : ---------------------|"
},
"break",
{
"type": "colors",
"symbol": "circle",
"paddingLeft": 8
}
]
}
7 changes: 0 additions & 7 deletions src/3rdparty/mk_wcwidch/repo.json

This file was deleted.

Loading
Loading