release: v1.0.4 DX & Docs release

v1.0.4 定位为 DX & Docs release,开发体验与文档改进,无破坏性 API 变更。
对应体检报告 #25/#27/#28/#29/#30(代码改动已在 deb3cc7 提交)。

本 release commit:
- app.go const Version bump 1.0.3 → 1.0.4
- CHANGELOG 新增 [1.0.4] 章节(Added/Changed + 升级说明)
- CHANGELOG 底部链接补 [1.0.4],修正 [1.0.2] 指向(无 v1.0.2 tag,改 compare 链接)
- README 更新日志补 v1.0.4 (2026-06-22) 摘要

v1.0.4 内容:
- #28 CLI 多模板(minimal/api/fullstack)
- #29 examples/ 目录(minimal + full 可运行示例)
- #25 模块路径文档改进(保留 -core,明确 module path vs package name)
- #27 Without* Option 定位文档化
- #30 文档结构(规划文档归档 docs/plans/)

build/vet/test 全绿,xlgo version → v1.0.4。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
杭州明婳科技
2026-06-22 23:28:46 +08:00
parent deb3cc71bf
commit 07b87e1fa0
3 changed files with 89 additions and 3 deletions
+76 -2
View File
@@ -14,6 +14,79 @@ xlgo 框架更新日志。本文档遵循 [Keep a Changelog](https://keepachange
---
## [1.0.4] - 2026-06-22
> 本版本定位为 **DX & Docs release**:开发体验与文档改进,无破坏性 API 变更。对应体检报告 #25/#27/#28/#29/#30。
### Added ✨
#### CLI 多模板(#28
`xlgo new` 新增 `--template` 参数,支持三种脚手架模板:
```bash
xlgo new myapp --template minimal # 轻量 HTTP,无 MySQL/Redis 依赖
xlgo new myapp --template api # 标准业务 API,含分层目录(默认)
xlgo new myapp --template fullstack # 全组件,NewFullStack 一键启用
```
- `minimal`:仅 logger + health + 示例路由,目录结构最小化,第一次接触 xlgo 从这里开始
- `api`:含 handler/model/repository/service 分层 + MySQL/Redis/JWT 配置(默认模板)
- `fullstack``NewFullStack` 全组件 + Swagger + Storage
#### examples/ 目录(#29
新增两个可运行示例,帮助快速上手:
- `examples/minimal/` — 50 行可跑,不依赖外部服务
- `examples/full/` — MySQL + Redis + JWT + user CRUD 完整示例(登录发 token、认证路由、创建/查询用户)
- `examples/README.md` — 运行说明与接口文档
#### docs/ 文档结构(#30
- 新增 `docs/` 目录,`docs/plans/` 归档历史规划与体检报告
- 新增 `docs/README.md` 文档索引
- `Version_Update_Plan_v1.0.2.md``docs/plans/`
- `Version_v1.0.2_report.md``docs/plans/`
- 早期 `report.md``docs/plans/v2.0-review.md`
- `CHANGELOG.md` / `GUIDE.md` 按惯例保留在仓库根目录
### Changed 🔄
#### 模块路径文档改进(#25
经评估**保留** `xlgo-core` 模块路径——`-core` 后缀反映这是 xlgo 多产品系列(xlgo-core / xlgo-orm / xlgo-ai ...)的核心产品,不去掉。模块路径(`github.com/EthanCodeCraft/xlgo-core`)与包名(`xlgo`)不同是 Go 惯例(cf. `github.com/gin-gonic/gin` → 包名 `gin`)。
改进文档说明,消除新用户 `go mod tidy` 撞墙的困惑:
- README 快速开始新增「模块路径与包名」小节,给出完整 import 示例:
```go
import xlgo "github.com/EthanCodeCraft/xlgo-core"
```
- CLAUDE.md `Import Path Note` 措辞明确化,说明 module path / package name / `-core` 语义
#### Without* Option 定位文档化(#27
经调研 `Without*` 系列 Option 有真实用例(测试覆盖「先开再关」语义 + `NewFullStack` 后排除单项),**不删除、不标 Deprecated**,改为文档化其定位:
- `app.go` `WithoutLogger` 注释说明:`Without*` 主要用于 `NewFullStack` / `RunFullStack` 启用全部组件后排除个别项
- README 快速开始补充用法说明:`xlgo.NewFullStack(xlgo.WithoutSwaggerRoutes())`
### 依赖与构建
- `.gitignore` 整理:忽略 `CLAUDE.md`、构建产物(`*.exe` / `bin/`)、临时发版文件(`gitHub_release_*.md`
### 升级说明
v1.0.4 **无破坏性变更**,从 v1.0.3 升级只需:
```bash
go get github.com/EthanCodeCraft/xlgo-core@v1.0.4
go mod tidy
```
---
## [1.0.3] - 2026-06-22
> 本版本定位为 **bug fix release**:收口 v1.0.2 引入的破坏性清理,并修复 4 个轻量 bug + 依赖复查。
@@ -341,8 +414,9 @@ v1.0.2 引入可插拔方言注册表后,`gorm.io/driver/postgres` 成为直
- 基础框架功能
- 完整示例代码
[Unreleased]: https://github.com/EthanCodeCraft/xlgo-core/compare/v1.0.3...HEAD
[Unreleased]: https://github.com/EthanCodeCraft/xlgo-core/compare/v1.0.4...HEAD
[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
[1.0.2]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.0.2
[1.0.2]: https://github.com/EthanCodeCraft/xlgo-core/compare/v1.0.1...v1.0.3
[1.0.1]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.0.1
[1.0.0]: https://github.com/EthanCodeCraft/xlgo-core/releases/tag/v1.0.0
+12
View File
@@ -734,6 +734,18 @@ docker run -d -p 8080:8080 xlgo-app:latest
> 完整变更历史见 [CHANGELOG.md](./CHANGELOG.md)。
### v1.0.4 (2026-06-22)
> 本版本定位为 **DX & Docs release**:开发体验与文档改进,无破坏性 API 变更。
- **CLI 多模板** - `xlgo new --template minimal/api/fullstack`,支持轻量 HTTP / 标准业务 / 全组件三种脚手架
- **examples/ 目录** - 新增 `examples/minimal`(无依赖可跑)与 `examples/full`mysql+redis+jwt+user CRUD)可运行示例
- **模块路径文档** - 明确说明 module path `xlgo-core` 与 package name `xlgo` 的关系,补完整 import 示例(保留 `-core`xlgo 多产品系列)
- **Without* 定位** - 文档化 `Without*` Option 主要用于 `NewFullStack` 后排除单项
- **文档结构** - 规划文档归档到 `docs/plans/`,新增 `docs/README.md` 索引
升级:`go get github.com/EthanCodeCraft/xlgo-core@v1.0.4`(无破坏性变更)
### v1.0.3 (2026-06-22)
> 本版本定位为 **bug fix release**:收口 v1.0.2 引入的破坏性清理,并修复 4 个轻量 bug + 依赖复查。完整说明见 [CHANGELOG.md#unreleased](./CHANGELOG.md#unreleased)。
+1 -1
View File
@@ -24,7 +24,7 @@ import (
// Version 框架版本号。发版时只改这一处,避免版本字面量散落各处。
// CLIxlgo version)、脚手架生成的 go.mod 等均引用此常量。
const Version = "1.0.3"
const Version = "1.0.4"
// HealthCheckFunc 健康检查函数
type HealthCheckFunc func(context.Context) error