Changelog¶
1.18.0(2026/08/12)¶
Improvements¶
- Optimized the
trace_idextraction path for tail sampling, avoiding redundant traversal of the payload whenRawGroupIdis available, while preserving the sampling behavior (#108) - Upgraded
cliutils; disk cache automatically initializes capacity metrics after opening, and improved the release behavior of file locks when closing (#111)
Bug Fixes¶
- Unified token validation and forwarding semantics for the Aggregate and Tail Sampling special APIs (#88)
- Isolated negative caching for invalid tokens by token, write route, and main/headless mode, preventing cross-scenario false blocking (#106)
- Fixed concurrent access issues in the failure cache and tail sampling disk degradation path, avoiding data races during disk queue initialization, reading, and closing (#111)
- Isolated pprof and Prometheus HTTP mux; pprof is disabled by default, and when enabled, only listens on loopback with limits on diagnostic request duration and concurrency (#89)
- Redacted tokens, credentials, global tags, and rule content in logs for request forwarding, cache replay, aggregation, tail sampling, and Sinker (#104)
- Fixed the system workspace URL determination and supplemented regression validation for token injection in normal and cascading modes (#104)
- Fixed the main HTTP server request header timeout, Gin mode, IP blacklist configuration examples, and API wrapper error handling (#104)
Security & Observability¶
- Pinned Go and golangci-lint download packages used in CI, verified SHA-256 per architecture, and removed the remote installation script execution path (#101)
- Updated the default DataWay dashboard, added monitoring for Kodo queues and invalid token negative cache, and fixed the Sinker cache discard metric (#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 token, integrated with Kodo queue and disk cache (#81) - OTLP requests support transparent forwarding of Kodo status codes, body, and necessary headers (#81)
Improvements¶
- Optimized Sinker routing for aggregation and tail sampling; a single group send failure no longer affects other groups (#71)
- Invalid token negative cache only applies to qualifying write requests (#77)
- Optimized memory usage and concurrency stability for aggregation
- Optimized tail sampling backpressure handling; when the in-memory queue is full, data can be temporarily stored on disk
- Improved stability under abnormal disk cache scenarios
Bug Fixes¶
- Fixed race condition and capacity issues in the Sinker rule cache (#93)
Observability¶
- Added file descriptor metric
dataway_open_files_by_typeand TCP metricdataway_tcp_connections - Added metrics for tail sampling, send queue, workers, and disk staging
1.16.1(2026/07/09)¶
Bug Fixes¶
/v1/write/rumrejects empty body and returns400withdataway.emptyBody; non-empty body is forwarded as-is (#82)- When the Kodo queue is full, cacheable requests are written to disk; returns
503when cache is unavailable (#83) - Only returns "cached" after a successful write, and improved logging of cache failure reasons (#83)
1.16.0(2026/07/02)¶
New Features¶
- Added IPv6 and dual-stack deployment support; IP allowlist supports IPv4, IPv6, and CIDR (#79)
- Added
bind_ipv6/DW_BIND_IPV6andtrusted_proxies/DW_TRUSTED_PROXIESconfiguration (#78, #79)
Improvements¶
- When the Kodo success response body is empty, no longer returns an empty body and
Content-Type(#78) - CORS headers are returned only for requests with
Origin; addedX-Content-Type-Options: nosniffto forwarded responses (#78)
1.15.0(2026/05/27)¶
New Features¶
- Added Kodo bounded queue covering write, upload, and Firehose requests
- Queue is enabled by default, supports
DW_KODO_QUEUE_*environment variables - When the queue is full, cacheable requests are cached. Returns
503when cache is unavailable - Added invalid token negative cache, supports
DW_TOKEN_NEGATIVE_CACHE_*environment variables - Default TTL for negative cache is
5m, maximum of1000tokens
Improvements¶
- Added token and payload validation to the aggregation endpoint
- Aggregation send uses a background queue with up to 3 retries, and added
Content-MD5 - Aggregation proxy reuses the reverse proxy and validates related configuration
- Cache replay uses the current
remote_host; default cleanup interval changed to1s - Updated Sinker documentation. As of DataKit 2.0.0, non-point write APIs typically do not require a
__dataway_apirule
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/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 in latency metrics under Sinker scenarios
1.14.0(2026/04/17)¶
- Added session replay image processing endpoint
1.13.0(2026/04/10)¶
- Added DataWay bypass aggregation and sampling support (#67)
1.12.3(2026/03/26)¶
- Added v2 Sinker header format to resolve violations of HTTP standard caused by abnormal values in routing headers (#68)
1.12.2(2026/03/17)¶
- Updated DataWay image SSL certificates to avoid failure in recognizing Openway SSL certificates in cascading scenarios (#69)
1.12.1(2025/12/25)¶
- Fixed the issue in version 1.12.0 where Sinker routing could not copy requests (#66)
1.12.0(2025/12/19)¶
New Features¶
-
Optimized Sinker cache mechanism (#34)
- The new sinker cache mechanism uses the hash of the request (16 bytes) for caching instead of the entire request. Two-way hashing is used to minimize hash collisions. The theoretical collision probability is n/2^128, where n is the number of cached keys.
- Added TTL and capacity mechanisms to the Sinker cache to further limit memory usage: TTL clears inactive caches, and the capacity mechanism ensures the number of keys does not exceed the specified limit. Both TTL and capacity further reduce the probability of hash collisions.
-
Added configuration to optimize DataWay HTTP header responses, reducing DataWay public network traffic (#65)
1.11.2(2025/11/25)¶
- Optimized DataWay HTTP requests forwarded to Kodo (#64)
1.11.1(2025/11/15)¶
- Fixed the invalid
__internal__token issue (#63)
1.11.0(2025/11/12)¶
New Features¶
- Upgraded DataWay base image to Ubuntu 22.04 (#62)
- DataWay supports blocking invalid traffic (#61)
Bug Fixes¶
- Fixed the issue where session replay and profile routing could not copy data to different workspaces (#59)
1.10.0(2025/09/03)¶
New Features¶
- Added Langfuse data ingestion (#57)
1.9.0(2025/04/25)¶
New Features¶
- DataWay adds
X-Pkg-Idheader in data upload requests for data tracing (#53) - Improved program logging; more error codes from Kodo are now forwarded to DataKit (#52)
- Added API to pull environment variables on demand (#55)
- Updated disk cache code to locate the
invalid argumenterror in some cases (#56)
1.8.0(2025/02/19)¶
New Features¶
- When DataWay runs in Sinker mode, it can now simultaneously handle data upload requests from clients (e.g., DataKit/Function) (#50)
1.7.0(2024/12/18)¶
New Features¶
- Added AWS Firehose ingestion endpoint (#47)
- Supports passing token via
X-Tokenheader (#43)
Improvements¶
- Adjusted default parameters for internal garbage collection to optimize memory usage (#49)
- Optimized the default YAML for Kubernetes deployment, adjusted cache disk mount configuration (#48)
- Adjusted and added some internal metrics; updated the default DataWay view
1.6.2(2024/12/03)¶
Improvements¶
- Added HTTP-level connection configuration entry (#46)
1.6.1(2024/11/19)¶
Improvements¶
- Added option to disable the 404 page (#44)
1.6.0(2024/09/19)¶
Improvements¶
- Optimized environment variable configuration related to disk cache
- Exposed more internal metrics; optimized memory usage in some HTTP forwarding layers (#39)
- DataWay supports configuring its own SNI (#42)
- Added a time synchronization endpoint for DataKit to obtain more accurate Unix timestamps (#40)
- Sinker:
- Filter conditions support
niljudgment, i.e., checking whether a specific field exists (#41) - Added default rule setting, where requests that do not match any existing routing rules are directed to the workspace of the default rule (#30)
- Filter conditions support
1.5.0(2024/07/05)¶
Improvements¶
- Optimized installation script (#33)
Breaking Changes¶
- Removed the feature that directly supported Sinker configuration in host installation mode. This feature will be supported through a new method in the future.
1.4.1(2024/06/19)¶
- Fixed missing
DW_ENABLE_TLSin Kubernetes installation mode - Changed build image address
1.4.0(2024/05/15)¶
- Added DataKit metering endpoint (#29)
- Fixed issue where cache might lose data (#31)
- Supports direct configuration of HTTP TLS certificates on the DataWay side (#32)
- Exposed more metrics
1.3.9(2024/03/28)¶
- When Sink discards a request, it now returns an HTTP
406 Not Acceptableerror to facilitate troubleshooting (#82)
1.3.8(2024/01/24)¶
- Exposed more metrics
- Significantly improved Sinker rule matching performance (#26)
1.3.7(2023/12/14)¶
- Exposed more metrics
- Optimized disk cache cleanup strategy to follow the principle of consumption as soon as possible:
- Avoid data being discarded due to storage limit exceeded
- Send cached data as early as possible
- Added observability for oversized request discarding (metrics/logs)
- Adjusted DataWay POD yaml to improve metrics and log collection
1.3.6(2023/10/24)¶
- Added DataWay
sinkmanagement command
1.3.5(2023/09/13)¶
- Supports installing DataWay via environment variables injection in Kubernetes
- Released new dataway.yaml
1.3.4(2023/09/01)¶
- Upgraded Golang to 1.9
- Fixed the issue of no data for inner token
- Adjusted the following configurations in the default configuration:
- Default API rate limit increased to 100K
- Default maximum body size 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
curlissue in image packaging
1.3.2(2023/08/30)¶
- Added
curlcommand to the image for checking its own metrics
1.3.1(2023/08/28)¶
- Added URL-based Sinker functionality
1.3.0(2023/08/24)¶
- Refactored the entire DataWay implementation, added Sinker functionality
1.2.12(2023/08/28)¶
- Refactored CI release process to dual-release install scripts
1.2.8(2022/09/18)¶
-
/v1/writeendpoint updates:- Removed redundant
/v1/write/xxxAPIs, added/v1/write/:categoryendpoint - Write data no longer decodes line protocol, but still reads body for signing
- Removed redundant
-
Disk cache:
- When sending to the center fails during cache cleanup, added a consumption pause strategy that delays cleanup until the current cached request is successfully sent
- Updated pbcache proto file