Skip to content

Release: v2.59.0#2183

Merged
CarterLi merged 44 commits intomasterfrom
dev
Feb 13, 2026
Merged

Release: v2.59.0#2183
CarterLi merged 44 commits intomasterfrom
dev

Conversation

@CarterLi
Copy link
Member

No description provided.

CarterLi and others added 30 commits January 22, 2026 15:35
Usage: `fastfetch -s memory:swap -l none --dynamic-interval 1000 --debug --no-buffer`
See #2171 (comment)
…ble` which is available on newer macOS version

Adds a new CMake option to use usable memory size at the same time

Fixes #2171
* Fix Oracle Solaris zpool build

* Add memrchr fallback

* Change to include fron extern

* add new line

* remove ; in zpool.c

* Change wrapper to macro

Also change README.md

* Tweaks

---------

Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
* Improves accurancy of detection of drive create time
* Improves performance slightly
* Removes remove drive check, `hideFolders` should be used instead
Copilot AI review requested due to automatic review settings February 13, 2026 12:26
Copy link
Contributor

Copilot AI 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

Release prep for v2.59.0, updating core platform detection and multiple modules (GPU, Disk, Title, Zpool, etc.) with new capabilities and improved cross-platform behavior.

Changes:

  • Add PID + UID/SID exposure (Title formatting + JSON), and centralize pid/uid retrieval in FFPlatform.
  • Improve/extend platform support (Solaris CI, ZFS/zpool adjustments, GNU/Hurd GPU detection) and reduce reliance on environment variables.
  • Add debugging instrumentation and various detection accuracy fixes (Windows disk/process info, macOS memory used calc, etc.).

Reviewed changes

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

Show a summary per file
File Description
src/modules/title/title.c Add {user-id} and {pid} format args + JSON fields
src/logo/logo.c Simplify logo color fallback expressions
src/logo/builtin.c Extend NixOS builtin logo colors (6-color)
src/logo/ascii/nixos_small.txt Update small NixOS ASCII logo color slots
src/logo/ascii/nixos.txt Update NixOS ASCII logo color slots
src/detection/zpool/zpool.c Solaris libzfs compatibility tweak for zpool props
src/detection/vulkan/vulkan.c Add detailed Vulkan detection debug logging
src/detection/users/users_linux.c Use cached platform uid instead of getuid()
src/detection/terminalshell/terminalshell_windows.c Use KnownFolder APIs + console host PID query
src/detection/swap/swap_windows.c Simplify swap detection via NtQuerySystemInformation
src/detection/swap/swap_sunos.c Align swap table buffer
src/detection/physicaldisk/physicaldisk_windows.c Align DeviceIoControl buffer
src/detection/packages/packages_windows.c Align buffer + KnownFolder for ProgramData
src/detection/opengl/opengl_shared.c Add detailed EGL/OpenGL debug logging
src/detection/memory/memory_windows.c Add clarifying comment about GlobalMemoryStatusEx internals
src/detection/memory/memory_apple.c Change macOS used-memory calculation + optional memsize_usable
src/detection/media/media_linux.c Include memrchr declaration header
src/detection/lm/lm_linux.c Use cached platform uid instead of getuid()
src/detection/gpu/gpu_pci.c Include memrchr declaration header
src/detection/gpu/gpu_linux.c Minor fallback expression simplification
src/detection/gpu/gpu_gnu.c New GNU/Hurd PCI GPU detection implementation
src/detection/gpu/gpu_general.c Remove libpciaccess-based GPU detection
src/detection/gpu/gpu.c Add debug logging + improved fallback flow visibility
src/detection/displayserver/linux/wmde.c Use cached platform uid instead of getuid()
src/detection/displayserver/displayserver_android.c Adjust Android DE detection logic for RedMagicOS/Pixel
src/detection/disk/disk_windows.c Rework Windows disk detection using NT APIs (no remote probing hacks)
src/detection/cpu/cpu_arm.h Add/adjust ARM/NVIDIA part names
src/detection/bootmgr/bootmgr_windows.c Use NtCurrentProcess() helper
src/detection/bootmgr/bootmgr_linux.c Align EFI var buffer
src/detection/bootmgr/bootmgr_bsd.c Align EFI var buffer
src/detection/bluetoothradio/bluetoothradio_windows.c Adjust Win7 DLL loading choice
src/detection/bluetooth/bluetooth_windows.cpp Add ffStrbufCreateWSV helper usage
src/detection/bluetooth/bluetooth_windows.c Adjust Win7 DLL loading choice
src/common/windows/unicode.hpp Add ffStrbufCreateWSV(std::wstring_view)
src/common/windows/nt.h Add process device map struct + NtCurrentProcess() macro
src/common/memrchr.h Declare memrchr consistently
src/common/impl/processing_windows.c Use cached pid + NT APIs for process exit/image name
src/common/impl/netif_linux.c Use cached platform pid instead of getpid()
src/common/impl/netif_apple.c Use cached platform pid (cast to pid_t for routing msgs)
src/common/impl/memrchr.c Provide fallback memrchr implementation
src/common/impl/io_unix.c Make token pointer const-correct
src/common/impl/init.c Feature list updates (remove pciaccess, add Apple memsize_usable flag)
src/common/impl/commandoption.c Simplify NULL fallback using GCC extension
src/common/impl/FFstrbuf.c Make strchr result pointer const-correct
src/common/impl/FFPlatform_windows.c Populate pid + derive SID from username
src/common/impl/FFPlatform_unix.c Populate pid/uid + use passwd over env for username
src/common/arrayUtils.h Prefer _Countof when supported
src/common/apple/smc_temps.c Fix integer-to-double conversion for 64-bit values
src/common/FFPlatform.h Add pid/uid or sid fields to platform state
doc/json_schema.json Update schema docs for CPU/Packages/Title/Zpool format placeholders
debian/changelog.tpl Add new Debian/Ubuntu changelog stanza
README.md Mention Solaris support
CMakeLists.txt Bump version, add Solaris CI support bits, memrchr fallback, GNU GPU change, Apple option
CHANGELOG.md Add 2.59.0 release notes
.github/workflows/ci.yml Update actions versions + add OmniOS/Solaris jobs and tweaks

Comment on lines +112 to 118
PWSTR pPath = NULL;
if (SUCCEEDED(SHGetKnownFolderPath(&FOLDERID_ProgramData, KF_FLAG_DEFAULT, NULL, &pPath)))
{
ffStrbufSetWS(&scoopPath, pPath);
CoTaskMemFree(pPath);
}
ffStrbufAppendS(&scoopPath, "/scoop");
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

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

If SHGetKnownFolderPath(FOLDERID_ProgramData, ...) fails, scoopPath remains empty and the code appends "/scoop", producing a relative path like "/scoop/apps/...". Please add a fallback (e.g. getenv("ProgramData")) when the known-folder query fails, or return an explicit error so detection doesn’t silently scan the wrong location.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Copilot AI 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 56 out of 56 changed files in this pull request and generated no new comments.

@CarterLi CarterLi merged commit aa3a916 into master Feb 13, 2026
49 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.

4 participants