Agent Server 是一个用于创建和管理基于代理的应用程序的 API 平台。它提供内置持久化、任务队列,并支持大规模部署、配置和运行助手(代理工作流)。此更新日志记录了 Agent Server 发布的所有重要更新、功能和修复。
v0.11.0rc5
### 修复 - 修复了从非增量通道迁移到 DeltaChannel 的通道的 DeltaChannel 回放问题。检查点程序未能正确识别头部种子检查点,这可能导致非加性 reducer 的状态重建结果不正确。
v0.11.0rc4
### 修复 - 修复了 HTTP input.respond 事件流 v2 的验证,从持久化线程行读取待处理中断,而不是重建线程状态,防止有效的 HITL 恢复因重新连接、重新部署或线程状态查找失败而错误返回 no_such_interrupt 。 - 修复了 input.respond ,以便可选的 update 和 goto 参数被转发到与恢复值相同的 Command 中。
v0.11.0rc3
### 新功能 - 添加了 coreApi.runQueueTraceLog 配置标志(LSD_RUN_QUEUE_TRACE_LOG 环境变量,默认值 false)以启用详细的 Redis 运行队列跟踪日志。
v0.11.0rc2
### 修复 - 放宽了 0.11.0rc1 中引入的 starlette 下限,回退至 >=0.38.6 so langgraph-api ,可与固定旧版 Starlette 版本的环境一起安装。构建仍通过锁文件将 Starlette 解析为 1.0.1。
v0.11.0rc1
### 一般说明 - 包含依赖项和安全维护更新。
### 新功能 - 添加了 DeltaChannel 感知剪枝,仅保留状态重建所需的最小祖先检查点,取代了之前拒绝剪枝活跃增量通道线程的方法。支持 Postgres、SQLite、DeferredDelete 和内存运行时。 - 为 MongoDB 检查点程序添加了 DeltaChannel 感知剪枝,仅保留状态重建所需的最小祖先检查点和增量通道 blob。 - 添加了可选的 Prometheus 指标抓取支持。设置 LSD_PROM_METRICS_ENABLED=true 以在专用 Prometheus 抓取端点(默认端口 LSD_PROM_METRICS_PORT )上公开 OTel 指标(运行生命周期、延迟、流、worker 指标)。同时配置 Datadog OTLP 推送时,Datadog OTLP 推送仍可继续工作。 - Added opt-in Go core rate limits for unary core-api RPCs and Redis stream publish bytes, with Redis-backed GCRA enforcement, shadow/enforce modes, and LS_RATE_LIMITS bootstrap 配置,支持 YAML 覆盖。 - 允许传递自定义证书和密钥文件(ssl_certfile, ssl_keyfile)以通过 HTTPS 运行开发服务器。
### 修复 - 修复了协议 v2 在 JS 图上静默失败的运行。sidecar 拒绝了 streamEvents 由于严格的流模式验证导致 400 错误,错误被吞没,运行错误地报告成功但执行了 0 个节点。在 HTTP 边界放宽了流模式验证,现在对非 2xx sidecar 响应抛出明确错误,而不是掩盖失败。 - 修复了针对 JS sidecar(远程)图的协议 v2 事件流,这些图错误地通过遗留重建路径提供服务。远程图现在使用 LangGraphJS 原生 v3 流进行 v2 事件流运行,解决了工具调用不渲染、无头中断从不执行或恢复的问题,以及 400: tool_use ids must be unique 恢复后最终消息的错误。 - 删除运行现在跳过使用 DeltaChannel 的线程的检查点删除,仅删除运行记录。保留后续检查点依赖的存储增量写入的检查点。使用线程修剪 API 回收 delta-channel 线程上的检查点存储。 - 修复了 Prometheus 指标导出并对齐了 OpenTelemetry 导出器配置。
v0.10.0
### 概述 - v0.10.0 是 v0.10.0rc 系列的稳定版本。请特别注意 0.10.0rc1 中可能破坏兼容性的安全变更。 - 包含依赖项和安全维护更新。
### 新功能 - 添加了支持 DeltaChannel 的修剪功能,仅保留状态重建所需的最小祖先检查点,取代了之前拒绝修剪有活动增量通道的线程的行为。支持 Postgres、SQLite、DeferredDelete 和内存运行时。
v0.10.0rc3
### 修复 - 修复了针对 JS sidecar(远程)图的协议 v2 事件流,这些图错误地通过遗留重建路径提供服务。远程图现在使用 LangGraphJS 原生 v3 流进行 v2 事件流运行,解决了工具调用不渲染、无头中断从不执行或恢复的问题,以及 400: tool_use ids must be unique 恢复后最终消息的错误。
v0.10.0rc2
### 修复 - 修复了协议 v2 在 JS 图上静默失败的运行。sidecar 拒绝了 streamEvents 由于严格的流模式验证导致 400 错误,错误被吞没,运行错误地报告成功但执行了 0 个节点。在 HTTP 边界放宽了流模式验证,现在对非 2xx sidecar 响应抛出明确错误,而不是掩盖失败。
v0.10.0rc1
### 概述 - v0.10.0rc1 包含安全性和正确性的破坏性变更。请参阅 安全部分 了解更多详情。 - 包含依赖项和安全维护更新。
### 新功能 - 添加了按 ID 检索 cron 的端点(GET /runs/crons/{cron_id}).
### 修复 - 修复了事件流 v2 运行启动处理,使通过 config.configurable.checkpoint_id 提供的检查点重放目标现在会被正确遵守。 - 修复了事件流 v2 input.respond 返回 no_such_interrupt 对于通过 HTTP 的 postgres 后端上的合法中断 POST /commands. - 修复了一个错误,其中线程的 checkpoint_map 会从之前的时间旅行运行中持久化并污染后续的 Command(resume=...),导致嵌套子图错误地从开始处重放。
### 安全 - **可能破坏兼容性** 现在默认拒绝 loopback webhook 目标以修复身份验证绕过原语(GHSA-2c9q-c2q9-qgqv)。 webhooks.url.disable_loopback 策略现在默认为 true, blocking relative-URL webhooks (which dispatch through the in-process ASGI transport and bypass auth), as well as localhost / 127.x / ::1 / host.docker.internal absolute URLs and any hostname that DNS-resolves into the loopback range (mitigating DNS rebinding). Deployments that legitimately need loopback webhooks (e.g. langgraph dev 使用本地主机 Webhook 接收器的设置,或分派到挂载在同一服务器上的自定义 FastAPI 路由的生产设置,可以通过设置 webhooks.url.disable_loopback: false in langgraph.json (或等效的 LANGGRAPH_WEBHOOKS JSON 环境变量)。仅在您控制循环 Webhook 到达的路由时执行此操作,因为这些路由在分派时不进行身份验证。 - **可能破坏性** POST /runs 和 POST /threads/{thread_id}/runs 现在通过assistants.read 认证事件(匹配 cron 创建和直接 GET)进行授权,而不是之前使用的 assistants.search 带有不完整负载的事件(GHSA-jfj5-wrj9-63x4)。仅注册了 @auth.on.assistants.read (且无 .search handler) were vulnerable to a cross-user authorization bypass; their existing read handler will now be invoked on the run-creation path. As a defense-in-depth follow-up, client-supplied run/cron metadata is no longer forwarded into the assistants.read 来自 Runs.put or Crons.put, and inmem/postgres runtimes now agree on the value shape. Breaking change for deployments with custom auth handlers: (1) any @auth.on.assistants.search 处理程序的认证事件负载在运行创建期间不再被调用——确保您有等效的@auth.on.assistants.read 处理程序返回相同的所有者风格过滤器;(2) value["metadata"] 在 assistants.read event invoked from run/cron creation is no longer populated, so handlers that inspected or mutated it must move that logic into @auth.on.runs.create_run / @auth.on.crons.create 并依赖返回过滤器进行所有权强制执行。 - 部署现在会在服务器启动时看到结构化警告,列出每个未覆盖的分派路径以及要复制的默认拒绝代码片段。对于注册了全局 @auth.on 处理程序或仅使用 @auth.authenticate 而不使用任何资源级处理程序的部署,此警告为静默。
v0.9.0
### 概述 - v0.9.0 是 v0.9.0rc 版本的稳定升级。 - 包含依赖项和安全维护更新。
v0.9.0rc1
### 概述 - Added cron metadata filtering in /runs/crons/search and /runs/crons/count, matching metadata filter behavior already available for assistants/threads. - 为一次性加载大量大型检查点的情况添加了 Postgres 检查点池调优旋钮。LANGGRAPH_CHECKPOINTER_POSTGRES_POOL_MIN_SIZE 和 LANGGRAPH_CHECKPOINTER_POSTGRES_POOL_TIMEOUT_SECONDS 现在可以设置。 - 修复了更新_MongoDB 检查点中当线程没有先前检查点时的崩溃问题。 - 包含针对安全漏洞的依赖项更新。
### 新功能 #### Delta 通道支持 现在支持 Delta 通道,以便检查点可以存储增量状态更新,而不是重复存储完整通道负载,这有助于处理大型、追加密集型的状态(如消息历史)。
要使用,请在图形状态中定义具有 LangGraph DeltaChannel 化简器模式的通道。 当安装的 langgraph >= 1.2 时启用此行为。 Docs: DeltaChannel 参考
#### 事件流式传输 API Event streaming APIs are being introduced, with a unified event-streaming surface intended for richer real-time run events and command/event workflows.
功能标志 FF_V2_EVENT_STREAMING 可以设置为 true 以启用新的事件流式传输 API。
新的端点包括: - POST /threads/{thread_id}/stream/events - POST /threads/{thread_id}/commands - WS /threads/{thread_id}/stream/events
Docs: - Agent Server API 参考 - LangGraph 事件流式传输参考
v0.8.7
- - 暂时回滚了 #3296 的更改,以解决即将发布的 0.8.6 版本的问题。
v0.8.6
- - 将 DeltaChannel 集成到 Postgres 检查点中以实现高效的快照和增量处理。
- - 向 API 引入了新的 v2 流式传输原语,以增强数据处理能力。
- - 启用了内存操作的动态端口发现。
- - 将 A2A 工具结果消息与
toolCallId关联元数据链接,以保持与发起工具调用的对齐。 - - 修复了 JS studio 实验未更新实验屏幕的问题,确保正确的运行路由到实验的追踪项目
reference_example_idset.
v0.8.5
- - 解决了 Datadog 和 npm 报告的 langgraph JavaScript 依赖中的安全漏洞。
v0.8.4
- - Included trace/span IDs in access logs to improve trace correlation in Datadog and OTel.
v0.8.3
- - 添加了对集群模式下 Google Cloud Memorystore 基于 IAM 身份验证的支持,以实现安全访问。
v0.8.2
- - 修复了
langgraph-apiqueue entrypoint to start correctly on IPv6-only clusters by ensuring the health/metrics server appropriately binds with an IPv6 literal.
v0.8.1
- - 通过跳过大的
values列在不需要完整线程体时改进了线程状态和运行端点的性能。 - - 限制检查点摄入批次大小和延迟窗口以最大程度减少长时间运行的事务和行锁竞争,并提供批次大小和延迟控制的新配置标志。
v0.8.0
此小版本将运行队列轮询从 Postgres 移至 Redis,节省了数据库负载并提升了性能。
在底层,Agent Server 使用持久化运行队列来管理运行执行。Worker 轮询队列获取新运行并执行它们。之前,队列轮询逻辑通过 Postgres。这可能导致长时间运行的查询,尤其是在高负载下。通过此更新,队列轮询逻辑现在通过 Redis,然后从 Postgres 获取运行详情。这使得队列轮询的热路径大大加快,并减少了数据库的负载。
这不是破坏性更改,升级时无需代码更改,但有几件事需要注意: - 在升级后的部署中,队列将切换。可能会有一段时间线程被非时间顺序调度。每个线程内的运行执行顺序仍有保证。 - **仅限自托管:** Redis 流量可能略有增加。在内部测试中,增加幅度很小。
v0.7.103
- - 解决了检查点_删除_队列的迁移版本冲突,确保正确执行,并为未来迁移添加了重复版本检测。
v0.7.102
- - 改进了并行中断的处理,通过合并多个中断块并确保一致的interrupt return行为。
- - 更新了 Vite 依赖以修补安全漏洞 CVE-2026-39363 和 CVE-2026-39364。
- - 将 Datadog 镜像版本固定为
1.9.9因为arm64在1.9.10manifest.
v0.7.101
- - 将 Go 标准库升级至 1.25.9 以解决高严重性漏洞 CVE-2026-32280 和 CVE-2026-32282。
- - 改进了 DD 和 OTEL 追踪器中的错误传播,以处理 UserInterrupt 异常而不会导致生成器错误。
v0.7.100
- - Implemented background deletion of checkpoints to improve thread deletion and pruning performance, reducing I/O pressure and enhancing efficiency.
- - 将
@hono/node-server从 1.19.12 升级到 1.19.13 以修复 Serve Static 中间件的安全问题。 - - 将 hono 从 4.12.9 版本更新到 4.12.12,包括中间件和工具的关键安全补丁。
- - 将 hono 库升级到 4.12.12 版本,解决了多个安全漏洞。
- - 对构建依赖项实施严格的版本锁定,以确保跨构建的一致性。
v0.7.99
- - 更新了 OpenAPI 配置以防止使用 Istio 路径前缀时的
/docs"try it" 请求出现 405 错误。 - - 将
signal.raise_signal(SIGINT)替换为sys.exitinqueue_with_signal以提高关闭可靠性并处理卡住的线程。 - - 添加了执行器客户端的可选TLS配置,保留对现有非环回部署向后兼容的明文行为。
- - 调整了Datadog API密钥配置的优先级顺序,以确保正确的密钥使用。
v0.7.98
- - 修复了
langgraph dev中的导入问题,以确保开发服务器在无环境变量的情况下正常工作,并添加了回归测试。
v0.7.97
- - 改进了JS图的错误传播,确保来自
/assistants//schemasendpoint. - - 确保当环境变量如
LANGGRAPH_SERVER_HOST设置为IPv6地址时启动稳定。 - - 通过使用
->>增强查询性能以进行字符串值过滤EqAuthFilter,支持使用B-tree索引。
v0.7.96
- - 通过禁用嵌套循环并遵守较低的
statement_timeout设置(当指定时)来增强数据库性能。
v0.7.95
- - 解决了
BlockingError通过确保ddtrace在模块加载时导入,防止初始化期间的异步上下文冲突。 - - 将
ddtrace上下文传播到worker,确保langgraph.graph_load具有父span而不是作为根span发出。 - - 添加了对
Prefer: return=minimalonPATCH /threads/{id}的支持,通过返回204状态码和无响应体来提高效率。 - - 增强了
run_server的动态端口发现功能,当默认端口(2024)被占用时自动选择可用端口。
v0.7.94
- - 修复了JavaScript安装在重试超时后错误地成功的问题,确保正确的失败处理。
- - 在图工厂加载周围添加了
langgraph.graph_loadddtrace span以提高APM可见性。
v0.7.93
- - 启用了
FF_OPTIMIZED_STREAMING在中从环境变量读取标志支持core-apimode.
v0.7.92
- - 修复了
keep_latest线程可能无限累积检查点的问题,通过在运行完成时重新创建thread_ttl条目。 - - 通过缓存
importlib.metadata.packages_distributions()改进了导入性能,显著减少使用ddtrace与Google API包时的启动时间。
v0.7.91
- - 将cryptography依赖从46.0.5升级到46.0.6,以解决与对等名称验证中名称约束相关的安全问题。
- - 引入使用Redis Streams的优化流式实现,采用新的协议版本(v2)以获得更好的性能和可恢复性,具有负载压缩和支持Redis Cluster读取副本的功能。
v0.7.90
- - 改进了DR流程中的错误处理,并将测试的默认超时设置为30秒以确保及时的CI故障跟踪。
- - 将picomatch从4.0.3升级到4.0.4以解决严重的安全漏洞。
v0.7.89
- - 增强了队列服务器指标并建立了对OpenTelemetry SDK的要求。
- - 为
COUNTER_RUN_FAILED_AFTER_RETRY指标添加了缺失的标签以提高监控准确性。
v0.7.87
- - 为因Redis相关流式错误导致的运行失败实现了重试,并提供警告日志以提高可见性。
v0.7.86
- - 在所有镜像中设置默认
DD_TRACE_ENABLED=false以减少对非Datadog部署的Orchestrion日志噪音。
v0.7.84
- - 将嘈杂的警告级别日志降级为信息级别以减少日志混乱,专注于许可证精简模式和追踪禁用等状态信息。
- - 增强了 Go
core-api-grpc使用 Orchestrion DD APM 追踪实现自动插桩并改进追踪上下文传播。
v0.7.82
- - 通过保留确保 A2A 协议合规性
kinddiscriminators and using lowercase states/roles in responses for all client method name formats.
v0.7.79
- - 引入了
swr函数的测试版以增强数据获取能力。 - - 在所有 Dockerfile 中将 Go 运行时升级到 1.25.8 版本,并
go.mod以解决多个 CVE。
v0.7.77
- - 引入了
HTTP_MAX_REQUEST_BODY_BYTES配置以将 HTTP 请求体大小限制为 300MB,对过大请求返回 413 错误以防止内存耗尽。 - - 在 JS 图工厂中添加了通过配置访问 store 和 checkpointer 的支持,以促进深度 agent 初始化。
- - 更新了
pyasn1依赖从版本 0.6.2 升级到 0.6.3 以增强安全性并修复解析问题。 - - 添加了检测功能以记录流式端点的首字节时间(TTFB)和响应大小,改进了访问日志详情。
v0.7.76
- - 放宽了
starlette-sse版本约束以提高依赖兼容性。
v0.7.75
- - 在
Runs.Enter中正确关闭流以防止缓冲区问题,并添加了用于配置窗口大小的环境变量。
v0.7.74
- - 清理了队列关闭操作期间的一些错误日志。
v0.7.73
- - 通过
extract改进了线程搜索性能,避免对大型 JSONB 值进行不必要的解压缩。
v0.7.72
- - 将 undici 包从版本 7.22.0 更新到 7.24.0 以解决多个安全漏洞。
v0.7.71
- - 通过从 Threads State Checkpoint 和 Runs create 方法中移除未使用的参数来清理 API。
- - 修复了
POST /threads/prune配合strategy=delete以确保线程记录被完全移除,而不仅仅是检查点数据。 - - 向响应对象添加了 A2A 1.0
kind区分符,移除了{"task": ...}包装器,并修复了 Anthropic 流式元数据问题。 - - 在 Redis 队列中添加了自定义加密支持以增强数据安全性。
v0.7.69
- - 向定时任务添加了可选的
timezone字段,允许在用户指定的时区进行next_run_date计算,默认为 UTC。 - - 修正了认证异常中 401 状态码的处理,以防止错误地默认为 403。
v0.7.68
- - 修复了非 DR 检查点 AES JSON 的问题以改进功能并扩展测试覆盖范围。
- - 修复了 A2A 流式传输以正确地将中断工件作为单独的
artifact-update事件发出,符合规范。 - - 通过仅提取经过验证和安全的成员来确保安全的 tarfile 提取,防止任意文件写入漏洞。
- - 通过在认证中间件中要求
noauth路径的精确匹配来增强安全性。 - - 修复了多任务策略中回滚期间写入线程状态的过时检查点值问题。
v0.7.66
- - 为默认检查点配置添加了回退到
LS_CHECKPOINTER_BACKEND当LANGGRAPH_CHECKPOINTER未设置。
v0.7.65
- - 修复了
messages-tuple流模式中的一个错误,该模式下tool_call_chunks包含args_json而不是args,导致无法重建消息并引发错误。
v0.7.64
- - 允许通过以下方式设置 MongoDB 检查点 URI
LS_MONGODB_URIorMONGODB_URI环境变量,并确定了优先级规则。
v0.7.63
- - 修复了一个可能导致队列实例死锁的错误,该错误是由于使用无效运行耗尽工作线程所致。
v0.7.61
- - 修复了竞态条件问题,确保健康检查和指标服务器的正常关闭。
v0.7.59
- - 更新了 Redis 队列以使用带线程的 zset,通过消除不必要的锁定和优化索引,将 CPU 使用率降低了 25% 并提升了性能。
v0.7.58
- - 升级了
langgraph-checkpointto 4.0.0 instorage_postgres/uv.lock以解决 CVE-2026-27794,并对依赖固定问题进行了调整。
v0.7.57
- - 修复了一个回归问题,该问题阻止所有用户创建与系统图关联的定时任务。
v0.7.56
- - 添加了对
ttl,index和refresh_ttl参数的支持,以符合 SDK 和进程内存储接口的要求。 - - 添加了对
?include=ttl查询参数的支持GET /threads/{thread_id}端点,以返回 TTL 信息。 - - 更新了指标报告,以准确统计 PostgreSQL 和 Redis 连接,确保 GRPC 和 Python 指标之间的统计数据一致。
v0.7.55
- - 修复了在新 cron 调度器后端中导致重复运行调度的错误。
- - 重构了
GET /docs端点以从静态 OpenAPI 规范读取,提高了与自定义入口配置的兼容性。
v0.7.54
- - 解决了由于硬编码值导致 gRPC 服务的自定义加密上下文无法正确加载的问题。
v0.7.52
- - 向
/wait和/join端点响应添加了反馈 URL,位于__feedback__键下,当feedback_keys被提供时。 - - 添加了反馈_密钥支持到分布式运行时,包括使用 langsmith-go SDK 生成预签名反馈令牌。
- - 将 Werkzeug 从 3.1.5 版本升级到 3.1.6 版本,以解决 Windows 上与多段路径中特殊设备名称相关的安全问题。
- - 将 Go 运行时升级到 1.25.7 版本,以解决漏洞扫描中发现的高危 CVE。
v0.7.51
- - 改进了上游服务中断期间的许可证检查弹性,包括缓存回退机制、24 小时的宽限期,以及 Redis 条目的自动清理。
- - 确保在启动时同步助手描述和名称,当
LANGSERVE_GRAPHS配置更改时。 - - 通过引入两级协议层次结构并修复能力检测来增强 Checkpointer API,以直接支持扩展方法。
v0.7.49
- - 请求载荷中的保留元数据键现在会被静默移除,而不是引发 422 错误,从而改善了用户体验。
- - 修复了存储默认 TTL 未应用于没有明确 TTL 参数写入项的问题。
v0.7.46
- - Webhook 中的结构化错误载荷现在包含
error和message字段,替换了之前的平面字符串格式,这可能会影响解析该格式的系统errorfield. - - 扩展了存储认证测试,使用命名空间重写来增强命名空间处理和跨用户隔离。
v0.7.45
- - 在所有处理路径中将空字节替换为 U+FFFD,以防止键冲突。
## v0.7.44 - 提高数据库 URI 解析器的灵活性 - 在某些负载上添加额外的验证
v0.7.40
- - 通过确保以下条件修复了助手创建中的回归问题
metadata和config被填充为空对象{}而不是null未提供时。
v0.7.39
- - 确保认证配置在分布式运行时操作中正确传递,以提高执行器功能。
- - 为使用基于 RHEL 容器的企业客户添加了对 Red Hat UBI-9 基于 Docker 镜像的支持。
- - 为分布式运行时添加了优雅关闭交接,允许进行中的运行转移到下一个 pod 而不使用重试尝试。
v0.7.38
- - 添加了
state_updated_at字段到线程中,用于跟踪有意义的变更,允许基于这些变更进行过滤和排序。 - - 添加了对核心系统内调度定时任务的支持。
- - 确保准确显示
https协议在代理卡片中,使用 x-forwarded-proto 头以实现正确的 A2A 客户端功能。
v0.7.37
- - 为
acopy_thread,aprune和adelete_for_runs在 BYOC 检查点适配器中添加了通用回退,简化了自定义检查点的实现。
v0.7.36
- - 更新了 A2A 协议支持到 v1.0 RC,重命名了 JSON-RPC 方法,添加了 ListTasks 处理器,并增强了角色、状态和部件格式以改进集成和合规性。
- - 改进了
Crons.search()和Crons.count()的认证过滤,以防止未授权的线程信息访问。 - - 修复了 BYOC 检查点在复制、回滚和命名空间过滤操作方面的差距,确保在不同存储后端之间正确处理。
v0.7.35
- - 添加了一个可选的
context参数到 MCPtools/call和 A2Amessage/send和message/stream端点,使中间件能够从请求头注入运行时上下文。
v0.7.33
- - 通过移除自定义检查点测试跳过、改进类型化序列化以及添加缺失的 Redis 方法来增强 Redis 测试夹具。
- - 通过在单引号 HTML onload 属性中清理消息名称来解决_UI 端点中的存储型 XSS 漏洞。
- - 修复了
put_item中的授权绕过问题,以确保认证处理器正确执行命名空间重写。 - - 在运行创建期间强制执行助手所有权检查,防止在非自有助手上执行,同时确保系统助手仍可被所有已认证用户访问。
- - 在使用 LANGGRAPH 时为 Go 检查点器实现了检查点 blob 和写入的 AES 加密。_AES_KEY.
- - 实现了具有所有必要方法和转换辅助函数的初始检查点 gRPC 服务。
v0.7.32
- - 在流和 A2A 响应中清理错误消息,以保护敏感信息(如数据库连接字符串和内部主机名)。
- - 修复了
join_run_stream以正确处理多个stream_mode参数,确保正确解析字符串化的 JSON 列表。 - - 为 Node.js 24 镜像添加了构建、测试和发布流程,支持最新的 LTS 版本。
- - 增强了自定义检查点适配器,添加了新功能并改进了元数据丰富化,以实现一致的 API 响应。
- - 在执行器 Docker 镜像中为 langgraph 库添加了更严格的版本约束,以防止意外升级。
- - Enhanced security by sanitizing SSE event and id fields to prevent CR/LF injection.
- - 修复了导致 cron 创建的运行使用默认加密上下文而不是正确传播指定上下文的问题。
v0.7.31
- - 纠正了元数据读取功能以确保准确的数据处理。
v0.7.30
- - 传播了 cron 元数据以提供更全面的调度信息。
- - 在
PATCH请求中合并 cron 元数据以通过保留现有数据与其他端点保持一致。
v0.7.29
- - 优化了 cron 创建的认证语义以防止权限提升,并确保 crons、threads 和 assistants 的独立过滤。
- - 验证了 tar 文件条目以防止 cloudflared 下载过程中的目录遍历漏洞。
- - 向
SearchThreadsRequest添加了 IDs 过滤器以简化线程端点操作。 - - 更新了回退机制以使用 Python Postgres 连接来获取线程状态,修复了工作线程完成检查点的问题。
- - 引入了一个带功能标志的 Redis 队列实现初始版本,并持续进行更新。
v0.7.28
- - MCP 和 gRPC 的内部维护和稳定性改进。
v0.7.27
- - 通过移除常见消息类型来改进 MCP 工具输入模式,以获得更清晰的工具定义。
- - 为 MCP 工具添加了名称清理以确保有效的工具名称。
v0.7.26
- - 在入口处添加了系统密钥验证。
v0.7.25
- - 将 Python 队列工作器切换为使用 core go
Runs.next(). - - 修复了长查询监控器中的监控问题
v0.7.24
- - 优化了 Postgres 连接处理以防止高负载下达到连接限制,并移除了不必要的错误日志。
- - 使用 gRPC 切换到新的后端进行运行管理和流式传输。
v0.7.23
- - 纠正了
input字段的解组过程RunCommand以确保准确的数据映射并启用之前受限的 JS 测试。 - - 通过在执行开始前完全订阅来确保运行流处理的竞态条件处理,并添加了对
FF_LOG_DROPPED_EVENTS环境变量的支持。
v0.7.22
- - 确保
get_store()在自定义路由中工作,使用户定义的 Starlette 端点能够访问 Store。
v0.7.21
- - Support for PATCH /crons/{cron_id}
v0.7.19
- - 核心 API 的自定义加密改进。
v0.7.18
- - 更新线程流以支持核心 API 使用。
v0.7.17
- - OTEL 的检测现在需要明确选择加入
LS_APM_OTEL_ENABLED=true以获得更好的控制。
v0.7.16
- - 将线程流切换到新的 gRPC 后端以提高性能。
- - 在 DR 中引入了副本追踪以增强 Studio 中的评估能力。
v0.7.15
- - 添加了暂停 crons 的支持
is_enabled字段,仅允许执行已启用的 crons。 - - 引入了 gRPC 服务器对 JSON 加密和解密操作的支持。
v0.7.14
- - 确保选定的系统字段不被自定义加密排除,以防止对非敏感数据进行不必要的加密。
- - 引入了自定义检查点适配器及其单元测试,以验证实现检查。
v0.7.13
- - 修复了设置挂载前缀时应用状态未能在请求间正确保留的bug。
v0.7.11
- - 添加了配置以控制哪些负载字段可以暴露给webhook。
- - 更新了所有依赖项
/api/langgraph_api/js组,包括@langchain/core,hono,@types/react,以及prettier,以提升性能并修复安全问题。 - - 升级
hono从4.11.4版本升级到4.11.7版本,以修复中间件中的多个安全漏洞。
v0.7.10
- - 将gRPC服务器启动超时时间增加到1分钟,以防止与核心服务器连接时出现偶发的超时问题。
- - Updated @langchain/langgraph from version 1.1.0 to 1.1.2, introducing mixed schema support for StateGraph and type bag patterns for GraphNode and ConditionalEdgeRouter utilities.
v0.7.9
- - A2A
messageId现已映射到LangChain消息ID,以实现跨协议的正确消息跟踪。
v0.7.7
- - 确保在gRPC序列化期间保留检查点元数据中的自定义可配置字段。
v0.7.5
- - 在设置线程状态时对值、中断和错误强制执行自定义加密,解决了之前的不一致问题。
- - 在
message/stream和message/send路由中添加了A2A验证检查,用于parts,role,以及messageIdfields. - - 添加了原生A2A中断支持:
input-required状态现已在图形被中断时返回。使用新的command参数在message/stream和message/send请求中继续使用Commandpayload. - - 挂载了
.well-known/agent-card.json在/a2a/{assistant_id}/下,用于A2A代理发现。 - - 在
tasks/cancel.
v0.7.4
- - 修复了Redis URL解析的bug,用于
ssl_cert_reqs字段,确保与redis-go的兼容性。 - - 为流式运行添加了gRPC客户端,受
FF_USE_CORE_API功能标志控制。
v0.7.2
- - 更新了
@langchain/langgraph到1.1.0版本,引入了图形节点和条件边的类型工具,以增强TypeScript的可用性。
v0.7.0
- - 默认改用Go assistants实现以提升性能。
- - 添加了
LANGGRAPH_AES_JSON_KEYS配置以使用密钥名白名单对指定的JSON字段启用AES加密。
v0.6.39
- - 向Python添加了
Threads.State()的gRPC客户端支持core-api,改进了线程ID和运行计数操作。
v0.6.36
- - 在auth过滤器中验证了
$and和$or的长度,并优化了不必要的根级过滤器。
v0.6.35
- - 通过移除
code字段统一了错误格式,并将所有错误标准化为返回带有detailfield.
## v0.6.34 - 的功能标志内部环境的小修复(未发布)。
## v0.6.33 - 功能标志内部环境的小修复(未发布)。
## v0.6.32 - 针对功能开关内部环境的小修复(未发布)。
v0.6.31
- - 正确遵守了禁用_a2a设置以确保准确的配置处理。
v0.6.29
- - 修复小问题。
v0.6.28
- - 添加了对
ParentCommand的支持,以正确地将控制传播到父图,增强命令处理和导航。 - - 添加了用于管理运行操作的Python gRPC客户端,增强了Go和Python实现之间的一致性。
v0.6.27
- - 修复了处理空线程元数据时的回归问题。
v0.6.26
- - 修复了持久化gRPC服务器的端口配置问题。
v0.6.25
- - 在执行层运行core-api gRPC服务器以支持图中的回环API调用,并移除了禁用服务器的不必要配置。
v0.6.24
- - 修复了执行层中存活探针的行为,解决了0.6.23版本中的问题。
v0.6.23
- - 将gRPC服务器健康检查与
/ok端点集成到存活探针中,以确保正确的启动协调。 - - 撤销了之前禁用检查点的更改,并添加了条件以仅在测试期间启用RemoteCheckpointer。
- - 抑制了
langgraph_auth_*和langgraph_request_id字段在检查点元数据中的显示,以防止包含临时用户数据。
v0.6.22
- - 解决了使用仅blob自定义加密时缺少加密上下文导致的错误,确保功能正常运行无错误。
v0.6.21
- - 引入了用于运行操作的Python gRPC客户端,包括
Search,Get,Delete,Cancel,Stats和Sweep,包含更新的API实现和用于枚举映射的新单元测试套件。
v0.6.19
- - 在引擎服务器中重现了
get_state和update_state的开源实现,并重新启用了test_weather_subgraph.
v0.6.18
- - 添加了功能以对自托管Enterprise用户强制执行特定许可证声明,启用远程禁用Agent Builder产品。
- - 添加了新的Prune端点以更好地管理资源。
- - 在Pregel中合并了图配置与调用配置,优先使用调用设置。
- - 引入了
include=ttlquery parameter to the GET /threads/{id} 端点,用于可选的TTL信息检索,不影响标准读取性能。 - - 引入了一种
keep_latestTTL策略,通过核心API在保留最新状态的同时修剪旧检查点。
v0.6.17
- - 确保在删除代理时停止正在运行的运行,以防止进程残留。
v0.6.16
- - 简化和整合了Go持久层中的运行操作,提高了包之间的效率和一致性。
v0.6.15
- - 改进了将自定义路由文档字符串转换为OpenAPI模式内容的工具,在解析文档字符串时添加了错误处理,适用于使用自定义Starlette应用的用户。
v0.6.12
- - 改进了resolve_嵌入的鲁棒性,支持多次调用而不出错。
- - 更新了
@langchain/langgraph从1.0.4版本到1.0.7版本,添加了对远程图上resumableStreams的支持,并取消了toolsCondition的弃用。 - - 实现了
RemoteCheckpointer以启用子图检查点,增强任务执行可靠性。
v0.6.11
- - 使最大重试次数可配置,增强了自定义能力。
v0.6.10
- - 确保运行取消仅处理'message'类型的Redis事件,提高pubsub客户端的可靠性。
- - 为Store API添加了自定义加密
value字段,允许用户选择要加密的密钥以增强安全性。 - - 通过更新TeeStream单独处理事件类型,启用子图自定义事件的流式传输。
v0.6.9
- - 强制自定义加密使用稳定的JSON键,移除了特定于模型类型的自定义JSON函数,并改进了双重加密场景的错误处理。
v0.6.8
- - 添加了性能分析功能以增强性能分析和监控。
v0.6.7
- - 记录服务器启动时间以改进监控和诊断。
v0.6.5
- - 添加了在导入时触发的警告日志以提高可见性。
v0.6.4
- - 通过并行化元数据和配置流程增强自定义加密,为thread.config和一些检查点添加了加密,改进了测试和模式一致性。
- - 确保Go服务器作为
core-api在队列入口点启动以保持一致的运行时行为。
v0.6.2
- - 解决了一个导致中间件重复调用的问题,当
mount_prefix被指定时。
v0.6.0
此小版本更新了流式API /join-stream 和 /stream 关于 last-event-id 参数的行为以符合SSE规范。以前,传递last-event-id会返回该消息以及后续的所有消息。今后,这些API将仅返回所提供的last-event-id之后的新消息。例如,对于以下流,之前传递last-event-id为 2 会返回id为 2 和 3的消息,但现在只会返回id为 3:
{
"id": 1,
"event": "message",
"data": {
"content": "Excluded"
}
},
{
"id": 2,
"event": "message",
"data": {
"content": "Passed last-event-id"
}
},
{
"id": 3,
"event": "message",
"data": {
"content": "Included"
}
}
此版本还包含一些修复,包括修复了运行流中暴露意外内部事件的bug。
v0.5.42
- - 修改Go服务器仅依赖CLI
-service标志来确定服务模式,忽略全局设置的FF_USE_CORE_API以获得更好的部署特异性。
v0.5.41
通过确保正确初始化ENTERPRISE_SAAS全局标志修复了混合模式下cron作业的问题。
v0.5.39
- - 完成了运行和cron的自定义加密实现,并简化了加密流程。
- - 在
values和updates流模式下引入了对流式子图事件的支持。
v0.5.38
- - 为线程实现了完整的自定义加密,确保所有线程数据都被正确保护和安全加密。
- - 确保Redis尝试标志始终过期以防止陈旧数据。
- - Added core authentication and support for OR/AND filters, enhancing security and flexibility.
v0.5.37
在助手计数API中添加了 name 参数以改进搜索灵活性。
v0.5.36
- - 引入了可配置的webhook支持,允许用户自定义提交的webhook和头信息。
- - 在根路径添加了
/ok端点以便更轻松地进行健康检查和简化配置。
v0.5.34
引入了自定义加密中间件,允许用户定义自己的加密方法以增强数据保护。
v0.5.33
将Uvicorn的keep-alive超时设置为75秒以防止偶发的502错误并改进连接处理。
v0.5.32
引入了支持 New Relic 集成的 OpenTelemetry 遥测代理。
v0.5.31
添加了 Py-Spy 性能分析以改进部署性能分析,但覆盖率有一定限制。
v0.5.30
- - 始终配置环回传输客户端以提高可靠性。
- - 确保在 JS 中为远程非流方法传递身份验证标头。
v0.5.28
- - 引入了基于 Rust 的更快 uuid7 实现以提高性能,现已在 langsmith 和 langchain-core 中使用。
- - 添加了对
$or和$and在 PostgreSQL 身份验证过滤器中的支持,以启用身份验证检查中的复杂逻辑。 - - 限制了 psycopg 和 psycopg-pool 版本以防止启动时无限等待。
v0.5.27
- - 确保
runs.list使用过滤器仅返回运行字段,防止包含不正确的状态数据。 - - (JS)更新了
uuid从 10.0.0 版本到 13.0.0 版本。和exit-hook从 4.0.0 版本到 5.0.1 版本。
v0.5.26
解决了 store.put 在 JavaScript 环境中未使用 AsyncBatchedStore 时的使用问题。
v0.5.25
- - 引入了通过其
name使用新端点搜索助手的能力。 - - 将 store_的 get 返回类型在 JavaScript 中转换为 tuple 以确保类型一致性。
v0.5.24
- - 为 Datadog 添加了执行器指标,并增强了核心流 API 指标以更好地跟踪性能。
- - 禁用了 Redis Go 维护通知,以防止 Redis 8 以下版本因不支持的命令导致启动错误。
v0.5.20
解决了执行器服务在处理大消息时发生的错误。
v0.5.19
升级了内置 langchain-core 至 1.0.7 版本以解决提示格式化漏洞。
v0.5.18
引入了带有 on_run_completed: {keep,delete} 的持久化 cron 线程,以增强 cron 管理和检索选项。
v0.5.17
增强了任务处理以支持多个中断,与开源功能保持一致。
v0.5.15
为 Resume 和 Goto 命令添加了自定义 JSON 反序列化,以修复 map 样式 null 恢复解释问题。
v0.5.14
确保 pg make start 命令在启用 core-api 时正确运行。
v0.5.13
支持 include 和 exclude (复数形式键用于 includes 和 excludes),因为文档错误地声称支持该功能。现在服务器接受其中任一种。
v0.5.11
- - 确保在流式传输线程时一致地应用身份验证处理程序,与最新安全实践保持一致。
- - 升级了
undici依赖从 6.21.3 版本到 7.16.0 版本,带来了各种性能改进和错误修复。 - - 更新了
p-queue从 8.0.1 版本到 9.0.0 版本,引入了新功能和破坏性变更,包括移除throwOnTimeoutoption.
v0.5.10
Implemented healthcheck calls in the queue /ok handler to improve Kubernetes liveness and readiness probe compatibility.
v0.5.9
- - 解决了一个导致
elapsed变量在 SIGINT 中断期间出现"未绑定本地错误"的问题。 - - 将"中断"状态映射到A2A的"需要输入"状态,以更好地对齐任务状态。
v0.5.8
- - 确保在启动langgraph-ui时将环境变量作为字典传递,以保持兼容性
uvloop. - - 在Go中实现了运行记录的CRUD操作,简化了JSON合并并提高了事务可读性,并参考了PostgreSQL。
v0.5.7
用带重试机制的Redis客户端替换了无重试客户端,以更有效地处理连接错误,并降低了相应日志的严重级别。
v0.5.6
- - 添加了等待时间指标,以更好地了解任务等待时间。
- - 替换
pb.Value为ChannelValue以简化代码结构。
v0.5.5
使Redis的 health_check_interval 更加频繁且可配置,以更好地处理空闲连接。
v0.5.4
实现了 ormsgpack 配合 OPT_REPLACE_SURROGATES 并针对影响自定义身份验证依赖项的最新FastAPI版本进行了更新以确保兼容性。
v0.5.2
在启动期间为PostgreSQL连接添加了重试逻辑,以增强部署可靠性,并改进了错误日志记录以便于调试。
v0.5.1
- - 解决了与LangChain.js的createAgent功能配合使用时持久化功能无法正常工作的问题。
- - 通过改进数据库连接池和gRPC客户端重用优化了助手CRUD性能,减少了大数据负载的延迟。
v0.5.0
此小版本现在需要langgraph-checkpoint 3.0之后的版本,以防止langgraph-checkpoint库早期版本中的反序列化漏洞。 该 langgraph-checkpoint 库与以下小版本兼容 langgraph 小版本0.4、0.5、0.6和1.0。
此版本移除了对使用"json"类型保存的有效载荷的反序列化的默认支持,因为这从未是默认行为。 默认情况下,对象使用msgpack进行序列化。在某些不常见的情况下,有效载荷使用较旧的"json"模式进行序列化。如果这些有效载荷包含自定义Python对象,除非您提供 serde config:
{
"checkpointer": {
"serde": {
"allowed_json_modules": [
["my_agent", "my_file", "SomeType"],
]
}
}
}
v0.4.47
- - 使用TypeAdapter验证并自动更正环境配置类型。
- - 添加了对LangChain.js和LangGraph.js 1.x版本的支持,确保兼容性。
- - 将hono库从4.9.7版本更新到4.10.3,解决了CORS中间件安全问题并增强了JWT受众验证。
- - 引入了一个模块化基准测试框架,增加了对助手和流的支持,并改进了现有的基准测试方法。
- - 为核心线程CRUD操作引入了gRPC API,并更新了Python和TypeScript客户端。
- - 更新了
hono包从4.9.7版本更新到4.10.2,包括JWT受众验证的安全改进。 - - 更新了
hono依赖项从4.9.7版本更新到4.10.3,以修复安全问题并改进CORS中间件处理。 - - 为线程引入了基本的CRUD操作,包括创建、获取、修补、删除、搜索、计数和复制,支持Go、gRPC服务器以及Python和TypeScript客户端。
v0.4.46
添加了一个选项以启用来自子图事件的消息流,让用户更好地控制事件通知。
v0.4.45
- - 在自定义路由上实现了授权支持,由以下控制
enable_custom_route_authflag. - - 将默认跟踪设置为关闭,以提高性能并简化调试。
v0.4.44
为许可证相关的密钥使用Redis键前缀,以防止与现有设置冲突。
v0.4.43
实现了 Redis 连接的健康检查,以防止连接空闲断开。
v0.4.40
- - 通过解决竞态条件并添加测试来确保一致性行为,防止了可恢复运行和线程流中的重复消息。
- - 确保在确认 pubsub 订阅后才开始运行,以防止启动时的消息丢失。
- - 将平台从 langgraph 重命名,以提高清晰度和品牌识别度。
- - 使用后重置 PostgreSQL 连接以防止锁持有,并改进了事务问题的错误报告。
v0.4.39
- - 升级
hono从 4.7.6 版本升级到 4.9.7 版本,解决了与此相关的一个安全问题bodyLimitmiddleware. - - 允许自定义基础认证 URL 以增强灵活性。
- - 使用 'uv' 将 'ty' 依赖固定到稳定版本,以防止意外的 linting 失败。
v0.4.38
- - 替换
LANGSMITH_API_KEY为LANGSMITH_CONTROL_PLANE_API_KEY以支持需要许可证验证的混合部署。 - - 引入了自托管日志摄取支持,可通过以下方式配置
SELF_HOSTED_LOGS_ENABLED和SELF_HOSTED_LOGS_ENDPOINT环境变量。
v0.4.37
复制线程需要创建权限,以确保适当的授权。
v0.4.36
- - 改进了错误处理,并在清理循环中添加了延迟,以便在 Redis 停机或取消错误期间更平稳地运行。
- - 更新了队列入口点,使其在
FF_USE_CORE_API启用时启动 core-api gRPC 服务器。 - - 在助手端点中引入了无效配置检查,以确保与其他端点的一致性。
v0.4.35
- - 解决了核心 API 中的时区问题,确保准确的时间数据检索。
- - 引入了一个新的
middleware_order设置,用于在自定义中间件之前应用身份验证中间件,允许对受保护路由配置进行更精细的控制。 - - 在创建 Redis 客户端时发生错误时记录 Redis URL。
- - Improved Go engine/runtime context propagation to ensure consistent execution flow.
- - 移除了不必要的
assistants.put调用以简化执行器入口点的流程。
v0.4.34
阻止未授权用户更新线程 TTL 设置以增强安全性。
v0.4.33
- - 通过记录来改进 Redis 锁的错误处理
LockNotOwnedError并将初始连接池迁移锁超时时间延长至 60 秒。 - - 更新了 BaseMessage schema 以与最新的 langchain-core 版本保持一致,并同步了构建依赖项以确保一致的本地开发。
v0.4.32
- - 在 API 镜像中添加了 GO 持久层,支持 GRPC 服务器运行 PostgreSQL 并增强了可配置性。
- - 在超时时将状态设置为错误以改进错误处理。
v0.4.30
- - 在使用时添加了对 context 的支持
stream_mode="events"并包含此功能的新测试。 - - 添加了使用覆盖服务器端口的支持
$LANGGRAPH_SERVER_PORT并移除了不必要的 DockerfileARG以获得更清晰的配置。 - - 在线程删除 CTE 中对所有表引用应用授权过滤器以增强安全性。
- - 引入了自托管指标摄取功能,允许在设置相应环境变量时每分钟将指标发送到 OTLP 收集器。
- - 确保
set_latest函数正确更新了版本的名称和描述。
v0.4.29
确保在所有场景中正确清理 Redis pubsub 连接。
v0.4.28
- - 为队列指标服务器添加了格式参数以增强自定义功能。
- - 已更正
MOUNT_PREFIXCLI 中的环境变量使用,以保持与文档的一致性并防止混淆。 - - 添加了当消息因无订阅者而被丢弃时记录警告的功能,可通过功能标志控制。
- - 在 Node 镜像中添加了对 Bookworm 和 Bullseye 发行版的支持。
- - 通过将执行器定义从以下位置移出来整合执行器定义
langgraph-go仓库中整合了执行器定义,提高了可管理性,并更新了服务器迁移的检查点设置方法。 - - 确保为 a2a 发送正确的响应头,提高了兼容性和通信质量。
- - 整合了 PostgreSQL 检查点实现,为以下目录添加了 CI 测试
/core目录修复了 RemoteStore 测试错误,并通过事务增强了 Store 实现。 - - 向队列服务器添加了 PostgreSQL 迁移,以防止在执行迁移之前添加图形时出错。
v0.4.27
已替换 coredis 为 redis-py 以在高流量负载下改善连接处理和可靠性。
v0.4.24
- - 添加了根据 A2A 规范返回 A2A 调用完整消息历史记录的功能。
- - 添加了一个
LANGGRAPH_SERVER_HOSTDockerfile 中的环境变量,以支持双栈模式的自定义主机设置。
v0.4.23
使用更快的消息编解码器用于 Redis 流。
v0.4.22
将长流处理移植到运行流、加入和取消端点,以改进流管理。
v0.4.21
- - 添加了 A2A 流式功能,并使用 A2A SDK 增强了测试。
- - 添加了 Prometheus 指标以跟踪图形、中间件和身份验证中的语言使用情况,以获取更深入的洞察。
- - 修复了开源软件中与块消息转换相关的错误。
- - 从 pubsub 订阅中移除 await 以减少集群测试中的不稳定性,并在关闭套件中添加了重试以增强 API 稳定性。
v0.4.20
优化了 Pubsub 初始化以防止开销并解决订阅时间问题,确保更顺畅的运行执行。
v0.4.19
通过解决 3.2.10 版本中引入的函数检查问题,消除了 psycopg 的警告。
v0.4.17
过滤掉带有挂载前缀的日志以减少日志输出中的噪音。
v0.4.16
- - 在 a2a 中添加了对隐式线程创建的支持以简化操作。
- - 改进了分布式运行时流中的错误序列化和发送,实现了更全面的测试。
v0.4.13
- - 在健康端点中监控队列状态以确保 PostgreSQL 初始化失败时的正确行为。
- - 解决了不等扫描 ID 长度的问题以提高日志清晰度。
- - 通过避免 DR 有效载荷的重新序列化并使用 msgpack 字节检查进行类似 json 的解析来增强流式输出。
v0.4.12
- - 确保即使在数据库连接问题时也能返回指标。
- - 优化更新流以防止不必要的数据传输。
- - 升级了
hono中的版本从 4.9.2 到 4.9.6,storage_postgres/langgraph-api-server以提高 URL 路径解析的安全性。 - - 为 LangSmith 访问调用添加了重试和内存缓存,以提高对单次故障的 resilience(容错能力)。
v0.4.11
在线程更新中添加了对 TTL(生存时间)的支持。
v0.4.10
在分布式运行时中,更新最终 checkpoint → 线程设置的 serde 逻辑。
v0.4.9
- - 在搜索端点中添加了按 ID 过滤搜索结果的支持,以实现更精确的查询。
- - 为助手端点添加了可配置 headers(请求头),以增强请求定制能力。
- - 实现了一个简单的 A2A 端点,支持代理卡片检索、任务创建和任务管理。
v0.4.7
停止包含 x-api-key 以增强安全性。
v0.4.6
修复了加入流时的竞态条件,防止重复启动事件。
v0.4.5
- - 确保检查点在队列前后正确启动和停止,以提高关闭和启动效率。
- - 解决了队列取消时工作线程被过早取消的问题。
- - 通过添加备用方案防止队列终止,以应对 Redis 唤醒工作线程失败的情况。
v0.4.4
- - 设置自定义 auth(认证)线程_对于无状态运行,将 ID 设置为 None 以防止冲突。
- - 通过添加唤醒工作线程和 Redis 锁实现,改进了 Go 运行时中的 Redis 信号机制,并更新了清理逻辑。
v0.4.3
- - 为线程流添加了流模式,以改进数据处理。
- - 为运行添加了持久性参数,以改进数据持久化。
v0.4.2
确保在创建运行前初始化 pubsub(发布/订阅),以防止缺失消息导致的错误。
v0.4.0
次版本 0.4 包含多项改进以及一些破坏性变更。
- - 在线程流中正确发出重试次数消息。
- - 通过仅使用线程 ID 进行哈希计算来减少集群冲突,在集群映射中优先考虑流效率_线程_cache.
- - 为线程引入流端点,以跟踪顺序执行运行中的所有输出。
- - 使 PostgreSQL 中的过滤查询构建器对格式错误的表达式更加健壮,并改进了验证以防止潜在的安全风险。
此次版本还包括一些破坏性变更,以提高服务的可用性和安全性:
- - 在此版本中,我们停止了将 headers(请求头)自动作为可配置值包含在运行中的做法。您可以通过设置来选择加入特定模式 **可配置_请求头** 在您的代理服务器配置中。
- - 运行流事件 ID(用于可恢复流)现在的格式为
ms-seq而不是之前的格式。我们保留了旧格式的向后兼容性,但我们建议在新代码中使用新格式。
v0.3.4
- - Added custom Prometheus metrics for Redis/PG connection pools and switched the queue server to Uvicorn/Starlette for improved monitoring.
- - 通过修正 shell 命令格式恢复了 Wolfi 镜像构建,并添加了用于 nginx 测试的 Makefile 目标。
v0.3.3
- - 为特定的 Redis 调用添加了超时设置,以防止工作线程保持活跃状态。
- - 更新了 Golang 运行时,并为不支持的功能添加了 pytest 跳过,包括传递 store 到节点和消息流的初始支持。
- - Introduced a reverse proxy setup for serving combined Python and Node.js graphs, with nginx handling server routing, to facilitate a Postgres/Redis backend for the Node.js API server.
v0.3.1
为连接池添加了语句超时以防止长时间运行的查询。
v0.3.0
- - 设置了默认的 15 分钟语句超时,并实现了对长时间运行的查询的监控以确保系统效率。
- - 停止将运行可配置值传播到线程配置,因为这可能在后续运行中导致问题(如果您正在指定检查点)_id。这是一个 **轻微的破坏性变更** 在行为方面,因为线程值将不再自动反映最近一次运行的联合配置。然而,我们相信这种行为更加直观。
- - 通过在ops.py中处理通道名称中的事件数据,增强了与旧版worker的兼容性。
v0.2.137
修复了未绑定局部错误,改进了线程中断或错误的日志记录,并进行了类型更新。
v0.2.136
- - 添加了增强的日志记录功能,以帮助调试metaview问题。
- - 升级了executor和runtime到最新版本,以提高性能和稳定性。
v0.2.135
确保异步协程被正确等待,以防止潜在的运行时错误。
v0.2.134
增强了搜索功能,允许用户选择特定列来查询结果,以提高性能。
v0.2.133
- - 添加了crons、threads和assistants的计数端点,以增强数据跟踪(#1132)。
- - 改进了SSH功能,提高了可靠性和稳定性。
- - Updated @langchain/langgraph-api to version 0.0.59 to fix an invalid state schema issue.
v0.2.132
- - 添加了Go语言镜像,以增强项目兼容性和功能性。
- - 打印了JS worker的内部PID,以方便通过SIGUSR1信号进行进程检查。
- - 解决了
run_pkey尝试插入重复运行时发生的错误。 - - 添加了
ty run命令,并切换到使用uuid7生成运行ID。 - - 实现了初始Golang runtime以扩展语言支持。
v0.2.131
添加了对 object agent spec 在JS中带描述的支持。
v0.2.130
- - 添加了功能标志(FF_RICH_THREADS=false)以禁用运行创建时的线程更新,减少锁争用并简化线程状态处理。
- - 利用现有连接进行
aput和apwrite操作以提高性能。 - - 改进了解码问题的错误处理,以增强数据处理可靠性。
- - 从日志中排除headers以提高安全性,同时保持运行时功能。
- - 修复了阻止将槽映射到单个节点的错误。
- - 添加了调试日志以跟踪JS部署中的节点执行,以改进问题诊断。
- - 将默认多任务策略更改为入队,通过消除在新运行插入期间获取进行中运行的需要来提高吞吐量。
- - 优化了
Runs.next和Runs.sweep的数据库操作以减少冗余查询并提高效率。 - - 通过跳过不必要的进行中运行查询来提高运行创建速度。
v0.2.129
- - 停止将内部LGP字段传递给上下文,以防止破坏类型检查。
- - 公开了content-location headers以确保API中正确的可恢复性行为。
v0.2.128
确保 configurable 和 context 在assistants中的同步更新,防止设置错误并支持更顺畅的版本过渡。
v0.2.127
从可恢复流中排除未请求的流模式以优化功能。
v0.2.126
- - 使访问日志记录器头可配置,以增强日志记录的灵活性。
- - 对 Runs.stats 函数进行防抖处理,以减少昂贵调用的频率并提升性能。
- - 为清理器引入防抖机制以提升性能和效率 (#1147)。
- - 为 TTL 清理获取锁,以防止在扩展操作期间对数据库造成频繁访问。
v0.2.125
更新追踪上下文副本以使用新格式,确保兼容性。
v0.2.123
为队列副本添加了入口点,以改进部署管理。
v0.2.122
在 join 中利用持久化的中断状态,以确保在完成后正确处理用户的中断状态。
v0.2.121
- - 将事件合并到单个通道中以防止竞态条件并优化启动性能。
- - 确保在队列工作线程上调用自定义生命周期以进行正确设置,并添加了测试。
v0.2.120
- - 恢复了运行流的原始流式行为,确保基于
stream_modesettings. - - 优化了
Runs.next查询以将平均执行时间从约 14.43ms 减少到约 2.42ms,提升性能。 - - 添加了对流模式 "tasks" 和 "checkpoints" 的支持,规范化了 UI 命名空间,并升级了
@langchain/langgraph-api以增强功能。
v0.2.117
在主题上添加了复合索引以加速搜索,支持基于所有者的身份验证,并更新了默认排序顺序为 updated_at 以提升查询性能。
v0.2.116
将默认的历史检查点数量从 10 减少到 1 以优化性能。
v0.2.115
优化了缓存重用以提升应用性能和效率。
v0.2.113
通过更新响应头中的 X-Pagination-Total 和 X-Pagination-Next 改进了主题搜索分页以获得更好的导航体验。
v0.2.112
- - 确保同步日志方法被正确等待,并添加了 linter 以防止将来再次发生。
- - 修复了 JavaScript 任务未正确填充到 JS 图中的问题。
v0.2.111
通过在连接打开时立即启动心跳来修复 JS 图流式传输失败的问题。
v0.2.110
在保留流式行为的同时,将中断作为连接操作的默认值添加。
v0.2.109
修复了当 config_type 未设置时配置模式缺失的问题,确保更可靠的配置。
v0.2.108
为 LangGraph v0.6 兼容性做准备,支持新的上下文 API 并修复了错误。
v0.2.107
- - 为认证流程实现缓存以提升性能和效率。
- - 通过合并计数和选择查询来优化数据库性能。
v0.2.106
使日志流可恢复,增强了可靠性,并在重新连接时改善了用户体验。
v0.2.105
添加了 heapdump 端点以将内存堆信息保存到文件。
v0.2.103
使用正确的元数据端点来解决数据检索问题。
v0.2.102
- - 在 wait 方法中捕获中断事件,以保留 langgraph 0.5.0 中的先前行为。
- - 在 JavaScript 环境中添加了对 SDK structlog 的支持,以增强日志记录能力。
v0.2.101
修正了自托管部署的元数据端点。
v0.2.99
- - 通过添加内存缓存和更有效地处理 Redis 连接错误来改进许可证检查。
- - 重新加载助手以保留手动创建的助手,同时丢弃配置文件中已移除的助手。
- - 回滚更改以确保 gen UI 的 UI 命名空间是有效的 JavaScript 属性名。
- - 确保生成的 UI 的 UI 命名空间是有效的 JavaScript 属性名,提高 API 合规性。
- - 增强错误处理,对不可处理的实体请求返回 422 状态码。
v0.2.98
为 langgraph 节点添加上下文,以改进日志过滤和跟踪可见性。
v0.2.97
- - 改进与主循环上 ckpt 导入工作器的互操作性,防止任务调度问题。
- - 延迟队列工作器启动直到迁移完成后,以防止过早执行。
- - 通过添加特定元数据和改进响应码增强线程状态错误处理,以便在创建期间状态更新失败时提供更好的清晰度。
- - 在检索线程状态时公开中断 ID,以提高 API 透明度。
v0.2.96
Added a fallback mechanism for configurable header patterns to handle exclude/include settings more effectively.
v0.2.95
- - 避免在 future 已完成时设置它,以防止冗余操作。
- - 通过切换解决了 CI 中的兼容性问题
typing.TypedDicttotyping_extensions.TypedDict适用于 Python 3.12 以下版本。
v0.2.94
- - 通过为 langgraph 0.5 及以上版本省略待处理的发送来改进性能。
- - 改进服务器启动日志,以便在设置 DD 时提供更清晰的警告_API_KEY 环境变量时。
v0.2.93
移除运行元数据的 GIN 索引以改进性能。
v0.2.92
启用 blob 和检查点的复制功能,改进数据管理灵活性。
v0.2.91
减少对 checkpoint_blobs 表的写入,通过内联小值(null、数字、str 等)。这意味着我们不需要为未更新的通道存储额外的值。
v0.2.90
通过节点本地后台队列改进检查点写入。
v0.2.89
Decoupled checkpoint writing from thread/run state by removing foreign keys and updated logger to prevent timeout-related failures.
v0.2.88
移除 thread 的外键约束 run 表以简化数据库架构。
v0.2.87
添加更详细的 Redis 工作器信令日志以改进调试。
v0.2.86
在 /mcp 端点中遵循工具描述以与预期功能保持一致。
v0.2.85
添加了对 on_disconnect 字段的支持 runs/wait 并包含断开连接日志以便更好地调试。
v0.2.84
移除不必要的状态更新以简化线程处理,并将版本更新至 0.2.84。
v0.2.83
- - 将可恢复流的默认生存时间缩短至 2 分钟。
- - 增强数据提交逻辑,根据许可证配置将数据发送至 Beacon 和 LangSmith 实例。
- - 在配置端点时启用将自托管数据提交至 LangSmith 实例。
v0.2.82
通过使用 join 实现锁来解决后台运行中的竞态条件,确保在 CTE 中可靠执行。
v0.2.81
通过减少初始等待时间优化运行流,以改进对旧运行或不存在运行的响应性。
v0.2.80
在 logger.ainfo() API 调用中修正参数传递以解决 TypeError。
v0.2.79
- - 修正了使用远程图的检查点中的 JsonDecodeError,通过修正 JSON 序列化以正确处理尾部斜杠。
- - 引入配置标志以在所有路由中全局禁用 webhooks。
v0.2.78
- - 为 Webhook 调用添加了超时重试机制,以提高可靠性。
- - 添加了 HTTP 请求指标,包括请求计数和延迟直方图,以增强监控能力。
v0.2.77
- - 添加了 HTTP 指标以改进性能监控。
- - 更改了 Redis 缓存分隔符以减少与子图消息名称的冲突,并更新了缓存行为。
v0.2.76
更新了 Redis 缓存分隔符以防止与子图消息冲突。
v0.2.74
在隔离循环中调度 Webhook 以确保线程安全操作,并防止 PYTHONASYNCIODEBUG=1 下的错误。
v0.2.73
- - 修复了无限帧循环问题并移除了 dict_解析器,因为 structlog 的意外行为。
- - 在运行取消期间发生死锁时抛出 409 错误以优雅地处理锁冲突。
v0.2.72
- - 确保与未来 langgraph 版本的兼容性。
- - 实现了 409 响应状态以处理取消期间的死锁问题。
v0.2.71
改进了日志记录,使日志类型更加清晰和详细。
v0.2.70
改进了错误处理,以更好地区分和记录由用户导致的 TimeoutError 与内部运行超时。
v0.2.69
为 crons API 添加了排序和分页,并更新了模式定义以提高准确性。
v0.2.66
修复了使用同一线程 ID 创建多个运行时出现 404 错误的问题_使用 on_not_exist="create".
v0.2.65
- - 确保仅返回来自
assistant_versions的字段(必要时)。 - - 确保内存用户和 PostgreSQL 用户的数据类型一致,改进了内部身份验证处理。
v0.2.64
为版本条目添加了描述以提高清晰度。
v0.2.62
- - 改进了 JS Studio 中自定义身份验证的用户处理。
- - 在指标端点添加了 Prometheus 格式的运行统计数据,以改进监控功能。
- - 在指标端点添加了 Prometheus 格式的运行统计数据。
v0.2.61
为 Redis 连接设置了最大空闲时间以防止不必要的开放连接。
v0.2.60
- - 增强了字典操作的错误日志记录以包含堆栈跟踪详情。
- - 添加了
/metrics端点以公开队列工作器指标用于监控。
v0.2.57
- - 从可重试异常中移除了 CancelledError,以允许本地中断,同时保持工作器的可重试性。
- - 引入了中间件,在接收到 SIGINT 后完成进行中请求时优雅地关闭服务器。
- - 减少了存储在检查点中的元数据,仅包含必要信息。
- - 改进了连接运行中的错误处理,在存在错误时返回错误详情。
v0.2.56
通过添加 SIGTERM 信号处理器提高了应用稳定性。
v0.2.55
- - 改进了队列入口点中取消的处理。
- - 改进了队列入口点中的取消处理。
v0.2.54
- - 增强了许可证验证期间 LuaLock 超时的错误消息。
- - 通过要求显式的 ::text 类型转换修复了自定义身份验证中的 $contains 筛选器,并相应地更新了测试。
- - 确保项目和租户 ID 格式为 UUID 以保持一致性。
v0.2.53
- - 解决了时序问题,确保队列仅在图注册后才启动。
- - 通过在单个查询中设置线程和运行状态来提高性能,并在检查点写入时增强错误处理。
- - 将默认后台宽限期缩短至3分钟。
v0.2.52
- - 现在当省略预期的图时会记录日志以提高可追溯性。
- - 为可恢复流实现了生存时间(TTL)功能。
- - 通过添加唯一索引和优化行锁定来提高查询效率和一致性。
v0.2.51
- - 已处理
CancelledError通过将任务标记为可重试来改善工作进程中的错误管理。 - - 在元数据和日志中添加了LG API版本和请求ID以便更好地跟踪。
- - 在元数据和日志中添加了LG API版本和请求ID以提高可追溯性。
- - 通过并发创建索引来提高数据库性能。
- - 确保仅在设置Redis运行标记后才提交Postgres写入,以防止竞态条件。
- - 通过在线程上添加唯一索引来增强查询效率和可靠性_id/running, optimizing row locks, and ensuring deterministic run selection.
- - 通过确保仅在设置Redis运行标记后才执行Postgres更新来解决竞态条件问题。
v0.2.46
在保持Threads状态中事务特性的同时,为每个操作引入新连接 update() 和 bulk() commands.
v0.2.45
- - 通过整合追踪上下文来增强流式功能。
- - 从Crons.search函数中移除了不必要的查询。
- - 解决了在为多个Cron作业调度下次运行时连接重用的问题。
- - 从Crons.search函数中移除了不必要的查询以提高效率。
- - 通过改进连接重用来解决调度下次Cron运行的问题。
v0.2.44
- - 增强了工作进程逻辑,当达到Redis消息限制时在继续之前退出管道。
- - 为Redis消息大小引入了上限,并提供跳过大于128 MB消息的选项以提高性能。
- - 确保管道始终正确关闭以防止资源泄漏。
v0.2.43
- - 通过在元数据调用中省略日志并在值流式处理中确保输出模式合规来提高性能。
- - 确保连接在使用后正确关闭。
- - 调整输出格式以严格遵守指定的模式。
- - 停止在元数据请求中发送内部日志以提高隐私性。
v0.2.42
- - 添加时间戳以跟踪请求运行的开始和结束。
- - 将追踪器信息添加到配置设置中。
- - 添加了对带追踪上下文的流式处理的支持。
v0.2.41
添加了锁定机制以防止管道化执行中的错误。