|
|
# Changelog
|
|
|
|
|
|
所有重要更改都会记录在此文件中。
|
|
|
|
|
|
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
|
版本号遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/)。
|
|
|
|
|
|
## [Unreleased]
|
|
|
|
|
|
### 新增
|
|
|
- 📷 **Markdown 转图片** (Issue #289)
|
|
|
- 支持 `MARKDOWN_TO_IMAGE_CHANNELS` 配置,对 Telegram、企业微信、自定义 Webhook(Discord)、邮件以图片形式发送报告
|
|
|
- 邮件为内联附件,增强对不支持 HTML 客户端的兼容性
|
|
|
- 需安装 `wkhtmltopdf` 和 `imgkit`
|
|
|
- 📧 **股票分组发往不同邮箱** (Issue #268)
|
|
|
- 支持 `STOCK_GROUP_N` + `EMAIL_GROUP_N` 配置,不同股票组报告发送到对应邮箱
|
|
|
- 大盘复盘发往所有配置的邮箱
|
|
|
|
|
|
## [3.0.5] - 2026-02-08
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复信号 emoji 与建议不一致的问题(复合建议如"卖出/观望"未正确映射)
|
|
|
- 🐛 修复 `*ST` 股票名在微信/Dashboard 中 markdown 转义问题
|
|
|
- 🐛 修复 `idx.amount` 为 None 时大盘复盘 TypeError
|
|
|
- 🐛 修复分析 API 返回 `report=None` 及 ReportStrategy 类型不一致问题
|
|
|
- 🐛 修复 Tushare 返回类型错误(dict → UnifiedRealtimeQuote)及 API 端点指向
|
|
|
|
|
|
### 新增
|
|
|
- 📊 大盘复盘报告注入结构化数据(涨跌统计、指数表格、板块排名)
|
|
|
- 🔍 搜索结果 TTL 缓存(500 条上限,FIFO 淘汰)
|
|
|
- 🔧 Tushare Token 存在时自动注入实时行情优先级
|
|
|
- 📰 新闻摘要截断长度 50→200 字
|
|
|
|
|
|
### 优化
|
|
|
- ⚡ 补充行情字段请求限制为最多 1 次,减少无效请求
|
|
|
|
|
|
## [3.0.4] - 2026-02-07
|
|
|
|
|
|
### 新增
|
|
|
- 📈 **回测引擎** (PR #269)
|
|
|
- 新增基于历史分析记录的回测系统,支持收益率、胜率、最大回撤等指标评估
|
|
|
- WebUI 集成回测结果展示
|
|
|
|
|
|
## [3.0.3] - 2026-02-07
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复狙击点位数据解析错误问题 (PR #271)
|
|
|
|
|
|
## [3.0.2] - 2026-02-06
|
|
|
|
|
|
### 新增
|
|
|
- ✉️ 可配置邮件发送者名称 (PR #272)
|
|
|
- 🌐 外国股票支持英文关键词搜索
|
|
|
|
|
|
## [3.0.1] - 2026-02-06
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复 ETF 实时行情获取、市场数据回退、企业微信消息分块问题
|
|
|
- 🔧 CI 流程简化
|
|
|
|
|
|
## [3.0.0] - 2026-02-06
|
|
|
|
|
|
### 移除
|
|
|
- 🗑️ **移除旧版 WebUI**
|
|
|
- 删除基于 `http.server.ThreadingHTTPServer` 的旧版 WebUI(`web/` 包)
|
|
|
- 旧版 WebUI 的功能已完全被 FastAPI(`api/`)+ React 前端替代
|
|
|
- `--webui` / `--webui-only` 命令行参数标记为弃用,自动重定向到 `--serve` / `--serve-only`
|
|
|
- `WEBUI_ENABLED` / `WEBUI_HOST` / `WEBUI_PORT` 环境变量保持兼容,自动转发到 FastAPI 服务
|
|
|
- `webui.py` 保留为兼容入口,启动时直接调用 FastAPI 后端
|
|
|
- Docker Compose 中移除 `webui` 服务定义,统一使用 `server` 服务
|
|
|
|
|
|
### 变更
|
|
|
- ♻️ **服务层重构**
|
|
|
- 将 `web/services.py` 中的异步任务服务迁移至 `src/services/task_service.py`
|
|
|
- Bot 分析命令(`bot/commands/analyze.py`)改为使用 `src.services.task_service`
|
|
|
- Docker 环境变量 `WEBUI_HOST`/`WEBUI_PORT` 更名为 `API_HOST`/`API_PORT`(旧名仍兼容)
|
|
|
|
|
|
## [2.3.0] - 2026-02-01
|
|
|
|
|
|
### 新增
|
|
|
- 🇺🇸 **增强美股支持** (Issue #153)
|
|
|
- 实现基于 Akshare 的美股历史数据获取 (`ak.stock_us_daily()`)
|
|
|
- 实现基于 Yfinance 的美股实时行情获取(优先策略)
|
|
|
- 增加对不支持数据源(Tushare/Baostock/Pytdx/Efinance)的美股代码过滤和快速降级
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复 AMD 等美股代码被误识别为 A 股的问题 (Issue #153)
|
|
|
|
|
|
## [2.2.5] - 2026-02-01
|
|
|
|
|
|
### 新增
|
|
|
- 🤖 **AstrBot 消息推送** (PR #217)
|
|
|
- 新增 AstrBot 通知渠道,支持推送到 QQ 和微信
|
|
|
- 支持 HMAC SHA256 签名验证,确保通信安全
|
|
|
- 通过 `ASTRBOT_URL` 和 `ASTRBOT_TOKEN` 配置
|
|
|
|
|
|
## [2.2.4] - 2026-02-01
|
|
|
|
|
|
### 新增
|
|
|
- ⚙️ **可配置数据源优先级** (PR #215)
|
|
|
- 支持通过环境变量(如 `YFINANCE_PRIORITY=0`)动态调整数据源优先级
|
|
|
- 无需修改代码即可优先使用特定数据源(如 Yahoo Finance)
|
|
|
|
|
|
## [2.2.3] - 2026-01-31
|
|
|
|
|
|
### 修复
|
|
|
- 📦 更新 requirements.txt,增加 `lxml_html_clean` 依赖以解决兼容性问题
|
|
|
|
|
|
## [2.2.2] - 2026-01-31
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复代理配置区分大小写问题 (fixes #211)
|
|
|
|
|
|
## [2.2.1] - 2026-01-31
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 **YFinance 兼容性修复** (PR #210, fixes #209)
|
|
|
- 修复新版 yfinance 返回 MultiIndex 列名导致的数据解析错误
|
|
|
|
|
|
## [2.2.0] - 2026-01-31
|
|
|
|
|
|
### 新增
|
|
|
- 🔄 **多源回退策略增强**
|
|
|
- 实现了更健壮的数据获取回退机制 (feat: multi-source fallback strategy)
|
|
|
- 优化了数据源故障时的自动切换逻辑
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复 analyzer 运行后无法通过改 .env 文件的 stock_list 内容调整跟踪的股票
|
|
|
|
|
|
## [2.1.14] - 2026-01-31
|
|
|
|
|
|
### 文档
|
|
|
- 📝 更新 README 和优化 auto-tag 规则
|
|
|
|
|
|
## [2.1.13] - 2026-01-31
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 **Tushare 优先级与实时行情** (Fixed #185)
|
|
|
- 修复 Tushare 数据源优先级设置问题
|
|
|
- 修复 Tushare 实时行情获取功能
|
|
|
|
|
|
## [2.1.12] - 2026-01-30
|
|
|
|
|
|
### 修复
|
|
|
- 🌐 修复代理配置在某些情况下的区分大小写问题
|
|
|
- 🌐 修复本地环境禁用代理的逻辑
|
|
|
|
|
|
## [2.1.11] - 2026-01-30
|
|
|
|
|
|
### 优化
|
|
|
- 🚀 **飞书消息流优化** (PR #192)
|
|
|
- 优化飞书 Stream 模式的消息类型处理
|
|
|
- 修改 Stream 消息模式默认为关闭,防止配置错误运行时报错
|
|
|
|
|
|
## [2.1.10] - 2026-01-30
|
|
|
|
|
|
### 合并
|
|
|
- 📦 合并 PR #154 贡献
|
|
|
|
|
|
## [2.1.9] - 2026-01-30
|
|
|
|
|
|
### 新增
|
|
|
- 💬 **微信文本消息支持** (PR #137)
|
|
|
- 新增微信推送的纯文本消息类型支持
|
|
|
- 添加 `WECHAT_MSG_TYPE` 配置项
|
|
|
|
|
|
## [2.1.8] - 2026-01-30
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修正日志中 API 提供商显示错误 (PR #197)
|
|
|
|
|
|
## [2.1.7] - 2026-01-30
|
|
|
|
|
|
### 修复
|
|
|
- 🌐 禁用本地环境的代理设置,避免网络连接问题
|
|
|
|
|
|
## [2.1.6] - 2026-01-29
|
|
|
|
|
|
### 新增
|
|
|
- 📡 **Pytdx 数据源 (Priority 2)**
|
|
|
- 新增通达信数据源,免费无需注册
|
|
|
- 多服务器自动切换
|
|
|
- 支持实时行情和历史数据
|
|
|
- 🏷️ **多源股票名称解析**
|
|
|
- DataFetcherManager 新增 `get_stock_name()` 方法
|
|
|
- 新增 `batch_get_stock_names()` 批量查询
|
|
|
- 自动在多数据源间回退
|
|
|
- Tushare 和 Baostock 新增股票名称/列表方法
|
|
|
- 🔍 **增强搜索回退**
|
|
|
- 新增 `search_stock_price_fallback()` 用于数据源全部失败时
|
|
|
- 新增搜索维度:市场分析、行业分析
|
|
|
- 最大搜索次数从 3 增加到 5
|
|
|
- 改进搜索结果格式(每维度 4 条结果)
|
|
|
|
|
|
### 改进
|
|
|
- 更新搜索查询模板以提高相关性
|
|
|
- 增强 `format_intel_report()` 输出结构
|
|
|
|
|
|
## [2.1.5] - 2026-01-29
|
|
|
|
|
|
### 新增
|
|
|
- 📡 新增 Pytdx 数据源和多源股票名称解析功能
|
|
|
|
|
|
## [2.1.4] - 2026-01-29
|
|
|
|
|
|
### 文档
|
|
|
- 📝 更新赞助商信息
|
|
|
|
|
|
## [2.1.3] - 2026-01-28
|
|
|
|
|
|
### 文档
|
|
|
- 📝 重构 README 布局
|
|
|
- 🌐 新增繁体中文翻译 (README_CHT.md)
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复 WebUI 无法输入美股代码问题
|
|
|
- 输入框逻辑改成所有字母都转换成大写
|
|
|
- 支持 `.` 的输入(如 `BRK.B`)
|
|
|
|
|
|
## [2.1.2] - 2026-01-27
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复个股分析推送失败和报告路径问题 (fixes #166)
|
|
|
- 🐛 修改 CR 错误,确保微信消息最大字节配置生效
|
|
|
|
|
|
## [2.1.1] - 2026-01-26
|
|
|
|
|
|
### 新增
|
|
|
- 🔧 添加 GitHub Actions auto-tag 工作流
|
|
|
- 📡 添加 yfinance 兜底数据源及数据缺失警告
|
|
|
|
|
|
### 修复
|
|
|
- 🐳 修复 docker-compose 路径和文档命令
|
|
|
- 🐳 Dockerfile 补充 copy src 文件夹 (fixes #145)
|
|
|
|
|
|
## [2.1.0] - 2026-01-25
|
|
|
|
|
|
### 新增
|
|
|
- 🇺🇸 **美股分析支持**
|
|
|
- 支持美股代码直接输入(如 `AAPL`, `TSLA`)
|
|
|
- 使用 YFinance 作为美股数据源
|
|
|
- 📈 **MACD 和 RSI 技术指标**
|
|
|
- MACD:趋势确认、金叉死叉信号(零轴上金叉⭐、金叉✅、死叉❌)
|
|
|
- RSI:超买超卖判断(超卖⭐、强势✅、超买⚠️)
|
|
|
- 指标信号纳入综合评分系统
|
|
|
- 🎮 **Discord 推送支持** (PR #124, #125, #144)
|
|
|
- 支持 Discord Webhook 和 Bot API 两种方式
|
|
|
- 通过 `DISCORD_WEBHOOK_URL` 或 `DISCORD_BOT_TOKEN` + `DISCORD_CHANNEL_ID` 配置
|
|
|
- 🤖 **机器人命令交互**
|
|
|
- 钉钉机器人支持 `/分析 股票代码` 命令触发分析
|
|
|
- 支持 Stream 长连接模式
|
|
|
- 🌡️ **AI 温度参数可配置** (PR #142)
|
|
|
- 支持自定义 AI 模型温度参数
|
|
|
- 🐳 **Zeabur 部署支持**
|
|
|
- 添加 Zeabur 镜像部署工作流
|
|
|
- 支持 commit hash 和 latest 双标签
|
|
|
|
|
|
### 重构
|
|
|
- 🏗️ **项目结构优化**
|
|
|
- 核心代码移至 `src/` 目录,根目录更清爽
|
|
|
- 文档移至 `docs/` 目录
|
|
|
- Docker 配置移至 `docker/` 目录
|
|
|
- 修复所有 import 路径,保持向后兼容
|
|
|
- 🔄 **数据源架构升级**
|
|
|
- 新增数据源熔断机制,单数据源连续失败自动切换
|
|
|
- 实时行情缓存优化,批量预取减少 API 调用
|
|
|
- 网络代理智能分流,国内接口自动直连
|
|
|
- 🤖 Discord 机器人重构为平台适配器架构
|
|
|
|
|
|
### 修复
|
|
|
- 🌐 **网络稳定性增强**
|
|
|
- 自动检测代理配置,对国内行情接口强制直连
|
|
|
- 修复 EfinanceFetcher 偶发的 `ProtocolError`
|
|
|
- 增加对底层网络错误的捕获和重试机制
|
|
|
- 📧 **邮件渲染优化**
|
|
|
- 修复邮件中表格不渲染问题 (#134)
|
|
|
- 优化邮件排版,更紧凑美观
|
|
|
- 📢 **企业微信推送修复**
|
|
|
- 修复大盘复盘推送不完整问题
|
|
|
- 增强消息分割逻辑,支持更多标题格式
|
|
|
- 增加分批发送间隔,避免限流丢失
|
|
|
- 👷 **CI/CD 修复**
|
|
|
- 修复 GitHub Actions 中路径引用的错误
|
|
|
|
|
|
## [2.0.0] - 2026-01-24
|
|
|
|
|
|
### 新增
|
|
|
- 🇺🇸 **美股分析支持**
|
|
|
- 支持美股代码直接输入(如 `AAPL`, `TSLA`)
|
|
|
- 使用 YFinance 作为美股数据源
|
|
|
- 🤖 **机器人命令交互** (PR #113)
|
|
|
- 钉钉机器人支持 `/分析 股票代码` 命令触发分析
|
|
|
- 支持 Stream 长连接模式
|
|
|
- 支持选择精简报告或完整报告
|
|
|
- 🎮 **Discord 推送支持** (PR #124)
|
|
|
- 支持 Discord Webhook 推送
|
|
|
- 添加 Discord 环境变量到工作流
|
|
|
|
|
|
### 修复
|
|
|
- 🐳 修复 WebUI 在 Docker 中绑定 0.0.0.0 (fixed #118)
|
|
|
- 🔔 修复飞书长连接通知问题
|
|
|
- 🐛 修复 `analysis_delay` 未定义错误
|
|
|
- 🔧 启动时 config.py 检测通知渠道,修复已配置自定义渠道情况下仍然提示未配置问题
|
|
|
|
|
|
### 改进
|
|
|
- 🔧 优化 Tushare 优先级判断逻辑,提升封装性
|
|
|
- 🔧 修复 Tushare 优先级提升后仍排在 Efinance 之后的问题
|
|
|
- ⚙️ 配置 TUSHARE_TOKEN 时自动提升 Tushare 数据源优先级
|
|
|
- ⚙️ 实现 4 个用户反馈 issue (#112, #128, #38, #119)
|
|
|
|
|
|
## [1.6.0] - 2026-01-19
|
|
|
|
|
|
### 新增
|
|
|
- 🖥️ WebUI 管理界面及 API 支持(PR #72)
|
|
|
- 全新 Web 架构:分层设计(Server/Router/Handler/Service)
|
|
|
- 核心 API:支持 `/analysis` (触发分析), `/tasks` (查询进度), `/health` (健康检查)
|
|
|
- 交互界面:支持页面直接输入代码并触发分析,实时展示进度
|
|
|
- 运行模式:新增 `--webui-only` 模式,仅启动 Web 服务
|
|
|
- 解决了 [#70](https://github.com/ZhuLinsen/daily_stock_analysis/issues/70) 的核心需求(提供触发分析的接口)
|
|
|
- ⚙️ GitHub Actions 配置灵活性增强([#79](https://github.com/ZhuLinsen/daily_stock_analysis/issues/79))
|
|
|
- 支持从 Repository Variables 读取非敏感配置(如 STOCK_LIST, GEMINI_MODEL)
|
|
|
- 保持对 Secrets 的向下兼容
|
|
|
|
|
|
### 修复
|
|
|
- 🐛 修复企业微信/飞书报告截断问题([#73](https://github.com/ZhuLinsen/daily_stock_analysis/issues/73))
|
|
|
- 移除 notification.py 中不必要的长度硬截断逻辑
|
|
|
- 依赖底层自动分片机制处理长消息
|
|
|
- 🐛 修复 GitHub Workflow 环境变量缺失([#80](https://github.com/ZhuLinsen/daily_stock_analysis/issues/80))
|
|
|
- 修复 `CUSTOM_WEBHOOK_BEARER_TOKEN` 未正确传递到 Runner 的问题
|
|
|
|
|
|
## [1.5.0] - 2026-01-17
|
|
|
|
|
|
### 新增
|
|
|
- 📲 单股推送模式([#55](https://github.com/ZhuLinsen/daily_stock_analysis/issues/55))
|
|
|
- 每分析完一只股票立即推送,不用等全部分析完
|
|
|
- 命令行参数:`--single-notify`
|
|
|
- 环境变量:`SINGLE_STOCK_NOTIFY=true`
|
|
|
- 🔐 自定义 Webhook Bearer Token 认证([#51](https://github.com/ZhuLinsen/daily_stock_analysis/issues/51))
|
|
|
- 支持需要 Token 认证的 Webhook 端点
|
|
|
- 环境变量:`CUSTOM_WEBHOOK_BEARER_TOKEN`
|
|
|
|
|
|
## [1.4.0] - 2026-01-17
|
|
|
|
|
|
### 新增
|
|
|
- 📱 Pushover 推送支持(PR #26)
|
|
|
- 支持 iOS/Android 跨平台推送
|
|
|
- 通过 `PUSHOVER_USER_KEY` 和 `PUSHOVER_API_TOKEN` 配置
|
|
|
- 🔍 博查搜索 API 集成(PR #27)
|
|
|
- 中文搜索优化,支持 AI 摘要
|
|
|
- 通过 `BOCHA_API_KEYS` 配置
|
|
|
- 📊 Efinance 数据源支持(PR #59)
|
|
|
- 新增 efinance 作为数据源选项
|
|
|
- 🇭🇰 港股支持(PR #17)
|
|
|
- 支持 5 位代码或 HK 前缀(如 `hk00700`、`hk1810`)
|
|
|
|
|
|
### 修复
|
|
|
- 🔧 飞书 Markdown 渲染优化(PR #34)
|
|
|
- 使用交互卡片和格式化器修复渲染问题
|
|
|
- ♻️ 股票列表热重载(PR #42 修复)
|
|
|
- 分析前自动重载 `STOCK_LIST` 配置
|
|
|
- 🐛 钉钉 Webhook 20KB 限制处理
|
|
|
- 长消息自动分块发送,避免被截断
|
|
|
- 🔄 AkShare API 重试机制增强
|
|
|
- 添加失败缓存,避免重复请求失败接口
|
|
|
|
|
|
### 改进
|
|
|
- 📝 README 精简优化
|
|
|
- 高级配置移至 `docs/full-guide.md`
|
|
|
|
|
|
|
|
|
## [1.3.0] - 2026-01-12
|
|
|
|
|
|
### 新增
|
|
|
- 🔗 自定义 Webhook 支持
|
|
|
- 支持任意 POST JSON 的 Webhook 端点
|
|
|
- 自动识别钉钉、Discord、Slack、Bark 等常见服务格式
|
|
|
- 支持配置多个 Webhook(逗号分隔)
|
|
|
- 通过 `CUSTOM_WEBHOOK_URLS` 环境变量配置
|
|
|
|
|
|
### 修复
|
|
|
- 📝 企业微信长消息分批发送
|
|
|
- 解决自选股过多时内容超过 4096 字符限制导致推送失败的问题
|
|
|
- 智能按股票分析块分割,每批添加分页标记(如 1/3, 2/3)
|
|
|
- 批次间隔 1 秒,避免触发频率限制
|
|
|
|
|
|
## [1.2.0] - 2026-01-11
|
|
|
|
|
|
### 新增
|
|
|
- 📢 多渠道推送支持
|
|
|
- 企业微信 Webhook
|
|
|
- 飞书 Webhook(新增)
|
|
|
- 邮件 SMTP(新增)
|
|
|
- 自动识别渠道类型,配置更简单
|
|
|
|
|
|
### 改进
|
|
|
- 统一使用 `NOTIFICATION_URL` 配置,兼容旧的 `WECHAT_WEBHOOK_URL`
|
|
|
- 邮件支持 Markdown 转 HTML 渲染
|
|
|
|
|
|
## [1.1.0] - 2026-01-11
|
|
|
|
|
|
### 新增
|
|
|
- 🤖 OpenAI 兼容 API 支持
|
|
|
- 支持 DeepSeek、通义千问、Moonshot、智谱 GLM 等
|
|
|
- Gemini 和 OpenAI 格式二选一
|
|
|
- 自动降级重试机制
|
|
|
|
|
|
## [1.0.0] - 2026-01-10
|
|
|
|
|
|
### 新增
|
|
|
- 🎯 AI 决策仪表盘分析
|
|
|
- 一句话核心结论
|
|
|
- 精确买入/止损/目标点位
|
|
|
- 检查清单(✅⚠️❌)
|
|
|
- 分持仓建议(空仓者 vs 持仓者)
|
|
|
- 📊 大盘复盘功能
|
|
|
- 主要指数行情
|
|
|
- 涨跌统计
|
|
|
- 板块涨跌榜
|
|
|
- AI 生成复盘报告
|
|
|
- 🔍 多数据源支持
|
|
|
- AkShare(主数据源,免费)
|
|
|
- Tushare Pro
|
|
|
- Baostock
|
|
|
- YFinance
|
|
|
- 📰 新闻搜索服务
|
|
|
- Tavily API
|
|
|
- SerpAPI
|
|
|
- 💬 企业微信机器人推送
|
|
|
- ⏰ 定时任务调度
|
|
|
- 🐳 Docker 部署支持
|
|
|
- 🚀 GitHub Actions 零成本部署
|
|
|
|
|
|
### 技术特性
|
|
|
- Gemini AI 模型(gemini-3-flash-preview)
|
|
|
- 429 限流自动重试 + 模型切换
|
|
|
- 请求间延时防封禁
|
|
|
- 多 API Key 负载均衡
|
|
|
- SQLite 本地数据存储
|
|
|
|
|
|
---
|
|
|
|
|
|
[Unreleased]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.3.0...HEAD
|
|
|
[2.3.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.2.5...v2.3.0
|
|
|
[2.2.5]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.2.4...v2.2.5
|
|
|
[2.2.4]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.2.3...v2.2.4
|
|
|
[2.2.3]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.2.2...v2.2.3
|
|
|
[2.2.2]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.2.1...v2.2.2
|
|
|
[2.2.1]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.2.0...v2.2.1
|
|
|
[2.2.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.14...v2.2.0
|
|
|
[2.1.14]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.13...v2.1.14
|
|
|
[2.1.13]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.12...v2.1.13
|
|
|
[2.1.12]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.11...v2.1.12
|
|
|
[2.1.11]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.10...v2.1.11
|
|
|
[2.1.10]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.9...v2.1.10
|
|
|
[2.1.9]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.8...v2.1.9
|
|
|
[2.1.8]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.7...v2.1.8
|
|
|
[2.1.7]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.6...v2.1.7
|
|
|
[2.1.6]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.5...v2.1.6
|
|
|
[2.1.5]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.4...v2.1.5
|
|
|
[2.1.4]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.3...v2.1.4
|
|
|
[2.1.3]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.2...v2.1.3
|
|
|
[2.1.2]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.1...v2.1.2
|
|
|
[2.1.1]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.1.0...v2.1.1
|
|
|
[2.1.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v2.0.0...v2.1.0
|
|
|
[2.0.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.6.0...v2.0.0
|
|
|
[1.6.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.5.0...v1.6.0
|
|
|
[1.5.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.4.0...v1.5.0
|
|
|
[1.4.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.3.0...v1.4.0
|
|
|
[1.3.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.2.0...v1.3.0
|
|
|
[1.2.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.1.0...v1.2.0
|
|
|
[1.1.0]: https://github.com/ZhuLinsen/daily_stock_analysis/compare/v1.0.0...v1.1.0
|
|
|
[1.0.0]: https://github.com/ZhuLinsen/daily_stock_analysis/releases/tag/v1.0.0
|