Tags: PhatBK/amp
Tags
v2.0.7 - Fixed recording of stack traces for double resolution in case `AMP_DEBUG` was not set as environment variable, defaulting to `0` now. (amphp#217) - `Loop::unreference()` is ignored on invalid watchers now. - Invoke UV watchers in case no events or `UV_DISCONNECT` is indicated. - Ignore `Loop::$driver` not being set during shutdown, which might happen due to the unreliable shutdown order. (amphp#212)
v2.0.6 - Resolution methods are now hidden in the `Promise` returned from `Deferred::promise()`. Their exposure was an implementation detail and never promised by the return type of `Deferred::promise()`. - A named class is now used for promises, so you don't end up with an anonymous class in `var_dump()` and stack traces, which can be confusing.
v2.0.5 - Fixed possible notices in `formatStacktrace()`. This is an internal API, but the notices might appear on certain stack traces when running with `AMP_DEBUG=true`. - Fixed segfault with `ev`, see amphp/parallel-functions#3. - Dropped multiple definitions of `Deferred` and `Emitter`. These were introduced as performance hack, but relied on `zend.assertions` being disabled to change behavior, which is bad. The impact is believed to be rather low, because coroutines are used a lot more than `Deferred` in Amp v2.
v2.0.3 - `Loop::set()` replaces the current driver with a dummy driver for the time of `gc_collect_cycles()` now. This allows cyclic references to be cleaned up properly before the new driver is set. Without such a fix, cyclic references might have been cleaned up later, e.g. cancelling their watcher IDs on the new loop, thereby cancelling the wrong watchers. - Promise combinator functions (`all(), `any()`, `first()`, `some()`) now preserve order of the given `$promises` array argument.
PreviousNext