Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: v2.25.0 #1271

Merged
merged 30 commits into from
Sep 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
119de2e
Packaging: update debian stuff [ci skip]
CarterLi Sep 11, 2024
0c4edf7
feat: Moore Threads GPU add support to query number of cores (#1259)
yeahdongcn Sep 12, 2024
ce90689
CPU (FreeBSD): fix invalid CPU temperature
CarterLi Sep 12, 2024
7bbaca2
CPU (FreeBSD): remove `showPeCoreCount` support
CarterLi Sep 12, 2024
03c901b
Packages (Linux): cache result based on mtime
CarterLi Sep 12, 2024
af450ae
Packages (FreeBSD): cache result
CarterLi Sep 13, 2024
b1eceb6
CMake: simplify
CarterLi Sep 13, 2024
3d1a6b6
Packages: add cmake options to disable certain package managers at co…
CarterLi Sep 13, 2024
9faa382
Packages: don't cache values if we fail to acquire modify time
CarterLi Sep 13, 2024
ed2dd8f
CPU (FreeBSD): remove using of freq_levels
CarterLi Sep 13, 2024
cd11a9d
Packages (Windows): fix compiling
CarterLi Sep 13, 2024
a1f0570
Chore: fix typos
CarterLi Sep 13, 2024
74fcd8b
Doc: Change grammar (#1263)
nnyyxxxx Sep 13, 2024
553b0fe
OS (Linux): fix parrot logo detection
CarterLi Sep 14, 2024
3381062
CPU (FreeBSD): fix cpu temperature detection
CarterLi Sep 14, 2024
c58f4c2
LocalIP: add new option `--show-localip-{speed,mtu}`
CarterLi Sep 14, 2024
c24328e
Btrfs: add new module
CarterLi Sep 14, 2024
1b93452
Presets: update all / ci
CarterLi Sep 15, 2024
acdd1fc
JsonSchema: add btrfs
CarterLi Sep 15, 2024
0eecdd1
LocalIP (FreeBSD): don't use Wifi speed as Ethernet speed
CarterLi Sep 15, 2024
c64720c
Camera (Linux): fix compiling with old linux headers
CarterLi Sep 16, 2024
7568658
Wifi (macOS): improve support for macOS Sequoia
CarterLi Sep 18, 2024
6acc33c
Processing: increase the default value of `processingTimeout`
CarterLi Sep 18, 2024
6c8b4b2
Doc: update changelog
CarterLi Sep 18, 2024
5a9a2ca
Networking (Windows): fix calling IPv6 server
CarterLi Sep 18, 2024
0025c78
Networking: report empty server response
CarterLi Sep 18, 2024
43d6f81
Wifi (macOS): improve security type detection
CarterLi Sep 19, 2024
174359d
Presets: add new example
CarterLi Sep 19, 2024
c49c857
Logo (Builtin): update TorizonCore To Torizon OS
CarterLi Sep 19, 2024
f804236
Release: v2.25.0
CarterLi Sep 19, 2024
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
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
# 2.25.0

Features:
* Moore Threads GPU add support to query number of cores (#1259, GPU)
* Cache detection result based on last modification time (Packages)
* Add cmake options to disable certain package managers at compile time
* Package managers are encouraged to disable some package managers by passing `-DPACKAGES_DISABLE_` when running `cmake`. For example, when building for Arch Linux, `-DPACKAGES_DISABLE_APK=ON -DPACKAGES_DISABLE_DPKG=ON -DPACKAGES_DISABLE_RPM=ON ...` should be specified.
* See all available options by [running `cmake -L | grep PACKAGES_DISABLE_`](https://github.com/fastfetch-cli/fastfetch/blob/dev/CMakeLists.txt#L91)
* This option does NOT remove the detection code. It just disables the detection at runtime. One can still use `--packages-disabled ""` to enable all package managers.
* Add new option `--show-localip-{speed,mtu}` (LocalIP)
* Add new module `Btrfs`, which prints all mounted Btrfs volumes, like `Zpool` module (#1262, Linux)
* Improve Wifi module support for macOS Sequoia (Wifi, macOS)
* Currently it uses `system_profiler` which costs about 2 seconds on my MBP. I suggest disabling it for now until a better solution is found.

Bugfixes:
* Fix invalid CPU temperature detection on FreeBSD (#1260, CPU, FreeBSD)
* Remove `showPeCoreCount` support on FreeBSD (#1260, CPU, FreeBSD)
* Don't use Wifi speed as Ethernet speed (LocalIP, FreeBSD)
* Fix compiling with old linux headers (Camera, Linux)
* Fix detecting public ipv6 address (PublicIP, Windows)

Logo:
* Fix parrot logo detection
* Rename TorizonCore to Torizon OS

# 2.24.0

Changes:
Expand Down
52 changes: 37 additions & 15 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.24.0
VERSION 2.25.0
LANGUAGES C
DESCRIPTION "Fast neofetch-like system information tool"
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
Expand Down Expand Up @@ -88,6 +88,15 @@ if(NOT BINARY_LINK_TYPE IN_LIST BINARY_LINK_TYPE_OPTIONS)
message(FATAL_ERROR "BINARY_LINK_TYPE must be one of ${BINARY_LINK_TYPE_OPTIONS}")
endif()

set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PALUDIS PKG PKGTOOL RPM SCOOP SNAP SORCERY WINGET XBPS)
foreach(package_manager ${PACKAGE_MANAGERS})
if(package_manager STREQUAL "WINGET")
option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" ON)
else()
option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" OFF)
endif()
endforeach()

if (LINUX)
set(CUSTOM_PCI_IDS_PATH "" CACHE STRING "Custom path to file pci.ids, defaults to `/usr/share/hwdata/pci.ids`")
set(CUSTOM_AMDGPU_IDS_PATH "" CACHE STRING "Custom path to file amdgpu.ids, defaults to `/usr/share/libdrm/amdgpu.ids`")
Expand Down Expand Up @@ -333,6 +342,7 @@ set(LIBFASTFETCH_SRC
src/modules/bootmgr/bootmgr.c
src/modules/brightness/brightness.c
src/modules/break/break.c
src/modules/btrfs/btrfs.c
src/modules/camera/camera.c
src/modules/chassis/chassis.c
src/modules/colors/colors.c
Expand Down Expand Up @@ -419,6 +429,7 @@ if(LINUX)
src/detection/board/board_linux.c
src/detection/bootmgr/bootmgr_linux.c
src/detection/brightness/brightness_linux.c
src/detection/btrfs/btrfs_linux.c
src/detection/chassis/chassis_linux.c
src/detection/cpu/cpu_linux.c
src/detection/cpucache/cpucache_linux.c
Expand Down Expand Up @@ -499,6 +510,7 @@ elseif(ANDROID)
src/detection/board/board_android.c
src/detection/bootmgr/bootmgr_nosupport.c
src/detection/brightness/brightness_nosupport.c
src/detection/btrfs/btrfs_nosupport.c
src/detection/chassis/chassis_nosupport.c
src/detection/cpu/cpu_linux.c
src/detection/cpucache/cpucache_linux.c
Expand Down Expand Up @@ -564,6 +576,7 @@ elseif(FreeBSD)
src/detection/board/board_bsd.c
src/detection/bootmgr/bootmgr_bsd.c
src/detection/brightness/brightness_bsd.c
src/detection/btrfs/btrfs_nosupport.c
src/detection/chassis/chassis_bsd.c
src/detection/cpu/cpu_bsd.c
src/detection/cpucache/cpucache_shared.c
Expand Down Expand Up @@ -643,6 +656,7 @@ elseif(APPLE)
src/detection/board/board_apple.c
src/detection/bootmgr/bootmgr_apple.c
src/detection/brightness/brightness_apple.c
src/detection/btrfs/btrfs_nosupport.c
src/detection/chassis/chassis_nosupport.c
src/detection/cpu/cpu_apple.c
src/detection/cpucache/cpucache_apple.c
Expand Down Expand Up @@ -709,6 +723,7 @@ elseif(WIN32)
src/detection/board/board_windows.c
src/detection/bootmgr/bootmgr_windows.c
src/detection/brightness/brightness_windows.cpp
src/detection/btrfs/btrfs_nosupport.c
src/detection/chassis/chassis_windows.c
src/detection/cpu/cpu_windows.c
src/detection/cpucache/cpucache_windows.c
Expand Down Expand Up @@ -776,6 +791,7 @@ elseif(SunOS)
src/detection/board/board_windows.c
src/detection/bootmgr/bootmgr_nosupport.c
src/detection/brightness/brightness_nosupport.c
src/detection/btrfs/btrfs_nosupport.c
src/detection/chassis/chassis_windows.c
src/detection/cpu/cpu_sunos.c
src/detection/cpucache/cpucache_shared.c
Expand Down Expand Up @@ -885,8 +901,8 @@ add_library(libfastfetch OBJECT
)

if(yyjson_FOUND)
target_compile_definitions(libfastfetch PRIVATE FF_USE_SYSTEM_YYJSON)
target_link_libraries(libfastfetch PRIVATE yyjson::yyjson)
target_compile_definitions(libfastfetch PUBLIC FF_USE_SYSTEM_YYJSON)
target_link_libraries(libfastfetch PUBLIC yyjson::yyjson)
# `target_link_libraries(yyjson::yyjson)` sets rpath implicitly
else()
# Used for dlopen finding dylibs installed by homebrew
Expand Down Expand Up @@ -928,11 +944,11 @@ elseif(SunOS)
endif()

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

if(HAVE_WCWIDTH)
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_WCWIDTH)
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_WCWIDTH)
endif()

if(NOT "${CUSTOM_PCI_IDS_PATH}" STREQUAL "")
Expand Down Expand Up @@ -1264,6 +1280,22 @@ if(NOT WIN32)
endif()
endif()

set(PACKAGES_DISABLE_LIST "")
foreach(package_manager ${PACKAGE_MANAGERS})
if(PACKAGES_DISABLE_${package_manager})
list(APPEND PACKAGES_DISABLE_LIST "${package_manager}")
endif()
endforeach()
if("${PACKAGES_DISABLE_LIST}" STREQUAL "")
set(PACKAGES_DISABLE_LIST "FF_PACKAGES_FLAG_NONE")
else()
message(STATUS "Disabled package managers: ${PACKAGES_DISABLE_LIST}")
list(TRANSFORM PACKAGES_DISABLE_LIST PREPEND "FF_PACKAGES_FLAG_")
list(TRANSFORM PACKAGES_DISABLE_LIST APPEND "_BIT")
list(JOIN PACKAGES_DISABLE_LIST " | " PACKAGES_DISABLE_LIST)
endif()
target_compile_definitions(libfastfetch PRIVATE FF_PACKAGES_DISABLE_LIST=${PACKAGES_DISABLE_LIST})

######################
# Executable targets #
######################
Expand Down Expand Up @@ -1294,13 +1326,6 @@ set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
set_target_properties(fastfetch PROPERTIES LINKER_LANGUAGE C)
set_target_properties(flashfetch PROPERTIES LINKER_LANGUAGE C)

if(yyjson_FOUND)
target_compile_definitions(fastfetch PRIVATE FF_USE_SYSTEM_YYJSON)
target_link_libraries(fastfetch PRIVATE yyjson::yyjson)
target_compile_definitions(flashfetch PRIVATE FF_USE_SYSTEM_YYJSON)
target_link_libraries(flashfetch PRIVATE yyjson::yyjson)
endif()

if(WIN32)
target_sources(fastfetch
PRIVATE src/util/windows/version.rc
Expand Down Expand Up @@ -1347,9 +1372,6 @@ if (BUILD_TESTS)
target_link_libraries(fastfetch-test-format
PRIVATE libfastfetch
)
if(yyjson_FOUND)
target_compile_definitions(fastfetch-test-format PRIVATE FF_USE_SYSTEM_YYJSON)
endif()

enable_testing()
add_test(NAME test-strbuf COMMAND fastfetch-test-strbuf)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ There are [screenshots on different platforms](https://github.com/fastfetch-cli/

### Linux

Some distros packaged an outdated fastfetch version. Older version receive no support, so please try always to use the latest version.
Some distros package an outdated fastfetch version. Older versions receive no support, so please try always to use the latest version.

* Ubuntu: [`ppa:zhangsongcui3371/fastfetch`](https://launchpad.net/~zhangsongcui3371/+archive/ubuntu/fastfetch) (for Ubuntu 22.04 or newer)
* Debian: `apt install fastfetch` (for Debian 13 or newer)
Expand Down Expand Up @@ -90,7 +90,7 @@ See Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building

Fastfetch uses the JSONC (or JSON with comments) for configuration. [See Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration). There are some premade config files in [`presets`](presets), including the ones used for the screenshots above. You can load them using `-c <filename>`. Those files can serve as examples of the configuration syntax.

Logos can be heavily customized too; see the [logo documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options) for more information.
Logos can also be heavily customized; see the [logo documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options) for more information.


## Packaging
Expand All @@ -112,7 +112,7 @@ Logos can be heavily customized too; see the [logo documentation](https://github
2. Fastfetch is faster. As the name suggests.
3. Fastfetch has a greater number of features, though by default fastfetch only has a few modules enabled; use `fastfetch -c all` to find what you want.
4. Fastfetch is more configurable. You can find more information in the Wiki: <https://github.com/fastfetch-cli/fastfetch/wiki/Configuration>.
5. Fastfetch is more polished. For example, neofetch prints `555MiB` in `Memory` module and `23G` in `Disk` module, whereas fastfetch prints `555.00 MiB` and `22.97 GiB` respectively.
5. Fastfetch is more polished. For example, neofetch prints `555 MiB` in the Memory module and `23 G` in the Disk module, whereas fastfetch prints `555.00 MiB` and `22.97 GiB` respectively.
6. Fastfetch is more accurate. For example, [neofetch never actually supports the Wayland protocol](https://github.com/dylanaraps/neofetch/pull/2395).

### Q: Fastfetch shows my local IP address. It leaks my privacy!
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.24.0) jammy; urgency=medium

* Update to 2.24.0

-- Carter Li <zhangsongcui@live.cn> Wed, 11 Sep 2024 13:50:02 +0800

fastfetch (2.23.0) jammy; urgency=medium

* Update to 2.23.0
Expand Down
2 changes: 1 addition & 1 deletion debian/files
Original file line number Diff line number Diff line change
@@ -1 +1 @@
fastfetch_2.23.0_source.buildinfo universe/utils optional
fastfetch_2.24.0_source.buildinfo universe/utils optional
81 changes: 76 additions & 5 deletions doc/json_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@
"processingTimeout": {
"type": "integer",
"description": "Set the timeout (ms) when waiting for child processes, `-1` for no timeout",
"default": 1000
"default": 5000
},
"preRun": {
"type": "string",
Expand Down Expand Up @@ -655,6 +655,7 @@
"bootmgr",
"break",
"brightness",
"btrfs",
"camera",
"chassis",
"cpu",
Expand Down Expand Up @@ -887,10 +888,6 @@
{
"const": "wmtheme",
"description": "Print current theme of window manager"
},
{
"const": "zpool",
"description": "Print ZFS storage pools"
}
]
},
Expand Down Expand Up @@ -1059,6 +1056,38 @@
}
}
},
{
"title": "BTRFS",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "btrfs",
"description": "Print Btrfs volumes"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/format"
}
}
},
{
"title": "Chassis",
"type": "object",
Expand Down Expand Up @@ -1634,6 +1663,16 @@
"type": "boolean",
"default": false
},
"showSpeed": {
"description": "Show ethernet rx speed",
"type": "boolean",
"default": false
},
"showMtu": {
"description": "Show MTU",
"type": "boolean",
"default": false
},
"showMac": {
"description": "Show MAC addresses",
"type": "boolean",
Expand Down Expand Up @@ -2261,6 +2300,38 @@
"$ref": "#/$defs/format"
}
}
},
{
"title": "Zpool",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "zpool",
"description": "Print ZFS storage pools"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/format"
}
}
}
]
}
Expand Down
10 changes: 8 additions & 2 deletions presets/all.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,12 @@
"physicalmemory",
"swap",
"disk",
"btrfs",
"zpool",
"battery",
{
"type": "battery",
"temp": true
},
"poweradapter",
"player",
"media",
Expand All @@ -66,7 +70,9 @@
{
"type": "localip",
"showIpv6": true,
"showMac": true
"showMac": true,
"showSpeed": true,
"showMtu": true
},
"dns",
"wifi",
Expand Down
Loading
Loading