v2.0-v2.1 升级指南

    目录

    v2.0 是一个非常成功的 LTS 版本,进行了底层重构,增加了强类型规范化以及功能增强,让我们的项目拥有了更强大的能力。

    相比于 v2.0 版本,v2.1 版本不会有太大的不兼容性更改,可以在参考本页说明的情况下平滑升级。

    不兼容的更改

    • Swoole 最低版本从 4.7 升级为 4.8。
    • RedisModelMemoryTableModel 初始化数据时,@Column 注解配置的 type 将不生效。jsonlist 类型字段不会自动处理,此特性仅支持数据库表模型。
    • 在使用 \Imi\Swoole\Process\Pool 调用 start() 方法启动进程池后,请使用 wait() 方法等待进程池结束。
    • Swoole CronProcess 的 Unix Socket 文件名已更改。

    新功能

    v2.1.63

    发布日期: 2024-00-00

    • 支持后置 Where 条件

    v2.1.61

    发布日期: 2024-02-19

    • 支持在模型中使用枚举类型的属性值 (#674)
    • 支持在控制器方法中使用枚举类型的属性值 (#675)
    • 支持枚举和联合类型的控制器方法参数 (#676)

    v2.1.60

    发布日期: 2024-01-19

    • 支持 YurunHttp 5.0 (#672)

    v2.1.58

    发布日期: 2023-11-20

    • PHP 原生枚举深度支持 (#646)

    v2.1.56

    发布日期: 2023-10-14

    • 新增获取应用请求地址方法 (#587)
    • 支持获取限流桶内可用数量 (#588)

    v2.1.53

    发布日期: 2023-09-01

    • 增强 whereBrackets,支持查询条件收集器 (#580) (文档)

    v2.1.52

    发布日期: 2023-08-18

    • 支持在分页查询时指定查询记录数量时的字段 (#575)

    v2.1.51

    发布日期: 2023-08-05

    • 模型关联支持跨数据库和跨连接池场景,模型关联注解新增 poolName 参数
    • 模型 @JsonDecode 注解新增 arrayWrap 参数 (#569)

    v2.1.49

    发布日期: 2023-07-10

    • Redis 模型支持安全删除记录 (#555)
    • Redis 模型 hash_object 模式支持设置字段类型(json/list/set) (文档) (#560)
    • Redis 模型 hash_object 模式在不启用 redis 序列化情况下支持强类型字段 (#560)
    • RedisModel::find()、generateKey()、generateMember() 改为参数非必传 (#560)

    v2.1.48

    发布日期: 2023-07-03

    • 支持 MySQL 高性能分页查询(大表分页类) (#542)
    • 生成模型相关改进 (#537)
    • 数据库迁移组件(imi-migration),支持一种新的迁移方式

    v2.1.47

    发布日期: 2023-06-09

    • 支持 PostgreSQL 生成模型配置 beanincrUpdate 参数 (#524)
    • 增强:Imi\Lock\Lock 类中的相关方法增加 $lockId 参数 (#520)
    • pgsql 模型字段的创建更新时间 timetimetztimestamptimest 支持设置时间精度 (#527)
    • 模型自动创建时间和更新时间传入值时,不再自动更新时间 (#525)
    • 支持绑定上传文件对象到控制器方法参数 (#531)
    • 数据库查询构建器支持全文搜索(MySQL+PostgreSQL) (#533)

    v2.1.46

    发布日期: 2023-05-12

    v2.1.45

    发布日期: 2023-04-29

    • 异步执行新增 @Defer@DeferAsync 注解 (文档)
    • 支持优雅的 SSE 服务端推送功能 (文档)

    v2.1.43

    发布日期: 2023-04-07

    • 增加环境变量 IMI_SCAN_STATISTICS,支持关闭输出扫描阶段的日志 (#488) (文档)
    • 新增内存缓存驱动 (#490) (文档)

    v2.1.41

    发布日期: 2023-03-31

    • 查询构建器 fieldRaw()joinRaw()whereRaw()orWhereRaw()groupRaw()havingRaw()orderRaw()setFieldExp()setFieldInc()setFieldDec() 支持传参数绑定

    v2.1.40

    发布日期: 2023-03-24

    v2.1.39

    发布日期: 2023-03-10

    v2.1.36

    发布日期: 2023-02-03

    v2.1.34

    发布日期: 2022-12-16

    v2.1.33

    发布日期: 2022-12-03

    • ProtobufUtil::getMessageValue() 支持可遍历对象,无法处理的原样返回

    v2.1.32

    发布日期: 2022-11-25

    • Listener 注解支持设置事件仅触发一次 (#458)

    v2.1.31

    发布日期: 2022-11-18

    • 兼容 PHP 8.2 (#441)
    • 支持 PHP 8.2 交叉类型
    • 支持 PHP 8.2 只读类

    v2.1.30

    发布日期: 2022-10-28

    • 支持 AOP 切入带有引用返回值的方法 (#450)
    • 新增 imi-influxdb 组件
    • 支持服务指标监控 InfluxDB 驱动
    • 支持服务指标监控 TDengine InfluxDB 兼容驱动

    v2.1.29

    发布日期: 2022-10-14

    • 服务发现(负载均衡)
    • 调用链路追踪 OpenTracing(Zipkin、Jaeger)
    • 重构骨架项目:增加模块划分、自动格式化、代码静态分析、自动化测试,更加符合实际项目的开发
    • Imi\Grpc\Util\ProtobufUtil::setMessageData() 增加参数 $ignoreUnknown,可以忽略未知字段
    • 新增 Imi\Grpc\Util\ProtobufUtil::newMessage()Imi\Grpc\Util\ProtobufUtil::newMessageArray()
    • 增强 BeanFactory::getObjectClass() 支持字符串
    • 增强 @Column 注解的 createTimeupdateTime 支持传入 int 值,表示时间精度,仅 bigintint8 有效 (#445)

    v2.1.28

    发布日期: 2022-09-23

    • 新增数据库迁移
    • 支持在非 cli 环境执行 Imi\Util\Imi::getImiCmd()Imi\Util\Imi::getImiCmdArray()

    v2.1.27

    发布日期: 2022-09-16

    • 实现模型发号器,支持 UUID、雪花算法 (#430) (文档)
    • 新增 RequestParam 注解 (#432) (文档)

    v2.1.24

    发布日期: 2022-08-27

    v2.1.23

    发布日期: 2022-08-20

    • 支持模型序列化 (#412)

    v2.1.22

    发布日期: 2022-08-13

    • gRPC 的 HTTP 代理网关
    • 新增命令行工具的 --bootstrap 参数
    • 支持在 Swoole BASE 模式下获取所有 Worker 连接数
    • 支持模型增量更新

    v2.1.20

    发布日期: 2022-07-22

    • PDO 驱动绑定值支持 resource 类型使用 \PDO::PARAM_LOB

    v2.1.19

    发布日期: 2022-07-15

    v2.1.18

    发布日期: 2022-07-02

    v2.1.17

    发布日期: 2022-06-24

    v2.1.16

    发布日期: 2022-06-17

    v2.1.15

    发布日期: 2022-06-10

    • 新增 @EnvValue 注解 (文档)

    v2.1.11

    发布日期: 2022-05-07

    • 在 Model 中支持 MySQL 数据类型 set

    v2.1.9

    发布日期: 2022-04-16

    v2.1.8

    发布日期: 2022-04-08

    v2.1.7

    发布日期: 2022-04-02

    v2.1.6

    发布日期: 2022-03-20

    v2.1.5

    发布日期: 2022-03-11

    • 实现 WebSocket、Tcp、Udp 异常处理器

    v2.1.4

    发布日期: 2022-03-04

    v2.1.2

    发布日期: 2022-02-18

    v2.1.1

    发布日期: 2022-02-12

    v2.1.0

    发布日期: 2022-01-21