From 2aa8d89057e1059f59666e4204100636249b7be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20L=C3=BCck?= Date: Mon, 11 Jul 2022 16:21:02 +0200 Subject: [PATCH] Prepare v4.0.0 release --- CHANGELOG.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++---- README.md | 20 +++++------------ composer.json | 2 +- 3 files changed, 63 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d17161..75f7944 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,59 @@ -CHANGELOG -========= +# Changelog -* 1.0.0 (2013-02-07) +## 4.0.0 (2022-07-11) - * First tagged release +A major new feature release, see [**release announcement**](https://clue.engineering/2022/announcing-reactphp-async). + +* We'd like to emphasize that this component is production ready and battle-tested. + We plan to support all long-term support (LTS) releases for at least 24 months, + so you have a rock-solid foundation to build on top of. + +* The v4 release will be the way forward for this package. However, we will still + actively support v3 and v2 to provide a smooth upgrade path for those not yet + on PHP 8.1+. If you're using an older PHP version, you may use either version + which all provide a compatible API but may not take advantage of newer language + features. You may target multiple versions at the same time to support a wider range of + PHP versions: + + * [`4.x` branch](https://github.com/reactphp/async/tree/4.x) (PHP 8.1+) + * [`3.x` branch](https://github.com/reactphp/async/tree/3.x) (PHP 7.1+) + * [`2.x` branch](https://github.com/reactphp/async/tree/2.x) (PHP 5.3+) + +This update involves some major new features and a minor BC break over the +`v3.0.0` release. We've tried hard to avoid BC breaks where possible and +minimize impact otherwise. We expect that most consumers of this package will be +affected by BC breaks, but updating should take no longer than a few minutes. +See below for more details: + +* Feature / BC break: Require PHP 8.1+ and add `mixed` type declarations. + (#14 by @clue) + +* Feature: Add Fiber-based `async()` and `await()` functions. + (#15, #18, #19 and #20 by @WyriHaximus and #26, #28, #30, #32, #34, #55 and #57 by @clue) + +* Project maintenance, rename `main` branch to `4.x` and update installation instructions. + (#29 by @clue) + +The following changes had to be ported to this release due to our branching +strategy, but also appeared in the `v3.0.0` release: + +* Feature: Support iterable type for `parallel()` + `series()` + `waterfall()`. + (#49 by @clue) + +* Feature: Forward compatibility with upcoming Promise v3. + (#48 by @clue) + +* Minor documentation improvements. + (#36 by @SimonFrings and #51 by @nhedger) + +## 3.0.0 (2022-07-11) + +See [`3.x` CHANGELOG](https://github.com/reactphp/async/blob/3.x/CHANGELOG.md) for more details. + +## 2.0.0 (2022-07-11) + +See [`2.x` CHANGELOG](https://github.com/reactphp/async/blob/2.x/CHANGELOG.md) for more details. + +## 1.0.0 (2013-02-07) + +* First tagged release diff --git a/README.md b/README.md index 3f47281..0169cc1 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![CI status](https://github.com/reactphp/async/workflows/CI/badge.svg)](https://github.com/reactphp/async/actions) [![installs on Packagist](https://img.shields.io/packagist/dt/react/async?color=blue&label=installs%20on%20Packagist)](https://packagist.org/packages/react/async) -Async utilities for [ReactPHP](https://reactphp.org/). +Async utilities and fibers for [ReactPHP](https://reactphp.org/). This library allows you to manage async control flow. It provides a number of combinators for [Promise](https://github.com/reactphp/promise)-based APIs. @@ -14,16 +14,6 @@ to have an actual event loop and non-blocking libraries interacting with that event loop for it to work. As long as you have a Promise-based API that runs in an event loop, it can be used with this library. -> **Development version:** This branch contains the code for the upcoming 4.0 -> release which will be the way forward for this package. However, we will still -> actively support 3.0 and 2.0 for those not yet on PHP 8.1+. -> -> If you're using an older PHP version, you may use the -> [`3.x` branch](https://github.com/reactphp/async/tree/3.x) (PHP 7.1+) or -> [`2.x` branch](https://github.com/reactphp/async/tree/2.x) (PHP 5.3+) which both -> provide a compatible API but do not take advantage of newer language features. -> See also [installation instructions](#install) for more details. - **Table of Contents** * [Usage](#usage) @@ -525,11 +515,11 @@ React\Async\waterfall([ The recommended way to install this library is [through Composer](https://getcomposer.org/). [New to Composer?](https://getcomposer.org/doc/00-intro.md) -Once released, this project will follow [SemVer](https://semver.org/). -At the moment, this will install the latest development version: +This project follows [SemVer](https://semver.org/). +This will install the latest supported version from this branch: ```bash -composer require react/async:^4@dev +composer require react/async:^4 ``` See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades. @@ -547,7 +537,7 @@ You may target multiple versions at the same time to support a wider range of PHP versions like this: ```bash -composer require "react/async:^4@dev || ^3@dev || ^2@dev" +composer require "react/async:^4 || ^3 || ^2" ``` ## Tests diff --git a/composer.json b/composer.json index 798768a..8bdcd35 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "react/async", - "description": "Async utilities for ReactPHP", + "description": "Async utilities and fibers for ReactPHP", "keywords": ["async", "ReactPHP"], "license": "MIT", "authors": [