Skip to content

Commit e3c69c4

Browse files
authored
Merge pull request #571 from fastfetch-cli/dev
Release v2.1.0
2 parents a3f13bd + 45f523a commit e3c69c4

File tree

254 files changed

+5196
-1502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

254 files changed

+5196
-1502
lines changed

.github/workflows/ci.yml

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,29 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
os: [ubuntu-22.04, ubuntu-20.04]
16-
compiler: [gcc, clang, "musl-gcc"]
16+
compiler: [
17+
{ cc: gcc, cxx: "g++" },
18+
{ cc: clang, cxx: "clang++" },
19+
{ cc: "musl-gcc", cxx: "musl-g++" }
20+
]
1721
enableFeatures: [ON, OFF]
1822
exclude:
1923
# The feature libraries are all build against glibc, so they can't be used with musl
20-
- compiler: "musl-gcc"
24+
- compiler: { cc: "musl-gcc", cxx: "musl-g++" }
2125
enableFeatures: ON
2226
runs-on: ${{ matrix.os }}
2327
steps:
2428
- name: checkout repository
25-
uses: actions/checkout@v3
29+
uses: actions/checkout@v4
2630

2731
- name: install required packages
28-
run: sudo apt-get update && sudo apt-get install -y musl-dev musl-tools linux-headers-generic libpci-dev libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev rpm librpm-dev libzstd-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev
32+
run: sudo apt-get update && sudo apt-get install -y musl-dev musl-tools linux-headers-generic libpci-dev libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev rpm librpm-dev libzstd-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev directx-headers-dev
2933

3034
- name: configure project
3135
env:
32-
CC: ${{ matrix.compiler }}
33-
run: cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_LIBPCI=${{ matrix.enableFeatures }} -DENABLE_VULKAN=${{ matrix.enableFeatures }} -DENABLE_WAYLAND=${{ matrix.enableFeatures }} -DENABLE_XCB_RANDR=${{ matrix.enableFeatures }} -DENABLE_XCB=${{ matrix.enableFeatures }} -DENABLE_XRANDR=${{ matrix.enableFeatures }} -DENABLE_X11=${{ matrix.enableFeatures }} -DENABLE_GIO=${{ matrix.enableFeatures }} -DENABLE_DCONF=${{ matrix.enableFeatures }} -DENABLE_DBUS=${{ matrix.enableFeatures }} -DENABLE_XFCONF=${{ matrix.enableFeatures }} -DENABLE_SQLITE3=${{ matrix.enableFeatures }} -DENABLE_RPM=${{ matrix.enableFeatures }} -DENABLE_IMAGEMAGICK7=${{ matrix.enableFeatures }} -DENABLE_IMAGEMAGICK6=${{ matrix.enableFeatures }} -DENABLE_CHAFA=${{ matrix.enableFeatures }} -DENABLE_ZLIB=${{ matrix.enableFeatures }} -DENABLE_EGL=${{ matrix.enableFeatures }} -DENABLE_GLX=${{ matrix.enableFeatures }} -DENABLE_OSMESA=${{ matrix.enableFeatures }} -DENABLE_OPENCL=${{ matrix.enableFeatures }} -DENABLE_LIBNM=${{ matrix.enableFeatures }} -DENABLE_PULSE=${{ matrix.enableFeatures }} -DENABLE_JSONC=${{ matrix.enableFeatures }} .
36+
CC: ${{ matrix.compiler.cc }}
37+
CXX: ${{ matrix.compiler.cxx }}
38+
run: cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_LIBPCI=${{ matrix.enableFeatures }} -DENABLE_VULKAN=${{ matrix.enableFeatures }} -DENABLE_WAYLAND=${{ matrix.enableFeatures }} -DENABLE_XCB_RANDR=${{ matrix.enableFeatures }} -DENABLE_XCB=${{ matrix.enableFeatures }} -DENABLE_XRANDR=${{ matrix.enableFeatures }} -DENABLE_X11=${{ matrix.enableFeatures }} -DENABLE_GIO=${{ matrix.enableFeatures }} -DENABLE_DCONF=${{ matrix.enableFeatures }} -DENABLE_DBUS=${{ matrix.enableFeatures }} -DENABLE_XFCONF=${{ matrix.enableFeatures }} -DENABLE_SQLITE3=${{ matrix.enableFeatures }} -DENABLE_RPM=${{ matrix.enableFeatures }} -DENABLE_IMAGEMAGICK7=${{ matrix.enableFeatures }} -DENABLE_IMAGEMAGICK6=${{ matrix.enableFeatures }} -DENABLE_CHAFA=${{ matrix.enableFeatures }} -DENABLE_ZLIB=${{ matrix.enableFeatures }} -DENABLE_EGL=${{ matrix.enableFeatures }} -DENABLE_GLX=${{ matrix.enableFeatures }} -DENABLE_OSMESA=${{ matrix.enableFeatures }} -DENABLE_OPENCL=${{ matrix.enableFeatures }} -DENABLE_LIBNM=${{ matrix.enableFeatures }} -DENABLE_PULSE=${{ matrix.enableFeatures }} -DENABLE_JSONC=${{ matrix.enableFeatures }} -DENABLE_DIRECTX_HEADERS=${{ matrix.enableFeatures }} .
3439

