proper-lockfile is a Node.js lockfile utility for coordinating access between processes on a local or network file system. It provides async and sync functions to lock a file, unlock it, and check whether it is locked or stale, using an atomic `mkdir` strategy and periodic `mtime` updates.
Project status
- The most recent upstream activity appears to be the last push on 2023-10-25, but the published version updates shown here are older (latest listed update is v4.1.2 from 2021-01-25), suggesting the project is not currently in active, frequent development based on this evidence.
- Update cadence appears to be sporadic, with changes in early 2019 (v4.1.0 and v4.1.1), then the next shown update in 2021 (v4.1.2), and no further version updates listed after that.
AI summary generated Today
Recent updates
v4.1.2
1/25/2021Release v4.1.2 updates the library version and makes dependency-related changes. The only user-facing note present in the repository changelog is a bug fix related to Node 14 and graceful-fs, while the provided publisher release notes are empty.
Breakingv4.1.1
4/3/2019v4.1.1 introduces a filesystem mtime precision probe to improve how proper-lockfile determines lock freshness and whether a lock update still “belongs” to the current owner. The change adds a new module (lib/mtime-precision.js) and refactors lib/lockfile.js to use precise mtime handling for both lock acquisition and periodic lock refresh.
v4.1.0
3/18/2019Release v4.1.0 was published on 2019-03-18, but the publisher did not include any release notes or change log details. As a result, there is no documented information here about new features, bug fixes, breaking changes, or dependency updates for this version.
v4.0.0
3/12/2019Version 4.0.0 introduces a more robust staleness check for lockfiles, especially around scenarios like system sleep or a busy event loop. It also includes a small fix to the error message text when a lock is already held.
Breakingv3.2.0
11/19/2018v3.2.0 adds support for customizing the lockfile location via a new `lockfilePath` option. The core lock/unlock logic was updated to consistently use this custom path for creation, checking, updating `mtime`, and cleanup on process exit. No publisher release notes were provided in the release metadata for this version.
Featuresv3.1.0
11/15/2018v3.1.0 focuses on improving lockfile cleanup behavior during process termination by integrating the signal-exit package. It also updates the retry dependency and refreshes several development tooling and CI-related checks.
v3.0.2
1/30/2018v3.0.2 does not include any release-note content, and the diff shows no changes to the core lockfile implementation. The updates are limited to package metadata (version, homepage/repo URL), minor README wording, and several test-related adjustments to cleanup and stress timing.
v3.0.1
1/20/2018v3.0.1 primarily changes the module export behavior so that requiring the package allows calling it directly, and updates documentation/tests to match. It also bumps a development dependency (execa) as reflected in package-lock.json. No release notes were provided by the publisher for this version.
Breakingv3.0.0
1/20/2018v3.0.0 is a major refactor of the library’s locking implementation, reorganizing the code into separate modules and introducing an adapter layer for Promise and sync support. It also updates the public API to be Promise-first, and adds explicit sync APIs (lockSync, unlockSync, checkSync) with different option validation rules.
Featuresv2.0.1
4/24/2017Release v2.0.1 was published on 2017-04-24, but no release notes were provided by the publisher. As a result, there is no explicit information available about new features, bug fixes, security fixes, breaking changes, or migration steps in this release.