NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1855 most downloaded on Packagist
Mutex library for exclusive code execution.
Last release 7 months ago
19 Feb 2026
Ships unpredictably
gaps range from 9 days to 2.6 years
Some releases are documented
notes for 7 of 20 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
20 releases · first in 2015
For upgrading from 2.x version see 3.0.0 release notes.
Full Changelog: 3.1.0...3.1.1
For upgrading from 2.x version see 3.0.0 release notes.
Add acquire timeout support to PostgreSQLMutex
Full Changelog: 3.0.2...3.1.0
For upgrading from 2.x version see 3.0.0 release notes.
One column per quarter.
Make AbstractLockMutex and Loop classes non-internal
Full changelog: 3.0.1...3.0.2
For upgrading from 2.x version see 3.0.0 release notes.
For upgrading from 2.x version see 3.0.0 release notes.
Full changelog: 3.0.0...3.0.1
For upgrading from 2.x version see 3.0.0 release notes.
Major features - renamed namespace
Rename all FQCN uses from camelCase to PascalCase like malkusch\lock\mutex\Mutex to Malkusch\Lock\Mutex\Mutex.
In 2.x version, there were two PHPRedisMutex and PredisMutex classes. They were almost a duplicate of each other and both have implemented RedLock distributed lock when more than 1 Redis client instance was passed to the constructor.
Newly, in 3.x version, both class were unified into one RedisMutex class supporting both PHP redis and Predis clients. In addition, the constructor newly accepts only single Redis client instance.
When distributed lock is wanted, use new DistributedMutex class which newly accepts any AbstractSpinlockMutex class which is currently implemented by RedisMutex and MemcachedMutex. This change allows you to create distributed lock across different backends.
Newly we strictly distinguish between:
- "acquire timeout" (timeout before the library give up trying to acquire a lock for your code)
- and "expire timeout" (timeout after the lock expires on the, possibly remote, store).
LockUtil class was added to deduplicate the code (70fd6d9)Full changelog: 2.3.0...3.0.0
Add support for fractional seconds timeout
Full changelog: 2.2.1...2.3.0
Support psr/log versions 1, 2 and 3. Thanks @athos-ribeiro and @peldax .
psr/log versions 1, 2 and 3. Thanks @athos-ribeiro and @peldax.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →