大家好啊,GoFrame 框架今天发布了 v2.5.0 正式版本啦!

本次版本主要是对已有功能组件以及开发工具上的改进工作。其中,开发工具新增了 gf gen ctrl 命令,以规范化定义、开发 API 接口,增加控制器、SDK 的代码生成提高开发效率,以解决 Golang 工程开发中接口层面的规范和效率问题,详情请参考:接口规范 - gen ctrl。其他变更内容请参考以下 change logEnjoy!

Github ChangeLoghttps://github.com/gogf/gf/releases/tag/v2.5.0

完整代码变更: v2.4.0...v2.5.0,感谢本次所有的贡献开发者:

功能改进

  1. gdb

    1. 改进 ORM SQL 日志记录,操作的字段按照数据表字段定义顺序进行操作。
    2. 改进 HOOK 方法实现,支持修改 in 参数的 Table 字段后修改执行的表名。
    3. 新增 AllAndCount/ScanAndCount 方法,用于实现便捷的分页查询场景。
    4. 新增 Model.WhereOrNot/WhereOrPrefixNot 条件方法。
  2. gi18n

    1. 改进支持中文(Unicode)作为转译的键名。
  3. gclient

    1. 新增 Discovery 链式操作方法,用于设置本次请求的服务发现组件。
  4. ghttp

    1. 改进请求 Context 上下文处理,每次 Context 的变更将会影响底层的 http.Request 对象。以支持自定义 HTTP Handler 的数据交互场景。
    2. 新增 Endpoints 配置项支持,用于自定义 Server 的服务注册发现地址,而可以使用当前监听的地址。
  5. goai

    1. 改进参数校验识别,如果参数为必须参数,则在 OpenAPIv3 结果中进行标记。
  6. gsel

    1. 修复 RoundRobin 实现中 Endpoints 更新的锁机制问题。
  7. glog

    1. 新增 TimeFormat 配置,用于自定义日志输出的时间格式:日志组件 - 配置管理
    2. 改进 Rotation 实现,支持短运行程序的日志文件切分。
  8. gtag

    1. 新增 GetGlobalEnums 方法,用于获取全局注册的枚举类型。
  9. gutil

    1. 新增 DumpJson 方法,用于将任意类型变量按照 JSON 格式化打印到终端,便于人工阅读。
  10. gvalid

    1. 新增 enums 校验规则,用于实现枚举类型的自动识别和校验:数据校验 - 校验规则

社区组件

  1. 修复 contrib/registry/polaris 组件在多个服务端时的负载均衡问题。
  2. 改进 contrib/drivers/pgsql 在 TableFields 返回的 Index 字段序号统一从 0 开始。
  3. 改进 contrib/nosql/redis 新增用户配置项支持。
  4. 改进 contrib/rpc/grpcx 组件,grpcx.Server 新增 Endpoints 配置项支持,用于自定义服务注册发现的地址。
  5. 新增 contrib/sdk/httpclient 组件,用于本次版本新增的 gf gen ctrl 命令生成的 HTTP SDK 代码文件依赖库。
  6. 新增 contrib/trace/otlpgrpc 及 contrib/trace/otlphttp 组件,用以实现基于 OpenTelemetry 的链路跟踪统一对接组件。

开发工具

  1. 新增 gf gen ctrl 命令,用于编译 api 定义目录,自动生成规范的 controllerHTTP SDK 代码:接口规范 - gen ctrl

  2. 改进 gf gen dao 命令,新增 TypeMapping 特性,开发者可自定义数据表字段类型与生成的 Go 实体数据结构属性类型映射,并且可以方便引入第三方包类型(如 decimal 包以支持高精度类型):数据规范 - gen dao

  3. 改进 gf gen enums 命令,其中的 Prefix 参数改为 Prefixes,以支持多个生成枚举类型的包前缀指定:枚举维护 - gen enums

  4. 改进 gf gen service 命令:

    • 生成的 service 文件中,增加方法注释生成。
    • 当生成的 service 文件中存在 import 冲突时,自动生成 import alias
  5. 改进命令行封装,暴露 gfcmd.Command 类型,便于开发者可以继承扩展自定义命令行功能。

  6. 改进 gf docker 命令,将构建文件参数设置为非必须(考虑兼容),未来将会只用于 Docker 构建,不再耦合二进制构建功能。如果有完整构建需求,建议未来结合 gf build 功能共同使用。并更新项目工程模板的 make image 命令,使用 gf build+gf docker 命令实现。

  7. 改进 gf init 命令,修复在部分场景下初始化项目覆盖已存在的.git/.gitignore 目录及文件问题或权限报错问题。

  8. 改进 gf up 命令,修复在部分场景下的框架版本更新问题,以及在 windows 系统下的下载安装问题。

  9. 改进 gf version 命令,修复在部分场景下的框架版本识别问题。

  10. 修复 gf gen pbentity 命令,生成的 proto 文件实体数据结构的 float32/float64/[]byte 类型修改为 float/double/bytes 类型。

  11. 改进开发工具,部分命令可以不用显示配置 importPrefix 参数,如:gf gen dao/service

