Skip to content

Releases: alioth-center/infrastructure

v1.2.19

10 Oct 10:59
5c68322
Compare
Choose a tag to compare

Ci

  • conf: 修改 ci 配置

Feat

  • cli: 添加 geoip 和 json format 的工具方法
  • database: 为 database 实现 gorm logger 并添加配置方法
  • network: 为 network 包添加判断 ip 是否有效的方法和对应的测试样例
  • openai: 为 openai api 添加图片支持和流式支持
  • utils: 添加判断 ip/cidr 是否合法,判断 ip 是否在 cidr 内的方法

Fix

  • database: 适配 database 单元测试
  • logger: 修复 logger level 失效的问题
  • openai: 优化 openai 测试的提示词,避免 openai 的智障导致测试失败
  • openai: 适配 openai 的单元测试用例
  • openai: 修复 openai client createSpeech 节点的实现错误

Perf

  • openai: 优化参数传递
  • openai: 使用 sse 封装优化 openai 流式逻辑

Refactor

  • http: 为 http context 新增了 ClientIP 方法获取请求的真实 IP,完善了注释和测试

v1.2.18

05 Sep 16:04
6f2edc1
Compare
Choose a tag to compare

Chore

  • 给上下文新增原始请求,预处理后恢复请求体内容
  • readme: 添加 wakatime 时间 badge

Feat

  • database: 拓展 database.v2 非模板的 raw sql 执行能力
  • database: 添加 database.v2 的 rawsql 能力并拓展接口
  • database: 为 database 添加一个用于构建子查询的方法
  • database: 为 database 添加两个构建 column 的方法
  • database: 引入 DatabaseV2 接口并实现其基本方法
  • database-column: 添加生成数据库列定义文件的功能
  • http: 添加 http 模块的 base response 结构
  • utils: 添加一个判断是否为内网 IP 的工具方法
  • values: 拓展字符串构建部分屏蔽数据方法

Fix

  • database-column: 修复 database-column 工具在 linux 环境下无法使用的问题
  • openai: 修复 break 修改对应的测试用例

Refactor

  • generator: 改进代码生成注释的方式
  • openai: 为 openai client 添加 context 参数

Style

  • database: golanglint-ci format fix
  • database-column: golangci-lint fix
  • engine: 修复 engine 中的冗余判断
  • http: golangci-lint format fix

v1.2.17

30 Jul 02:16
35d0e70
Compare
Choose a tag to compare

版本发布说明

版本 1.2.16 - 2024-06-28

杂项更新

  • 更新了 golangci-lint 以修复问题。
  • 更新了 README,添加了贡献者列表。
  • 更新了变更日志。

配置更新

  • 配置了 codecov,忽略无法测试的驱动和第三方实现。
  • 使变更日志工作流可以手动触发。

新功能

  • 添加了 openai.clientembedding 接口及相关测试。
  • 添加了 openai.client 的测试。
  • openai.client 添加了 CalculateToken 方法,可以计算文本占用的令牌数量。
  • 添加了三目运算符的函数实现及对应的测试方法。
  • 添加了彩云天气的第三方集成。
  • http.client 添加了一个接收 url.Values 的方法。
  • 添加了新的 Logger 实现,它不会进行任何日志,适用于测试文件。

修复

  • 修复了 golangci-lint 中的错误。
  • 修复了 GitHub Actions 工作流中的问题。

更新

  • 升级了 Golang 版本和 go.mod 依赖。
  • 更新了 openai 的接口封装,适配最新版本。

详细变更

文件重命名

  • .chglog/CHANGELOG.tpl.md -> .chglog/changelog.tpl.md
  • CHANGELOG.md -> changelog.md

配置更改

  • 更新 .chglog/config.yml 以使用新的变更日志模板和标题。

开发脚本

  • 增强 .develop/develop_test.cmd.develop/develop_test.sh,清理测试日志并生成差异文件。
  • 添加命令以清理日志文件并生成差异文件。

GitHub Actions

  • 更新 .github/workflows/changelog.yaml 以使用新的变更日志文件名。

.gitignore

  • 添加模式以忽略 .jsonl.diff 文件。

缓存驱动

  • 更新 cache/memory/driver.gocache/redis/driver.go,使用 RegisterExitEvent 进行退出处理。

配置加载器

  • 重构 config/config.go,使用预定义的错误自 config/errors.go

数据库驱动

  • 从数据库配置中移除未使用的日志选项(database.goimplement.gomysql/config.gopostgres/config.gosqlite/config.go)。
  • 更新数据库驱动以使用 RegisterExitEvent 进行退出处理。

日志

  • 用预定义错误替换自定义错误处理。
  • 引入新的日志选项和自定义日志实现。

HTTP 增强

  • network/http/define.go 中添加新的常量和类型。
  • 更新 network/http/endpoint.gonetwork/http/engine.go,在非发布模式下处理堆栈跟踪错误。
  • 改进了 network/http/preprocessor.go 中的请求体验证。

RPC 引擎

  • 更新 network/rpc/engine.go 以使用 RegisterExitEvent 进行退出处理。

第三方集成

  • 更新 thirdparty/tencent/cls/client.go 以使用 RegisterExitEvent 进行退出处理。

跟踪增强

  • trace/context.gotrace/stack.go 中添加了新的实用函数以进行堆栈跟踪和上下文管理。

并发实用工具

  • utils/concurrency/errors.go 中添加了并发操作的自定义错误。

