Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Release: v2.56.0#2083

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
CarterLi merged 39 commits intomasterfromdev
Dec 5, 2025
Merged

Release: v2.56.0#2083

CarterLi merged 39 commits intomasterfromdev
Dec 5, 2025

Conversation

@CarterLi
Copy link
Member

No description provided.

CarterLiand others added30 commitsNovember 17, 2025 08:59
* Add Amiga logo* Update ASCII art in amiga.txt---------Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
* Add OS2 Warp logo* Update ASCII art in os2warp.txt* Refactor OS/2 Warp logo names for consistency---------Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
* fix: Codex Linux new logoreMarkable changed their logo so reflecting that change here too* Modify ASCII art in codex.txt---------Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
CopilotAI review requested due to automatic review settingsDecember 5, 2025 11:46
Copy link
Contributor

CopilotAI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR represents the v2.56.0 release of fastfetch, which includes several new features, bug fixes, and logo additions.

Key Changes:

  • Enhanced config file loading to search in user config directories when using relative paths with--config or-c
  • Added NUMA node count detection support for CPU module (Linux, FreeBSD, Windows)
  • Rewritten zpool module with improved property detection and expanded platform support (NetBSD, macOS)

Reviewed changes

Copilot reviewed 50 out of 50 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
CMakeLists.txtUpdated version to 2.56.0, refactored libzfs option from ENABLE_LIBZFS to ENABLE_ZFS, consolidated zpool source files
CHANGELOG.mdAdded comprehensive release notes for v2.56.0 with features, bugfixes, and logo updates
debian/changelog.tplAdded debian changelog entry for version 2.55.1
README.mdAdded Ubuntu PPA installation instructions and updated Debian/Ubuntu package availability info
src/util/path.hMoved ffIsAbsolutePath from .c to .h as inline function to improve performance
src/util/path.cRemoved ffIsAbsolutePath implementation (moved to header)
src/util/FFstrbuf.hGeneralized ffStrbufGetline to ffStrbufGetdelim with delimiter parameter, added documentation
src/util/FFstrbuf.cRefactored getline implementation to support custom delimiters
src/modules/zpool/zpool.cComplete rewrite using runtime property lookup for portability
src/modules/zpool/zpool.hUpdated struct with guid, allocated, readOnly fields; removed version field
src/detection/zpool/zpool.cNew unified implementation replacing platform-specific files
src/detection/zpool/zpool_linux.cRemoved (consolidated into zpool.c)
src/detection/zpool/zpool_nosupport.cRemoved (consolidated into zpool.c)
src/detection/zpool/libzfs_simplified.hUpdated to use runtime property lookup instead of hardcoded enum values
src/modules/packages/packages.cAdded KISS package manager support
src/modules/packages/option.hAdded KISS package flag bit
src/detection/packages/packages.hAdded kiss field to result struct
src/detection/packages/packages_linux.cAdded KISS package counting logic
src/modules/cpu/cpu.cAdded numa-nodes format argument support
src/modules/cpuusage/cpuusage.cFixed preprocessor macro from WIN32 to _WIN32
src/detection/cpu/cpu.hAdded numaNodes field to CPU result
src/detection/cpu/cpu_linux.cImplemented NUMA node detection via /sys/devices/system/node
src/detection/cpu/cpu_windows.cAdded NUMA node detection via RelationNumaNode
src/detection/cpu/cpu_bsd.cAdded NUMA node detection via sysctl vm.ndomains
src/modules/command/option.hAdded splitLines option field
src/modules/command/command.cImplemented splitLines functionality to output each line as separate module instance
src/detection/terminalshell/terminalshell.cImproved ksh/mksh version detection, added sshd version detection, use absolute paths when available
src/detection/terminalshell/terminalshell_linux.cUpdated to use absolute path for version detection, improved sshd terminal name handling
src/detection/terminalshell/terminalshell_windows.cUpdated to use absolute path for version detection
src/detection/terminalfont/terminalfont.cUpdated Alacritty config parsing for new TOML format with proper default fonts
src/logo/builtin.cAdded Amiga and OS/2 Warp logos, fixed comment typo (Aeon→AerynOS)
src/logo/ascii/*.txtAdded new ASCII art files for Amiga, OS/2 Warp, and updated Codex
src/logo/logo.cImproved builtin logo printing for better pipe and buffer support
src/logo/image/image.cChanged file descriptor validation to use ffIsValidNativeFD()
src/detection/gpu/gpu_linux.cAdded Zhaoxin GPU driver-specific detection, renamed pciDetectNouveauSpecific to pciDetectTempGeneral
src/detection/gpu/gpu_apple.cFixed comment to reference correct property name (voltage-states9-sram)
src/detection/gpu/gpu.hAdded vendor name constants for Qualcomm, MTK, Broadcom, Loongson, etc.
src/detection/users/users_linux.cAdded systemd-based user detection fallback, improved utmp handling with resource leak fixes
src/detection/displayserver/displayserver_android.cAdded Android OEM UI detection for various manufacturers
src/common/io/io.hAdded ffIsValidNativeFD() helper function for cross-platform file descriptor validation
src/common/init.cFixed preprocessor macro from WIN32 to _WIN32, removed libzfs from feature list
src/common/font.hAdded ffFontInitMoveValues function declaration
src/common/font.cImplemented ffFontInitMoveValues for efficient font initialization
src/common/processing_linux.cSet exePath to filePath when readlink fails as fallback
src/fastfetch.cEnhanced config file loading to search in user config directories, fixed preprocessor macro
src/data/help.jsonUpdated config option help text to mention stdin support
doc/json_schema.jsonAdded splitLines option to command module schema
.github/workflows/ci.ymlRemoved unnecessary pkg install command for Solaris CI

💡Add Copilot custom instructions for smarter, more guided reviews.Learn how to get started.

Copy link
Contributor

CopilotAI left a comment

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 50 out of 50 changed files in this pull request and generated 5 comments.


💡Add Copilot custom instructions for smarter, more guided reviews.Learn how to get started.

ffStrbufInitMove(&user->sessionName,tty.length ?&tty :&service);
if (loginTime.length)
{
ffStrbufSubstrBefore(&loginTime,loginTime.length-3);// converts us to ms
Copy link

CopilotAIDec 5, 2025

Choose a reason for hiding this comment

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

There's a potential underflow issue whenloginTime.length is less than 3. The expressionloginTime.length - 3 will underflow if the length is 0, 1, or 2 (sincelength is unsigned). This could cause unexpected behavior or crashes. Consider adding a length check:if (loginTime.length >= 3) ffStrbufSubstrBefore(&loginTime, loginTime.length - 3); or handle short timestamps appropriately.

Suggested change
ffStrbufSubstrBefore(&loginTime,loginTime.length-3);// converts us to ms
if (loginTime.length>=3)
ffStrbufSubstrBefore(&loginTime,loginTime.length-3);// converts us to ms
// else: leave loginTime unchanged or handle as needed

Copilot uses AI. Check for mistakes.
}
else
{
ffStrbufSetS(exePath,filePath);
Copy link

CopilotAIDec 5, 2025

Choose a reason for hiding this comment

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

SettingexePath tofilePath (which is/proc/%d/exe) whenreadlink fails is misleading. The path/proc/%d/exe is a symbolic link, not the actual executable path. If readlink fails, it would be more appropriate to leaveexePath empty or set it to an error indicator, rather than providing a symlink path that could be misinterpreted as the actual executable location. Consider usingffStrbufClear(exePath) instead or documenting this fallback behavior.

Suggested change
ffStrbufSetS(exePath,filePath);
ffStrbufClear(exePath);

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +6
fastfetch (2.55.1~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium

* Update to 2.55.1

-- Carter Li <zhangsongcui@live.cn> Mon, 17 Nov 2025 10:15:44 +0800

Copy link

CopilotAIDec 5, 2025

Choose a reason for hiding this comment

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

The debian changelog template is missing an entry for version 2.56.0, which is the version being released in this PR (as indicated by the title "Release: v2.56.0" and the CMakeLists.txt version update). The latest entry is for 2.55.1. Consider adding an entry for 2.56.0 with the appropriate release date and changes.

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +15
staticinlineboolffIsAbsolutePath(constchar*path)
{
#ifdef_WIN32
return (ffCharIsEnglishAlphabet(path[0])&&path[1]==':'&& (path[2]=='\\'||path[2]=='/'))// drive letter path
|| (path[0]=='\\'&&path[1]=='\\');// UNC path
#else
returnpath[0]=='/';
#endif
}
Copy link

CopilotAIDec 5, 2025

Choose a reason for hiding this comment

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

TheffIsAbsolutePath function doesn't check ifpath is NULL before dereferencing it withpath[0],path[1], orpath[2]. On Windows, accessingpath[1] andpath[2] without bounds checking could cause buffer overruns if the path string is shorter than expected. Consider adding a NULL check and length validation, or document that the caller must ensure the path is non-NULL and non-empty.

Copilot uses AI. Check for mistakes.
ffStrbufInit(&user->hostName);
ffStrbufInit(&user->sessionName);
ffStrbufInit(&user->clientIp);
ffStrbufSubstrBefore(&loginTime,loginTime.length-3);// converts us to ms
Copy link

CopilotAIDec 5, 2025

Choose a reason for hiding this comment

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

There's a potential underflow issue whenloginTime.length is less than 3. The expressionloginTime.length - 3 will underflow if the length is 0, 1, or 2 (sincelength is unsigned). This could cause unexpected behavior or crashes. Consider adding a length check:if (loginTime.length >= 3) ffStrbufSubstrBefore(&loginTime, loginTime.length - 3); or handle short timestamps appropriately.

Copilot uses AI. Check for mistakes.
@CarterLiCarterLi merged commite50421a intomasterDec 5, 2025
51 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

Copilot code reviewCopilotCopilot left review comments

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

6 participants

@CarterLi@sgilissen@VicRadioHead@Alxhr0@NoaHimesaka1873

[8]ページ先頭

©2009-2025 Movatter.jp