chore(release): 发布 v0.2.0 版本

- 更新 CHANGELOG 记录所有新增功能和变更
- 版本号升级至 0.2.0
- 调整 Makefile 构建命令结构

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
xfy 2026-04-10 09:48:35 +08:00
parent d1f27002e0
commit 904efa9842
2 changed files with 70 additions and 7 deletions

View File

@ -5,6 +5,69 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [0.2.0] - 2026-04-10
### Added
#### 核心基础设施
- 变量系统模块支持内置变量、SSL 客户端证书变量、上游变量,自动注入请求上下文
- DNS 解析器模块,支持自定义 DNS 服务器配置,集成到代理请求处理
- HTTP/2 协议支持,集成到服务器和应用层
#### SSL/TLS 增强
- Session Tickets 支持,含密钥轮换和内存/文件存储后端
- mTLS 客户端证书验证,支持可选/强制验证模式
- TCP/UDP Stream SSL/TLS 支持,完整证书配置
#### 中间件与处理
- auth_request 外部认证中间件,支持子请求验证流程
- static handler alias 指令,支持路径别名映射
- 代理响应临时文件处理保护内存避免大响应OOM
- rate limiting 后台自动清理和优雅关闭
#### 可观测性
- Prometheus 格式状态输出支持
- 缓存清理 API 端点
- 分层性能回归检测策略与基准测试套件
#### 配置与构建
- Resolver/SSL 默认值完善及 YAML 配置示例输出
- 负载均衡算法配置验证
- golangci-lint 静态检查配置
- 所有构建命令启用静态链接支持
- goimports 替代 go fmt 格式化代码
### Changed
- resolver/variable/ssl 等核心类型重命名,移除冗余前缀
- HeadersMiddleware 重命名移除冗余前缀
- HTTP/2 使用 textproto.CanonicalMIMEHeaderKey 替代手动实现
- 配置废弃字段标记与移除
### Performance
- 一致性哈希虚拟节点哈希值预计算
- 代理缓存使用 uint64 哈希键优化性能
### Documentation
- 新增 variable/resolver 等 AGENTS.md 模块文档
- nginx 健康检查详解与高级模块文档
- 配置字段完整参考文档
### Tests
- 变量系统单元测试与基准测试
- SSL Session Tickets/Stream SSL 测试
- try_files、错误页面、pprof 单元测试
---
## [0.1.0] - 2026-04-07
### Added

View File

@ -2,7 +2,7 @@
# 版本信息
APP_NAME := lolly
VERSION := 0.1.0
VERSION := 0.2.0
GIT_COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown")
BUILD_TIME := $(shell date -u '+%Y-%m-%d %H:%M:%S UTC')
@ -45,14 +45,14 @@ build:
@echo "Version: $(VERSION) | Commit: $(GIT_COMMIT) | Platform: $(BUILD_PLATFORM)"
# 生产构建(体积优化,静态链接)
build-prod:
@echo "Building $(APP_NAME) for production (static)..."
@mkdir -p $(BUILD_DIR)
$(CGO_DISABLE) go build $(LDFLAGS) -trimpath -o $(BUILD_DIR)/$(APP_NAME) $(MAIN_PATH)
@echo "Production build complete: $(BUILD_DIR)/$(APP_NAME)"
# build-size:
# @echo "Building $(APP_NAME) for production (static)..."
# @mkdir -p $(BUILD_DIR)
# $(CGO_DISABLE) go build $(LDFLAGS) -trimpath -o $(BUILD_DIR)/$(APP_NAME) $(MAIN_PATH)
# @echo "Production build complete: $(BUILD_DIR)/$(APP_NAME)"
# 生产构建(最大运行时性能,静态链接)
build-perf:
build-prod:
@echo "Building $(APP_NAME) with max runtime performance (static)..."
@mkdir -p $(BUILD_DIR)
$(CGO_DISABLE) go build $(LDFLAGS) $(PERF_GCFLAGS) $(PERF_ASMFLAGS) -trimpath \