Skip to content

Releases: php-lock/lock

Release v2.2.1

26 Apr 09:59
63c1b26
Compare
Choose a tag to compare

Release v2.2

07 Mar 19:51
c3ee9d7
Compare
Choose a tag to compare
  • Support LZF compression on Redis connections (#32)
  • Redlock token is now in hexadecimal for easier debugging (#41)
  • Various changes such as adding phpstan, upgrading to a more recent version of PHPUnit, adding PHPCS etc.
  • Add PHP 8.0 support (#45)

Thanks everyone who contributed: @mvorisek and @TheLevti.

Release v2.1

12 Dec 19:59
093f389
Compare
Choose a tag to compare
  • Add the ability to get the code execution result or exception after a LockReleaseException. Thanks @Furgas for implementing the feature.

Release v2.0

08 Nov 21:43
5078c36
Compare
Choose a tag to compare
  • PHP >= 7.1 only release. Thanks @TheLevti for assisting.
  • This version adds type hints to arguments and return types to methods. If you have your own implementations of the Mutex class, you might need to update it slightly.
  • The Memcache Mutex has been removed. You should use the Memcached mutex instead.
  • The Predis and PHPRedis mutexes have been updated to better follow the distlock from the Redis documentation.
  • A bug has been fixed in the Predis mutex where failing to release a lock could cause a fatal error if sentinel replication was used.
  • The return value of the callable passed to then() is now returned (#23). Thanks @TheLevti.
  • Various testing and CI improvements.

Release v1.4

07 Jul 18:49
Compare
Choose a tag to compare

Support for timeouts in flock calls. Uses pcntl when possible, busy waiting when not. #6.

Release v1.3

26 May 11:49
Compare
Choose a tag to compare
  • Adds a new lock backend based on PostgreSQL's advisory locks. Thanks to @korotovsky for suggesting this feature.
  • Spinlocks now use a back off factor of 1.5 instead of 2. This means that released locks will be detected earlier at the cost of performing more checks. This affects the various Redis and Memcached based lock backends.
  • Various testing and CI improvements.

Release v1.2

22 May 06:25
Compare
Choose a tag to compare
  • This adds a new MySQLMutex which uses GET_LOCK() as a back end.
  • Various improvements to tests.

Release v1.1

15 Apr 09:46
Compare
Choose a tag to compare
  • Library no longer uses rand() but instead uses random_int(). Now depends on paragonie/random_compat for PHP 5.6 compatibility (#7, #9, #10).
  • Fixed issue where locks could not be released if ext-redis was used with SERIALIZER_PHP or SERIALIZER_IGBINARY serialization option (#8, #14, provided by @maestroprog).
  • Spin locks will now time out at the exact time out time, instead of waiting beyond the timeout.
  • Distribution no longer ships with tests or tooling files.
  • composer.json was updated to require all development extensions too.
  • Now tested against PHP 7.2 and PHP 7.3 too.
  • HHVM support dropped.

BC breaks

  • The method seedRandom() has been removed from the RedisMutex class.