Update History¶
1.19.0(2026/08/27)¶
New Features¶
- Added the
/v2/tail_samplingendpoint for zstd payloads while retaining compatibility with headerless zstd packets sent to/v1/tail_samplingby Datakit 2.10 (#110) - Added bounded batch delivery and retry handling for retained tail-sampling data, made disk spooling for memory overflow asynchronous, and improved restart recovery and shutdown draining (#110)
Improvements¶
- Tail sampling now extracts
trace_idand derives predicates after decompression, then uses gzip for batched downstream delivery to reduce request count and transfer overhead (#110) - Expanded runtime metric coverage for tail-sampling queue outcomes, wait duration, disk depth, and batch delivery state (#110)
Security and Observability¶
- Fixed metric token labels to the constant value
redacted, retaining no original token fragments and avoiding credential exposure and high-cardinality series (#90) - Redacted aggregation, tail-sampling, and multi-backend forwarding errors so backend URLs, response contents, and authentication data are no longer exposed (#90)
1.18.0(2026/08/12)¶
Improvements¶
- Optimized tail-sampling
trace_idextraction by avoiding repeated payload walks whenRawGroupIdis available, without changing sampling behavior (#108) - Updated
cliutilsso disk caches initialize capacity metrics when opened and release resources and file locks reliably on close (#111)
Bug Fixes¶
- Unified token validation and propagation for the Aggregate and Tail Sampling special APIs (#88)
- Scoped the invalid-token negative cache by token, write route, and main/headless mode to prevent cross-scenario false blocking (#106)
- Fixed concurrent access in failed-request caching and tail-sampling disk fallback, preventing races while disk queues are initialized, read, and closed (#111)
- Isolated the pprof and Prometheus HTTP muxes; pprof is disabled by default, restricted to loopback when enabled, and limits diagnostic duration and concurrency (#89)
- Redacted tokens, credentials, global tags, and rule contents from request forwarding, cache replay, aggregation, tail-sampling, and Sinker logs (#104)
- Fixed system-workspace URL matching and added regression coverage for token injection in normal and cascaded modes (#104)
- Fixed the main HTTP server header timeout, Gin mode selection, IP denylist configuration example, and API wrapper error handling (#104)
Security and Observability¶
- Pinned the Go and golangci-lint CI archives, added per-architecture SHA-256 verification, and removed direct execution of a remote installer script (#101)
- Updated the default DataWay dashboard with queue, tail-sampling, Sinker cache, and runtime monitoring (#85)
1.17.0(2026/07/14)¶
New Features¶
- Added OTLP HTTP/protobuf endpoints:
/otel/v1/traces,/otel/v1/metrics, and/otel/v1/logs(#81) - OTLP requests support query
token,X-Token, and Bearer tokens, and use the Kodo queue and disk cache (#81) - OTLP requests pass through Kodo status codes, bodies, and required headers (#81)
Improvements¶
- Improved Sinker routing for aggregation and tail sampling so a failed group no longer affects other groups (#71)
- Applied the invalid-token negative cache only to eligible write requests (#77)
- Reduced aggregation memory usage and improved concurrency stability
- Improved tail-sampling backlog handling by spilling to disk when the memory queue is full
- Improved disk-cache stability under exceptional conditions
Bug Fixes¶
- Fixed race conditions and capacity issues in the Sinker rule cache (#93)
Observability¶
- Added
dataway_open_files_by_typeanddataway_tcp_connections - Added tail-sampling, queue, worker, and disk-spill metrics
1.16.1(2026/07/09)¶
Bug Fixes¶
/v1/write/rumrejects empty bodies with400anddataway.emptyBody; non-empty bodies are forwarded unchanged (#82)- A full Kodo queue sends eligible requests to disk cache; DataWay returns
503if cache is unavailable (#83) - DataWay reports "cached" only after a successful write and records cache failure reasons (#83)
1.16.0(2026/07/02)¶
New Features¶
- Added IPv6 and dual-stack deployment support; IP allowlists now support IPv4, IPv6, and CIDR (#79)
- Added
bind_ipv6/DW_BIND_IPV6andtrusted_proxies/DW_TRUSTED_PROXIESsettings (#78, #79)
Improvements¶
- Removed empty bodies and
Content-Typefrom empty Kodo responses (#78) - Returned CORS headers only for requests with
Originand addedX-Content-Type-Options: nosniffto forwarded responses (#78)
1.15.0(2026/05/27)¶
New Features¶
- Added a bounded Kodo queue for write, upload, and Firehose requests
- Enabled the queue by default and added
DW_KODO_QUEUE_*settings - Cached eligible requests when the queue is full. Returned
503when cache is unavailable - Added a token negative cache with
DW_TOKEN_NEGATIVE_CACHE_*settings - Set the default cache TTL to
5mand the limit to1000tokens
Improvements¶
- Added token and payload validation to aggregation
- Added a background queue, 3 retries, and
Content-MD5to aggregation sends - Reused reverse proxies and validated aggregation proxy settings
- Used the current
remote_hostduring cache replay. The default cleanup interval is now1s - Updated Sinker docs. Non-point-write APIs usually do not need
__dataway_apirules in DataKit 2.0.0+
Observability¶
- Added Kodo queue metrics:
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 - Added invalid-token negative-cache metrics:
dataway_token_negative_cache_added_total,dataway_token_negative_cache_blocked_total - Added aggregation and tail-sampling metrics:
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 - Added disk-cache lock-contention metrics:
diskcache_lock_wait_seconds,diskcache_lock_contention_total - Fixed the
sinkedlabel on latency metrics in Sinker scenarios
1.14.0(2026/04/17)¶
- Add session replay image APIs
1.13.0(2026/04/10)¶
New Features¶
- Add aggregate and sampling for sidecar mode dataway (#67)
1.12.3(2026/03/26)¶
- Sinker header added v2 format (#68)
1.12.2(2026/03/17)¶
- Update DataWay image SSL certificates (#69)
1.12.1(2025/12/25)¶
- Fix sinker failed to copy request in version 1.12.0 (#66)
1.12.0(2025/12/19)¶
New Features¶
-
Optimized Sinker caching mechanism (#34)
- The new mechanism uses 16-bytes hash of requests for caching instead of complete request info. It employs dual hashing to minimize hash collisions, with a theoretical collision probability of
n/2^128, wherenis the number of cached keys - Added TTL and capacity mechanism to manage Sinker caching: TTL mechanism cleans inactive entries, while capacity mechanism ensures the number of keys in cache does not exceed specified limits. Both TTL and capacity restrictions further reduce the probability of hash collisions mentioned above
- The new mechanism uses 16-bytes hash of requests for caching instead of complete request info. It employs dual hashing to minimize hash collisions, with a theoretical collision probability of
-
Added option to optimize DataWay HTTP response header (#65)
Bug Fixes¶
- Fixed session replay and profile sharding issues preventing data replication to different spaces (#59)
1.11.2(2025/11/25)¶
- Optmize HTTP request send from DataWay to Kodo (#64)
1.11.1(2025/11/15)¶
- Fixed
__internal__token invalidation issue (#63)
1.11.0(2025/11/12)¶
New Features¶
- Upgraded DataWay base image to Ubuntu 22.04 (#62)
- DataWay now supports blocking invalid traffic (#62)
Bug Fixes¶
- Fixed
/v1/uploadtraffic routing issue (#59)
1.10.0(2025/09/03)¶
New Feature¶
- Add support for Langfuse(#57)
1.9.0 (April 25, 2025)¶
New Features¶
- DataWay adds
X-Pkg-Idto data upload requests for data tracking (#53). - Improved program logging: more Kodo error codes will be passed through to DataKit (#52).
- New API for self-managed pulling of environment variables (#55).
- Updated disk cache code to locate
invalid argumenterrors that occur in some cases (#56).
1.8.0(2025/02/19)¶
New Features¶
- When DataWay is in Sinker mode, it supports handling requests sent by clients (such as DataKit/Function) with or without sink header (#50)
1.7.0 (2024/12/18)¶
New Features¶
- Added AWS Firehose integration entry point (#47).
- Supported HTTP header token via
X-Token(#43).
Performance Improvements¶
- Update the default configure parameters for buffer usage to optimize memory usage (#49).
- Optimized the default yaml in Kubernetes deployment, update cache disk mount configuration (#48).
- Update and added some internal metrics, updated the default DataWay dashboards.
1.6.2(2024/12/03)¶
Feature Enhancements¶
- Add configures for HTTP connection(#46)
1.6.1(2024/11/19)¶
Feature Enhancements¶
- Add option to disable 404 page(#44)
1.6.0 (2024/09/19)¶
Feature Enhancements¶
- Optimized environment variable configurations related to disk caching.
- Increased exposure of more internal metrics and optimized memory usage at the HTTP forwarding layer (#39).
- DataWay now supports configuring its own SNI (#42).
- Add NTP API for DataKit to get correct Unix timestamp (#40)
- Sinker:
- Filtering conditions now support
nilchecks, which means determining whether a specific field exists (#41). - Added default rule settings, meaning that requests not matching any existing sinker rules will be directed to the workspace corresponding to this default rule (#30).
- Filtering conditions now support
1.5.0(2024/07/05)¶
Feature Enhancements¶
- Optimize install script under host installation(#33)
Breaking Changes¶
- Removed Sinker configurations in host-install command. We should manually set sinker related configurations after installing.
1.4.1(2024/06/19)¶
- Fix
DW_ENABLE_TLSmissing under Kubernetes - Update docker image
1.4.0(2024/05/15)¶
- Add a new DataKit metering API (#29).
- Fix the issue where data might be lost in the cache (#31).
- Support direct configuration of HTTP TLS certificates on the DataWay side (#32).
- Increase the exposure of additional metrics.
1.3.9(2024/03/28)¶
- When the Sink discards a request, it should return an HTTP
406 Not Acceptableerror to facilitate troubleshooting (#82).
1.3.8(2024/01/24)¶
- Export more Prometheus metrics
- Significantly enhance the performance of Sinker rule matching (#26)
1.3.7(2023/12/14)¶
- Export more Prometheus metrics
- Optimize disk cache cleaning strategy, adhere to the principle of collecting and consuming data as soon as possible:
- Prevent data from being actively discarded due to storage limits being exceeded.
- At the same time, ensure that cached data is sent out as early as possible.
- Increase observability related to discarding of oversized requests (Metrics/Logs).
- Adjust the DataWay's own POD yaml to improve its metrics and log collection.
1.3.6(2023/10/24)¶
- Added DataWay
sinkcommand
1.3.5(2023/09/13)¶
- DataWay installation via environment variable injection is supported under Kubernetes
- Update dataway.yaml
1.3.4(2023/09/01)¶
- Upgrade Golang to 1.9
- Fixed the issue that the inner token has no data
- Adjust the following configuration in the default configuration:
- Default API throttling increased to 100K
- The default maximum Body is increased to 64MB
- Added HTTP timeout setting (DataWay to Center), default 30s
- Added configuration to ignore TLS 509 errors
1.3.3(2023/09/01)¶
- Fixed image packaging 'curl' issue
1.3.2(2023/08/30)¶
- Added 'curl' command to the image to make it easier to view its own indicators
1.3.1(2023/08/28)¶
- Added Sinker functionality for URLs
1.3.0(2023/08/24)¶
- Refactoring the entire DataWay implementation to add sinker functionality
1.2.12(2023/08/28)¶
- Refactor the CI release process to achieve dual release of install scripts
1.2.8(2022/09/18)¶
-
/v1/wirte interface update:
- Remove redundant /v1/write/xxx APIs and add /v1/write/:category interface
- Write data is no longer line protocol decoded, but still body read for signature
-
Disk cache:
- When the sending center fails during cache cleanup, increase the consumption pause policy until the current cached request is sent successfully
- Update the pbcache proto file