视频教程

欢迎大家三连支持:

GoFrame电商实战教程

GoFrame v2.5 版本发布,企业级 Golang 开发框架的更多相关文章

  1. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布

    (新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...

  2. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.7 版本发布

    历时数月,RDIFramework.NET V2.7 版本发布了,感谢大家的支持. RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系 ...

  3. go-wingui 2018 全新 v2.0 版本发布,包含重大更新!

    go-wingui 2018 全新 v2.0 版本发布,包含重大更新!使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术.使用delphi7重写 ...

  4. RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布

    RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V2.9 版本震撼发布 全新体验.全新感觉.2015钜献! 继上个版本“RDIFramework.NET V2.8版本发布”5 ...

  5. 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github

    4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...

  6. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增企业通(内部简易聊天工具)

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增企业通(内部简易聊天工具) RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用 ...

  7. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增岗位管理-WinForm部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改. ...

  8. JEECG 3.7.2版本发布,企业级JAVA快速开发平台

    JEECG 3.7.2版本发布 -  微云快速开发平台 JEECG是一款基于代码生成器的J2EE快速开发平台,开源界"小普元"超越传统商业企业级开发平台.引领新的开发模式(Onli ...

  9. JEECG 3.7.1 版本发布,企业级JAVA快速开发平台

    JEECG 3.7.1 版本发布,企业级JAVA快速开发平台 ---------------------------------------- Version:  Jeecg_3.7.1项 目:   ...

  10. JEECG 3.7.3 新春版本发布,企业级JAVA快速开发平台

    JEECG 3.7.3新春版本发布 -  微云快速开发平台 导读           ⊙精美Echart报表 ⊙二维码生成功能 ⊙Online接口改造采用JWT机制 ⊙智能菜单搜索 ⊙代码生成器模板优 ...

随机推荐

  1. 原来这就是所谓的 JSR!

    相信大家在学习 Java 的过程中,或多或少都见过 JSR 这个词.本篇文章就科普下什么是 JSR. 什么是 JSR ? JSR(Java Specification Requests),是指 Jav ...

  2. 2023云数据库技术沙龙MySQL x ClickHouse专场成功举办

    4月22日,2023首届云数据库技术沙龙 MySQL x ClickHouse 专场,在杭州市海智中心成功举办.本次沙龙由玖章算术.菜根发展.良仓太炎共创联合主办.围绕"技术进化,让数据更智 ...

  3. JVM面试和学习中需要注意的部分

    内存结构 1.方法区用来存储类加载的数据,例如类的名称,方法入口 2.JVM虚拟机栈用于存储线程,包括局部变量和方法参数 3.堆内存用来存储对象 4.方法区的规范实现:永久代和元空间 5.方法区 JV ...

  4. 2023-05-10:给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表 如果在二叉树中,存在一条一直向下的路径 且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值,

    2023-05-10:给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表 如果在二叉树中,存在一条一直向下的路径 且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值, ...

  5. 文心一言 VS chatgpt (3)-- 算法导论2.1

    一.以图 2-2 为模型,说明INSERTION-SORT 在数组 A=(31,41,59,26,41,58)上的执行过程. 文心一言: 以图 2-2 为模型,说明INSERTION-SORT 在数组 ...

  6. Create Vite App 支持 OpenTiny 啦🎉

    大家好,我是 Kagol,个人公众号:前端开源星球. 一个月前,日日自新写了一篇介绍 Create Vite App 开源项目的文章: 基于vite 4.x 快速搭建开箱即用,高度可定制化模版脚手架 ...

  7. 安装Visio 2016与原本的office冲突的最终解决方案

    一. 下载office visio 2016 二. 开始安装 但是提示卸载原本的office 三. 网上找寻答案 于是按照这篇文章https://jingyan.baidu.com/article/1 ...

  8. 微生物组分析软件 QIIME 2 安装小记

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. QIIME 2 是一个功能强大,可扩展,分散式的(decentralized)微生物组分析软件 ...

  9. ics-05

    挺有意思的一题 攻防世界->web->ics-05 打开题目链接,就是一个很正常的管理系统,只有左侧的可以点着玩 并且点到**设备维护中心时,页面变为index.php 查看响应 发现云平 ...

  10. MySQL-class

    1.数据库和SQL概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变的无处不在:它在电子商务.银行系统等众多领域都 ...