Skip to content

Releases: amphp/amp

3.0.0 Beta 6

23 Apr 19:55
v3.0.0-beta.6
d8d0b8f
Compare
Choose a tag to compare
3.0.0 Beta 6 Pre-release
Pre-release
  • Added ForbidCloning and ForbidSerialization traits as a convenient way to forbid cloning and/or serialization in a class.

3.0.0 Beta 5

03 Apr 16:31
v3.0.0-beta.5
dc327dd
Compare
Choose a tag to compare
3.0.0 Beta 5 Pre-release
Pre-release
  • Added Closable interface for closable resources such as streams (the interface of the same name will be removed from amphp/byte-stream in a future release) (#387)

2.6.2

20 Feb 18:06
9d5100c
Compare
Choose a tag to compare
  • Fixed a memory leak in CombinedCancellationToken (#384)

3.0.0 Beta 4

16 Jan 16:54
v3.0.0-beta.4
Compare
Choose a tag to compare
3.0.0 Beta 4 Pre-release
Pre-release

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

  • Mark Future template parameter as covariant
  • Add compatibility with revolt/event-loop v0.2.x
  • Improve exception message of UnhandledFutureError
  • Cancel DeferredCancellation when destroyed (#382)
  • Rename combinators, introduce CompositeLengthException (#383)
    • raceawaitFirst
    • anyawaitAny
    • someawaitAnyN
    • settleawaitAll
    • allawait
    • The old names have been kept for a migration phase, but will be removed before the final v3 release.

3.0.0 Beta 3

22 Dec 22:26
v3.0.0-beta.3
Compare
Choose a tag to compare
3.0.0 Beta 3 Pre-release
Pre-release

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

  • Add optional args to Amp\async (#379)

3.0.0 Beta 2

03 Dec 20:58
v3.0.0-beta.2
Compare
Choose a tag to compare
3.0.0 Beta 2 Pre-release
Pre-release

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

  • Fixed revolt/event-loop dependency declaration to use released ^0.1 version.

3.0.0 Beta 1

03 Dec 00:49
v3.0.0-beta.1
Compare
Choose a tag to compare
3.0.0 Beta 1 Pre-release
Pre-release

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

Event Loop

Amp no longer ships its own event loop. It's now based on Revolt. Revolt\EventLoop is quite similar to Amp's previous Amp\Loop. A very important difference is using float $seconds instead of int $milliseconds for timers.

Futures

Future is a replacement for the previous Promise. It's await() method is based on fibers and replaces generator based coroutines / Amp\Promise\wait().

  • await() accepts an optional Cancellation, which can be used as a replacement for Amp\Promise\timeout().
  • Unhandled errors are now automatically thrown into the event loop, so there's no need for Amp\Promise\rethrow() anymore.
  • Unhandled errors can be ignored using Future::ignore().

Cancellation

  • CancellationToken has been renamed to Cancellation
  • CancellationTokenSource has been renamed to DeferredCancellation
  • NullCancellationToken has been renamed to NullCancellation
  • TimeoutCancellationToken has been renamed to TimeoutCancellation
  • CombinedCancellationToken has been renamed to CompositeCancellation

2.6.1

23 Sep 19:30
v2.6.1
c5fc66a
Compare
Choose a tag to compare
  • Fixed destructor issue in EventDriver (#358)
  • Fixed EventDriver feature configuration to work with different kinds of FDs, e.g. under certain conditions in docker containers (#360)

2.6.0

16 Jul 20:16
v2.6.0
caa95ed
Compare
Choose a tag to compare
  • Add Deferred::isResolved()
  • Implement except handling on Windows (#341)
  • Drop PHP 7.0 support

2.5.2

10 Jan 17:11
v2.5.2
efca2b3
Compare
Choose a tag to compare
  • Ignore only stream_select errors due to signal interruptions (#338)
    Fixes stream_select handling on signal interruptions on PHP 8 and
    avoids suppressing errors that shouldn't be suppressed.
  • Improve type definition for combinators (any, first, some) (#334)
  • Removed internal `TimerQueueEntry