CHANGELOG-2.1.md
RequiredIf can be exploited to generate gadget chains for deserialization vulnerabiltiies.in and not in rule for validation in input fails to correctly check in:00 rule when passing 0.counter or duration for circuit breaker.10-12/1,14-15/1 does not works.10-12 does not works.$workerId does not works in annotation @Task.AbstractServiceClient::getNodesFromConsul().CoroutineHandler, which is more friendly than before.describe:routes.class_map does not works in Hyperf\Di\Annotation\Scanner.Hyperf\Rpc\PathGenerator\DotPathGenerator.increment/decrement does not works as expect when used in transaction for model-cache.onOpen in coroutine style websocket server.fromSub() and joinSub() don't work with table prefix.enable parameter of the @Crontab supports array, which you can dynamically control whether the task is executed or not.@Inject does not works in nested trait.Hyperf\HttpServer\Request::clearStoredParsedData().Hyperf\Di\Aop\PropertyHandlerTrait.withMax() withMin() withSum() and withAvg().Sender::getResponse() which you can used to get response from coroutine style server.ttl does not works on other workers for socketio-server.@Crontab does not works when used in methods.Hyperf\Utils\Channel\Caller.phar:build, which can support symlink package.co-phpunit.$connection and $attempts for Hyperf\DbConnection\Annotation\Transactional.Hyperf\Testing\Client::sendRequest() that you can use your own server request.Arr::forget failed when the integer key does not exists.FormRequest could't get the changed data from Context.uri when using Hyperf\Testing\Client.constants which defined in bin/hyperf.php does not works for server:start.pid_file will be created accidently when you don't configure pid_file in coroutine style server.phar:build that you can run phar without php, such as ./composer.phar instead of php composer.phar.gen:model.unpack custom data failed when using JsonEofPacker.$constraints by other coroutine.enable to control the crontab task which to register or not.testing which mock request in an alone coroutine.hyperf/cache.Blueprint::comment() which you can set comment of table for migration.RouteCollector::getRouteParser which you can get RouteParser from RouteCollector.hyperf/db.doctrine/dbal.Pipeline::handleCarry() which to handle the returning value.Hyperf\Utils\Reflection\ClassInvoker which you can used to execute non public methods or get non public properties.-M which you can mount external files or dirs to a virtual location within the phar archive for phar:build.stoped to stopped for hyperf/signal.autoCommit does not works when you set false for hyperf/kafka.defer cannot be triggered in nsq consumer.hyperf/kafka which won't make a new producer to requeue message.longlang/phpkafka checked.middlewares when using rpc-server.hyperf/database.orderBy does not works for hyperf/scout.Hyperf\Utils\CodeGen\Package::getPrettyVersion().jean85/pretty-package-versions to ^1.2|^2.0, which support composer 2.x.Hyperf\Database\Schema\MySqlBuilder::getColumnListing does not works in MySQL 8.0.FindNewerDriver which is friendly with mac, linux and docker for watcher.retry_count for JsonRpcPoolTransporter, the default retry count is 2.set_error_handler of ErrorExceptionHandler, which expects callable(int, string, string, int, array): bool.hyperf/json-rpc, try to reconnect the server when connection closed.tracer does not works in hyperf v2.1.describe:routes command.SWOOLE_HOOK_SOCKETS conflicts with jaeger tracing.true for PDO::ATTR_PERSISTENT.doctrine/dbal does not works when using migration.ComponentAttributeBag::has() for view-engine.save() after increment() with extra.hyperf/db.getRealPath does not works in phar.ElasticsearchEngine::getTotalCount() in hyperf/scout.hyperf/kafka component.ConnectionInterface::run(Closure $closure) for hyperf/db.phar:build for rewriting scan_cacheable.league/flysystem to ^1.0.true for PDO::ATTR_PERSISTENT.Engine::close protocol and improve error handling for socketio-server.php to >=7.3;phpunit/phpunit to ^9.0;guzzlehttp/guzzle to ^6.0|^7.0;vlucas/phpdotenv to ^5.0;endclothing/prometheus_client_php to ^1.0;twig/twig to ^3.0;jcchavezs/zipkin-opentracing to ^0.2.0;doctrine/dbal to ^3.0;league/flysystem to ^1.0|^2.0;$name from Hyperf\Amqp\Builder.consume from Hyperf\Amqp\Message\ConsumerMessageInterface.$running from Hyperf\AsyncQueue\Driver\Driver.parseParameters from Hyperf\HttpServer\CoreMiddleware.ON_WORKER_START and ON_WORKER_EXIT from Hyperf\Utils\Coordinator\Constants.get from Hyperf\Utils\Coordinator.rate-limit.php, please use rate_limit.php instead.Hyperf\Resource\Response\ResponseEmitter.hyperf/paginator from database's dependencies.stats from Hyperf\Utils\Coroutine\Concurrent.Hyperf\Utils\Coroutine::parentId which returns the parent coroutine ID
Hyperf\Guzzle\CoroutineHandler
executeinitHeaders will return $headers, instead of assigning "$headers" directly to the client.checkStatusCode#2720 Don't set data_type for PDOStatement::bindValue.
#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 Allow setting repeated middlewares.
#2935 Changed the string format for default exception formatter.
#2979 Don't format decimal to float for command gen:model by default.
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.HttpServer for Swow.Hyperf\AsyncQueue\Listener\QueueHandleListener which can record running logs for async-queue.Hyperf\Utils\Waiter which can wait coroutine to end.Hyperf\Database\Model\Collection::columns().$depth and $flags for Json::decode and Json::encode.https not only http.