hyperf/docs/zh-hk/changelog-v2.1.md
宣言就是Siam 88cf34b2e8
Split changelog docs. (#6211)
Co-authored-by: 李铭昕 <715557344@qq.com>
2023-10-12 22:08:55 -05:00

404 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 版本更新記錄
# v2.1.23 - 2021-07-12
## 優化
- [#3787](https://github.com/hyperf/hyperf/pull/3787) 優化 `JSON RPC` 服務,優先初始化 `PSR Response`,用於避免 `PSR Request` 初始化失敗後,無法從上下文中獲取 `Response` 的問題。
# v2.1.22 - 2021-06-28
## 安全性更新
- [#3723](https://github.com/hyperf/hyperf/pull/3723) 修復驗證器規則 `active_url` 無法正確檢查 `dns` 記錄,從而導致繞過驗證的問題。
- [#3724](https://github.com/hyperf/hyperf/pull/3724) 修復可以利用 `RequiredIf` 規則生成用於反序列化漏洞的小工具鏈的問題。
## 修復
- [#3721](https://github.com/hyperf/hyperf/pull/3721) 修復了驗證器規則 `in``not in` 判斷有誤的問題,例如規則為 `in:00` 時,`0`不應該被允許通過。
# v2.1.21 - 2021-06-21
## 修復
- [#3684](https://github.com/hyperf/hyperf/pull/3684) 修復使用熔斷器時,成功次數和失敗次數的界限判斷有誤的問題。
# v2.1.20 - 2021-06-07
## 修復
- [#3667](https://github.com/hyperf/hyperf/pull/3667) 修復形如 `10-12/1,14-15/1` 的定時任務規則無法正常使用的問題。
- [#3669](https://github.com/hyperf/hyperf/pull/3669) 修復了沒有反斜線形如 `10-12` 的定時任務規則無法正常使用的問題。
- [#3674](https://github.com/hyperf/hyperf/pull/3674) 修復 `@Task` 註解中,參數 `$workerId` 無法正常使用的問題。
## 優化
- [#3663](https://github.com/hyperf/hyperf/pull/3663) 優化 `AbstractServiceClient::getNodesFromConsul()` 方法,排除了可能找不到端口的隱患。
- [#3668](https://github.com/hyperf/hyperf/pull/3668) 優化 `Guzzle` 組件中 `CoroutineHandler` 代理相關的代碼,增強其兼容性。
# v2.1.19 - 2021-05-31
## 修復
- [#3618](https://github.com/hyperf/hyperf/pull/3618) 修復使用了相同路徑但不同實現邏輯的路由會在命令 `describe:routes` 中,被合併成一條的問題。
- [#3625](https://github.com/hyperf/hyperf/pull/3625) 修復 `Hyperf\Di\Annotation\Scanner` 中無法正常使用 `class_map` 功能的問題。
## 新增
- [#3626](https://github.com/hyperf/hyperf/pull/3626) 為 `RPC` 組件增加了新的路徑打包器 `Hyperf\Rpc\PathGenerator\DotPathGenerator`
## 新組件孵化
- [nacos-sdk](https://github.com/hyperf/nacos-sdk-incubator) 基於 Nacos Open API 實現的 SDK。
# v2.1.18 - 2021-05-24
## 修復
- [#3598](https://github.com/hyperf/hyperf/pull/3598) 修復事務回滾時,模型累加、累減操作會導致模型緩存產生髒數據的問題。
- [#3607](https://github.com/hyperf/hyperf/pull/3607) 修復在使用協程風格的 `WebSocket` 服務時,`onOpen` 事件無法在事件結束後銷燬協程的問題。
- [#3610](https://github.com/hyperf/hyperf/pull/3610) 修復數據庫存在前綴時,`fromSub()` 和 `joinSub()` 無法正常使用的問題。
# v2.1.17 - 2021-05-17
## 修復
- [#3856](https://github.com/hyperf/hyperf/pull/3586) 修復 `Swow` 服務處理 `keepalive` 的請求時,協程無法在每個請求後結束的問題。
## 新增
- [#3329](https://github.com/hyperf/hyperf/pull/3329) `@Crontab` 註解的 `enable` 參數增加支持設置數組, 你可以通過它動態的控制定時任務是否啓動。
# v2.1.16 - 2021-04-26
## 修復
- [#3510](https://github.com/hyperf/hyperf/pull/3510) 修復 `consul` 無法將節點強制離線的問題。
- [#3513](https://github.com/hyperf/hyperf/pull/3513) 修復 `Nats` 因為 `Socket` 超時時間小於最大閒置時間,導致連接意外關閉的問題。
- [#3520](https://github.com/hyperf/hyperf/pull/3520) 修復 `@Inject` 無法作用於嵌套 `Trait` 的問題。
## 新增
- [#3514](https://github.com/hyperf/hyperf/pull/3514) 新增方法 `Hyperf\HttpServer\Request::clearStoredParsedData()`
## 優化
- [#3517](https://github.com/hyperf/hyperf/pull/3517) 優化 `Hyperf\Di\Aop\PropertyHandlerTrait`
# v2.1.15 - 2021-04-19
## 新增
- [#3484](https://github.com/hyperf/hyperf/pull/3484) 新增 `ORM` 方法 `withMax()` `withMin()` `withSum()``withAvg()`.
# v2.1.14 - 2021-04-12
## 修復
- [#3465](https://github.com/hyperf/hyperf/pull/3465) 修復協程風格下,`WebSocket` 服務不支持配置多個端口的問題。
- [#3467](https://github.com/hyperf/hyperf/pull/3467) 修復協程風格下,`WebSocket` 服務無法正常釋放連接池的問題。
## 新增
- [#3472](https://github.com/hyperf/hyperf/pull/3472) 新增方法 `Sender::getResponse()`,可以在協程風格的 `WebSocket` 服務裏,獲得與 `fd` 一一對應的 `Response` 對象。
# v2.1.13 - 2021-04-06
## 修復
- [#3432](https://github.com/hyperf/hyperf/pull/3432) 修復 `SocketIO` 服務,定時清理失效 `fd` 的功能無法作用到其他 `worker` 進程的問題。
- [#3434](https://github.com/hyperf/hyperf/pull/3434) 修復 `RPC` 結果不支持允許為 `null` 的類型,例如 `?array` 會被強制轉化為數組。
- [#3447](https://github.com/hyperf/hyperf/pull/3447) 修復模型緩存中,因為存在表前綴,導致模型默認值無法生效的問題。
- [#3450](https://github.com/hyperf/hyperf/pull/3450) 修復註解 `@Crontab` 無法作用於 `方法` 的問題,支持一個類中,配置多個 `@Crontab`
## 優化
- [#3453](https://github.com/hyperf/hyperf/pull/3453) 優化了類 `Hyperf\Utils\Channel\Caller` 回收實例時的機制,防止因為實例為 `null` 時,導致無法正確回收的問題。
- [#3455](https://github.com/hyperf/hyperf/pull/3455) 優化腳本 `phar:build`,支持使用軟連接方式加載的組件包。
# v2.1.12 - 2021-03-29
## 修復
- [#3423](https://github.com/hyperf/hyperf/pull/3423) 修復 `worker_num` 設置為非 `Integer` 時,導致定時任務中 `Task` 策略無法正常使用的問題。
- [#3426](https://github.com/hyperf/hyperf/pull/3426) 修復為可選參數路由設置中間件時,導致中間件被意外執行兩次的問題。
## 優化
- [#3422](https://github.com/hyperf/hyperf/pull/3422) 優化了 `co-phpunit` 的代碼。
# v2.1.11 - 2021-03-22
## 新增
- [#3376](https://github.com/hyperf/hyperf/pull/3376) 為註解 `Hyperf\DbConnection\Annotation\Transactional` 增加參數 `$connection``$attempts`,用户可以按需設置事務連接和重試次數。
- [#3403](https://github.com/hyperf/hyperf/pull/3403) 新增方法 `Hyperf\Testing\Client::sendRequest()`,用户可以使用自己構造的 `ServerRequest`,比如設置 `Cookies`
## 修復
- [#3380](https://github.com/hyperf/hyperf/pull/3380) 修復超全局變量,在協程上下文裏沒有 `Request` 對象時,無法正常工作的問題。
- [#3394](https://github.com/hyperf/hyperf/pull/3394) 修復使用 `@Inject` 注入的對象,會被 `trait` 中注入的對象覆蓋的問題。
- [#3395](https://github.com/hyperf/hyperf/pull/3395) 修復當繼承使用 `@Inject` 注入私有變量的父類時,而導致子類實例化報錯的問題。
- [#3398](https://github.com/hyperf/hyperf/pull/3398) 修復單元測試中使用 `UploadedFile::isValid()` 時,無法正確判斷結果的問題。
# v2.1.10 - 2021-03-15
## 修復
- [#3348](https://github.com/hyperf/hyperf/pull/3348) 修復當使用 `Arr::forget` 方法在 `key``integer` 且不存在時,執行報錯的問題。
- [#3351](https://github.com/hyperf/hyperf/pull/3351) 修復 `hyperf/validation` 組件中,`FormRequest` 無法從協程上下文中獲取到修改後的 `ServerRequest`,從而導致驗證器驗證失敗的問題。
- [#3356](https://github.com/hyperf/hyperf/pull/3356) 修復 `hyperf/testing` 組件中,客户端 `Hyperf\Testing\Client` 無法模擬構造正常的 `UriInterface` 的問題。
- [#3363](https://github.com/hyperf/hyperf/pull/3363) 修復在入口文件 `bin/hyperf.php` 中自定義的常量,無法在命令 `server:watch` 中使用的問題。
- [#3365](https://github.com/hyperf/hyperf/pull/3365) 修復當使用協程風格服務時,如果用户沒有配置 `pid_file`,仍然會意外生成 `runtime/hyperf.pid` 文件的問題。
## 優化
- [#3364](https://github.com/hyperf/hyperf/pull/3364) 優化命令 `phar:build`,你可以在不使用 `php` 腳本的情況下執行 `phar` 文件,就像使用命令 `./composer.phar` 而非 `php composer.phar`
- [#3367](https://github.com/hyperf/hyperf/pull/3367) 優化使用 `gen:model` 生成模型字段的類型註釋時,儘量讀取自定義轉換器轉換後的對象類型。
# v2.1.9 - 2021-03-08
## 修復
- [#3326](https://github.com/hyperf/hyperf/pull/3326) 修復使用 `JsonEofPacker` 無法正確解包自定義 `eof` 數據的問題。
- [#3330](https://github.com/hyperf/hyperf/pull/3330) 修復因其他協程修改靜態變量 `$constraints`,導致模型關係查詢錯誤的問題。
## 新增
- [#3325](https://github.com/hyperf/hyperf/pull/3325) 為 `Crontab` 註解增加 `enable` 參數,用於控制當前任務是否註冊到定時任務中。
## 優化
- [#3338](https://github.com/hyperf/hyperf/pull/3338) 優化了 `testing` 組件,使模擬請求的方法運行在獨立的協程當中,避免協程變量污染。
# v2.1.8 - 2021-03-01
## 修復
- [#3301](https://github.com/hyperf/hyperf/pull/3301) 修復 `hyperf/cache` 組件,當沒有在註解中設置超時時間時,會將超時時間強制轉化為 0導致緩存不失效的問題。
## 新增
- [#3310](https://github.com/hyperf/hyperf/pull/3310) 新增方法 `Blueprint::comment()`,可以允許在使用 `Migration` 的時候,設置表註釋。
- [#3311](https://github.com/hyperf/hyperf/pull/3311) 新增方法 `RouteCollector::getRouteParser`,可以方便的從 `RouteCollector` 中獲取到 `RouteParser` 對象。
- [#3316](https://github.com/hyperf/hyperf/pull/3316) 允許用户在 `hyperf/db` 組件中,註冊自定義數據庫適配器。
## 優化
- [#3308](https://github.com/hyperf/hyperf/pull/3308) 優化 `WebSocket` 服務,當找不到對應路由時,直接返回響應。
- [#3319](https://github.com/hyperf/hyperf/pull/3319) 優化從連接池獲取連接的代碼邏輯,避免因重寫低頻組件導致報錯,使得連接被意外丟棄。
## 新組件孵化
- [rpc-multiplex](https://github.com/hyperf/rpc-multiplex-incubator) 基於 Channel 實現的多路複用 RPC 組件。
- [db-pgsql](https://github.com/hyperf/db-pgsql-incubator) 適配於 `hyperf/db``PgSQL` 適配器。
# v2.1.7 - 2021-02-22
## 修復
- [#3272](https://github.com/hyperf/hyperf/pull/3272) 修復使用 `doctrine/dbal` 修改數據庫字段名報錯的問題。
## 新增
- [#3261](https://github.com/hyperf/hyperf/pull/3261) 新增方法 `Pipeline::handleCarry`,可以方便處理返回值。
- [#3267](https://github.com/hyperf/hyperf/pull/3267) 新增 `Hyperf\Utils\Reflection\ClassInvoker`,用於執行非公共方法和讀取非公共變量。
- [#3268](https://github.com/hyperf/hyperf/pull/3268) 為 `kafka` 消費者新增訂閲多個主題的能力。
- [#3193](https://github.com/hyperf/hyperf/pull/3193) [#3296](https://github.com/hyperf/hyperf/pull/3296) 為 `phar:build` 新增選項 `-M`,可以用來映射外部的文件或目錄到 `Phar` 包中。
## 變更
- [#3258](https://github.com/hyperf/hyperf/pull/3258) 為不同的 `kafka` 消費者設置不同的 Client ID。
- [#3282](https://github.com/hyperf/hyperf/pull/3282) 為 `hyperf/signal` 將拼寫錯誤的 `stoped` 修改為 `stopped`
# v2.1.6 - 2021-02-08
## 修復
- [#3233](https://github.com/hyperf/hyperf/pull/3233) 修復 `AMQP` 組件,因連接服務端失敗,導致連接池耗盡的問題。
- [#3245](https://github.com/hyperf/hyperf/pull/3245) 修復 `hyperf/kafka` 組件設置 `autoCommit``false` 無效的問題。
- [#3255](https://github.com/hyperf/hyperf/pull/3255) 修復 `Nsq` 消費者進程,無法觸發 `defer` 方法的問題。
## 優化
- [#3249](https://github.com/hyperf/hyperf/pull/3249) 優化 `hyperf/kafka` 組件,可以重用連接進行消息發佈。
## 移除
- [#3235](https://github.com/hyperf/hyperf/pull/3235) 移除 `hyperf/kafka` 組件 `rebalance` 檢查,因為底層庫 `longlang/phpkafka` 增加了對應的檢查。
# v2.1.5 - 2021-02-01
## 修復
- [#3204](https://github.com/hyperf/hyperf/pull/3204) 修復在 `hyperf/rpc-server` 組件中,中間件會被意外替換的問題。
- [#3209](https://github.com/hyperf/hyperf/pull/3209) 修復 `hyperf/amqp` 組件在使用協程風格服務,且因超時意外報錯時,沒有辦法正常回收到連接池的問題。
- [#3222](https://github.com/hyperf/hyperf/pull/3222) 修復 `hyperf/database` 組件中 `JOIN` 查詢會導致內存泄露的問題。
- [#3228](https://github.com/hyperf/hyperf/pull/3228) 修復 `hyperf/tracer` 組件中,在 `defer` 中調用 `flush` 失敗時,會導致進程異常退出的問題。
- [#3230](https://github.com/hyperf/hyperf/pull/3230) 修復 `hyperf/scout` 組件中 `orderBy` 方法無效的問題。
## 新增
- [#3211](https://github.com/hyperf/hyperf/pull/3211) 為 `hyperf/nacos` 組件添加了新的配置項 `url`,用於訪問 `Nacos` 服務。
- [#3214](https://github.com/hyperf/hyperf/pull/3214) 新增類 `Hyperf\Utils\Channel\Caller`,可以允許用户使用協程安全的連接,避免連接被多個協程綁定,導致報錯的問題。
- [#3224](https://github.com/hyperf/hyperf/pull/3224) 新增方法 `Hyperf\Utils\CodeGen\Package::getPrettyVersion()`,允許用户獲取組件的版本。
## 變更
- [#3218](https://github.com/hyperf/hyperf/pull/3218) 默認為 `AMQP` 配置 `QOS` 參數,`prefetch_count` 為 `1``global` 為 `false``prefetch_size` 為 `0`
- [#3224](https://github.com/hyperf/hyperf/pull/3224) 為組件 `jean85/pretty-package-versions` 升級版本到 `^1.2|^2.0`, 支持 `Composer 2.x`
> 如果使用 composer 2.x則需要安裝 jean85/pretty-package-versions 的 ^2.0 版本,反之安裝 ^1.2 版本
## 優化
- [#3226](https://github.com/hyperf/hyperf/pull/3226) 優化 `hyperf/database` 組件,使用 `group by``having` 時執行子查詢獲得總數。
# v2.1.4 - 2021-01-25
## 修復
- [#3165](https://github.com/hyperf/hyperf/pull/3165) 修復方法 `Hyperf\Database\Schema\MySqlBuilder::getColumnListing``MySQL 8.0` 版本中無法正常使用的問題。
- [#3174](https://github.com/hyperf/hyperf/pull/3174) 修復 `hyperf/database` 組件中 `where` 語句因為不嚴謹的代碼編寫,導致被綁定參數會被惡意替換的問題。
- [#3179](https://github.com/hyperf/hyperf/pull/3179) 修復 `json-rpc` 客户端因對端服務重啓,導致接收數據一直異常的問題。
- [#3189](https://github.com/hyperf/hyperf/pull/3189) 修復 `kafka` 在集羣模式下無法正常使用的問題。
- [#3191](https://github.com/hyperf/hyperf/pull/3191) 修復 `json-rpc` 客户端因對端服務重啓,導致連接池中的連接全部失效,新的請求進來時,首次使用皆會報錯的問題。
## 新增
- [#3170](https://github.com/hyperf/hyperf/pull/3170) 為 `hyperf/watcher` 組件新增了更加友好的驅動器 `FindNewerDriver`,支持 `Mac` `Linux``Docker`
- [#3195](https://github.com/hyperf/hyperf/pull/3195) 為 `JsonRpcPoolTransporter` 新增了重試機制, 當連接、發包、收包失敗時,默認重試 2 次,收包超時不進行重試。
## 優化
- [#3169](https://github.com/hyperf/hyperf/pull/3169) 優化了 `ErrorExceptionHandler` 中與 `set_error_handler` 相關的入參代碼, 解決靜態檢測因入參不匹配導致報錯的問題。
- [#3191](https://github.com/hyperf/hyperf/pull/3191) 優化了 `hyperf/json-rpc` 組件, 當連接中斷後,會先嚐試重連。
## 變更
- [#3174](https://github.com/hyperf/hyperf/pull/3174) 嚴格檢查 `hyperf/database` 組件中 `where` 語句綁定參數。
## 新組件孵化
- [DAG](https://github.com/hyperf/dag-incubator) 輕量級有向無環圖任務編排庫。
- [RPN](https://github.com/hyperf/rpn-incubator) 逆波蘭表示法。
# v2.1.3 - 2021-01-18
## 修復
- [#3070](https://github.com/hyperf/hyperf/pull/3070) 修復 `tracer` 組件無法正常使用的問題。
- [#3106](https://github.com/hyperf/hyperf/pull/3106) 修復協程從已被銷燬的協程中複製協程上下文時導致報錯的問題。
- [#3108](https://github.com/hyperf/hyperf/pull/3108) 修復使用 `describe:routes` 命令時,相同 `callback` 不同路由組的路由會被替換覆蓋的問題。
- [#3118](https://github.com/hyperf/hyperf/pull/3118) 修復 `migrations` 配置名位置錯誤的問題。
- [#3126](https://github.com/hyperf/hyperf/pull/3126) 修復 `Swoole` 擴展 `v4.6` 版本中,`SWOOLE_HOOK_SOCKETS` 與 `jaeger` 衝突的問題。
- [#3137](https://github.com/hyperf/hyperf/pull/3137) 修復 `database` 組件,當沒有主動設置 `PDO::ATTR_PERSISTENT``true` 時,導致的類型錯誤。
- [#3141](https://github.com/hyperf/hyperf/pull/3141) 修復使用 `Migration` 時,`doctrine/dbal` 無法正常工作的問題。
## 新增
- [#3059](https://github.com/hyperf/hyperf/pull/3059) 為 `view-engine` 組件增加合併任意標籤的能力。
- [#3123](https://github.com/hyperf/hyperf/pull/3123) 為 `view-engine` 組件增加 `ComponentAttributeBag::has()` 方法。
# v2.1.2 - 2021-01-11
## 修復
- [#3050](https://github.com/hyperf/hyperf/pull/3050) 修復在 `increment()` 後使用 `save()` 時,導致 `extra` 數據被保存兩次的問題。
- [#3082](https://github.com/hyperf/hyperf/pull/3082) 修復 `hyperf/db` 組件在 `defer` 中使用時,會導致連接被其他協程綁定的問題。
- [#3084](https://github.com/hyperf/hyperf/pull/3084) 修復 `phar` 打包後 `getRealPath` 無法正常工作的問題。
- [#3087](https://github.com/hyperf/hyperf/pull/3087) 修復使用 `AOP` 時,`pipeline` 導致內存泄露的問題。
- [#3095](https://github.com/hyperf/hyperf/pull/3095) 修復 `hyperf/scout` 組件中,`ElasticsearchEngine::getTotalCount()` 無法兼容 `Elasticsearch 7.0` 版本的問題。
## 新增
- [#2847](https://github.com/hyperf/hyperf/pull/2847) 新增 `hyperf/kafka` 組件。
- [#3066](https://github.com/hyperf/hyperf/pull/3066) 為 `hyperf/db` 組件新增 `ConnectionInterface::run(Closure $closure)` 方法。
## 優化
- [#3046](https://github.com/hyperf/hyperf/pull/3046) 打包 `phar` 時,優化了重寫 `scan_cacheable` 的代碼。
## 變更
- [#3077](https://github.com/hyperf/hyperf/pull/3077) 因組件 `league/flysystem``2.0` 版本無法兼容,故降級到 `^1.0`
# v2.1.1 - 2021-01-04
## 修復
- [#3045](https://github.com/hyperf/hyperf/pull/3045) 修復 `database` 組件,當沒有主動設置 `PDO::ATTR_PERSISTENT``true` 時,導致的類型錯誤。
- [#3047](https://github.com/hyperf/hyperf/pull/3047) 修復 `socketio-server` 組件,為 `sid` 續約時報錯的問題。
- [#3062](https://github.com/hyperf/hyperf/pull/3062) 修復 `grpc-server` 組件,入參無法被正確解析的問題。
## 新增
- [#3052](https://github.com/hyperf/hyperf/pull/3052) 為 `metric` 組件,新增了收集命令行指標的功能。
- [#3054](https://github.com/hyperf/hyperf/pull/3054) 為 `socketio-server` 組件,新增了 `Engine::close` 協議支持,並在調用方法 `getRequest` 失敗時,拋出連接已被關閉的異常。
# v2.1.0 - 2020-12-28
## 依賴升級
- 升級 `php` 版本到 `>=7.3`
- 升級組件 `phpunit/phpunit` 版本到 `^9.0`
- 升級組件 `guzzlehttp/guzzle` 版本到 `^6.0|^7.0`
- 升級組件 `vlucas/phpdotenv` 版本到 `^5.0`
- 升級組件 `endclothing/prometheus_client_php` 版本到 `^1.0`
- 升級組件 `twig/twig` 版本到 `^3.0`
- 升級組件 `jcchavezs/zipkin-opentracing` 版本到 `^0.2.0`
- 升級組件 `doctrine/dbal` 版本到 `^3.0`
- 升級組件 `league/flysystem` 版本到 `^1.0|^2.0`
## 移除
- 移除 `Hyperf\Amqp\Builder` 已棄用的成員變量 `$name`
- 移除 `Hyperf\Amqp\Message\ConsumerMessageInterface` 已棄用的方法 `consume()`
- 移除 `Hyperf\AsyncQueue\Driver\Driver` 已棄用的成員變量 `$running`
- 移除 `Hyperf\HttpServer\CoreMiddleware` 已棄用的方法 `parseParameters()`
- 移除 `Hyperf\Utils\Coordinator\Constants` 已棄用的常量 `ON_WORKER_START``ON_WORKER_EXIT`
- 移除 `Hyperf\Utils\Coordinator` 已棄用的方法 `get()`
- 移除配置文件 `rate-limit.php`, 請使用 `rate_limit.php`
- 移除無用的類 `Hyperf\Resource\Response\ResponseEmitter`
- 將組件 `hyperf/paginator``hyperf/database` 依賴中移除。
- 移除 `Hyperf\Utils\Coroutine\Concurrent` 中的方法 `stats()`
## 變更
- 方法 `Hyperf\Utils\Coroutine::parentId` 返回父協程的協程 ID
* 如果在主協程中,則會返回 0。
* 如果在非協程環境中使用,則會拋出 `RunningInNonCoroutineException` 異常。
* 如果協程環境已被銷燬,則會拋出 `CoroutineDestroyedException` 異常。
-`Hyperf\Guzzle\CoroutineHandler`
* 刪除了 `execute()` 方法。
* 方法 `initHeaders()` 將會返回初始化好的 Header 列表, 而不是直接將 `$headers` 賦值到客户端中。
* 刪除了 `checkStatusCode()` 方法。
- [#2720](https://github.com/hyperf/hyperf/pull/2720) 不再在方法 `PDOStatement::bindValue()` 中設置 `data_type`,已避免字符串索引中使用整形時,導致索引無法被命中的問題。
- [#2871](https://github.com/hyperf/hyperf/pull/2871) 從 `StreamInterface` 中獲取數據時,使用 `(string) $body` 而不是 `$body->getContents()`,因為方法 `getContents()` 只會返回剩餘的數據,而非全部數據。
- [#2909](https://github.com/hyperf/hyperf/pull/2909) 允許設置重複的中間件。
- [#2935](https://github.com/hyperf/hyperf/pull/2935) 修改了 `Exception Formatter` 的默認規則。
- [#2979](https://github.com/hyperf/hyperf/pull/2979) 命令行 `gen:model` 不再自動將 `decimal` 格式轉化為 `float`
## 即將廢棄
-`Hyperf\AsyncQueue\Signal\DriverStopHandler` 將會在 `v2.2` 版本中棄用, 請使用 `Hyperf\Process\Handler\ProcessStopHandler` 代替。
-`Hyperf\Server\SwooleEvent` 將會在 `v3.0` 版本中棄用, 請使用 `Hyperf\Server\Event` 代替。
## 新增
- [#2659](https://github.com/hyperf/hyperf/pull/2659) [#2663](https://github.com/hyperf/hyperf/pull/2663) 新增了 [Swow](https://github.com/swow/swow) 驅動支持。
- [#2671](https://github.com/hyperf/hyperf/pull/2671) 新增監聽器 `Hyperf\AsyncQueue\Listener\QueueHandleListener`,用來記錄異步隊列的運行日誌。
- [#2923](https://github.com/hyperf/hyperf/pull/2923) 新增類 `Hyperf\Utils\Waiter`,可以用來等待一個協程結束。
- [#3001](https://github.com/hyperf/hyperf/pull/3001) 新增方法 `Hyperf\Database\Model\Collection::columns()`,類似於 `array_column`
- [#3002](https://github.com/hyperf/hyperf/pull/3002) 為 `Json::decode``Json::encode` 新增參數 `$depth``$flags`
## 修復
- [#2741](https://github.com/hyperf/hyperf/pull/2741) 修復自定義進程無法在 `Swow` 驅動下使用的問題。
## 優化
- [#3009](https://github.com/hyperf/hyperf/pull/3009) 優化了 `prometheus`,使其支持 `https``http` 協議。