2023-12-21 20:57:52 +08:00
# v3.1.4 - TBD
2023-12-28 11:36:50 +08:00
## Fixed
- [#6419 ](https://github.com/hyperf/hyperf/pull/6419 ) Fixed bug that `prepareHandler` cannot work sometimes for `circuit-breaker` .
2023-12-28 16:46:40 +08:00
## Added
- [#6426 ](https://github.com/hyperf/hyperf/pull/6426 ) Added Annotation `RewriteReturnType` which used to rewrite the return type when generating models.
2023-12-25 14:07:48 +08:00
## Optimized
- [#6415 ](https://github.com/hyperf/hyperf/pull/6415 ) Throw `InvalidArgumentException` instead of `TypeError` for decoding an empty string when using `Base62::decode` .
2023-12-21 20:57:52 +08:00
# v3.1.3 - 2023-12-21
2023-12-15 09:36:36 +08:00
2023-12-15 14:55:23 +08:00
## Fixed
- [#6389 ](https://github.com/hyperf/hyperf/pull/6389 ) Fixed bug that es version cannot be found when the index is null.
2023-12-20 18:27:21 +08:00
- [#6406 ](https://github.com/hyperf/hyperf/pull/6406 ) Fixed bug that `Hyperf\Scout\Searchable` don't import namespace of function `config` .
2023-12-15 14:55:23 +08:00
2023-12-19 17:01:35 +08:00
## Added
- [#6398 ](https://github.com/hyperf/hyperf/pull/6398 ) Added `timezone` parameter to `hyperf/crontab` component.
2023-12-21 20:34:18 +08:00
- [#6402 ](https://github.com/hyperf/hyperf/pull/6402 ) Added `template_suffix` configuration to `twig` engine.
2023-12-19 17:01:35 +08:00
2023-12-15 09:36:36 +08:00
# v3.1.2 - 2023-12-15
2023-12-08 09:44:24 +08:00
2023-12-11 11:14:01 +08:00
## Fixed
- [#6372 ](https://github.com/hyperf/hyperf/pull/6372 ) Fixed bug that AOP not working when using variadic parameters.
2023-12-12 16:00:41 +08:00
- [#6374 ](https://github.com/hyperf/hyperf/pull/6374 ) Fixed bug that `RateLimitAnnotationAspect::getWeightingAnnotation()` cannot work when using config `rate_limit.storage` .
2023-12-14 17:32:53 +08:00
- [#6384 ](https://github.com/hyperf/hyperf/pull/6384 ) Fixed bug that `scout` cannot work when using elasticsearch(which version is less than 7) without index.
2023-12-11 11:14:01 +08:00
2023-12-08 11:15:29 +08:00
## Added
- [#6357 ](https://github.com/hyperf/hyperf/pull/6357 ) Support symfony 7.x for some components such as `command` `config` `devtool` `di` and `server` .
2023-12-12 15:37:26 +08:00
- [#6373 ](https://github.com/hyperf/hyperf/pull/6373 ) Support `ping` method for `grpc client` .
2023-12-12 17:40:33 +08:00
- [#6379 ](https://github.com/hyperf/hyperf/pull/6379 ) Support to read custom attribute for validation when using swagger.
2023-12-14 12:05:10 +08:00
- [#6380 ](https://github.com/hyperf/hyperf/pull/6380 ) Support collect swagger validation rules and attribute for mediaType request body.
2023-12-08 11:15:29 +08:00
2023-12-12 16:06:45 +08:00
## Optimized
- [#6376 ](https://github.com/hyperf/hyperf/pull/6376 ) Don't need to close swoole short name when don't use swoole or don't require `hyperf/polyfill-coroutine` component.
2023-12-08 09:44:24 +08:00
# v3.1.1 - 2023-12-08
2023-12-01 00:00:30 +08:00
2023-12-04 16:39:23 +08:00
## Fixed
- [#6347 ](https://github.com/hyperf/hyperf/pull/6347 ) Fixed bug that the view function may add redundant content-type to header.
2023-12-05 10:11:19 +08:00
- [#6352 ](https://github.com/hyperf/hyperf/pull/6352 ) Fixed bug that nacos config center cannot work when using grpc protocol.
2023-12-05 14:15:56 +08:00
- [#6350 ](https://github.com/hyperf/hyperf/pull/6350 ) Fixed bug that the recv channel cannot be found, because `GrpcClient::runReceiveCoroutine` will unset streamId before recv method.
2023-12-06 13:31:17 +08:00
- [#6361 ](https://github.com/hyperf/hyperf/pull/6361 ) Fixed bug that `Hyperf\SocketIOServer\Emitter\Future` cannot be resolved.
2023-12-11 09:53:47 +08:00
- [#6369 ](https://github.com/hyperf/hyperf/pull/6369 ) Fixed bug that the main process did not handle the abnormal exit of the fork process.
2023-12-04 16:39:23 +08:00
2023-12-01 14:59:45 +08:00
## Added
- [#6342 ](https://github.com/hyperf/hyperf/pull/6342 ) Added `Coroutine::fork()` method and `Coroutine::pid()` method.
2023-12-08 09:44:24 +08:00
- [#6360 ](https://github.com/hyperf/hyperf/pull/6360 ) Added response `content-type` header for swagger server.
2023-12-07 11:40:41 +08:00
- [#6363 ](https://github.com/hyperf/hyperf/pull/6363 ) Added callable type support to the fallback property of CircuitBreaker Attribute.
2023-12-01 14:59:45 +08:00
2023-12-01 00:00:30 +08:00
# v3.1.0 - 2023-12-01
2023-06-06 09:52:53 +08:00
## Dependencies Upgrade
- Upgrade the php version to `>=8.1`
- Upgrade the swoole version to `>=5.0`
- Upgrade `hyperf/engine` to `^2.0`
2023-06-07 10:16:25 +08:00
- Upgrade `phpunit/phpunit` to `^10.0`
2023-06-06 09:52:53 +08:00
## Swow Supported
2023-06-17 07:56:21 +08:00
- [#5843 ](https://github.com/hyperf/hyperf/pull/5843 ) Support `Swow` for `reactive-x` .
2023-06-17 21:12:15 +08:00
- [#5844 ](https://github.com/hyperf/hyperf/pull/5844 ) Support `Swow` for `socketio-server` .
2023-06-06 09:52:53 +08:00
## Added
2023-06-16 15:56:37 +08:00
- [x] Support [Psr7Plus ](https://github.com/swow/psr7-plus ).
2023-06-15 18:15:06 +08:00
- [#5828 ](https://github.com/hyperf/hyperf/pull/5828 ) Support swow psr7-plus interface for `http-message` .
2023-06-16 15:56:37 +08:00
- [#5839 ](https://github.com/hyperf/hyperf/pull/5839 ) Support swow psr7-plus interface for all components.
2023-06-07 17:00:55 +08:00
- [x] Support [pest ](https://github.com/pestphp/pest ).
- [x] Added `hyperf/helper` component.
2023-06-16 19:57:19 +08:00
- [x] Added `hyperf/polyfill-coroutine` component.
2023-06-08 17:56:39 +08:00
- [#5815 ](https://github.com/hyperf/hyperf/pull/5815 ) Added alias as `mysql` for `pdo` in `hyperf/db` .
2023-06-18 19:40:39 +08:00
- [#5849 ](https://github.com/hyperf/hyperf/pull/5849 ) Support for insert update and select using enums.
2023-07-03 12:40:26 +08:00
- [#5894 ](https://github.com/hyperf/hyperf/pull/5894 ) [#5897 ](https://github.com/hyperf/hyperf/pull/5897 ) Added `model-factory` support for `hyperf/testing` .
2023-07-03 18:27:25 +08:00
- [#5898 ](https://github.com/hyperf/hyperf/pull/5898 ) Added `toRawSql()` to Query Builders.
2023-07-05 09:55:50 +08:00
- [#5906 ](https://github.com/hyperf/hyperf/pull/5906 ) Added `getRawQueryLog()` to Database Connection.
2023-07-09 11:27:32 +08:00
- [#5915 ](https://github.com/hyperf/hyperf/pull/5915 ) Added `data_forget` helper.
2023-07-09 13:30:28 +08:00
- [#5914 ](https://github.com/hyperf/hyperf/pull/5914 ) Added `Str::isUrl()` and use it from the validator.
2023-07-10 09:56:25 +08:00
- [#5918 ](https://github.com/hyperf/hyperf/pull/5918 ) Added `Arr::isList()` method.
2023-07-11 11:26:40 +08:00
- [#5925 ](https://github.com/hyperf/hyperf/pull/5925 ) [#5926 ](https://github.com/hyperf/hyperf/pull/5926 ) Allow model attributes to be casted to/from an Enum.
2023-07-14 09:34:12 +08:00
- [#5930 ](https://github.com/hyperf/hyperf/pull/5930 ) [#5934 ](https://github.com/hyperf/hyperf/pull/5934 ) Added `AsCommand` annotation and `ClosureCommand` support.
2023-07-17 19:31:14 +08:00
- [#5950 ](https://github.com/hyperf/hyperf/pull/5950 ) Added `Job::setMaxAttempts` method and `dispatch` helper function for `hyperf/async-queue` .
2023-07-23 20:01:33 +08:00
- [#5967 ](https://github.com/hyperf/hyperf/pull/5967 ) Added component `hyperf/migration-generator` which used to generate migrations from databases.
2023-07-31 14:37:29 +08:00
- [#5983 ](https://github.com/hyperf/hyperf/pull/5983 ) [#5985 ](https://github.com/hyperf/hyperf/pull/5985 ) Added `skipCacheResults` to annotations of `hyperf/cache` .
2023-08-25 11:55:47 +08:00
- [#5994 ](https://github.com/hyperf/hyperf/pull/5994 ) Added `events` of `crontab` lifecycle.
2023-08-16 18:08:51 +08:00
- [#6039 ](https://github.com/hyperf/hyperf/pull/6039 ) Support semantic crontab rules.
2023-08-25 11:55:47 +08:00
- [#6082 ](https://github.com/hyperf/hyperf/pull/6082 ) Added `hyperf/stdlib` component.
2023-08-25 21:34:08 +08:00
- [#6085 ](https://github.com/hyperf/hyperf/pull/6085 ) Added an error count to the database connection to ensure that the connection can be reset when occur too many exceptions.
2023-08-31 19:56:59 +08:00
- [#6106 ](https://github.com/hyperf/hyperf/pull/6106 ) Support some validation rules.
2023-09-02 23:09:18 +08:00
- [#6124 ](https://github.com/hyperf/hyperf/pull/6124 ) Added `Hyperf\AsyncQueue\Job::fail()` .
2023-11-03 15:28:43 +08:00
- [#6259 ](https://github.com/hyperf/hyperf/pull/6259 ) Support to use model builder as the column in `Hyperf\Database\Query\Builder\addSelect` .
2023-11-23 20:55:38 +08:00
- [#6301 ](https://github.com/hyperf/hyperf/pull/6301 ) Improve storage switcher for rate-limit.
2023-11-30 17:23:17 +08:00
- [#6338 ](https://github.com/hyperf/hyperf/pull/6338 ) Added config `processors` for swagger.
2023-06-06 09:52:53 +08:00
## Optimized
- Move Prometheus driver dependency to suggest.
2023-06-24 14:49:49 +08:00
- [#5586 ](https://github.com/hyperf/hyperf/pull/5586 ) Support grpc streaming for nacos naming service.
2023-06-20 12:11:58 +08:00
- [#5866 ](https://github.com/hyperf/hyperf/pull/5866 ) Use `StrCache` instead of `Str` in special cases.
2023-06-24 09:47:30 +08:00
- [#5872 ](https://github.com/hyperf/hyperf/pull/5872 ) Avoid to execute the refresh callback more than once when calling `refresh()` multi times.
2023-06-26 17:11:21 +08:00
- [#5879 ](https://github.com/hyperf/hyperf/pull/5879 ) [#5878 ](https://github.com/hyperf/hyperf/pull/5878 ) Improve `Command` .
2023-07-04 09:56:13 +08:00
- [#5901 ](https://github.com/hyperf/hyperf/pull/5901 ) Optimized code for identifer established by the rpc client that must contain a string,number or null if included.
2023-07-05 09:54:22 +08:00
- [#5905 ](https://github.com/hyperf/hyperf/pull/5905 ) Forget with collections.
2023-07-09 19:52:01 +08:00
- [#5917 ](https://github.com/hyperf/hyperf/pull/5917 ) Upgrade URL pattern for `Str::isUrl()` .
2023-07-10 16:08:17 +08:00
- [#5920 ](https://github.com/hyperf/hyperf/pull/5920 ) add the `\Stringable` interface to classes that have `__toString()` method.
2023-07-14 18:43:45 +08:00
- [#5945 ](https://github.com/hyperf/hyperf/pull/5945 ) Don't sync config frequently when listen more than one namespace for apollo config center.
2023-07-15 09:09:38 +08:00
- [#5948 ](https://github.com/hyperf/hyperf/pull/5948 ) Optimized `Hyperf\Coroutine\Locker` .
2023-07-19 16:52:12 +08:00
- [#5960 ](https://github.com/hyperf/hyperf/pull/5960 ) Allowed set poolName in Annotation.
2023-07-26 09:25:51 +08:00
- [#5972 ](https://github.com/hyperf/hyperf/pull/5972 ) `Collection::except()` with null returns all.
2023-07-26 16:20:38 +08:00
- [#5973 ](https://github.com/hyperf/hyperf/pull/5973 ) Simplified the handlers definition of logger.
2023-08-09 12:19:05 +08:00
- [#6010 ](https://github.com/hyperf/hyperf/pull/6010 ) Throw exception when cast class is not existed.
2023-08-17 10:00:28 +08:00
- [#6030 ](https://github.com/hyperf/hyperf/pull/6030 ) Support buffer mechanism in standalone process of metric.
2023-09-05 10:52:48 +08:00
- [#6131 ](https://github.com/hyperf/hyperf/pull/6131 ) Throw invalid argument exception when the crontab task is `null` .
2023-09-22 16:30:01 +08:00
- [#6172 ](https://github.com/hyperf/hyperf/pull/6172 ) Optimized `ProcessManager` to make the `running` status more clear.
2023-09-30 23:16:50 +08:00
- [#6184 ](https://github.com/hyperf/hyperf/pull/6184 ) Set logger when using safe socket in coroutine style tcp server.
2023-11-01 11:22:10 +08:00
- [#6247 ](https://github.com/hyperf/hyperf/pull/6247 ) Optimized code that you can get request from `BadRequestHttpException` .
2023-06-06 09:52:53 +08:00
## Removed
2023-06-07 17:00:55 +08:00
- [x] Remove unused codes in `hyperf/utils` .
2023-06-07 20:55:22 +08:00
- [x] Remove redundant `setAccessible` methods.
2023-06-07 22:31:03 +08:00
- [x] Remove deprecated codes.
2023-06-08 16:48:41 +08:00
- [#5813 ](https://github.com/hyperf/hyperf/pull/5813 ) Removed support for swoole 4.x
2023-06-20 11:16:52 +08:00
- [#5859 ](https://github.com/hyperf/hyperf/pull/5859 ) Removed string cache from `Hyperf\Stringable\Str`
2023-08-16 20:45:43 +08:00
- [#6040 ](https://github.com/hyperf/hyperf/pull/6040 ) Removed some deprecated methods from `Hyperf\Di\Annotation\AbstractAnnotation` .
2023-08-17 14:22:08 +08:00
- [#6043 ](https://github.com/hyperf/hyperf/pull/6043 ) Removed deprecated `Hyperf\Coroutine\Traits\Container` .
2023-11-01 10:32:14 +08:00
- [#6244 ](https://github.com/hyperf/hyperf/pull/6244 ) Removed deprecated component `swoole-tracker` .
2023-06-07 17:00:55 +08:00
2023-06-18 20:57:40 +08:00
## Changed
2023-10-10 10:05:43 +08:00
- [x] Throw exceptions when the redis option key is invalid.
2023-06-18 20:57:40 +08:00
- [#5847 ](https://github.com/hyperf/hyperf/pull/5847 ) Changed the default redis key for metric.
2023-07-14 16:19:52 +08:00
- [#5943 ](https://github.com/hyperf/hyperf/pull/5943 ) Don't remove the node from load balancer of `json rpc http transporter` when the status code isn't 200.
2023-07-27 10:25:49 +08:00
- [#5961 ](https://github.com/hyperf/hyperf/pull/5961 ) Using `enum` instead of `class` for `Hyperf\Amqp\Result` and `Hyperf\Amqp\Message\Type` .
2023-08-15 16:48:23 +08:00
- [#6022 ](https://github.com/hyperf/hyperf/pull/6022 ) When using `Base62::decode` to decode the incorrect data, it should be thrown `InvalidArgumentException` instead of `TypeError` .
2023-09-04 21:23:06 +08:00
- [#6128 ](https://github.com/hyperf/hyperf/pull/6128 ) When using multi-level directories for `hyperf/config` , you can use `config('a.c')` to get the configurations from `autoload/a/c.php` .
2023-06-08 15:14:17 +08:00
## Fixed
- [#5771 ](https://github.com/hyperf/hyperf/pull/5771 ) Fixed bug that the return type of `Model::updateOrInsert` isn't boolean.
2023-08-16 13:50:12 +08:00
- [#6033 ](https://github.com/hyperf/hyperf/pull/6033 ) Fixed bug that `RequestContext` and `ResponseContext` cannot get instance from another coroutines.
2023-08-18 15:28:12 +08:00
- [#6056 ](https://github.com/hyperf/hyperf/pull/6056 ) Fixed bug that `Hyperf\HttpServer\Request::hasFile()` don't support `Swow` .
2023-11-03 16:32:47 +08:00
- [#6260 ](https://github.com/hyperf/hyperf/pull/6260 ) Fixed bug that logger cannot work in `LoadBalancerInterface::refresh()` .
2023-08-09 09:55:43 +08:00
## Deprecated
- `Hyperf\DB\PgSQL\PgSQLConnection::str_replace_once` will be deprecated, please use `Hyperf\DB\PgSQL\PgSQLConnection::strReplaceOnce` instead.
- `Hyperf\Database\PgSQL\PostgreSqlSwooleExtConnection::str_replace_once` will be deprecated, please use `Hyperf\Database\PgSQL\PostgreSqlSwooleExtConnection::strReplaceOnce` instead.