tag:github.com,2008:https://github.com/hyperf/hyperf/releases Release notes from hyperf 2026-03-08T08:22:45Z tag:github.com,2008:Repository/159606650/v3.2.0-rc.1 2026-03-08T08:22:45Z v3.2.0-rc.1 No content. limingxinleo tag:github.com,2008:Repository/159606650/v3.2.0-beta.3 2026-03-07T09:24:57Z v3.2.0-beta.3 No content. limingxinleo tag:github.com,2008:Repository/159606650/v3.2.0-beta.2 2026-02-24T09:44:28Z v3.2.0-beta.2 No content. limingxinleo tag:github.com,2008:Repository/159606650/v3.1.67 2026-02-24T02:51:05Z Release v3.1.67 <h2>Added</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7459" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7459/hovercard">#7459</a> Support using model name like <code>App\\Model\\User</code> for validation rule <code>exists</code> and <code>unique</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7555" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7555/hovercard">#7555</a> Added <code>Hyperf\Crontab\Mutex\RedisServerMutexByNodeName</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7607" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7607/hovercard">#7607</a> Added casts <code>AsCollection</code> for <code>hyperf/database</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7648" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7648/hovercard">#7648</a> Support aliyun mse signature for nacos.</li> </ul> <h2>Optimized</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7676" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7676/hovercard">#7676</a> Optimized the client tagging for <code>hyperf/tracer</code>.</li> </ul> <h2>Fixed</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7703" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7703/hovercard">#7703</a> Fixed bug that the default ttl cannot work for memory driver of <code>hyperf/cache</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7705" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7705/hovercard">#7705</a> Fixed bug that <code>eachById</code> cannot work for <code>Hyperf\Database\Query\Builder</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7712" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7712/hovercard">#7712</a> Fixed bug that the classes cache cannot decode.</li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NoraClapham/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NoraClapham">@NoraClapham</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3870194036" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7703" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7703/hovercard" href="https://github.com/hyperf/hyperf/pull/7703">#7703</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wregis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wregis">@wregis</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3743739705" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7676" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7676/hovercard" href="https://github.com/hyperf/hyperf/pull/7676">#7676</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adhikjoshi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adhikjoshi">@adhikjoshi</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3604950908" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7607" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7607/hovercard" href="https://github.com/hyperf/hyperf/pull/7607">#7607</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperf/hyperf/compare/v3.1.66...v3.1.67"><tt>v3.1.66...v3.1.67</tt></a></p> limingxinleo tag:github.com,2008:Repository/159606650/v3.1.66 2026-01-25T07:42:57Z Release v3.1.66 <h2>Added</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7667" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7667/hovercard">#7667</a> <a href="https://github.com/hyperf/hyperf/pull/7672" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7672/hovercard">#7672</a> Added support for <code>client_count</code> option to create multiple gRPC clients with load balancing in <code>hyperf/grpc-client</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7668" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7668/hovercard">#7668</a> Added the <code>$isCookiePersistent</code> parameter to <code>Hyperf\Guzzle\PoolHandler</code> to enable persistent cookies.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7670" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7670/hovercard">#7670</a> Added <code>--path</code> option to generator commands for specifying custom output locations.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7684" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7684/hovercard">#7684</a> Added method <code>Hyperf\Database\Schema\Builder::withoutForeignKeyConstraints()</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7693" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7693/hovercard">#7693</a> Added methods <code>cascadeOnDelete()</code>, <code>restrictOnDelete()</code>, <code>noActionOnDelete()</code>, <code>restrictOnUpdate()</code>, <code>nullOnUpdate()</code>, <code>noActionOnUpdate()</code> for <code>ForeignKeyDefinition</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7698" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7698/hovercard">#7698</a> Added <code>Pool::flushAll()</code> and <code>PoolFactory::flushAll()</code> methods to close all pool connections.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7699" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7699/hovercard">#7699</a> Added methods <code>whereJsonContainsKey()</code>, <code>orWhereJsonContainsKey()</code>, <code>whereJsonDoesntContainKey()</code>, <code>orWhereJsonDoesntContainKey()</code> for Query Builder.</li> </ul> <h2>Optimized</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7675" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7675/hovercard">#7675</a> Removed redundant timer cleanup code from metric listeners since the Timer component now handles cleanup automatically.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7687" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7687/hovercard">#7687</a> Optimized handling of <code>ValidationException</code> in JSON-RPC core middleware to properly return <code>INVALID_PARAMS</code> error responses.</li> </ul> <h2>Fixed</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7669" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7669/hovercard">#7669</a> Fix PostgreSQL boolean handling for emulated prepares and raw SQL.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7682" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7682/hovercard">#7682</a> Fixed incorrect return type for <code>Blueprint::foreign()</code> which caused static analysis errors when chaining <code>references()</code>, <code>on()</code>, etc.</li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/L4ZARIN3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/L4ZARIN3">@L4ZARIN3</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3741463623" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7674" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7674/hovercard" href="https://github.com/hyperf/hyperf/pull/7674">#7674</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperf/hyperf/compare/v3.1.65...v3.1.66"><tt>v3.1.65...v3.1.66</tt></a></p> limingxinleo tag:github.com,2008:Repository/159606650/v3.2.0-beta.1 2025-12-04T06:12:27Z v3.2.0-beta.1 No content. limingxinleo tag:github.com,2008:Repository/159606650/v3.1.65 2025-12-04T05:06:37Z v3.1.65 No content. limingxinleo tag:github.com,2008:Repository/159606650/v3.2.0-alpha.4 2025-11-15T02:41:09Z v3.2.0-alpha.4 <h2>What's Changed</h2> <ul> <li>refactor(database): extract HasUniqueStringIds trait to reduce code duplication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3577992321" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7590" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7590/hovercard" href="https://github.com/hyperf/hyperf/pull/7590">#7590</a></li> <li>refactor(logger): optimize logger configuration structure by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3519958947" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7563" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7563/hovercard" href="https://github.com/hyperf/hyperf/pull/7563">#7563</a></li> <li>Fixed BC when validation rule not define. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuanyanwow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuanyanwow">@xuanyanwow</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3584479867" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7596" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7596/hovercard" href="https://github.com/hyperf/hyperf/pull/7596">#7596</a></li> <li>chore(ci): remove symfony/console version constraint in test workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3584201613" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7595" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7595/hovercard" href="https://github.com/hyperf/hyperf/pull/7595">#7595</a></li> <li>refactor(cache): refactor cache configuration pattern by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3582362894" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7594" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7594/hovercard" href="https://github.com/hyperf/hyperf/pull/7594">#7594</a></li> <li>feat: Add Htmlable contract interface for HTTP responses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2314144628" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/6794" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/6794/hovercard" href="https://github.com/hyperf/hyperf/pull/6794">#6794</a></li> <li>Added PDO subclass support for PHP 8.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2482444463" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7019" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7019/hovercard" href="https://github.com/hyperf/hyperf/pull/7019">#7019</a></li> <li>[3.2]Enhance array shuffle method to support custom random engines by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2628371977" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7142" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7142/hovercard" href="https://github.com/hyperf/hyperf/pull/7142">#7142</a></li> <li>refactor(testing): optimize ClassLoader detection in phpunit-patch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3580643965" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7592" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7592/hovercard" href="https://github.com/hyperf/hyperf/pull/7592">#7592</a></li> <li>chore(ci): upgrade Swoole version from v6.1.0 to v6.1.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3577352294" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7588" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7588/hovercard" href="https://github.com/hyperf/hyperf/pull/7588">#7588</a></li> <li>Added <code>Hyperf\Collection\Arr::sole()</code> method by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594398249" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7600" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7600/hovercard" href="https://github.com/hyperf/hyperf/pull/7600">#7600</a></li> <li>feat(async-queue): add result handling for job processing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594884660" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7601" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7601/hovercard" href="https://github.com/hyperf/hyperf/pull/7601">#7601</a></li> <li>fix(async-queue): relax type hint for callback message parameter by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595557349" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7602" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7602/hovercard" href="https://github.com/hyperf/hyperf/pull/7602">#7602</a></li> <li>refactor(async-queue): strengthen Result type handling in Driver and AfterHandle event by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3596555589" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7603" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7603/hovercard" href="https://github.com/hyperf/hyperf/pull/7603">#7603</a></li> <li>Optimized AnnotationJob to support call protected / private methods. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3598397930" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7604" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7604/hovercard" href="https://github.com/hyperf/hyperf/pull/7604">#7604</a></li> <li>refactor(testing): add NonCoroutine attribute for flexible test execution control by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3602566065" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7605" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7605/hovercard" href="https://github.com/hyperf/hyperf/pull/7605">#7605</a></li> <li>refactor(async-queue): remove JobMessage backward compatibility code by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606600361" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7609" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7609/hovercard" href="https://github.com/hyperf/hyperf/pull/7609">#7609</a></li> <li>docs(command): add @param-closure-this annotation for better IDE support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3610278447" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7611" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7611/hovercard" href="https://github.com/hyperf/hyperf/pull/7611">#7611</a></li> <li>refactor: remove deprecated code scheduled for v3.2 removal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3610189905" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7610" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7610/hovercard" href="https://github.com/hyperf/hyperf/pull/7610">#7610</a></li> <li>Fixed setlocale set failed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuanyanwow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuanyanwow">@xuanyanwow</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3611628387" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7612" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7612/hovercard" href="https://github.com/hyperf/hyperf/pull/7612">#7612</a></li> <li>refactor(async-queue): rename $queue property to $pool in ConsumerProcess by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3614617230" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7615" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7615/hovercard" href="https://github.com/hyperf/hyperf/pull/7615">#7615</a></li> <li>feat(async-queue): add automatic consumer process registration based on configuration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3615264452" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7618" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7618/hovercard" href="https://github.com/hyperf/hyperf/pull/7618">#7618</a></li> <li>feat(framework): Add Symfony 7.4 compatibility with batch command registration by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3618525498" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7620" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7620/hovercard" href="https://github.com/hyperf/hyperf/pull/7620">#7620</a></li> <li>refactor(async-queue): rename getQueueName to getPoolName for consistency by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623338159" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7625" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7625/hovercard" href="https://github.com/hyperf/hyperf/pull/7625">#7625</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperf/hyperf/compare/v3.2.0-alpha.3...v3.2.0-alpha.4"><tt>v3.2.0-alpha.3...v3.2.0-alpha.4</tt></a></p> huangdijia tag:github.com,2008:Repository/159606650/v3.1.64 2025-11-12T07:15:12Z v3.1.64 <h2>Added</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7600" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7600/hovercard">#7600</a> Added method <code>Hyperf\Collection\Arr::sole()</code>.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7601" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7601/hovercard">#7601</a> Added result handling for async queue jobs with <code>Hyperf\AsyncQueue\Result</code> enum.</li> </ul> <h2>Optimized</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7604" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7604/hovercard">#7604</a> Optimized <code>AnnotationJob</code> to support call protected / private methods.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7611" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7611/hovercard">#7611</a> Added <code>@param-closure-this</code> annotation to <code>Console::command()</code> for better IDE support.</li> <li><a href="https://github.com/hyperf/hyperf/pull/7615" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7615/hovercard">#7615</a> Renamed <code>$queue</code> property to <code>$pool</code> in <code>ConsumerProcess</code> for better code clarity in <code>hyperf/async-queue</code>.</li> </ul> <h2>Fixed</h2> <ul> <li><a href="https://github.com/hyperf/hyperf/pull/7596" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7596/hovercard">#7596</a> Fixed BC when <code>validation</code> rule not define.</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperf/hyperf/compare/v3.1.63...v3.1.64"><tt>v3.1.63...v3.1.64</tt></a></p> limingxinleo tag:github.com,2008:Repository/159606650/v3.2.0-alpha.3 2025-11-15T02:11:14Z Pre-Release v3.2.0-alpha.3 <h2>What's Changed</h2> <ul> <li>fix(command): add coordinator cleanup in command execution finally block by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3451469850" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7545" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7545/hovercard" href="https://github.com/hyperf/hyperf/pull/7545">#7545</a></li> <li>Support to rewrite the rules for scene when using validation. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limit81995/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limit81995">@limit81995</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3267163800" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7469" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7469/hovercard" href="https://github.com/hyperf/hyperf/pull/7469">#7469</a></li> <li>Made <code>Hyperf\Kafka\Annotation\Consumer::$pool</code> empty by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aneterial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aneterial">@aneterial</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3453399460" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7547" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7547/hovercard" href="https://github.com/hyperf/hyperf/pull/7547">#7547</a></li> <li>Support options <code>batch</code> for <code>migrate:rollback</code>. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/albertcht/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/albertcht">@albertcht</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3391141499" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7531" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7531/hovercard" href="https://github.com/hyperf/hyperf/pull/7531">#7531</a></li> <li>Release v3.1.62 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limingxinleo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limingxinleo">@limingxinleo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3505491180" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7560" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7560/hovercard" href="https://github.com/hyperf/hyperf/pull/7560">#7560</a></li> <li>Revert constructor parameter name change for <code>Nacos\Application</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3512176097" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7561" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7561/hovercard" href="https://github.com/hyperf/hyperf/pull/7561">#7561</a></li> <li>Support method <code>PATCH</code> for <code>hyperf/testing</code>. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aneterial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aneterial">@aneterial</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3478314022" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7553" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7553/hovercard" href="https://github.com/hyperf/hyperf/pull/7553">#7553</a></li> <li>Fixed bug that the providers of nacos not support psr4. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ulyssesyi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ulyssesyi">@Ulyssesyi</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3439257355" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7543" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7543/hovercard" href="https://github.com/hyperf/hyperf/pull/7543">#7543</a></li> <li>Upgrade to nikic/php-parser v5 and update parser usage by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3540024408" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7566" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7566/hovercard" href="https://github.com/hyperf/hyperf/pull/7566">#7566</a></li> <li>Update Symfony dependencies to ^6.0 || ^7.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3548139800" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7573" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7573/hovercard" href="https://github.com/hyperf/hyperf/pull/7573">#7573</a></li> <li>Update PHPUnit to version 11 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3552111144" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7577" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7577/hovercard" href="https://github.com/hyperf/hyperf/pull/7577">#7577</a></li> <li>Support Swoole v6.1.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3549399603" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7575" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7575/hovercard" href="https://github.com/hyperf/hyperf/pull/7575">#7575</a></li> <li>Optimized the PHPDoc for <code>hyperf/database</code>. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/storyn26383/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/storyn26383">@storyn26383</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3358883772" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7511" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7511/hovercard" href="https://github.com/hyperf/hyperf/pull/7511">#7511</a></li> <li>Fixed bug that the parameter context on redis cluster cannot work when auth config isn't set or set with null value. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luizmanhani/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luizmanhani">@luizmanhani</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3492704208" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7554" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7554/hovercard" href="https://github.com/hyperf/hyperf/pull/7554">#7554</a></li> <li>Fixed bug that <code>Hyperf\Validation\ValidationRuleParser::parseParameters()</code> cannot support <code>PHP 8.4</code>. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sy-records/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sy-records">@sy-records</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3404493409" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7536" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7536/hovercard" href="https://github.com/hyperf/hyperf/pull/7536">#7536</a></li> <li>fix: 添加对CacheableSupportsMethodInterface的弃用说明 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3548536550" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7574" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7574/hovercard" href="https://github.com/hyperf/hyperf/pull/7574">#7574</a></li> <li>Changed the default type of <code>deleted_at</code> to <code>datetime</code> for <code>hyperf/database</code>. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MorriosL/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MorriosL">@MorriosL</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2299223482" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/6760" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/6760/hovercard" href="https://github.com/hyperf/hyperf/pull/6760">#6760</a></li> <li>feature: Added PHPStan type analysis for <code>hyperf/collection</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3564430410" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7578" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7578/hovercard" href="https://github.com/hyperf/hyperf/pull/7578">#7578</a></li> <li>Use <code>priorityMiddleware</code> instead of <code>middleware</code> for swagger. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zds-s/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zds-s">@zds-s</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3405679046" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7537" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7537/hovercard" href="https://github.com/hyperf/hyperf/pull/7537">#7537</a></li> <li>Add <code>/types export-ignore</code> to all <code>.gitattributes</code> in <code>src/*</code> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3566077173" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7581" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7581/hovercard" href="https://github.com/hyperf/hyperf/pull/7581">#7581</a></li> <li>Release v3.1.63 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limingxinleo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limingxinleo">@limingxinleo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3568608085" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7582" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7582/hovercard" href="https://github.com/hyperf/hyperf/pull/7582">#7582</a></li> <li>Fixed PHPStan type assertions in database model types by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangdijia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangdijia">@huangdijia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3568818373" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7583" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7583/hovercard" href="https://github.com/hyperf/hyperf/pull/7583">#7583</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aneterial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aneterial">@aneterial</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3453399460" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7547" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7547/hovercard" href="https://github.com/hyperf/hyperf/pull/7547">#7547</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/storyn26383/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/storyn26383">@storyn26383</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3358883772" data-permission-text="Title is private" data-url="https://github.com/hyperf/hyperf/issues/7511" data-hovercard-type="pull_request" data-hovercard-url="/hyperf/hyperf/pull/7511/hovercard" href="https://github.com/hyperf/hyperf/pull/7511">#7511</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/hyperf/hyperf/compare/v3.2.0-alpha.2...v3.2.0-alpha.3"><tt>v3.2.0-alpha.2...v3.2.0-alpha.3</tt></a></p> huangdijia