3540
- name: build project
3641
run: cmake --build .
@@ -39,7 +44,7 @@ jobs:
3944
run: ctest
4045

4146
- name: run fastfetch
42-
run: ./fastfetch --disable-linewrap false --hide-cursor false --show-errors --no-buffer --load-config presets/all
47+
run: ./fastfetch --stat --show-errors --no-buffer --load-config presets/all
4348

4449
- name: run flashfetch
4550
run: ./flashfetch
@@ -54,10 +59,10 @@ jobs:
5459
ffversion: ${{ steps.ffversion.outputs.ffversion }}
5560
steps:
5661
- name: checkout repository
57-
uses: actions/checkout@v3
62+
uses: actions/checkout@v4
5863

5964
- name: install required packages
60-
run: sudo apt-get update && sudo apt-get install -y libpci-dev libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev rpm librpm-dev libzstd-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev
65+
run: sudo apt-get update && sudo apt-get install -y libpci-dev libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev rpm librpm-dev libzstd-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libnm-dev libpulse-dev directx-headers-dev
6166

6267
- name: Initialize CodeQL
6368
uses: github/codeql-action/init@v2
@@ -77,11 +82,14 @@ jobs:
7782
run: ./fastfetch --list-features
7883

7984
- name: run fastfetch
80-
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors --no-buffer --load-config presets/all
85+
run: time ./fastfetch -c presets/ci
8186

8287
- name: run flashfetch
8388
run: time ./flashfetch
8489

90+
- name: print dependencies
91+
run: ldd fastfetch
92+
8593
- name: run tests
8694
run: ctest
8795

@@ -103,7 +111,7 @@ jobs:
103111
contents: read
104112
steps:
105113
- name: checkout repository
106-
uses: actions/checkout@v3
114+
uses: actions/checkout@v4
107115

108116
- name: install required packages
109117
run: brew install vulkan-loader molten-vk imagemagick chafa
@@ -126,11 +134,14 @@ jobs:
126134
run: ./fastfetch --list-features
127135

128136
- name: run fastfetch
129-
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors --no-buffer --load-config presets/all
137+
run: time ./fastfetch -c presets/ci
130138

131139
- name: run flashfetch
132140
run: time ./flashfetch
133141

142+
- name: print dependencies
143+
run: otool -L fastfetch
144+
134145
- name: run tests
135146
run: ctest
136147

@@ -148,7 +159,7 @@ jobs:
148159
contents: read
149160
steps:
150161
- name: checkout repository
151-
uses: actions/checkout@v3
162+
uses: actions/checkout@v4
152163

153164
- name: run VM
154165
uses: vmactions/freebsd-vm@v0
@@ -159,8 +170,9 @@ jobs:
159170
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
160171
cmake --build . --target package
161172
./fastfetch --list-features
162-
time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors --no-buffer --load-config presets/all
173+
time ./fastfetch -c presets/ci
163174
time ./flashfetch
175+
ldd fastfetch
164176
ctest
165177
166178
- name: upload artifacts
@@ -180,7 +192,7 @@ jobs:
180192
shell: msys2 {0}
181193
steps:
182194
- name: checkout repository
183-
uses: actions/checkout@v3
195+
uses: actions/checkout@v4
184196

185197
- name: setup-msys2
186198
uses: msys2/setup-msys2@v2
@@ -213,11 +225,14 @@ jobs:
213225
run: ./fastfetch --list-features
214226

215227
- name: run fastfetch
216-
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors --no-buffer --load-config presets/all
228+
run: time ./fastfetch -c presets/ci
217229

218230
- name: run flashfetch
219231
run: time ./flashfetch
220232

233+
- name: print dependencies
234+
run: ldd fastfetch
235+
221236
- name: run tests
222237
run: ctest
223238

