Skip to content

Releases: amphp/sync

2.2.0

16 Mar 15:47
v2.2.0
375ef5b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.2.0

2.1.0

19 Aug 13:59
v2.1.0
50ddc73
Compare
Choose a tag to compare

What's Changed

  • Added re-entry support to synchronized() by @kelunik in #26
  • Fixed error handling in SharedMemoryParcel
  • Fixed a typo by @thgs in #25

New Contributors

  • @thgs made their first contribution in #25

Full Changelog: v2.0.0...v2.1.0

2.0.0

30 Dec 23:05
v2.0.0
ad8a0e8
Compare
Choose a tag to compare

Stable release compatible with AMPHP v3 and fibers! 🎉

As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.

Changes from 1.x

  • ConcurrentIterator functions have been removed are now available as methods on Pipeline in amphp/pipeline
  • FileMutex has been removed, as a better implementation ships as part of amphp/file
  • Removed ThreadedMutex and ThreadedSemaphore
  • Removed Lock::getId()
  • Barrier::await supports cancellation now
  • synchronized accepts any Semaphore now instead of a Mutex only
  • Added Channel from amphp/parallel, which allows two way communicate between execution contexts, such as two coroutines or two processes. Channel has been modified to extend Closable
  • Also added Parcel from amphp/parallel, which allows sharing a value across execution contexts with mutually-exclusive access to modifying that value using Parcel::synchronized().
  • Added createChannelPair() function which returns a pair of connected Channel objects.
  • Added RateLimitingSemaphore which releases locks after a given time elapses.
  • Added StaticKeySemaphore, analogous to StaticKeyMutex

Changes from 2.0.0 Beta 6

  • Added RateLimitingSemaphore which releases locks after a given time elapses.
  • Added StaticKeySemaphore, analogous to StaticKeyMutex

2.0.0 Beta 6

07 Nov 21:47
v2.0.0-beta.6
fd142c3
Compare
Choose a tag to compare
2.0.0 Beta 6 Pre-release
Pre-release
  • Add compatibility with Revolt v1.x

2.0.0 Beta 5

13 Jul 17:23
v2.0.0-beta.5
Compare
Choose a tag to compare
2.0.0 Beta 5 Pre-release
Pre-release
  • Fixed return type of createChannelPair() to use the interface
  • Fixed close of channels returned from createChannelPair()
  • Release locks synchronously instead of asynchronously on explicit release() calls

2.0.0 Beta 4

03 Apr 17:01
v2.0.0-beta.4
f25b8d2
Compare
Choose a tag to compare
2.0.0 Beta 4 Pre-release
Pre-release
  • PHP 8.1 now required.
  • Channel now extends Amp\Closable, which adds an onClose() method to attach a closure that is invoked when the channel closes.

2.0.0 Beta 3

07 Feb 04:46
f41cf7f
Compare
Choose a tag to compare
2.0.0 Beta 3 Pre-release
Pre-release

This release moves Channel and Parcel interfaces from amphp/parallel to this library.

  • Channel allows two way communicate between execution contexts, such as two coroutines or two processes.
  • Parcel allows sharing a value across execution contexts, with mutually-exclusive access to modifying that value using Parcel::synchronized().

2.0.0 Beta 2

03 Feb 20:59
v2.0.0-beta.2
Compare
Choose a tag to compare
2.0.0 Beta 2 Pre-release
Pre-release
  • Update to revolt/event-loop v0.2.x (#20)

2.0.0 Beta 1

06 Dec 01:21
v2.0.0-beta.1
Compare
Choose a tag to compare
2.0.0 Beta 1 Pre-release
Pre-release

Note: This is a pre-release, there might be breaking changes in the final stable version.

  • Major release avoiding promises in favor of fibers supported by Revolt
  • ConcurrentIterator functions have been removed and will be available as operators in amphp/pipeline
  • FileMutex has been removed, as a better implementation ships as part of amphp/file
  • Removed ThreadedMutex and ThreadedSemaphore
  • Removed Lock::getId()
  • Barrier::await supports cancellation now
  • synchronized accepts any Semaphore now instead of a Mutex only

1.4.2

25 Oct 18:33
v1.4.2
Compare
Choose a tag to compare

What's Changed

  • Fixed PosixSemaphore deletion on PHP 8.

Full Changelog: v1.4.1...v1.4.2