2023-06-06 09:52:53 +08:00
# v3.1.0 - TBD
## 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-07 17:00:55 +08:00
- [ ] Support v2 and v3 for socketio-server.
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-02 13:01:51 +08:00
- [#5994 ](https://github.com/hyperf/hyperf/pull/5994 ) Adds `events` of `crontab` lifecycle.
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-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-06-07 17:00:55 +08:00
2023-06-18 20:57:40 +08:00
## Changed
- [#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-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-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.