跳转至

更新历史

1.22.2(2026/11/10)

新增功能

  • 新增可选的尾采样 spill,内存预算不足时将待决策分组转存磁盘,支持资源限制、占用与错误指标,以及 Sinker 按点标签分流(!234、!235)
  • 新增 spill 配置、容量估算、Kubernetes 存储部署与排障指南(!236)

问题修复

  • 修复旧版 raw 尾采样小包补压缩后可能出现接收成功但未送达下游的问题(!235)
  • 修复尾采样 spill 多目标分流中,失败目标持续重试阻塞同组其他目标的问题;成功目标不重复发送(#138)

1.22.1(2026/11/10)

新增功能

  • 新增尾采样阶段耗时、发送驻留字节及预算、压缩前后字节量指标(#135)

功能优化

  • 优化尾采样批发送和缓冲复用,减少解压、组批及发送过程中的重复分配与拷贝(#133)
  • 降低关闭 HTTP 访问日志时的请求处理开销,适用于 gin_log: "" 配置(#133)

兼容性说明

  • 尾采样直发与 Sinker 分流的下游请求默认由 gzip 改为 zstd,不自动协商或回退。升级前须确认所有下游 KodoX Point Worker 支持 zstd;缓存重放保留原始编码和请求体(#133)

1.22.0(2026/11/09)

问题修复

  • 升级 Go 至 1.26.10,修复 crypto/x509 证书信任安全问题(CVE-2026-111943 / GO-2026-6809)(#130)

功能优化

  • 优化 tracing 尾采样处理同一 trace 多个分片时的性能(#129)

兼容性说明

  • 主镜像基础系统由 Ubuntu 22.04 升级至 24.04,支持 linux/amd64 和 linux/arm64(#131)

1.21.0(2026/10/14)

新增功能

  • 支持 OpenLineage 数据接入、gzip 转发和 Sinker 分流(#112、#122)
  • 新增 OCSF 接收接口,支持批量数据并写入 ocsf 日志索引(#120)

问题修复

  • 修复非法聚合参数可能导致进程异常的问题(#117)
  • 修复停顿上传长期占用并发位置,以及代理响应状态码不正确的问题(#118)

功能优化

  • 完善 HTTP 超时控制,避免停顿请求长期占用资源(#118)
  • 统一日志 token 脱敏,保留前 8 位和后 4 位,短 token 全部隐藏(#121)

兼容性说明

  • 下游 4xx 保留原状态码,错误体解析失败返回 {},不再改为 500(#124)

1.20.0(2026/09/10)

新增功能

  • 新增读取 Body 前的 HTTP 并发限制,复用 kodo_queue.workers(DW_KODO_QUEUE_WORKERS,默认 256);达到上限后,最多额外等待 128 个请求,最长等待 1s。关闭 Kodo 派发队列后该限制仍生效,无 Body 请求不计入(#115)
  • 新增 dataway_http_concurrency_in_flight、dataway_http_concurrency_waiting、dataway_http_concurrency_requests_total 和 dataway_http_concurrency_wait_seconds 指标,用于观察处理中的请求数、等待数、准入结果和等待时长(#115)

问题修复

  • 修复 /api/public/ingestion 在上游成功但响应体为空时与 Langfuse SDK 4.x 的兼容性问题:按请求批次中的事件 ID 返回 successes/errors JSON,并保留上游已有的 JSON 响应内容(#116)

兼容性说明

  • HTTP 并发等待队列已满或等待超时时,已注册的 DK 兼容接口返回 503,其他接口返回 429,均携带 Retry-After: 1;这些被拒绝的请求不进入磁盘缓存(#115)
  • HTTP/1.x 请求被并发限制拒绝时,终止剩余 Body 的读取,并在返回响应后关闭连接,避免等待未完成的上传;客户端重试时需建立新连接(#115)

1.19.0(2026/08/27)

新增功能

  • 新增 /v2/tail_sampling zstd 上报接口,并兼容 Datakit 2.10 通过 /v1/tail_sampling 发送的无压缩协商 header 的 zstd packet(#110)
  • 为尾采样保留数据新增有界批处理发送和失败重试,将内存溢出落盘改为异步处理,并完善重启恢复与退出收尾机制(#110)

功能优化

  • 尾采样在解压后提取 trace_id 并补算谓词,向下游批量发送时使用 gzip 压缩,减少请求次数和传输开销(#110)
  • 完善尾采样队列提交结果、等待时长、磁盘深度及批处理状态等运行指标的记录覆盖(#110)

安全与可观测性

  • 将指标中的 token 标签固定为 redacted,不再保留原始 token 片段,避免凭据泄漏和高基数时序(#90)
  • 脱敏聚合、尾采样及多后端转发错误,不再暴露后端 URL、响应内容或认证信息(#90)

1.18.0(2026/08/12)

功能优化

  • 优化尾采样的 trace_id 提取路径,在 RawGroupId 可用时避免重复遍历 payload,并保持采样行为不变(#108)
  • 升级 cliutils,磁盘缓存打开后自动初始化容量指标,并完善关闭及文件锁释放行为(#111)

问题修复

  • 统一 Aggregate 与 Tail Sampling 特殊 API 的 token 校验和传递语义(#88)
  • 按 token、写入路由及 main/headless 模式隔离无效 token 负缓存,避免跨场景误拦截(#106)
  • 修复失败缓存与尾采样磁盘降级路径的并发访问问题,避免磁盘队列初始化、读取和关闭期间的数据竞态(#111)
  • 隔离 pprof 与 Prometheus HTTP mux;pprof 默认关闭,启用时仅允许监听 loopback,并限制诊断请求时长与并发(#89)
  • 脱敏请求转发、缓存重放、聚合、尾采样及 Sinker 日志中的 token、凭据、全局标签和规则内容(#104)
  • 修复系统工作空间 URL 判定,并补齐普通与级联模式下 token 注入的回归验证(#104)
  • 修正主 HTTP Server 请求头超时、Gin mode、IP 黑名单配置示例及 API wrapper 错误处理(#104)

安全与可观测性

  • 固定 CI 使用的 Go 与 golangci-lint 下载包,并按架构校验 SHA-256,移除远程安装脚本直接执行路径(#101)
  • 更新 DataWay 默认仪表板,补充队列、尾采样、Sinker 缓存与运行时监控(#85)

1.17.0(2026/07/14)

新增功能

  • 新增 OTLP HTTP/protobuf 接口:/otel/v1/traces、/otel/v1/metrics 和 /otel/v1/logs(#81)
  • OTLP 请求支持 query token、X-Token 和 Bearer token,并接入 Kodo 队列与磁盘缓存(#81)
  • OTLP 请求支持透传 Kodo 的状态码、body 和必要 header(#81)

功能优化

  • 优化聚合与尾采样的 Sinker 分流,单个分组发送失败不再影响其他分组(#71)
  • 无效 token 负缓存仅作用于符合条件的写入请求(#77)
  • 优化聚合的内存占用和并发稳定性
  • 优化尾采样积压处理,内存队列满时可暂存到磁盘
  • 提升磁盘缓存异常场景下的稳定性

问题修复

  • 修复 Sinker 规则缓存的竞态与容量问题(#93)

可观测性

  • 新增文件描述符指标 dataway_open_files_by_type 和 TCP 指标 dataway_tcp_connections
  • 新增尾采样、发送队列、worker 和磁盘暂存指标

1.16.1(2026/07/09)

问题修复

  • /v1/write/rum 会拒绝空 body,并返回 400 和 dataway.emptyBody;非空 body 仍原样转发(#82)
  • Kodo 队列满时,将可缓存请求写入磁盘;缓存不可用时返回 503(#83)
  • 仅在写入成功后返回“已缓存”,并完善缓存失败原因记录(#83)

1.16.0(2026/07/02)

新增功能

  • 新增 IPv6 和双栈部署支持,IP 白名单支持 IPv4、IPv6 和 CIDR(#79)
  • 新增 bind_ipv6/DW_BIND_IPV6 和 trusted_proxies/DW_TRUSTED_PROXIES 配置(#78、#79)

功能优化

  • Kodo 成功响应为空时,不再返回空 body 和 Content-Type(#78)
  • 仅对带 Origin 的请求返回 CORS header,并为转发响应增加 X-Content-Type-Options: nosniff(#78)

1.15.0(2026/05/27)

新增功能

  • 新增 Kodo 有界队列,覆盖写入、上传和 Firehose 请求
  • 队列默认启用,并支持 DW_KODO_QUEUE_* 环境变量
  • 队列满时缓存可缓存请求。缓存不可用时返回 503
  • 新增无效 token 负缓存,支持 DW_TOKEN_NEGATIVE_CACHE_* 环境变量
  • 负缓存默认 TTL 为 5m,最多保存 1000 个 token

功能优化

  • 聚合接口增加 token 和 payload 校验
  • 聚合发送改用后台队列,支持 3 次重试,并增加 Content-MD5
  • 聚合 proxy 复用反向代理,并校验相关配置
  • 缓存回放使用当前 remote_host,默认清理间隔改为 1s
  • 更新 Sinker 文档。DataKit 2.0.0 起,非 point 写入 API 通常不需要 __dataway_api 规则

可观测性

  • 新增 Kodo 队列相关指标:dataway_kodo_queue_wait_seconds、dataway_kodo_queue_depth、dataway_kodo_queue_bytes、dataway_kodo_queue_enqueued_total、dataway_kodo_queue_full_total、dataway_kodo_queue_dispatch_total
  • 新增无效 token 负缓存指标:dataway_token_negative_cache_added_total、dataway_token_negative_cache_blocked_total
  • 新增聚合/尾采样相关指标:dataway_http_api_body_size_bytes_total、dataway_http_aggr_point_total、dataway_http_tail_sampling_trace_total、dataway_http_tail_sampling_span_total、dataway_http_tail_sampling_packet_send_total
  • 新增磁盘缓存锁竞争指标:diskcache_lock_wait_seconds、diskcache_lock_contention_total
  • 修复 Sinker 场景下延迟指标的 sinked 标签

1.14.0(2026/04/17)

  • 新增 session replay image 处理接口

1.13.0(2026/04/10)

  • 新增 DataWay 旁路聚合和采样支持(#67)

1.12.3(2026/03/26)

  • 新增 v2 Sinker header 格式,以解决分流 header 中异常数值导致违反 HTTP 标准的问题(#68)

1.12.2(2026/03/17)

  • 更新 DataWay 镜像 SSL 证书,避免级联情况下无法识别 Openaway SSL 证书(#69)

1.12.1(2025/12/25)

  • 修复 1.12.0 版本中 Sinker 分流无法复制请求的问题(#66)

1.12.0(2025/12/19)

新增功能

  • 优化 Sinker 缓存机制(#34)

    • 新的 sinker 缓存机制通过请求的哈希特征(16 byte)来缓存,而不是完整缓存完整的请求特征,通过两路哈希来尽量避免哈希冲突,理论上哈希冲突概率为 n/2^128,n 即缓存的 key 的个数
    • Sinker 缓存增加 TTL 机制以及 capacity 机制,使得内存占用进一步被限制:TTL 机制会清理那些不活跃的缓存,capacity 机制旨在保证缓存中 key 的个数不超过指定的限制。同时 TTL 和 capacity 限制使得上面的哈希冲突概率进一步降低
  • 新增配置优化 DataWay HTTP header 返回,降低 DataWay 公网流量(#65)


1.11.2(2025/11/25)

  • 优化 DataWay 转发 Kodo 的 HTTP 请求(#64)

1.11.1(2025/11/15)

  • 修复 __internal__ token 无效问题(#63)

1.11.0(2025/11/12)

新增功能

  • 升级 DataWay 基础镜像到 Ubuntu 22.04(#62)
  • DataWay 支持阻挡无效流量(#61)

问题修复

  • 修复 session replay 以及 profile 分流无法复制数据到不同空间的问题(#59)

1.10.0(2025/09/03)

新增功能

  • 增加 Langfuse 数据接入功能(#57)

1.9.0(2025/04/25)

新增功能

  • DataWay 在数据上传类请求中增加 X-Pkg-Id 以便数据追踪(#53)
  • 完善程序日志,更多 Kodo 返回的错误码将透传给 DataKit(#52)
  • 新增 API 自持拉取环境变量(#55)
  • 更新磁盘缓存代码,以定位部分情况下出现的 invalid argument 报错(#56)

1.8.0(2025/02/19)

新增功能

  • DataWay 开启 Sinker 模式下,支持同时处理客户端(如 DataKit/Function)发送过来的数据上报请求(#50)

1.7.0(2024/12/18)

新增功能

  • 新增 AWS Firehose 接入入口(#47)
  • 支持通过 X-Token 传递 token(#43)

功能优化

  • 调整内部回收的默认参数,优化内存使用(#49)
  • 优化 Kubernetes 部署中的默认 yaml,调整其 cache 磁盘挂载配置(#48)
  • 调整并增加部份内部指标,更新 DataWay 默认视图

1.6.2(2024/12/03)

功能优化

  • 增加 HTTP 层面的连接配置入口(#46)

1.6.1(2024/11/19)

功能优化

  • 增加选项以禁用 404 页面(#44)

1.6.0(2024/09/19)

功能优化

  • 优化磁盘缓存相关的环境变量配置
  • 增加更多自身指标暴露,同时优化了一些 HTTP 转发层面内存的使用(#39)
  • DataWay 支持配置自身 SNI(#42)
  • 新增对时接口,便于 DataKit 获取较为准确的 Unix 时间戳(#40)
  • Sinker:
    • 过滤条件支持 nil 判断,即判定某个具体的字段是否存在(#41)
    • 增加默认规则设置,即不符合已有分流规则的请求,都会引流到该默认规则对应的工作空间(#30)

1.5.0(2024/07/05)

功能优化

  • 优化安装脚本(#33)

兼容调整

  • 新版本移除了主机安装模式下直接支持 Sinker 配置的功能。该功能后续会通过新的方式予以支持。

1.4.1(2024/06/19)

  • 修复 Kubernetes 安装模式下 DW_ENABLE_TLS 缺失问题
  • 更换构建镜像地址

1.4.0(2024/05/15)

  • 新增 DataKit 计量接口(#29)
  • 修复 cache 可能丢失数据的问题(#31)
  • 支持在 DataWay 端直接配置 HTTP TLS 证书(#32)
  • 增加更多指标暴露

1.3.9(2024/03/28)

  • Sink 丢弃请求时,增加返回 HTTP 406 Not Acceptable 错误,便于排查问题(#82)

1.3.8(2024/01/24)

  • 新增更多指标暴露
  • 大幅度提升 Sinker 规则匹配性能(#26)

1.3.7(2023/12/14)

  • 新增更多指标暴露
  • 优化磁盘缓存清理策略,采集尽快消费原则:
    • 避免存储超限导致数据主动丢弃
    • 同时尽早将缓存的数据发送上去
  • 增加超大请求丢弃相关的可观测性(指标/日志)
  • 调整 DataWay 自身 POD yaml,完善其指标和日志采集

1.3.6(2023/10/24)


1.3.5(2023/09/13)


1.3.4(2023/09/01)

  • 升级 Golang 到 1.9
  • 修复 inner token 无数据问题
  • 默认配置中调整如下配置:
    • 默认 API 限流增加到 100K
    • 默认最大 Body 增加到 64MB
    • 新增 HTTP 超时设置(DataWay 到中心),默认 30s
    • 新增配置以忽略 TLS 509 报错

1.3.3(2023/09/01)

  • 修复镜像打包 curl 问题

1.3.2(2023/08/30)

  • 镜像中增加 curl 命令,便于查看自身指标

1.3.1(2023/08/28)

  • 增加 URL 的 Sinker 功能

1.3.0(2023/08/24)

  • 重构整个 DataWay 实现,增加 Sinker 功能

1.2.12(2023/08/28)

  • 重构 CI 发布流程,实现 install 脚本双发布

1.2.8(2022/09/18)

  • /v1/wirte 接口更新:

    • 移除冗余的 /v1/write/xxx API,增加 /v1/write/:category 接口
    • 写入数据不再进行行协议解码,但仍然进行 Body 读取,用于签名
  • 磁盘缓存:

    • 当缓存清理过程中发送中心失败,增加消费暂停策略,直到当前缓存的请求发送成功才清理下一个缓存
    • 更新 pbcache proto 文件

文档评价

文档内容是否对您有帮助?