detect-libc is a Node.js module that detects which C standard library (libc) implementation a Linux system provides. It supports GNU glibc and MUSL, and offers async and sync functions to determine the libc family and version (returning null when it cannot be detected or when run on non-Linux platforms).
Project status
- Maintenance status: The most recent upstream update was 2025-10-05, so as of 2026-06-09 the project appears not recently updated, suggesting low current activity (though not clearly dormant past a year).
- Update cadence (evidence-based): There were several updates in mid-to-late September 2025 through early October 2025 (v2.1.0-rc.0, v2.1.0, v2.1.1, v2.1.2). After v2.1.2 on 2025-10-05, there are no further updates in the provided history.
AI summary generated
Recent updates
v2.1.2
v2.1.2 is a small patch release with only 3 files changed. The code change updates how a file descriptor is closed in lib/filesystem.js, and the rest of the diff mainly adds changelog tooling and documentation.
v2.1.1
Release v2.1.1 contains a very small patch update. The only functional code change appears to be how a file descriptor is closed after reading data, plus a minor package.json repository URL formatting change.
v2.1.0
This release (v2.1.0) was published, but no release notes or change log details were provided by the publisher. As a result, the available information is insufficient to determine whether this upgrade includes new features, breaking changes, bug fixes, security updates, or dependency changes.
v2.1.0-rc.0
v2.1.0-rc.0 refactors Linux libc detection to add an ELF-based path check (parsing PT_INTERP from /proc/self/exe) and changes internal filesystem helpers to operate on Buffers instead of strings. The new interpreter-based approach is introduced ahead of the previous ldd/report/filesystem fallbacks.
BreakingFeaturesv2.0.4
v2.0.4 contains no published release notes. The code diff shows only CI workflow matrix updates and a package.json metadata change related to TypeScript type resolution.
v2.0.3
Release v2.0.3 has no publisher-provided release notes. The code changes mainly adjust libc (glibc) parsing heuristics and how the module reads process.report data on Linux, plus CI and test updates.
v2.0.2
Release v2.0.2 contains a relatively large internal change to how libc family and version are detected on Linux. Instead of relying only on the existing report/command-based approach, it now reads and parses the ldd binary from the filesystem, with caching, and falls back to the previous mechanisms on failure.
Featuresv2.0.1
Release v2.0.1 bumps the package version and makes a small change to the TypeScript declaration file. The only functional change visible in the diff is in typings, while the rest of the changes are to CI workflow configuration and test matrix coverage.
v2.0.0
Release v2.0.0 (no release notes provided) introduces a major API redesign for libc detection. The implementation now detects libc family/version via process.report (when available) and by running getconf and ldd, and it changes several exports from eagerly computed values to async and sync functions.
Featuresv1.0.3
Release v1.0.3 was published on 2017-11-22, but the publisher did not provide release notes. As a result, the specific code changes, potential API impacts, and any fixes are not described in the provided material.