学习笔记 · Obsidian
版本、发布、安全与支持周期
SemVer 与稳定性标签
LangChain/LangGraph 稳定包遵循 MAJOR.MINOR.PATCH:major 才允许破坏公共 API,minor 新增向后兼容能力,patch 修复 bug、安全和性能。未标特殊前缀的公共 API 视为 stable;beta 功能完整但可能小调,alpha/experimental 可大幅变化,_ 前缀或明确 internal 的实现不受兼容承诺约束。
例外:要求子类覆盖、虽以下划线命名但没有实现的方法,可能属于公开 subclass contract;是否公开必须以 Reference 和文档声明判断,不能只凭命名。
发布节奏与弃用
- LangChain minor 可频繁发布,patch 最高可能每周数次。
- LangGraph major 预计间隔 6–12 个月,minor 通常 1–2 个月,patch 按需/常为每周。
- LangChain 1.x 的 deprecated 功能整个 1.x 系列继续工作并获得安全更新,通常到下一 major 才移除。
- LangGraph deprecated 至少保留一个 minor,移除也只在 major;会提供迁移说明。
- beta 可用于生产但应锁版本和预留小调整;alpha 不应进入不可快速回滚的核心路径。
LTS 快照(2026-08-11)
- LangChain 1.0 与 LangGraph 1.0 是 LTS,2.0 发布前为 ACTIVE;2.0 后至少 1 年 MAINTENANCE。
- LangChain 0.3 与 LangGraph 0.4 处于 MAINTENANCE,支持至 2026-12,仅安全与关键修复。
- Deep Agents Python 仍是 pre-1.0,minor 之间可能有 breaking change;TypeScript changelog 已出现 1.9.0 alpha 与 backend protocol v2,预发布标签仍意味着接口可能变化。
- partner packages 独立版本化;LangChain 官方维护且达到 1.0 的包预期遵循 SemVer,其他合作方包应查各自政策。
支持时间会随未来版本变化,升级前必须重新核对当前 release policy,不能永久依赖本笔记日期。
Changelog 的使用方式
Python 与 TypeScript 的 /releases、/releases/changelog 当前展示同一语言 changelog,并提供 RSS。它记录的不只 core,还包括 Deep Agents、LangGraph、provider integrations 与协议变化。
生产升级流程应:订阅变更 → 识别直接/传递依赖 → 在锁定环境跑 migration、类型与回归测试 → 观察 trace/质量/成本 → canary → 保留 rollback。仅看包版本号会漏掉默认模型 API、structured output、stream encoding、backend result type 等行为变化。
最小权限与纵深防御
官方安全原则:
- 精确限制 filesystem、API、database 等权限,优先只读、路径/表/endpoint allowlist 与 sandbox;
- 假设模型会使用凭证允许的全部能力,而不是相信 prompt 会阻止危险动作;
- 组合多层控制,fine-tuning 与 prompt 不能替代授权、隔离、审批、审计和备份。
如果数据库凭证能 drop table、API token 能删除资源、filesystem 能读密钥,就应假设 agent 最终可能这样做。高风险写操作需要 HITL、幂等、最小作用域和可恢复机制。
漏洞报告边界
OSS 漏洞在对应 GitHub 仓库 Security tab 提交 advisory,并通知 [邮箱已隐去];LangSmith 漏洞直接邮件报告。Bug bounty 主要覆盖官方 core、LangGraph/checkpointers 和热门官方 integrations;examples、demo、langchain-experimental、已明确安全告警的示例及 LangSmith API 不属于同一 bounty 范围。公开 issue 不适合披露未修复漏洞细节。