@@ -244,7 +259,7 @@ jobs:
244259
shell: msys2 {0}
245260
steps:
246261
- name: checkout repository
247-
uses: actions/checkout@v3
262+
uses: actions/checkout@v4
248263

249264
- name: setup-msys2
250265
uses: msys2/setup-msys2@v2
@@ -274,11 +289,14 @@ jobs:
274289
run: cp /clang32/bin/{OpenCL,vulkan-1}.dll .
275290

276291
- name: run fastfetch
277-
run: time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors --no-buffer --load-config presets/all
292+
run: time ./fastfetch -c presets/ci
278293

279294
- name: run flashfetch
280295
run: time ./flashfetch
281296

297+
- name: print dependencies
298+
run: ldd fastfetch
299+
282300
- name: run tests
283301
run: ctest
284302

CHANGELOG.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,57 @@
1+
# 2.1.0
2+
3+
This release introduces a new output format: JSON result
4+
5+
Changes:
6+
* Users module detects and prints user login time by default. Specifying `--users-compact` to disable it
7+
* Fastfetch now requires yyjson 0.8.0 or later, which is embeded in fastfetch source tree. If you build fastfetch with `-DENABLE_SYSTEM_YYJSON` cmake option, you must upgrade your yyjson package
8+
* Reduced information supported by `--terminal-format`, `--shell-format`
9+
* Some config presets (`devinfo` and `verbose`) are obseleted and removed. They are barely maintained and can be replaced with `--format json` now.
10+
* Custom strings in `--module-key` and `--module-format` are no longer trimmed.
11+
* `/boot` is hidden by default (FreeBSD, Disk)
12+
13+
Features:
14+
* Add `--format json`, which prints system information as JSON format
15+
* Add fast path for xfce4 version detection (DE, FreeBSD)
16+
* Support contour terminal version and font detection (Terminal / TerminalFont)
17+
* Support `kitty-direct` / `iterm` without specifying logo width / height. Note: in this case, the entre screen will be cleared.
18+
* Support new flag `--logo-separate`. If true, print modules at bottom of the logo
19+
* Support Apple Silicon CPU frequency detection (CPU, macOS)
20+
* Support user login time detection (Users)
21+
* Support winget package manager detection, guarded behind `--allow-slow-operations` (Packages, Windows)
22+
* Print monitor type (built-in or external) (Display)
23+
* Support full GPU detection in WSL (Linux, GPU)
24+
* Add `--module-key " "` as a special case for hiding keys
25+
* Support `--title-format`. See `fastfetch --help title-format` for detail
26+
* Support `--colors-key` (Colors)
27+
* Add `-c` as a shortcut of `--load-config`. Note it was used as the shortcut of `--color` before 2.0.5
28+
* Support Windows Service Pack version detection (Kernel, Windows)
29+
* Support Debian point releases detection (OS, Linux)
30+
* Add new module `NetIO` which prints network throughput (usage) of specified interface. Note this module costs about 1 second to finish.
31+
* Use `lscpu` to detect CPU name for ARM CPUs (CPU, Linux)
32+
33+
Bugfixes:
34+
* Fix fastfetch hanging in specific environment (#561)
35+
* Fix short read when reading from stdin (Logo)
36+
* Fix `poll() timeout or failed` error when image is very large (Logo)
37+
* Fix Termux Monet terminal version detection (Terminal)
38+
* Fix zpool volumes detection (Disk, Linux)
39+
* Fix external volumes detection (Disk, Linux)
40+
* Fix snap package number detection on systems other than Ubuntu (Packages, Linux)
41+
* Fix dpkg / apt package number detection (Packages, Linux)
42+
* Fix bluetooth mac address detection (Bluetooth, Windows)
43+
44+
Logo:
45+
* Add Afterglow
46+
* Add Elbrus
47+
* Update EvolutionOS
48+
* Update AOSC OS
49+
* Update Ubuntu_old
50+
* Update Windows 11_small
51+
* Add Amazon Linux
52+
* Add LainOS
53+
* Fix colors of Slackware
54+
155
# 2.0.5
256

357
Bugfixes:
@@ -11,7 +65,7 @@ Features:
1165
# 2.0.4
1266

1367
Bugfixes:
14-
* Fix building on 32-bit FreeBSD (Memory, BSD)
68+
* Fix building on 32-bit FreeBSD (Memory, FreeBSD)
1569
* Fix `--file-raw` doesn't work (Logo)
1670

1771
Features:

0 commit comments

Comments
 (0)