- 修复中文编码乱码问题
- 修复服务器连接问题
- 修复内存安全问题
- 修复示例代码
- 更新文档
- 所有库测试通过(32 passed)
cargo pkgid rustdx-complete
# 输出: rustdx-complete 0.5.0根据修复的重要程度,建议发布新版本:
- 选项 A(推荐):
0.5.1- 补丁版本(bug 修复) - 选项 B:
0.6.0- 次版本(重要改进)
我建议使用 0.5.1,因为这主要是 bug 修复。
编辑 Cargo.toml:
[package]
name = "rustdx-complete"
version = "0.5.1" # 从 0.5.0 更新到 0.5.1在 CHANGELOG.md 顶部添加:
# [0.5.1] - 2025-12-30
## 🔧 重要修复
### 修复
- 修复中文编码显示问题(GBK → UTF-8)
- 修复服务器连接无数据的问题
- 修复内存安全问题(移除 unsafe 代码)
- 修复示例代码编译错误
### 改进
- 优化服务器 IP 顺序,使用可用服务器
- 添加数据边界检查,提高稳定性
- 更新所有文档和示例代码
## [0.5.0] - 之前版本
...# 查看将要发布的包内容
cargo package --list
# 打包但不发布(dry-run)
cargo package --allow-dirty# 查看生成的 .crate 文件
ls -lh target/package/rustdx-complete-0.5.1.cargo
# 检查包内容(排除的文件)
cargo package --list | grep -E "^examples|^tests|^assets"
# 应该不显示这些目录(因为在 Cargo.toml 中排除了)# 使用 GitHub 关联(推荐)
# 访问 https://crates.io/settings
# 关联你的 GitHub 账号
# 或使用 API token
cargo login [your-api-token]# 发布到 crates.io
cargo publish注意:
- 首次发布需要等待几分钟审核
- 之后会自动发布
- 发布后无法删除,只能发布新版本
# 访问你的包页面
# https://crates.io/crates/rustdx-complete
# 或使用 cargo search
cargo search rustdx-complete-
检查 Cargo.toml 配置:
[package] name = "rustdx-complete" version = "0.5.1" license = "MIT" # ✅ 许可证 description = "..." # ✅ 描述 repository = "https://github.com/jackluo2012/rustdx" # ✅ 仓库地址 authors = ["..."] # ✅ 作者信息
-
exclude 字段正确:
exclude = [ "assets", "examples", "benches", "tests", "old", "tests-integration", "CHANGELOG.md", "*.csv", "*.log", ".github", ".gitignore", "rustfmt.toml", "LICENSE" # LICENSE 已排除,使用 MIT 即可 ]
-
依赖项正确:
- 所有依赖都有明确的版本号
- workspace 依赖已正确配置
⚠️ 一旦发布,无法删除或修改⚠️ 如有问题,只能发布新版本(0.5.2, 0.6.0 等)- ✅ 可以 yank(撤回)旧版本,但包仍然可用
遵循语义化版本(Semver):
- 0.5.0 → 0.5.1: 补丁版本(bug 修复)
- 0.5.1 → 0.6.0: 次版本(向后兼容的新功能)
- 0.6.0 → 1.0.0: 主版本(破坏性变更)
发布前可以测试本地包:
# 在临时目录创建新项目
cd /tmp
mkdir test-rustdx
cd test-rustdx
cargo init
# 添加本地依赖
echo 'rustdx-complete = { path = "/home/jackluo/data/learn/rust/rustdx" }' >> Cargo.toml
# 测试
cargo build-
创建 GitHub Release:
- 标签:
v0.5.1 - 标题: "Release v0.5.1 - Bug 修复和改进"
- 描述: 包含 CHANGELOG 内容
- 标签:
-
更新 README.md:
- 添加新版本说明
- 更新下载徽章(如果需要)
-
通知用户:
- GitHub Discussions
- 项目 Issues
- 其他社区渠道
A:
- 检查错误信息
- 确保版本号没有冲突
- 确保网络连接正常
- 确认 crates.io 账户权限
A:
cargo yank --vers 0.5.1注意:已撤回的版本仍然可以下载,但不会作为默认版本。
A:
- 检查
exclude字段 - 移除不必要的文件
- 优化文档大小