Skip to content

Commit 855fd6e

Browse files
authored
Merge pull request #890 from fastfetch-cli/dev
Release v2.11.4
2 parents 61f8481 + d4bd440 commit 855fd6e

File tree

29 files changed

+239
-111
lines changed

29 files changed

+239
-111
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,15 @@ jobs:
173173
id: runcmd
174174
with:
175175
arch: armv7
176-
distro: ubuntu22.04
176+
distro: ubuntu20.04
177177
githubToken: ${{ github.token }}
178178
run: |
179179
uname -a
180-
apt-get update && apt-get install -y cmake make g++ 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 libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev libdrm-dev libddcutil-dev libchafa-dev directx-headers-dev rpm
180+
apt-get update && apt-get install -y wget
181+
# CMake installed by apt has bug `list sub-command REMOVE_ITEM requires two or more arguments`
182+
wget --no-check-certificate https://apt.kitware.com/ubuntu/pool/main/c/cmake/{cmake_3.29.2-0kitware1ubuntu20.04.1_armhf.deb,cmake-data_3.29.2-0kitware1ubuntu20.04.1_all.deb}
183+
dpkg -i *.deb
184+
apt-get install -y make g++ 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 libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev libdrm-dev directx-headers-dev rpm
181185
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
182186
cmake --build . --target package --verbose -j4
183187
./fastfetch --list-features

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
# 2.11.4
2+
3+
Changes:
4+
5+
* Fastfetch will print a colorless ascii logo in `--pipe` mode for better `lolcat` compatibility. `fastfetch | lolcat` should work and no `--pipe false` needed.
6+
* Previously the logo would be disabled in `--pipe` mode.
7+
* `--os-file` was removed and CMake option `-DCUSTOM_OS_RELEASE_PATH=/path/to/os-release` was added. This option should not used in most cases.
8+
9+
Bugfixes:
10+
11+
* Fix possible out-of-bound memory access (#868)
12+
* Fix Apple Terminal detection (macOS, Terminal)
13+
* Fix doubled output in custom formation (#852)
14+
* Fix deprecation warning for macOS 14.0 hopefully (#860, macOS, Camera)
15+
* Fix memory leaks when passing informative options
16+
* Fix JSON config `size.ndigits` doesn't work
17+
18+
Features:
19+
20+
* Enable `--pipe` mode if environment variable `$NO_COLOR` is set
21+
* Support Armbian and Proxmox distro detection (OS, Linux)
22+
23+
Logo:
24+
25+
* Add Armbian
26+
127
# 2.11.3
228

329
Hotfix for nix (https://github.com/NixOS/nixpkgs/issues/308849#issuecomment-2093962376)

CMakeLists.txt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url
22

33
project(fastfetch
4-
VERSION 2.11.3
4+
VERSION 2.11.4
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -80,6 +80,7 @@ option(IS_MUSL "Build with musl libc" OFF) # Used by Github Actions
8080
if (LINUX)
8181
set(CUSTOM_PCI_IDS_PATH "" CACHE STRING "Custom path to file pci.ids, defaults to `/usr/share/hwdata/pci.ids`")
8282
set(CUSTOM_AMDGPU_IDS_PATH "" CACHE STRING "Custom path to file amdgpu.ids, defaults to `/usr/share/libdrm/amdgpu.ids`")
83+
set(CUSTOM_OS_RELEASE_PATH "" CACHE STRING "Custom path to file os-release, defaults to `/etc/os-release`")
8384
endif()
8485

8586
####################
@@ -789,6 +790,10 @@ if(NOT "${CUSTOM_AMDGPU_IDS_PATH}" STREQUAL "")
789790
message(STATUS "Custom file path of amdgpu.ids: ${CUSTOM_AMDGPU_IDS_PATH}")
790791
target_compile_definitions(libfastfetch PRIVATE FF_CUSTOM_AMDGPU_IDS_PATH=${CUSTOM_AMDGPU_IDS_PATH})
791792
endif()
793+
if(NOT "${CUSTOM_OS_RELEASE_PATH}" STREQUAL "")
794+
message(STATUS "Custom file path of os_release: ${CUSTOM_OS_RELEASE_PATH}")
795+
target_compile_definitions(libfastfetch PRIVATE FF_CUSTOM_OS_RELEASE_PATH=${CUSTOM_OS_RELEASE_PATH})
796+
endif()
792797

793798
function(ff_lib_enable VARNAME PKGCONFIG_NAMES CMAKE_NAME)
794799
if(NOT ENABLE_${VARNAME})
@@ -1153,7 +1158,15 @@ if(LINUX)
11531158

11541159
set(CPACK_DEBIAN_PACKAGE_SECTION, "utils")
11551160
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
1156-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6")
1161+
1162+
if(NOT IS_MUSL)
1163+
EXECUTE_PROCESS (
1164+
COMMAND getconf GNU_LIBC_VERSION
1165+
OUTPUT_VARIABLE GLIBC_VERSION
1166+
OUTPUT_STRIP_TRAILING_WHITESPACE)
1167+
STRING (REPLACE "glibc " "" GLIBC_VERSION ${GLIBC_VERSION})
1168+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= ${GLIBC_VERSION})")
1169+
endif()
11571170
endif()
11581171

11591172
find_program(HAVE_RPMBUILD "rpmbuild")

DEVELOPMENT.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ There are [screenshots on different platforms](https://github.com/fastfetch-cli/
3030
Some distros packaged an outdated fastfetch version. Older version is not supported, please always ensure that the latest version is used.
3131

3232
* Ubuntu: [`ppa:zhangsongcui3371/fastfetch`](https://launchpad.net/~zhangsongcui3371/+archive/ubuntu/fastfetch) (for Ubuntu 22.04 or newer)
33-
* Debian / Ubuntu: Download `fastfetch-linux-<proper architecture>.deb` from [Github release page](https://github.com/fastfetch-cli/fastfetch/releases/latest) and `dpkg -i fastfetch-linux-<proper architecture>.deb` (for Ubuntu 20.04 or newer and Debian 11 or newer).
33+
* Debian / Ubuntu: Download `fastfetch-linux-<proper architecture>.deb` from [Github release page](https://github.com/fastfetch-cli/fastfetch/releases/latest) and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer).
3434
* Arch Linux: `sudo pacman -S fastfetch`
3535
* Fedora: `sudo dnf install fastfetch`
3636
* Gentoo: `sudo emerge --ask app-misc/fastfetch`

doc/json_schema.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,10 +294,6 @@
294294
"type": "string",
295295
"description": "The name of the player to use for module Media and Player. Linux only"
296296
},
297-
"osFile": {
298-
"type": "string",
299-
"description": "Set the path to the file containing OS information. Linux only"
300-
},
301297
"dsForceDrm": {
302298
"description": "Force display detection to use DRM. Linux only",
303299
"oneOf": [

presets/examples/5.jsonc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
"modules": [
1010
{
1111
"type": "theme",
12-
"key": "T",
13-
"format": "{7}"
12+
"key": "T"
1413
},
1514
{
1615
"type": "icons",

presets/neofetch.jsonc

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
22
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
3+
"display": {
4+
"size": {
5+
"maxPrefix": "MB",
6+
"ndigits": 0
7+
}
8+
},
39
"modules": [
410
"title",
511
"separator",
6-
{
7-
"type": "os",
8-
"format": "{3} {12}"
9-
},
10-
{
11-
"type": "host",
12-
"format": "{/2}{-}{/}{2}{?3} {3}{?}"
13-
},
12+
"os",
13+
"host",
1414
"kernel",
1515
"uptime",
1616
"packages",
@@ -23,10 +23,7 @@
2323
"de",
2424
"wm",
2525
"wmtheme",
26-
{
27-
"type": "theme",
28-
"format": "{?1}{1}{?3} {3}{?} [Plasma], {?}{7}"
29-
},
26+
"theme",
3027
"icons",
3128
"terminal",
3229
{

src/common/commandoption.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
bool ffParseModuleOptions(const char* key, const char* value)
1313
{
14-
if (!ffStrStartsWith(key, "--") || !isalpha(key[2])) return false;
14+
if (!ffStrStartsWith(key, "--") || !ffCharIsEnglishAlphabet(key[2])) return false;
1515

1616
for (FFModuleBaseInfo** modules = ffModuleInfos[toupper(key[2]) - 'A']; *modules; ++modules)
1717
{
@@ -102,7 +102,7 @@ static void parseStructureCommand(
102102
}
103103
}
104104

105-
if(isalpha(line[0]))
105+
if(ffCharIsEnglishAlphabet(line[0]))
106106
{
107107
for (FFModuleBaseInfo** modules = ffModuleInfos[toupper(line[0]) - 'A']; *modules; ++modules)
108108
{

src/common/jsonconfig.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ static inline void genJsonResult(FFModuleBaseInfo* baseInfo, yyjson_mut_doc* doc
9494

9595
static bool parseModuleJsonObject(const char* type, yyjson_val* jsonVal, yyjson_mut_doc* jsonDoc)
9696
{
97-
if(!isalpha(type[0])) return false;
97+
if(!ffCharIsEnglishAlphabet(type[0])) return false;
9898

9999
for (FFModuleBaseInfo** modules = ffModuleInfos[toupper(type[0]) - 'A']; *modules; ++modules)
100100
{

0 commit comments

Comments
 (0)