Skip to content

Release: v2.68.0 - #2551

Merged
CarterLi merged 109 commits into
masterfrom
dev
Sep 1, 2026
Merged

Release: v2.68.0#2551
CarterLi merged 109 commits into
masterfrom
dev

Conversation

@CarterLi

Copy link
Copy Markdown
Member

Checklist

  • I have tested my changes locally.

CarterLi and others added 30 commits August 14, 2026 17:05
359cb0a renamed the key from `pt_BR` to
`pt` but kept the exact-match guard, so only the literal string `pt`
matched. Every real Portuguese locale (`pt_BR`, `pt_PT` and their charset
and modifier variants) fell through to `goto error` and aborted.

Return the offset unconditionally, matching every other two-letter case.
--key-language with an empty value (and "language": null in the config)
asks for the system locale, not for a specific language. When that locale
has no translation, fastfetch aborted with exit 477 instead of printing
anything, so the same config broke on every locale outside the twelve
supported ones, and under LC_ALL=C variants such as POSIX.

Auto-detected locales now fall back to English. An explicitly requested
language still errors out, so typos and zh are still reported.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the v2.68.0 feature set, including localized module keys, process reporting improvements, broader platform detection, logos, and benchmark automation.

Changes:

  • Adds localized display names and the Top module.
  • Expands process, Wi-Fi, login-manager, and platform detection.
  • Updates logos, documentation, presets, and CI benchmarking.

Reviewed changes

