# v2.1.1 - TBD ## Fixed - [#3045](https://github.com/hyperf/hyperf/pull/3045) Fixed type hint error, when don't set `true` for `PDO::ATTR_PERSISTENT`. # v2.1.0 - 2020-12-28 ## Dependencies Upgrade - Upgraded `php` to `>=7.3`; - Upgraded `phpunit/phpunit` to `^9.0`; - Upgraded `guzzlehttp/guzzle` to `^6.0|^7.0`; - Upgraded `vlucas/phpdotenv` to `^5.0`; - Upgraded `endclothing/prometheus_client_php` to `^1.0`; - Upgraded `twig/twig` to `^3.0`; - Upgraded `jcchavezs/zipkin-opentracing` to `^0.2.0`; - Upgraded `doctrine/dbal` to `^3.0`; - Upgraded `league/flysystem` to `^1.0|^2.0`; ## Removed - Removed deprecated property `$name` from `Hyperf\Amqp\Builder`. - Removed deprecated method `consume` from `Hyperf\Amqp\Message\ConsumerMessageInterface`. - Removed deprecated property `$running` from `Hyperf\AsyncQueue\Driver\Driver`. - Removed deprecated method `parseParameters` from `Hyperf\HttpServer\CoreMiddleware`. - Removed deprecated const `ON_WORKER_START` and `ON_WORKER_EXIT` from `Hyperf\Utils\Coordinator\Constants`. - Removed deprecated method `get` from `Hyperf\Utils\Coordinator`. - Removed config `rate-limit.php`, please use `rate_limit.php` instead. - Removed useless class `Hyperf\Resource\Response\ResponseEmitter`. - Removed component `hyperf/paginator` from database's dependencies. - Removed method `stats` from `Hyperf\Utils\Coroutine\Concurrent`. ## Changed - `Hyperf\Utils\Coroutine::parentId` which returns the parent coroutine ID * Returns 0 when running in the top level coroutine. * Throws RunningInNonCoroutineException when running in non-coroutine context * Throws CoroutineDestroyedException when the coroutine has been destroyed - `Hyperf\Guzzle\CoroutineHandler` * Deleted method `execute` * Method `initHeaders` will return `$headers`, instead of assigning "$headers" directly to the client. * Deleted method `checkStatusCode` - [#2720](https://github.com/hyperf/hyperf/pull/2720) Don't set `data_type` for `PDOStatement::bindValue`. - [#2871](https://github.com/hyperf/hyperf/pull/2871) Use `(string) $body` instead of `$body->getContents()` for getting contents from `StreamInterface`, because method `getContents()` only returns the remaining contents in a string. - [#2909](https://github.com/hyperf/hyperf/pull/2909) Allow setting repeated middlewares. - [#2935](https://github.com/hyperf/hyperf/pull/2935) Changed the string format for default exception formatter. - [#2979](https://github.com/hyperf/hyperf/pull/2979) Don't format `decimal` to `float` for command `gen:model` by default. ## Deprecated - `Hyperf\AsyncQueue\Signal\DriverStopHandler` will be deprecated in v2.2, please use `Hyperf\Process\Handler\ProcessStopHandler` instead. - `Hyperf\Server\SwooleEvent` will be deprecated in v3.0, please use `Hyperf\Server\Event` instead. ## Added - [#2659](https://github.com/hyperf/hyperf/pull/2659) [#2663](https://github.com/hyperf/hyperf/pull/2663) Support `HttpServer` for [Swow](https://github.com/swow/swow). - [#2671](https://github.com/hyperf/hyperf/pull/2671) Added `Hyperf\AsyncQueue\Listener\QueueHandleListener` which can record running logs for async-queue. - [#2923](https://github.com/hyperf/hyperf/pull/2923) Added `Hyperf\Utils\Waiter` which can wait coroutine to end. - [#3001](https://github.com/hyperf/hyperf/pull/3001) Added method `Hyperf\Database\Model\Collection::columns()`. - [#3002](https://github.com/hyperf/hyperf/pull/3002) Added params `$depth` and `$flags` for `Json::decode` and `Json::encode`. ## Fixed - [#2741](https://github.com/hyperf/hyperf/pull/2741) Fixed bug that process does not works in swow server. ## Optimized - [#3009](https://github.com/hyperf/hyperf/pull/3009) Optimized code for prometheus which support `https` not only `http`.