更新日志 (Changelog)

更新日志 (Changelog)

本文档记录 MyBlog 项目的所有重要变更。

[2.1.0] - 2026-01-10

已完成 ✅

安全性修复

  • ✅ 实现了 SecurityFilter 类,提供 XSS 防护功能
  • ✅ 实现了 PathValidator 类,防止路径遍历攻击
  • ✅ 实现了 InputValidator 类,提供输入验证功能
  • ✅ 实现了 CSRFProtection 类,提供 CSRF 保护
  • ✅ 在 BlogRenderer 中配置了 Parsedown 安全模式
  • ✅ 在 config.php 中集成了路径验证

代码重构

  • ✅ 引入命名空间:Blog\Renderer, Blog\Parser, Blog\Security
  • ✅ 重构目录结构为模块化架构(_blog/src/
  • ✅ 配置 PSR-4 自动加载
  • ✅ 统一使用 BlogRenderer::renderIndex()

测试基础设施

  • ✅ 配置 PHPUnit 10.5
  • ✅ 创建 phpunit.xml 配置文件
  • ✅ 创建 tests/bootstrap.php
  • ✅ 编写单元测试:

- SecurityFilterTest.php - PathValidatorTest.php - InputValidatorTest.php

开发工具配置

  • ✅ 配置 PHP CS Fixer (PSR-12)
  • ✅ 配置 PHPStan (静态分析)
  • ✅ 配置 PHP CodeSniffer (代码风格检查)

文档

  • ✅ 更新 README.md(413 行,包含完整的项目介绍、功能列表、安装说明、使用指南、部署指南、贡献指南等)
  • ✅ 完善代码注释(所有主要类已添加完整的 DocBlock 注释)

- BlogRenderer 类 - BlogContentProcessor 类 - Security 类(SecurityFilter, PathValidator, InputValidator, CSRFProtection)

测试

  • ✅ BlogRenderer 单元测试(315 行,25+ 测试用例)
  • ✅ BlogContentProcessor 单元测试(298 行,20+ 测试用例)
  • ✅ 集成测试(RenderFlowTest, FileScanTest - 13 个测试用例)

性能优化

  • ✅ 实现 CacheService 类(662 行)

- 文件缓存支持 - Redis 缓存支持(127.0.0.1:6379,自动探测) - 自动降级机制(Redis 不可用时使用文件缓存) - 缓存统计(命中率监控) - TTL 支持 - 基于文件修改时间的缓存失效

  • ✅ CacheServiceTest(539 行,35 个测试用例,包含自动探测测试)

已完成(补充) ✅

测试

  • ✅ 编写 CSRFProtection 单元测试
  • ✅ 编写 BlogRenderer 单元测试(25+ 测试用例)
  • ✅ 编写 BlogContentProcessor 单元测试(20+ 测试用例)
  • ✅ 编写集成测试(RenderFlowTest, FileScanTest)

文档

  • ✅ 更新 README.md(413 行,包含完整的安装、使用、部署指南)
  • ✅ 完善代码注释(所有主要类已添加完整的 DocBlock 注释)

性能优化

  • ✅ 实现缓存机制(CacheService)

- 文件缓存支持 - Redis 缓存支持(127.0.0.1:6379) - 自动探测 Redis 服务器 - 自动降级到文件缓存 - CacheServiceTest(35 个测试用例,539 行)

待完成 🔄

文档

  • [ ] 创建架构设计文档
  • [ ] 创建 API 文档(使用 phpDocumentor)

安全功能集成

  • [ ] 验证所有入口点都正确使用安全功能
  • [ ] 在表单中集成 CSRF 保护(如果需要)
  • [ ] 添加输入验证中间件

性能优化

  • [ ] 集成缓存到 BlogRenderer/BlogContentProcessor
  • [ ] CDN 资源版本化
  • [ ] 图片优化和懒加载

功能增强

  • [ ] 搜索功能
  • [ ] 站点地图生成
  • [ ] RSS 订阅
  • [ ] 暗色模式
  • [ ] 标签系统

测试

  • [ ] 达到 80%+ 代码覆盖率

已知问题

  • CSRFProtection 在测试环境中会有 session 警告(不影响功能)

[2.0.0] - 之前版本

历史变更

  • 初始版本发布
  • Markdown 渲染支持
  • KaTeX 数学公式支持
  • highlight.js 代码高亮支持
  • Mermaid 图表支持

注意: 详细的历史变更记录请查看 archive/ 目录中的历史文档。

← 返回目录