时区实用工具

  • utils/timezone/errors.go 中添加了时区操作的自定义错误。

测试

  • 添加并更新了各模块的单元测试,以确保新功能和修复得到覆盖。

本次发布带来了显著的增强和修复,包括 OpenAI 客户端的新功能、改进的日志机制以及 HTTP 和 RPC 服务器中的更好错误处理。配置和开发脚本也已更新,以简化开发工作流。

v1.2.16

28 Jun 05:28
fb3c21b
Compare
Choose a tag to compare

Chore

  • golangci-lint fix
  • 更新readme,添加贡献者列表
  • update CHANGELOG

Conf

  • 配置 codecov 忽略无法测试的驱动与三方实现
  • 使ChangLog工作流可以手动触发

Feat

  • 添加了 openai.client 的 embedding 接口与相关测试
  • 添加了 openai.client 的测试
  • 为 openai.client 添加了 CalculateToken 方法,可以计算文本所占用的 token 数量
  • 添加三目运算符的函数实现与对应测试方法
  • 添加彩云天气的第三方集成
  • 为http.client添加一个接收url.Values的方法
  • 添加新的Logger实现,它不会进行任何日志,并且适配测试文件

Fix

  • 修复 golangci-lint 错误
  • 修复GitHub Actions中的报错

Update

  • 升级 golang 版本和 go.mod 依赖
  • 更新 openai 的接口封装,适配最新的版本

v1.2.15

04 Jun 02:28
4755e47
Compare
Choose a tag to compare

Chore

  • update CHANGELOG

Conf

  • 移除codefactor集成,将changelog更改为release时触发
  • 配置codefactor和changelog的设置
  • 更新 git-chglog 工作流配置,调整为在 pr 时触发
  • 更新 git-chglog 工作流配置,添加 debug 输出
  • 更新 git-chglog 工作流配置

Fix

  • 修复 HTTP 模块中的部分硬编码用例
  • 修复依赖,执行golangci-lint

Init

  • 初始化 README 文档

Optimize

  • 优化了cli的实现结构,添加了config的写入功能

Update

  • 添加了http模块的部分单元测试用例
  • 为 http 模块新增单元测试内容
  • 为cli添加 go-prompt 依赖并简单定义了接口

v1.2.14

12 May 05:22
915ca84
Compare
Choose a tag to compare

Added:

  1. http.Engine 模块添加了内建中间件实现,包括两个内置日志追踪器
  2. http.Engine 模块添加了自定义 gin 中间件的支持,该中间件会在框架介入前被插入链路中
  3. http.Engine 模块添加了根据配置自动构建路由并启动服务的功能
  4. utils 包的 arrays, values 添加了工具函数
  5. trace 包新增了一个上下文构建函数

Updated:

  1. 优化了 http.Client 模块的上下文注入,现在会自动将跟踪ID注入到请求头中,以实现跨服务传递
  2. 根据 golangci-lint 优化了代码

v1.2.13

26 Apr 07:41
42200e2
Compare
Choose a tag to compare

Added

  1. 添加了 ISO/RFC 中定义的枚举,国家,语言,货币,时间戳等
  2. 添加了 CLS 日志器集成
  3. 新增了 HTTP API 端点构建器和端点组
  4. 新增了工具函数,包括数组,反射等

Updated

  1. 优化了 API 端点构建逻辑
  2. 优化了日志实现
  3. 优化了 concurrency 实现

v1.2.12

22 Mar 07:40
fdcdc3b
Compare
Choose a tag to compare

Fixed:

  1. 修复了 http server 重复响应的错误与500覆写的错误

Updated:

  1. 更新项目依赖
  2. 重构了trace.Context的实现,优化了方法签名
  3. 重构了http客户端实现,改为了请求构建器加客户端的方式,并支持mock
  4. 重构了http服务端实现,优化了预处理方式

Added:

  1. 添加了StringTemplate的实现,引入了反射处理,适配了单元测试
  2. 优化thirdparty/openai的错误处理机制

v1.2.11

05 Feb 03:39
37067fd
Compare
Choose a tag to compare

Added:

  1. trace 包添加了 NewContext, NewContextWithTid, GetClientIPFromPeer 几个函数
  2. logger 包暴露了 Export 方法,用于增强自定义实现的拓展性,删除了 init 方法

Updated:

  1. 重构了 timezone 包,增加了 UTC 时区集合,可以直接根据UTC时区指定参数

v1.2.10

04 Feb 05:29
1cef0eb
Compare
Choose a tag to compare

Fixed:

  1. 修复了 1e45b46unsafe 包可能导致的问题

Added:

  1. concurrency 并发工具包中添加了 Slice 接口和 Map 接口,并提供了实现,用于并发安全的切片和字典操作
  2. encrypt 加密工具包中添加了 RSA 算法的接口和实现
  3. http 客户端实现中添加了两个方法用于复用请求
  4. logger 日志器中添加了一个拓展构造函数,用于自定义实现
  5. database 数据库工具包中添加了一个模板解析器,用于构建 raw sql 语句,实现模板替换和注入防御
  6. database 数据库工具包和 orm 数据库拓展中添加了事务接口和实现,拓展事务处理功能

Updated:

  1. 更新了 go-gin 相关的依赖项
  2. cache 缓存模块添加了 DriverName 用于标识自身的实现类型
  3. 清理了 rpc 模块中的无效代码
  4. 更新了 .gitignorecodecov 的相关配置