Imi Versions Save

imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman、RoadRunner 等多种容器环境下。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。特别适合互联网微服务、即时通讯聊天im、物联网等场景!QQ群:17916227

v2.1.52

8 months ago

增强

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

  • 支持 Swoole IPv6 (#573)

修复

  • 修复在特定情况 PDO 捕获异常做离线检测 errorInfo 为 null 时的错误 (#576)

  • 修复 AOP 热更新不生效 (#574)

  • 修复 AOP 引用参数传 null 时无法正确获取到值 (#572)

v2.0.59

8 months ago
  • 修复在特定情况 PDO 捕获异常做离线检测 errorInfo 为 null 时的错误 (#576)

  • 修复 AOP 热更新不生效 (#574)

  • 修复 AOP 引用参数传 null 时无法正确获取到值 (#572)

v2.1.51

9 months ago

增强

  • 模型关联支持跨数据库和跨连接池场景,模型关联注解新增 poolName 参数

  • 模型 @JsonDecode 注解新增 arrayWrap 参数 (#569)

优化

  • 回滚代码 (#568)

修复

  • 修复带 distinct 的分页查询器,记录数量返回不正确 (#571)

  • 修复 whereBrackets 返回非数组值时,生成的 SQL 不带括号 (#571)

  • 修复 PostgreSQL 模型在没有自增主键情况下使用 save() 执行错误的 SQL 语句 (#570)

  • 修复 Redis 模型的虚拟字段也会被保存的问题 (#567)

  • 修复 RedisModel 使用 Serializable、Serializables 注解后,影响保存的数据 (#566)

  • 修复 Swoole pgsql Statement 绑定 bool 类型值 (#565)

v2.0.58

9 months ago
  • 修复 RedisModel 使用 Serializable、Serializables 注解后,影响保存的数据 (#566)

  • 修复 Redis 模型的虚拟字段也会被保存的问题 (#567)

v2.1.50

10 months ago

What's Changed

Full Changelog: https://github.com/imiphp/imi/compare/v2.1.49...v2.1.50

v2.0.57

10 months ago
  • 修复一些可能存在的数组键名是 int 类型时的错误 (#563)

v2.1.49

10 months ago

增强

  • Redis 模型支持安全删除记录 (#560)

  • Redis 模型 hash_object 模式支持设置字段类型(json/list/set) (文档) (#560)

  • Redis 模型 hash_object 模式在不启用 redis 序列化情况下支持强类型字段 (#560)

优化

  • RedisModel::find()、generateKey()、generateMember() 改为参数非必传 (#560)

  • 优化容器单例对象当 __construct() 或 __init() 有协程上下文切换,不会导致单例被覆盖 (#562)

  • 优化代码 (#561)

修复

  • 修复 syncConnect 在 SWOOLE_PROCESS 模式也会生效 (#554)

v2.1.48

10 months ago

增强

  • 支持 MySQL 高性能分页查询(大表分页类) (#542)

  • 生成模型相关改进 (#537)

  • 数据库迁移组件(imi-migration),支持一种新的迁移方式

优化

  • 优化软删除查询构建器及时释放内存(非泄露) (#547)

  • 简化框架配置 (#543)

  • 优化了一些代码

  • 改进服务相关 (#541)

  • 优化启动服务命令,修复 swoole 启动服务指定 workerNum 参数无效

  • 设置 Workerman 进程名称

修复

  • 修复 Swoole 下等待连接事件执行完才执行 receive 的机制偶尔会失效 (#551)

  • 修复 ConnectionContextStore 初始化 (#552)

  • 修复可能存在的定时器未捕获错误 (#550)

  • 修复事务嵌套时,事件触发不正确 (#548)

  • 修复事件名称是动态设定时,仅触发一次的事件被执行后,有残留数据导致内存泄漏 (#546)

  • 修复 SWOOLE_PROCESS 模式获取 master 进程 pid (#545)

  • 修复生成模型基类中的 ddlDecode 值有时不正确

  • 修复配置 beanScan 后扫描命名空间错误 (#540)

  • 修复同一个目录被多个命名空间映射,扫描报错 (#540)

  • 修复 AnnotationManager 获取注解方法,传入 $onlyFirst=true 找不到注解时特定情况不返回 null (#538)

  • 修复极端情况下某些类初始化不完全 (#553)

其它

  • 完善了一些测试

  • 更新了一些文档

  • 修复覆盖率测试和偶发测试失败 (#539)

  • 修复 Windows 测试 Workerman Gateway,启动服务时端口检测不完全

  • 每天北京时间 0 点定时测试 PHP8.2 + Swoole master 分支(pdo_pgsql hook 跑通)

  • 更新 php-cs-fixer 版本 (#536)

v2.0.56

10 months ago

v2.1.47

11 months ago

增强

  • 数据库查询构建器支持全文搜索(MySQL+PostgreSQL) (#533) (文档)

  • 支持 PostgreSQL 生成模型配置 bean 和 incrUpdate 参数 (#524)

  • 增强:Imi\Lock\Lock 类中的相关方法增加 $lockId 参数 (#520) (文档)

  • pgsql 模型字段的创建更新时间 time、timetz、timestamp、timest 支持设置时间精度 (文档)

  • 支持绑定上传文件对象到控制器方法参数 (#531) (文档)

优化

  • 统一静态类声明方式

  • 优化:非 Swoole、Workerman 环境使用 Timer 抛出异常

  • 删除无用类

  • 优化模型 DDL 注解的 decode 参数,允许设为 null

  • 优化 pgsql 插入数据获取最后插入ID的性能

  • 改进模型自动创建时间和更新时间 (#525)

  • 优化格式化可读字节单位算法

  • 优化了一些代码

修复

  • 修复并标记废弃 Imi\Util\DateTime::getLastWeek(),增加 Imi\Util\DateTime::getPrevWeek()

  • 修复 DelayServerBeanCallable、DelayBeanCallable 引用返回值

  • 修复 Imi\Util\File::enumFile()、Imi\Util\File::enumFileSync() 错误的返回值注释

  • 修复 FilterableList

  • 修复 Request::getRequestTarget() 错误的值、ServerRequest::post() 不支持非数组、MemoryStream 偏移量处理

  • 修复 Imi\Util\Text::endwith()

  • 修复 PHP 8.2 兼容性(Creation of dynamic property)

  • 修复事务嵌套,部分回滚事务

  • 修复数据库驱动 lastStmt 赋值类型错误

  • 修复非 POST 请求使用 getParsedBody() 无法获取 JSON 反序列化数据 (#523)

  • 修复 Swoole 5 PostgreSQL 客户端 lastInsertId

  • 修复 Swoole BASE 模式下获取 masterPid 错误 (#526)

  • 修复 BASE 模式下使用 masterPID 的地方改用 managerPID

  • 修复查询构建器 join 方法传入 $where 参数的报错 (#529)

  • 修复 pgsql 生成模型,计算长度和精度的错误

  • 修复判断事务时Db实例错误 (#532)

  • 修复在 pgsql 字段默认值是表达式时,模型字段默认值不正确的问题 (#534)

  • 修复数据库驱动 Statement 类在未查询时也会更新最后插入ID的问题 (#535)

测试

  • 提升测试覆盖率,多项修复和改进 (#518)

文档

  • 优化中文分词搜索算法,搜索结果更加精确

  • 数据库迁移组件文档中,生成同步命令由migration/patch 修改migration/dump (#528)

  • 完善文档 (#530)

计划废弃

  • 计划废弃 Imi\Model\ModelManager 类

New Contributors

Full Changelog: https://github.com/imiphp/imi/compare/v2.1.46...v2.1.47