Changelog¶
1.17.0(2026/07/14)¶
New Features¶
- Added OTLP HTTP/protobuf interfaces:
/otel/v1/traces,/otel/v1/metricsand/otel/v1/logs(#81) - OTLP requests support query
token,X-Tokenand Bearer token, and are integrated with the Kodo queue and disk cache (#81) - OTLP requests support transparent transmission of Kodo status codes, body and necessary headers (#81)
Optimizations¶
- Optimized Sinker diversion for aggregation and tail sampling, failures in a single group no longer affect other groups (#71)
- Invalid token negative cache only applies to eligible write requests (#77)
- Optimized memory usage and concurrency stability for aggregation
- Optimized tail sampling backlog handling, allowing temporary storage to disk when the memory queue is full
- Improved stability in disk cache exception 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 temporary storage
1.16.1(2026/07/09)¶
Bug Fixes¶
/v1/write/rumrejects empty body and returns400withdataway.emptyBody; non-empty body is still forwarded as-is (#82)- When the Kodo queue is full, cacheable requests are written to disk; return
503when cache is unavailable (#83) - "Cached" is returned only after a successful write, and the reason for cache failure is better recorded (#83)
1.16.0(2026/07/02)¶
New Features¶
- Added IPv6 and dual-stack deployment support; IP whitelist supports IPv4, IPv6 and CIDR (#79)
- Added
bind_ipv6/DW_BIND_IPV6andtrusted_proxies/DW_TRUSTED_PROXIESconfigurations (#78, #79)
Optimizations¶
- When the Kodo success response is empty, no empty body and
Content-Typeare returned (#78) - CORS headers are returned only for requests with an
Originheader, andX-Content-Type-Options: nosniffis added to forwarded responses (#78)
1.15.0(2026/05/27)¶
New Features¶
- Added a bounded Kodo queue covering write, upload and Firehose requests
- The queue is enabled by default and supports
DW_KODO_QUEUE_*environment variables - Cacheable requests are cached when the queue is full. Return
503when cache is unavailable - Added invalid token negative cache supporting
DW_TOKEN_NEGATIVE_CACHE_*environment variables - Default TTL for negative cache is
5m, with a maximum of1000tokens
Optimizations¶
- Added token and payload validation for aggregation API
- Aggregation sending uses a background queue with 3 retries and adds
Content-MD5 - Aggregation proxy reuses the reverse proxy and validates related configurations
- Cache replay uses the current
remote_host, default cleanup interval changed to1s - Updated Sinker documentation. From DataKit 2.0.0 onwards, non-point write APIs usually do not require
__dataway_apirules
Observability¶
- Added Kodo queue related 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 related 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 interface
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 issues where abnormal values in diversion headers violate HTTP standards (#68)
1.12.2(2026/03/17)¶
- Updated DataWay image SSL certificates to avoid inability to recognize Openaway SSL certificates in cascading scenarios (#69)
1.12.1(2025/12/25)¶
- Fixed the issue in version 1.12.0 where Sinker diversion could not copy requests (#66)
1.12.0(2025/12/19)¶
New Features¶
-
Optimized Sinker cache mechanism (#34)
- The new Sinker cache mechanism caches based on the hash characteristic (16 bytes) of the request, rather than caching the entire request characteristic. 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: the TTL mechanism cleans up inactive caches, and the capacity mechanism ensures the number of cached keys does not exceed the specified limit. TTL and capacity limits further reduce the hash collision probability mentioned above.
-
Added configuration to optimize DataWay HTTP header return, 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 issue with invalid
__internal__token (#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 diversion could not copy data to different workspaces (#59)
1.10.0(2025/09/03)¶
New Features¶
- Added Langfuse data ingestion support (#57)
1.9.0(2025/04/25)¶
New Features¶
- DataWay adds
X-Pkg-Idin data upload requests for data tracing (#53) - Improved program logs, more error codes returned by Kodo will be transparently passed to DataKit (#52)
- Added API to support pulling environment variables (#55)
- Updated disk cache code to locate the
invalid argumenterror that occurs in some cases (#56)
1.8.0(2025/02/19)¶
New Features¶
- When DataWay Sinker mode is enabled, it supports simultaneously processing data upload requests sent by clients (e.g., DataKit/Function) (#50)
1.7.0(2024/12/18)¶
New Features¶
- Added AWS Firehose ingestion entry (#47)
- Support passing token via
X-Token(#43)
Optimizations¶
- Adjusted default parameters for internal garbage collection to optimize memory usage (#49)
- Optimized default yaml in Kubernetes deployments, adjusted cache disk mount configuration (#48)
- Adjusted and added some internal metrics, updated DataWay default view
1.6.2(2024/12/03)¶
Optimizations¶
- Added HTTP connection configuration entry point (#46)
1.6.1(2024/11/19)¶
Optimizations¶
- Added option to disable 404 page (#44)
1.6.0(2024/09/19)¶
Optimizations¶
- Optimized environment variable configuration related to disk cache
- Exposed more internal metrics, while optimizing memory usage in some HTTP forwarding aspects (#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., determining whether a specific field exists (#41) - Added default rule settings, where requests that do not match existing diversion rules are all routed to the workspace corresponding to the default rule (#30)
- Filter conditions support
1.5.0(2024/07/05)¶
Optimizations¶
- Optimized installation script (#33)
Breaking Changes¶
- Removed the ability to directly support Sinker configuration in host installation mode. This feature will be supported in a new way in the future.
1.4.1(2024/06/19)¶
- Fixed the missing
DW_ENABLE_TLSissue in Kubernetes installation mode - Changed the build image address
1.4.0(2024/05/15)¶
- Added DataKit metering interface (#29)
- Fixed the issue where cache might lose data (#31)
- Support directly configuring HTTP TLS certificates on the DataWay side (#32)
- Exposed more metrics
1.3.9(2024/03/28)¶
- When Sink discards a request, added HTTP
406 Not Acceptableerror response for easier 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, following the principle of consumption as soon as possible:
- Avoid data being actively discarded due to storage exceeding limits
- Send cached data as early as possible
- Added observability related to oversized request discarding (metrics/logs)
- Adjusted DataWay POD yaml, improved its metrics and log collection
1.3.6(2023/10/24)¶
- Added DataWay
sinkmanagement command
1.3.5(2023/09/13)¶
- Under Kubernetes, support installing DataWay via environment variables injection
- 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 default config:
- Increased default API rate limit to 100K
- Increased default maximum body 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 in the image for viewing its own metrics
1.3.1(2023/08/28)¶
- Added URL 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, implemented dual release of install script
1.2.8(2022/09/18)¶
-
/v1/write interface update:
- Removed redundant /v1/write/xxx API, added /v1/write/:category interface
- Write data no longer decodes the line protocol, but still reads the body for signing
-
Disk cache:
- When the cache cleanup process fails to send to the center, added a consumption pause strategy to clean the next cache only after the current cached request is sent successfully
- Updated pbcache proto file