Skip to content

v2.0.0 - 性能优化与安全性重构

Choose a tag to compare

@YeHuaiJing YeHuaiJing released this 15 Mar 22:43
· 1 commit to main since this release

安全修复

  • HTML XSS 风险修复:邮件通知中的所有动态内容(产品名称、分组名称、价格等)现在都经过 HTML
    转义,防止恶意脚本注入

Bug 修复

  • 价格解析增强:支持多种价格格式
    • 货币符号:¥100、$50、100元
    • 中文标识:免费、试用
    • 异常格式:解析失败时记录警告而不中断程序
  • SQLite 并发处理:添加数据库锁重试机制
    • 最多重试 5 次
    • 递增延迟策略
    • 连接超时 30 秒

性能优化

  • 单次遍历提取:合并 _extract_products 和 _build_product_description_map,从 6 次遍历优化为 2 次
  • 预构建映射复用:_check_price_changes 和 _detect_product_reshuffling 直接使用预构建的 ID
    映射和分组映射
  • 分组 ID 匹配:first_group 和 group 改为按 ID 匹配而非索引,避免顺序变化导致的误报

新功能

  • 日志系统配置:支持通过环境变量控制
    • LOG_LEVEL:设置日志级别(默认 INFO)
    • LOG_FILE:设置日志文件路径(默认仅控制台输出)

其他改进

  • 监控日志从 print() 改为 logging 模块,便于 cron job 场景收集日志
  • 配置向导的交互式提示保留 print(),确保用户体验

Breaking Changes

无,向后兼容所有现有配置。

Full Changelog: V1.2.3...V2.0.0