Releases: amphp/amp
Releases · amphp/amp
2.0.2
2.0.1
2.0.0
Amp\reactor()
has been replaced withAmp\Loop::set()
andAmp\Loop::get()
.Amp\driver()
has been replaced withAmp\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 theAmp
namespace.once()
is nowdelay()
andimmediately()
isdefer()
.- Parameter order for
delay()
andrepeat()
has been changed. reference()
andunreference()
have been added.
Amp\Pause
has been renamed toAmp\Delayed
and accepts an optional resolution value now. Additionallyreference()
andunreference()
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()
andAmp\asyncCoroutine()
have been added.Amp\resolve()
has been removed, useAmp\call()
instead.Promise::when()
has been renamed toPromise::onResolve()
Promise::watch()
has been removed, useAmp\Iterator
,amphp/byte-stream
or a custom implementation that implementsAmp\Promise
instead and provides dedicated APIs to access the previously data shared via thewatch()
mechanism.Amp\Iterator
,Amp\Emitter
andAmp\Producer
have been added with several functions in theAmp\Iterator
namespace.- Various other changes.
2.0.0 RC4
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 befinal
- Minor documentation updates
2.0.0 RC3
This is a release candidate for Amp v2.0.0. Please test it carefully and provide any feedback you have.
- Added
isRequested()
andthrowIfRequested()
methods toCancellationToken
. - 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
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
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 withAmp\Loop::set()
andAmp\Loop::get()
.Amp\driver()
has been replaced withAmp\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 theAmp
namespace.once()
is nowdelay()
andimmediately()
isdefer()
.- Parameter order for
delay()
andrepeat()
has been changed. reference()
andunreference()
have been added.
Amp\Pause
has been renamed toAmp\Delayed
and accepts an optional resolution value now. Additionallyreference()
andunreference()
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()
andAmp\asyncCoroutine()
have been added.Amp\resolve()
has been removed, useAmp\call()
instead.Promise::when()
has been renamed toPromise::onResolve()
Promise::watch()
has been removed, useAmp\Iterator
,amphp/byte-stream
or a custom implementation that implementsAmp\Promise
instead and provides dedicated APIs to access the previously data shared via thewatch()
mechanism.Amp\Iterator
,Amp\Emitter
andAmp\Producer
have been added with several functions in theAmp\Iterator
namespace.- Various other changes.