Skip to content

Releases: utopia-php/lock

0.2.3

26 Jun 10:51

Choose a tag to compare

  • refactor: apply baseline rector to packages that lacked a config
  • build: hoist baseline rector + phpstan configs to the root

Changes: utopia-php/monorepo@lock/0.2.2...lock/0.2.3

0.2.2

20 Jun 09:51

Choose a tag to compare

  • refactor(monorepo): simplify absorb/sync flows (-635 LoC)
  • Pin all workflow actions to SHAs with ratchet, enforce in CI

Changes: utopia-php/monorepo@lock/0.2.1...lock/0.2.2

0.2.1

10 Jun 15:58

Choose a tag to compare

First release cut from the utopia-php monorepo.

0.2.0

24 Apr 10:48
49317c9

Choose a tag to compare

What's New

  • Breaking: lock classes moved from Utopia\Lock\Lock\* to Utopia\Lock\*.
    Users on 0.1.0 must update imports:

    • Utopia\Lock\Lock\MutexUtopia\Lock\Mutex
    • Utopia\Lock\Lock\SemaphoreUtopia\Lock\Semaphore
    • Utopia\Lock\Lock\FileUtopia\Lock\File
    • Utopia\Lock\Lock\DistributedUtopia\Lock\Distributed

    The Utopia\Lock\Lock interface and Utopia\Lock\Exception hierarchy are unchanged.

0.1.0

24 Apr 10:31
b16171c

Choose a tag to compare

What's New

Initial release.

  • Utopia\Lock\Lock interface with acquire, tryAcquire, release, withLock.
  • Utopia\Lock\Lock\Mutex — Swoole coroutine mutex backed by Swoole\Coroutine\Channel(1).
  • Utopia\Lock\Lock\Semaphore — Swoole coroutine semaphore with a configurable permit count.
  • Utopia\Lock\Lock\Fileflock() based file lock (LOCK_EX or LOCK_SH), cooperates with Swoole's runtime hooks.
  • Utopia\Lock\Lock\Distributed — Redis SET NX EX lock with Lua-atomic release and refresh, fractional-second timeouts, optional logger.
  • Utopia\Lock\Exception base exception and Utopia\Lock\Exception\Contention thrown when withLock times out.