From 75756dd5fbf3984eca49852ee7fca0aead2d64d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=AD=E5=B7=9E=E6=98=8E=E5=A9=B3=E7=A7=91=E6=8A=80?= Date: Tue, 23 Jun 2026 23:19:26 +0800 Subject: [PATCH] =?UTF-8?q?release:=20v1.1.1=20=E8=A1=A5=E4=B8=81=E5=8F=91?= =?UTF-8?q?=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ServerConfig.Host 绑定地址字段 - 面向用户文案统一中文 - 修正 README 过时/错误描述(含会致启动失败的配置示例)+ 重写首段介绍 Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++- README.md | 10 +++++++++ app.go | 2 +- 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f924ce5..d63eda0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,64 @@ xlgo 框架更新日志。本文档遵循 [Keep a Changelog](https://keepachange --- +## [1.1.1] - 2026-06-23 + +> 本版本为 v1.1.0 的补丁发布:补 ServerConfig.Host 字段、统一面向用户文案为中文、修正 README 过时/错误描述。 + +### Added ✨ + +#### ServerConfig.Host(绑定地址) + +`server` 新增 `host` 字段,控制监听地址: + +- `host: ""`(默认)→ `:8080`,监听所有接口(0.0.0.0),向后兼容 +- `host: "127.0.0.1"` → `127.0.0.1:8080`,仅本机(前面有 nginx 时常用) +- `host: "10.0.0.5"` → 绑定内网网卡 + +避免生产环境无意暴露在 0.0.0.0。启动日志相应区分"所有接口"/指定地址。 + +### Changed 🔄 + +#### 面向用户文案统一中文 + +v1.1.0 前部分面向用户/调用的文案为英文,与其余中文文案不一致。本次统一为中文: + +- `middleware/recover.go`:`"Panic recovered"` → `"panic 已恢复"`;`"Panic: %v"` → `"服务器内部错误: %v"`(消除同文件内中英矛盾) +- `middleware/logger.go`:5 处日志消息(慢请求/请求错误/客户端请求错误/API 请求/请求)改中文 +- `middleware/metrics.go`:3 个 Prometheus `Help` 文本改中文 +- `app.go` / `database/manager.go` / `logger/logger.go`:英文 error 改中文 + +**保留英文**(非文案,属协议/约定/技术必需):JSON 字段名(`code`/`msg`/`data`)、health 探针状态枚举(`ok`/`error`/`disabled`)、Prometheus metric `Name`(命名规则限制)、`database/manager.go` 中匹配 MySQL 驱动错误串的英文(`"Access denied"` 等,改了会失效)、Redis/CSRF Token/JWT/OSS 等技术专有名词。 + +### Fixed 🐛 + +#### README 错误描述修正 + +v1.1.0 后 README 存在过时/错误描述,照抄会导致新用户启动失败,本次修正: + +- **删除目录结构里已移除的 `wire/` 段**(wire 包 v1.1.0 已删) +- **快速开始配置示例**:`jwt.secret` 补足 ≥32 字节(否则被 v1.1.0 `Validate` 拦截启动失败);`expire: 86400`(int 秒)改为 `expire: "24h"`(`time.Duration`),补 `refresh_expire`/`issuer`/`algorithm` +- `server` 段补 `host`/`read_timeout`/`write_timeout`/`idle_timeout`/`shutdown_timeout`/`response_mode` 字段 +- v1.0.2 更新日志标注 `WithWire` 已于 v1.1.0 移除 +- 目录结构补 v1.1.0 新文件:`middleware/metrics.go`、`middleware/timeout.go`、`router/metrics.go`、`config/validate.go`、`response/mode.go` +- 框架特性段重写为三组(架构可注入 / 生产就绪 / 基础功能),补全 v1.1.0 能力 +- 响应格式段补 `Mode` 开关(`ModeBusiness`/`ModeREST`)与 `Custom` API + +#### README 首段重写 + +原首段描述("轻量级 Web 开发框架,提供完整后端基础设施")过于普通化,适用于多数 Gin 脚手架,无辨识度。重写为: + +- tagline 点明核心差异:组件全部 Manager 化,简单调用与注入实例兼得 +- "为什么是 xlgo"段:对比一般 Gin 脚手架的包级单例痛点 + 对照代码 +- 5 条差异化卖点(可注入 / 生产就绪内置 / 零 Fatal / 默认轻量 / 可插拔方言) +- 30 秒上手极简可跑示例 + +### 升级说明 🛠️ + +从 v1.1.0 升级无破坏性变更,`go get github.com/EthanCodeCraft/xlgo-core@v1.1.1` 即可。`host` 字段默认空,行为与 v1.1.0 一致。 + +--- + ## [1.1.0] - 2026-06-23 > 本版本定位为 **HA & Manager 化 release**:高可用与生产就绪改进 + 组件 Manager 化。对应体检报告 #10-#24。 @@ -516,7 +574,8 @@ v1.0.2 引入可插拔方言注册表后,`gorm.io/driver/postgres` 成为直 - 基础框架功能 - 完整示例代码 -[Unreleased]: https://github.com/EthanCodeCraft/xlgo-core/compare/v1.1.0...HEAD +[Unreleased]: https://github.com/EthanCodeCraft/xlgo-core/compare/v1.1.1...HEAD +[1.1.1]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.1.1 [1.1.0]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.1.0 [1.0.4]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.0.4 [1.0.3]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.0.3 diff --git a/README.md b/README.md index 522f7e7..afc165c 100644 --- a/README.md +++ b/README.md @@ -819,6 +819,16 @@ docker run -d -p 8080:8080 xlgo-app:latest > 完整变更历史见 [CHANGELOG.md](./CHANGELOG.md)。 +### v1.1.1 (2026-06-23) + +> v1.1.0 的补丁发布:补 `ServerConfig.Host` 绑定地址、面向用户文案统一中文、修正 README 过时/错误描述(含会致启动失败的配置示例)。 + +- **ServerConfig.Host** - `server.host` 控制监听地址,空=所有接口(兼容),`127.0.0.1`=仅本机,内网 IP=绑定指定网卡 +- **文案统一中文** - recover/logger/metrics 等面向用户文案统一中文(保留协议字段名、Prometheus metric Name、MySQL 错误串匹配等英文) +- **README 修正** - 删 wire 段、修配置示例(secret≥32 字节 + expire 改 Duration)、补 v1.1.0 新文件、重写首段介绍 + +升级:`go get github.com/EthanCodeCraft/xlgo-core@v1.1.1`(无破坏性变更) + ### v1.1.0 (2026-06-23) > 本版本定位为 **HA & Manager 化 release**:高可用与生产就绪改进 + 组件 Manager 化。含少量破坏性变更,升级前请阅读 [CHANGELOG 升级说明](./CHANGELOG.md#升级说明)。 diff --git a/app.go b/app.go index 9016586..77634a8 100644 --- a/app.go +++ b/app.go @@ -27,7 +27,7 @@ import ( // Version 框架版本号。发版时只改这一处,避免版本字面量散落各处。 // CLI(xlgo version)、脚手架生成的 go.mod 等均引用此常量。 -const Version = "1.1.0" +const Version = "1.1.1" // HealthCheckFunc 健康检查函数 type HealthCheckFunc func(context.Context) error