Repository navigation
Releases: amphp/sync
Releases · amphp/sync
Release list
2.3.0
What's Changed
- Fixed posix semaphore blocking thread when there is no space left on device by @azjezz in #29
- Added a buffer size parameter to
createChannelPair()to specify a number of items which may be buffered in memory before back pressure is applied.
New Contributors
Full Changelog: v2.2.0...v2.3.0
2.2.0
2.1.0
2.0.0
Stable release compatible with AMPHP v3 and fibers! 🎉
As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise have been replaced with ResolutionType.
Changes from 1.x
ConcurrentIteratorfunctions have been removed are now available as methods onPipelineinamphp/pipelineFileMutexhas been removed, as a better implementation ships as part ofamphp/file- Removed
ThreadedMutexandThreadedSemaphore - Removed
Lock::getId() Barrier::awaitsupports cancellation nowsynchronizedaccepts anySemaphorenow instead of aMutexonly- Added
Channelfromamphp/parallel, which allows two way communicate between execution contexts, such as two coroutines or two processes.Channelhas been modified to extendClosable - Also added
Parcelfromamphp/parallel, which allows sharing a value across execution contexts with mutually-exclusive access to modifying that value usingParcel::synchronized(). - Added
createChannelPair()function which returns a pair of connectedChannelobjects. - Added
RateLimitingSemaphorewhich releases locks after a given time elapses. - Added
StaticKeySemaphore, analogous toStaticKeyMutex
Changes from 2.0.0 Beta 6
- Added
RateLimitingSemaphorewhich releases locks after a given time elapses. - Added
StaticKeySemaphore, analogous toStaticKeyMutex
2.0.0 Beta 6
- Add compatibility with Revolt v1.x
2.0.0 Beta 5
- 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
- PHP 8.1 now required.
Channelnow extendsAmp\Closable, which adds anonClose()method to attach a closure that is invoked when the channel closes.
2.0.0 Beta 3
This release moves Channel and Parcel interfaces from amphp/parallel to this library.
Channelallows two way communicate between execution contexts, such as two coroutines or two processes.Parcelallows sharing a value across execution contexts, with mutually-exclusive access to modifying that value usingParcel::synchronized().
2.0.0 Beta 2
2.0.0 Beta 1
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
ConcurrentIteratorfunctions have been removed and will be available as operators inamphp/pipelineFileMutexhas been removed, as a better implementation ships as part ofamphp/file- Removed
ThreadedMutexandThreadedSemaphore - Removed
Lock::getId() Barrier::awaitsupports cancellation nowsynchronizedaccepts anySemaphorenow instead of aMutexonly