Skip to content

2.0.0

Compare
Choose a tag to compare
@trowski trowski released this 30 Dec 23:05
· 15 commits to 2.x since this release
v2.0.0
ad8a0e8

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