Skip to content

Releases: amphp/amp

2.0.2

19 Sep 19:09
v2.0.2
Compare
Choose a tag to compare
  • Fixed warnings and timers in EventDriver.
  • Does no longer hide warnings from stream_select.

2.0.1

09 Jul 14:38
Compare
Choose a tag to compare
  • Fixed an issue where the loop blocks even though all watchers are unreferenced.

2.0.0

15 Jun 15:52
v2.0.0
Compare
Choose a tag to compare
  • Amp\reactor() has been replaced with Amp\Loop::set() and Amp\Loop::get().
  • Amp\driver() has been replaced with Amp\Loop\Factory::create().
  • Amp\tick() no longer exists and doesn't have a replacement. Ticks are an internal detail.
  • Functions for creating and managing watchers are now static methods of Amp\Loop instead of functions in the Amp namespace.
    • once() is now delay() and immediately() is defer().
    • Parameter order for delay() and repeat() has been changed.
    • reference() and unreference() have been added.
  • Amp\Pause has been renamed to Amp\Delayed and accepts an optional resolution value now. Additionally reference() and unreference() methods have been added.
  • Promise accepting functions have been moved to the Amp\Promise namespace.
  • Amp\Promise\some() accepts an additional $required parameter.
  • Amp\call(), Amp\asyncCall(), Amp\coroutine() and Amp\asyncCoroutine() have been added.
  • Amp\resolve() has been removed, use Amp\call() instead.
  • Promise::when() has been renamed to Promise::onResolve()
  • Promise::watch() has been removed, use Amp\Iterator, amphp/byte-stream or a custom implementation that implements Amp\Promise instead and provides dedicated APIs to access the previously data shared via the watch() mechanism.
  • Amp\Iterator, Amp\Emitter and Amp\Producer have been added with several functions in the Amp\Iterator namespace.
  • Various other changes.

2.0.0 RC4

11 Jun 18:34
v2.0.0-RC4
Compare
Choose a tag to compare
2.0.0 RC4 Pre-release
Pre-release

This is a release candidate for Amp v2.0.0. Please test it carefully and provide any feedback you have.

  • Added NullCancellationToken
  • Changed LazyPromise to be final
  • Minor documentation updates

2.0.0 RC3

24 May 05:21
Compare
Choose a tag to compare
2.0.0 RC3 Pre-release
Pre-release

This is a release candidate for Amp v2.0.0. Please test it carefully and provide any feedback you have.

  • Added isRequested() and throwIfRequested() methods to CancellationToken.
  • Fixed issue in UvDriver where certain conditions could cause an error to be forwarded to the loop error handler whereas the callback was simply invoked by other loop implementations.
  • Modified Coroutine to handle immediate continuations (i.e.: yielding a succeeded promise) iteratively instead of recursively to avoid deep call stacks.
  • Added option to set the class name of the auto-created loop driver using the environment variable AMP_LOOP_DRIVER.
  • Fixed issue where repeat watchers with interval = 0 could block the loop. Repeat watchers are now executed a maximum of once per loop tick.

2.0.0 RC2

16 May 19:24
v2.0.0-RC2
Compare
Choose a tag to compare
2.0.0 RC2 Pre-release
Pre-release

This is a release candidate for Amp v2.0.0. Please test it carefully and provide any feedback you have.

  • Added cancellation primitives.
  • Fixed minor edge cases in UvDriver.

2.0.0 RC1

04 May 15:35
v2.0.0-RC1
Compare
Choose a tag to compare
2.0.0 RC1 Pre-release
Pre-release

This is a release candidate for Amp v2.0.0. Please test it carefully and provide any feedback you have.

  • Amp\reactor() has been replaced with Amp\Loop::set() and Amp\Loop::get().
  • Amp\driver() has been replaced with Amp\Loop\Factory::create().
  • Amp\tick() no longer exists and doesn't have a replacement. Ticks are an internal detail.
  • Functions for creating and managing watchers are now static methods of Amp\Loop instead of functions in the Amp namespace.
    • once() is now delay() and immediately() is defer().
    • Parameter order for delay() and repeat() has been changed.
    • reference() and unreference() have been added.
  • Amp\Pause has been renamed to Amp\Delayed and accepts an optional resolution value now. Additionally reference() and unreference() methods have been added.
  • Promise accepting functions have been moved to the Amp\Promise namespace.
  • Amp\Promise\some() accepts an additional $required parameter.
  • Amp\call(), Amp\asyncCall(), Amp\coroutine() and Amp\asyncCoroutine() have been added.
  • Amp\resolve() has been removed, use Amp\call() instead.
  • Promise::when() has been renamed to Promise::onResolve()
  • Promise::watch() has been removed, use Amp\Iterator, amphp/byte-stream or a custom implementation that implements Amp\Promise instead and provides dedicated APIs to access the previously data shared via the watch() mechanism.
  • Amp\Iterator, Amp\Emitter and Amp\Producer have been added with several functions in the Amp\Iterator namespace.
  • Various other changes.

1.2.2

12 May 13:05
Compare
Choose a tag to compare
  • Fix possible notices in NativeReactor (regression fix from 1.1.1).

1.2.1

12 May 05:52
Compare
Choose a tag to compare
  • Fix potential infinite loop in UvReactor::run()

1.2.0

11 May 17:17
Compare
Choose a tag to compare
  • Allow resolve() to accept a callable returning a Generator