版本号命名
本主题遵循 语义化版本(Semantic Versioning,简称 SemVer)规范,版本号格式为 MAJOR.MINOR.PATCH(主版本号.次版本号.修订号)。每个版本号位的含义与升级影响如下:
| 位 | 名称 | 何时递增 | 升级影响 |
|---|---|---|---|
MAJOR | 主版本号 | 引入不兼容的破坏性变更(API / 配置项 / 模板结构大改) | 需要人工迁移配置或模板,不可平滑升级 |
MINOR | 次版本号 | 新增向下兼容的功能或非破坏性调整 | git pull 后按 release 说明核对配置即可 |
PATCH | 修订号 | 仅 bug 修复 / 安全加固 / 性能优化,无新功能 | 可直接升级,无需改配置 |
命名规则
- 版本号以
v开头(如v1.6.1),与 Git tag 保持一致。 - 每次发布都会在 GitHub Releases 附带完整变更说明。
- 当某次发布同时包含新功能与 bug 修复时,只递增
MINOR(功能优先,修复随附)。 - 当某次发布仅包含 bug 修复 / 安全加固时,递增
PATCH。 - 不发布独立的预发布版本(alpha / beta / rc)。所有版本均视为稳定版。
历史版本对照
下表基于本主题 v1.4.0 ~ v1.6.1 的实际发布历史,说明各版本号位的判定依据:
| 版本 | 类型 | 递增位 | 判定依据 |
|---|---|---|---|
v1.4.0 | 主题重构 | MINOR | 新增一言开关、文章驱动时间线、Hexo 原生关于页、RSS 最近更新等功能;移除 CV 功能。虽有破坏性配置变更,但作为 fork 后首个独立版本未升级 MAJOR。 |
v1.5.0 | SEO 与可发现性增强 | MINOR | 新增 6 项功能(深色模式 / Open Graph / JSON-LD / sitemap / PWA / 图片懒加载),全部向下兼容。 |
v1.5.1 | 性能优化与 bug 修复 | PATCH | 滚动节流、模板缓存优化、6 项功能性 bug 修复,无新功能。 |
v1.5.2 | 安全加固 | PATCH | 16 项 XSS / 注入防护、健壮性、SEO 合规修复,无新功能。 |
v1.6.0 | 新功能与 Gitalk 移除 | MINOR | 新增 5 项功能(回到顶部 / 减少动画 / RSS 自动发现 / robots.txt / 字体加载优化);移除 Gitalk 评论功能。 |
v1.6.1 | 健壮性修复 | PATCH | 4 项健壮性修复(RSS 自动发现、JSON-LD 图片、轮播箭头、搜索无结果分支),无新功能。 |
升级建议
- PATCH 版本(如
v1.6.0→v1.6.1):直接git pull即可,无需改动配置。 - MINOR 版本(如
v1.5.2→v1.6.0):git pull后建议阅读 release 说明,对照_config-template.yml检查是否有新增配置项。 - MAJOR 版本:务必完整阅读 release 说明与升级指南,可能需要手动迁移配置或自定义模板。
与 SemVer 的差异
本主题作为 Hexo 主题(前端模板 + 脚本),并非传统意义上的库 / API,因此对 SemVer 做了如下实用化调整:
MAJOR极少递增:模板结构与配置项的破坏性变更通常会在 release 说明中明确标注,但仍以MINOR形式发布,避免频繁主版本号升级给用户带来心理负担。判定是否需要跨MAJOR升级的主要依据是「用户配置文件能否平滑迁移」。- 不区分 alpha / beta / rc:所有发布版本均视为稳定版,主题通过完整自测后才打 tag。
- 配置项废弃不立即触发
MAJOR:废弃的配置项会保留 1 ~ 2 个MINOR版本的兼容期,期间打印废弃警告,最终移除时再在 release 说明中强调。
完整的版本演进摘要请参考更新日志。