Copilot reviewed 259 out of 261 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
.codespellrc Extends spelling exceptions.
.github/workflows/build-benchmark.yml Publishes benchmark results.
.github/workflows/build-dragonfly-amd64.yml Updates VM action.
.github/workflows/build-freebsd-amd64.yml Updates VM action.
.github/workflows/build-haiku-amd64.yml Updates VM action.
.github/workflows/build-linux-armv7l.yml Updates architecture action.
.github/workflows/build-linux-vms.yml Updates architecture action.
.github/workflows/build-macos-hosts.yml Collects benchmark data.
.github/workflows/build-netbsd-amd64.yml Updates VM action.
.github/workflows/build-omnios-amd64.yml Updates VM action.
.github/workflows/build-openbsd-amd64.yml Updates VM action.
.github/workflows/ci.yml Adds benchmark job.
.gitignore Adds generated-content exclusions.
CHANGELOG.md Documents release changes.
README.md Links benchmarks and config generator.
doc/help.json Documents key languages.
presets/all.jsonc Adds Top module.
presets/ci.jsonc Expands CI module coverage.
presets/examples/14.jsonc Corrects spelling.
src/common/FFstrbuf.h Adds static-buffer initializer.
src/common/impl/FFPlatform_unix.c Centralizes package data paths.
src/common/impl/FFstrbuf.c Documents allocation alternative.
src/common/impl/commandoption.c Prepares Top and uses module metadata.
src/common/impl/genconfig.c Corrects spelling.
src/common/impl/jsonconfig.c Prepares Top from JSON.
src/common/impl/settings.c Cleans unused parameters and naming.
src/common/option.h Defines localized display names.
src/common/path.h Defines platform package roots.
src/common/sysctl.h Removes obsolete helper declaration.
src/common/windows/nt.h Adds Windows memory structures.
src/detection/de/de_linux.c Uses shared package paths.
src/detection/diskio/diskio.c Improves rate precision.
src/detection/displayserver/displayserver_android.c Adds ASUS and Wayland detection.
src/detection/displayserver/linux/xcb.c Corrects spelling.
src/detection/gpu/gpu_pci.c Uses shared package paths.
src/detection/lm/lm.h Adds login-manager pretty names.
src/detection/lm/lm_apple.m Adds macOS login-manager detection.
src/detection/lm/lm_windows.c Adds Windows login-manager detection.
src/detection/memory/memory_windows.c Uses native memory counters.
src/detection/netio/netio.c Improves rate precision.
src/detection/physicaldisk/physicaldisk_bsd.c Marks unused parameters.
src/detection/processes/processes.h Adds process/thread result model.
src/detection/processes/processes_apple.c Counts macOS processes and threads.
src/detection/processes/processes_bsd.c Counts BSD processes and threads.
src/detection/processes/processes_dbsd.c Adds DragonFly detection.
src/detection/processes/processes_gnu.c Adds Hurd detection.
src/detection/processes/processes_haiku.c Adds thread counting.
src/detection/processes/processes_linux.c Counts Linux threads and kernel tasks.
src/detection/processes/processes_nbsd.c Expands NetBSD detection.
src/detection/processes/processes_nosupport.c Updates unsupported backend.
src/detection/processes/processes_obsd.c Expands OpenBSD detection.
src/detection/processes/processes_sunos.c Adds SunOS detection.
src/detection/processes/processes_windows.c Counts Windows threads.
src/detection/terminalfont/terminalfont_android.c Detects Termux font size.
src/detection/terminalshell/terminalshell.c Fixes ash detection and paths.
src/detection/top/top.h Defines Top snapshots.
src/detection/top/top_apple.c Adds macOS Top backend.
src/detection/top/top_bsd.c Adds FreeBSD Top backend.
src/detection/top/top_dbsd.c Adds DragonFly Top backend.
src/detection/top/top_gnu.c Adds Hurd Top backend.
src/detection/top/top_haiku.c Adds Haiku Top backend.
src/detection/top/top_nbsd.c Adds NetBSD Top backend.
src/detection/top/top_obsd.c Adds OpenBSD Top backend.
src/detection/top/top_sunos.c Adds SunOS Top backend.
src/detection/top/top_windows.c Adds Windows Top backend.
src/detection/wifi/wifi.h Adds channel-width conversion data.
src/detection/wifi/wifi_android.c Initializes channel width.
src/detection/wifi/wifi_bsd.c Detects BSD channel width.
src/detection/wifi/wifi_nbsd.c Detects NetBSD channel width.
src/detection/wm/wm_apple.m Makes process-table retrieval resilient.
src/detection/wm/wm_linux.c Uses shared package paths.
src/fastfetch.c Corrects spelling.
src/logo/ascii/a.inc Registers Artix2 logo.
src/logo/ascii/a/artix2.txt Trims Artix2 whitespace.
src/logo/ascii/m.inc Registers legacy macOS logo.
src/logo/ascii/m/macos_old.txt Adds legacy macOS logo.
src/logo/ascii/o.inc Registers Omarchy logos.
src/logo/ascii/o/omarchy.txt Adds Omarchy logo.
src/logo/ascii/o/omarchy2.txt Adds alternate Omarchy logo.
src/modules/battery/battery.c Localizes Battery keys.
src/modules/battery/battery.h Removes legacy name macro.
src/modules/bios/bios.c Localizes BIOS keys.
src/modules/bios/bios.h Removes legacy name macro.
src/modules/bluetooth/bluetooth.h Removes legacy name macro.
src/modules/bluetoothradio/bluetoothradio.h Removes legacy name macro.
src/modules/board/board.c Localizes Board keys.
src/modules/board/board.h Removes legacy name macro.
src/modules/bootmgr/bootmgr.h Removes legacy name macro.
src/modules/break/break.c Localizes Break keys.
src/modules/break/break.h Removes legacy name macro.
src/modules/brightness/brightness.h Removes legacy name macro.
src/modules/btrfs/btrfs.c Localizes Btrfs keys.
src/modules/btrfs/btrfs.h Removes legacy name macro.
src/modules/camera/camera.c Localizes Camera keys.
src/modules/camera/camera.h Removes legacy name macro.
src/modules/chassis/chassis.c Localizes Chassis keys.
src/modules/chassis/chassis.h Removes legacy name macro.
src/modules/codec/codec.h Removes legacy name macro.
src/modules/colors/colors.h Removes legacy name macro.
src/modules/command/command.h Removes legacy name macro.
src/modules/cpu/cpu.h Removes legacy name macro.
src/modules/cpucache/cpucache.h Removes legacy name macro.
src/modules/cpuusage/cpuusage.h Removes legacy name macro.
src/modules/cursor/cursor.c Localizes Cursor keys.
src/modules/cursor/cursor.h Removes legacy name macro.
src/modules/custom/custom.c Localizes Custom keys.
src/modules/custom/custom.h Removes legacy name macro.
src/modules/datetime/datetime.c Localizes Date/Time keys.
src/modules/datetime/datetime.h Removes legacy name macro.
src/modules/de/de.h Removes legacy name macro.
src/modules/disk/disk.c Localizes Disk keys.
src/modules/disk/disk.h Removes legacy name macro.
src/modules/diskio/diskio.h Removes legacy name macro.
src/modules/display/display.h Removes legacy name macro.
src/modules/dns/dns.h Removes legacy name macro.
src/modules/editor/editor.c Localizes Editor keys.
src/modules/editor/editor.h Removes legacy name macro.
src/modules/font/font.c Localizes Font keys.
src/modules/font/font.h Removes legacy name macro.
src/modules/gamepad/gamepad.h Removes legacy name macro.
src/modules/gpu/gpu.h Removes legacy name macro.
src/modules/host/host.c Localizes Host keys.
src/modules/host/host.h Removes legacy name macro.
src/modules/icons/icons.c Localizes Icons keys.
src/modules/icons/icons.h Removes legacy name macro.
src/modules/initsystem/initsystem.h Removes legacy name macro.
src/modules/kernel/kernel.c Localizes Kernel keys.
src/modules/kernel/kernel.h Removes legacy name macro.
src/modules/keyboard/keyboard.h Removes legacy name macro.
src/modules/lm/lm.h Removes legacy name macro.
src/modules/loadavg/loadavg.h Removes legacy name macro.
src/modules/locale/locale.c Localizes Locale keys.
src/modules/locale/locale.h Removes legacy name macro.
src/modules/localip/localip.h Removes legacy name macro.
src/modules/logo/logo.c Localizes Logo keys.
src/modules/logo/logo.h Removes legacy name macro.
src/modules/media/media.c Localizes Media keys.
src/modules/media/media.h Removes legacy name macro.
src/modules/memory/memory.c Localizes Memory keys.
src/modules/memory/memory.h Removes legacy name macro.
src/modules/modules.c Registers Top module.
src/modules/modules.h Exposes Top module.
src/modules/monitor/monitor.c Localizes Monitor keys.
src/modules/monitor/monitor.h Removes legacy name macro.
src/modules/mouse/mouse.h Removes legacy name macro.
src/modules/netio/netio.c Localizes NetIO and shortens sampling.
src/modules/netio/netio.h Removes legacy name macro.
src/modules/opencl/opencl.c Localizes OpenCL keys.
src/modules/opencl/opencl.h Removes legacy name macro.
src/modules/opengl/opengl.c Localizes OpenGL keys.
src/modules/opengl/opengl.h Removes legacy name macro.
src/modules/options.h Includes Top options.
src/modules/os/os.c Localizes OS keys.
src/modules/os/os.h Removes legacy name macro.
src/modules/packages/packages.h Removes legacy name macro.
src/modules/physicaldisk/physicaldisk.h Removes legacy name macro.
src/modules/physicalmemory/physicalmemory.h Removes legacy name macro.
src/modules/player/player.c Localizes Media Player keys.
src/modules/player/player.h Removes legacy name macro.
src/modules/poweradapter/poweradapter.h Removes legacy name macro.
src/modules/processes/option.h Adds kernel-process option.
src/modules/processes/processes.h Removes legacy name macro.
src/modules/publicip/publicip.c Localizes Public IP keys.
src/modules/publicip/publicip.h Removes legacy name macro.
src/modules/separator/separator.c Localizes Separator keys.
src/modules/separator/separator.h Removes legacy name macro.
src/modules/shell/shell.c Localizes Shell keys.
src/modules/shell/shell.h Removes legacy name macro.
src/modules/sound/sound.h Removes legacy name macro.
src/modules/swap/swap.c Localizes Swap keys.
src/modules/swap/swap.h Removes legacy name macro.
src/modules/terminal/terminal.c Localizes Terminal keys.
src/modules/terminal/terminal.h Removes legacy name macro.
src/modules/terminalfont/terminalfont.h Removes legacy name macro.
src/modules/terminalsize/terminalsize.h Removes legacy name macro.
src/modules/terminaltheme/terminaltheme.h Removes legacy name macro.
src/modules/theme/theme.c Localizes Theme keys.
src/modules/theme/theme.h Removes legacy name macro.
src/modules/title/title.c Localizes Title keys.
src/modules/title/title.h Removes legacy name macro.
src/modules/top/option.h Defines Top options.
src/modules/top/top.c Implements Top output and configuration.
src/modules/top/top.h Declares Top module API.
src/modules/tpm/tpm.c Localizes TPM keys.
src/modules/tpm/tpm.h Removes legacy name macro.
src/modules/uptime/uptime.h Removes legacy name macro.
src/modules/users/users.h Removes legacy name macro.
src/modules/version/version.c Localizes Version keys.
src/modules/version/version.h Removes legacy name macro.
src/modules/vulkan/vulkan.c Localizes Vulkan keys.
src/modules/vulkan/vulkan.h Removes legacy name macro.
src/modules/wallpaper/wallpaper.c Localizes Wallpaper keys.
src/modules/wallpaper/wallpaper.h Removes legacy name macro.
src/modules/weather/weather.c Localizes Weather keys.
src/modules/weather/weather.h Removes legacy name macro.
src/modules/wifi/wifi.h Removes legacy name macro.
src/modules/wm/wm.c Localizes Window Manager keys.
src/modules/wm/wm.h Removes legacy name macro.
src/modules/wmtheme/wmtheme.c Localizes WM Theme keys.
src/modules/wmtheme/wmtheme.h Removes legacy name macro.
src/modules/zpool/zpool.c Localizes Zpool keys.
src/modules/zpool/zpool.h Removes legacy name macro.
src/options/display.h Stores selected key language.
tests/strbuf.c Exercises static buffer initialization.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread CHANGELOG.md Outdated
Comment thread src/detection/diskio/diskio.c
Comment thread src/detection/netio/netio.c
Comment thread src/detection/terminalfont/terminalfont_android.c Outdated
Comment thread src/modules/top/top.c
Comment thread src/modules/top/top.c Outdated
Comment thread src/detection/top/top_gnu.c
Comment thread src/common/impl/FFPlatform_unix.c
Comment thread src/detection/processes/processes_gnu.c Outdated
Comment thread src/detection/processes/processes_nosupport.c Outdated
@CarterLi
CarterLi requested a balanced review from Copilot August 31, 2026 12:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 259 out of 261 changed files in this pull request and generated 2 comments.

Comment thread src/detection/processes/processes_obsd.c
Comment thread src/detection/processes/processes_windows.c

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 268 out of 270 changed files in this pull request and generated 1 comment.

Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

src/detection/processes/processes_bsd.c:13

  • The sysctl MIB uses KERN_PROC_PROC without providing a PID component. On BSDs where KERN_PROC_PROC expects an additional PID argument, this will fail with EINVAL and break process enumeration. Using KERN_PROC_ALL avoids the missing-PID ambiguity and matches other platform implementations.
    src/detection/top/top_bsd.c:15
  • The sysctl MIB uses KERN_PROC_PROC without a PID component, which can fail on systems where KERN_PROC_PROC requires an extra PID argument. Switching to KERN_PROC_ALL avoids that ambiguity and is consistent with other process-list enumerators in this PR.

Comment on lines +16 to +20
for (int attempts = 0;; ++attempts) {
if (size) {
pstart = (SYSTEM_PROCESS_INFORMATION*) realloc(pstart, size);
assert(pstart);
}
@CarterLi CarterLi changed the title Prepare v2.68.0 release Release: v2.68.0 Sep 1, 2026
@CarterLi
CarterLi merged commit 0ebf097 into master Sep 1, 2026
95 of 97 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants