v2.2.33 - 2022-05-30
v2.2.33 - 2022-05-30
修复
Added
- #4763 新增验证规则
array:key1,key2,确保数组中除key1key2以外无其他key键。 - #4781 新增配置
close-pull-request.yml,用来自动关闭只读的仓库。
v2.2.32 - 2022-05-16
修复
- #4745 当使用
kafka组件的Producer::close方法时,修复可能抛出空指针异常的问题。 - #4754 通过配置
monolog>=2.6.0解决新版本的monolog无法正常工作的问题。
优化
- #4738 当使用
kafka组件时,如果没有设置GroupID则自动配置一个。
v2.2.31 - 2022-04-18
修复
新增
v2.2.30 - 2022-04-04
修复
- #4648 当使用
retry组件中的熔断器时,修复在open状态下,无法自动调用fallback方法的问题。 - #4657 修复使用
session中的文件适配器时,相同的Session ID在被重写后,最后修改时间仍是上次修改时间的问题。
新增
- #4646 为
Redis哨兵模式增加设置密码的功能。
v2.2.29 - 2022-03-28
修复
- #4620 修复
Hyperf\Memory\LockManager::initialize()方法中,$filename默认值错误的问题。
v2.2.28 - 2022-03-14
修复
新增
- #4580 新增方法
Hyperf\Utils\Coroutine\Concurrent::getChannel()。
优化
- #4602 将方法
Hyperf\ModelCache\Manager::formatModels()更改为公共方法。
v2.2.27 - 2022-03-07
优化
- #4572 当负载均衡器
hyperf/load-balancer选择节点失败时,使用Hyperf\LoadBalancer\Exception\RuntimeException代替\RuntimeException。
v2.2.26 - 2022-02-21
修复
- #4536 修复使用
JsonRPC时,会设置多次content-type的问题。
新增
- #4527 为
Hyperf\Database\Schema\Blueprint增加了一些比较有用的方法。
优化
- #4514 通过使用小写
key获取HTTP的Header信息,提升一部分性能。 - #4521 在使用 Redis 的哨兵模式时,如果第一个哨兵节点连接失败,则尝试连接其余哨兵节点。
- #4529 将组件
hyperf/context从组件hyperf/utils中分离出来。
v2.2.25 - 2022-01-30
修复
- #4484 修复使用
Nacos v2.0.4版本时,服务是否注册过,判断有误的问题。
新增
- #4477 为
Hyperf\HttpServer\Request新增Macroable支持。
优化
- #4254 当使用
Hyperf\Di\ScanHandlerPcntlScanHandler时,增加grpc.enable_fork_support检测。
v2.2.24 - 2022-01-24
修复
- #4474 修复使用多路复用 RPC 时,导致测试脚本无法正常停止的问题。
优化
- #4451 优化了
Hyperf\Watcher\Driver\FindNewerDriver的代码。
v2.2.23 - 2022-01-17
修复
- #4426 修复
view-engine模板引擎,在并发请求下导致模板缓存生成错误的问题。
新增
- #4449 为
Hyperf\Utils\Collection增加多条件排序的能力。 - #4455 新增命令
gen:view-engine-cache可以预生成模板缓存,避免并发带来的一系列问题。 - #4453 新增
Hyperf\Tracer\Aspect\ElasticserachAspect,用来记录elasticsearch客户端的调用记录。 - #4458 新增
Hyperf\Di\ScanHandler\ProcScanHandler,用来支持Windows+Swow环境下启动服务。
v2.2.22 - 2022-01-04
修复
- #4399 修复使用
RedisCluster时,无法使用scan方法的问题。
新增
- #4409 为
session增加数据库支持。 - #4411 为
tracer组件,新增Hyperf\Tracer\Aspect\DbAspect,用于记录hyperf/db组件产生的SQL日志。 - #4420 为
Hyperf\Amqp\IO\SwooleIO增加SSL支持。
优化
- #4406 删除
Swoole PSR-0风格代码,更加友好的支持Swoole 5.0版本。 - #4429 为
Debug::getRefCount()方法增加类型检测,只能用于输出对象的RefCount。
v2.2.21 - 2021-12-20
修复
- #4347 修复使用
AMQP组件时,如果连接缓冲区溢出,会导致连接被绑定到多个协程从而报错的问题。 - #4373 修复使用
Snowflake组件时,由于getWorkerId()中存在IO操作进而导致协程切换,最终导致元数据生成重复的问题。
新增
- #4344 新增事件
Hyperf\Crontab\Event\FailToExecute,此事件会在Crontab任务执行失败时触发。 - #4348 支持使用
gen:*命令创建文件时,自动吊起对应的IDE,并打开当前文件。
优化
- #4350 优化了未开启
swoole.use_shortname时的错误信息。 - #4360 将
Hyperf\Amqp\IO\SwooleIO进行重构,使用更加稳定和高效的Swoole\Coroutine\Socket而非Swoole\Coroutine\Client。
v2.2.20 - 2021-12-13
修复
新增
v2.2.19 - 2021-12-06
修复
- #4308 修复执行
server:watch时,因为使用相对路径导致collector-reload文件找不到的问题。
优化
- #4317 为
Hyperf\Utils\Collection和Hyperf\Database\Model\Collection增强类型提示功能。
v2.2.18 - 2021-11-29
修复
- #4283 修复当
GRPC结果为null时,Hyperf\Grpc\Parser::deserializeMessage()报错的问题。
新增
- #4284 新增方法
Hyperf\Utils\Network::ip()获取本地IP。 - #4290 为
HTTP服务增加chunk功能。 - #4291 为
value()方法增加动态参数功能。 - #4293 为
server:watch命令增加相对路径支持。 - #4295 为
Hyperf\Database\Schema\Blueprint::bigIncrements()增加别名id()。
v2.2.17 - 2021-11-22
修复
- #4243 修复使用
parallel时,结果集的顺序与入参不一致的问题。
新增
v2.2.16 - 2021-11-15
新增
- #4252 为
Hyperf\RpcClient\AbstractServiceClient新增getServiceName()方法。
优化
- #4253 在扫描阶段时,如果类库找不到,则跳过且报出警告。
v2.2.15 - 2021-11-08
修复
- #4200 修复当
runtime/caches不是目录时,使用文件缓存失败的问题。
新增
- #4157 为
Hyperf\Utils\Arr增加Macroable支持。
v2.2.14 - 2021-11-01
新增
修复
v2.2.13 - 2021-10-25
新增
- #4159 为
Macroable::mixin方法增加参数$replace,当其设置为false时,会优先判断是否已经存在。
修复
- #4158 修复因为使用了
Union类型,导致生成代理类失败的问题。
优化
v2.2.12 - 2021-10-18
新增
- #4129 新增方法
Str::stripTags()和Stringable::stripTags()。
修复
v2.2.11 - 2021-10-11
修复
- #4101 修复 Nacos 使用的密码携带特殊字符时,密码会被
urlencode导致密码错误的问题。
优化
v2.2.10 - 2021-09-26
修复
v2.2.9 - 2021-09-22
修复
- #4061 修复
hyperf/metric组件与最新版本的prometheus_client_php存在冲突的问题。 - #4068 修复命令行抛出错误时,退出码与实际不符的问题。
- #4076 修复
HTTP服务因返回数据不是标准HTTP协议时,导致服务宕机的问题。
新增
- #4014 #4080 为
kafka组件增加sasl和ssl的支持。 - #4045 #4082 为
tracer组件新增配置opentracing.enable.exception,用来判断是否收集异常信息。 - #4086 支持收集接口
Interface的注解信息。
优化
- #4084 优化了注解找不到时的错误信息。
v2.2.8 - 2021-09-14
修复
- #4028 修复
grafana面板中,请求数结果计算错误的问题。 - #4030 修复异步队列会因为解压缩模型失败,导致进程中断随后重启的问题。
- #4042 修复因
SocketIO服务关闭时清理过期的fd,进而导致协程死锁的问题。
新增
- #4013 为
Cookies增加sameSite=None的支持。 - #4017 为
Hyperf\Utils\Collection增加Macroable。 - #4021 为
retry()方法中$callback匿名函数增加$attempts变量。 - #4040 为
AMQP组件新增方法ConsumerDelayedMessageTrait::getDeadLetterExchange(),可以用来重写x-dead-letter-exchange参数。
移除
- #4017 从
Hyperf\Database\Model\Collection中移除Macroable,因为它的基类Hyperf\Utils\Collection已引入了对应的Macroable。
v2.2.7 - 2021-09-06
修复
优化
- #4009 优化方法
MethodDefinitionCollector::getOrParse(),避免在 PHP8 环境下,触发即将废弃的错误。
新增
v2.2.6 - 2021-08-30
修复
- #3969 修复 PHP8 环境下使用
Hyperf\Validation\Rules\Unique::__toString()导致类型错误的问题。 - #3979 修复熔断器组件,
timeout变量无法使用的问题。 - #3986 修复文件系统组件,开启
SWOOLE_HOOK_NATIVE_CURL后导致 OSS hook 失败的问题。
新增
v2.2.5 - 2021-08-23
修复
新增
- code-generator 新增组件
code-generator,可以用来将Doctrine注解转化为PHP8的原生注解。
优化
- #3957 使用命令
gen:model生成getAttribute注释时,支持基于@return注释返回对应的类型。
v2.2.4 - 2021-08-16
修复
新增
- #3924 为
Consul服务注册中心增加配置项services.drivers.consul.check。 - #3932 为
AMQP消费者增加重新入队列的配置,允许用户返回NACK后,消息重入队列。 - #3941 允许多路复用的
RPC组件使用注册中心的能力。 - #3947 新增方法
Str::mask,允许用户对一段文本某段内容打马赛克。
优化
- #3944 封装了读取
Aspect元数据的方法。
v2.2.3 - 2021-08-09
修复
- #3897 修复因为
lightBeatEnabled导致心跳失败,进而导致Nacos服务注册多次的问题。 - #3905 修复
AMQP连接在关闭时导致空指针的问题。 - #3906 修复
AMQP连接关闭时,因已经销毁所有等待通道而导致失败的问题。 - #3908 修复使用了以
CoordinatorManager为基础的循环逻辑时,自定义进程无法正常重启的问题。
v2.2.2 - 2021-08-03
修复
- #3872 #3873 修复使用
Nacos服务时,因为没有使用默认的组名,导致心跳失败的问题。 - #3877 修复
Nacos服务,心跳会被注册多次的问题。 - #3879 修复热更新因为代理类被覆盖,导致无法正常使用的问题。
优化
- #3877 为
Nacos服务,增加lightBeatEnabled支持。
v2.2.1 - 2021-07-27
修复
- #3750 修复使用
SocketIO时,由于触发了一个不存在的命名空间,而导致致命错误的问题。 - #3828 修复在
PHP 8.0版本中,无法对Hyperf\Redis\Redis使用懒加载注入的问题。 - #3845 修复
watcher组件无法在v2.2版本中正常使用的问题。 - #3848 修复
Nacos组件无法像v2.1版本注册自身到Nacos服务中的问题。 - #3866 修复
Nacos实例无法正常注册元数据的问题。