Skip to content

Changelog

1.18.0(2026/08/12)

Improvements

  • Optimized the trace_id extraction path for tail sampling, avoiding redundant traversal of the payload when RawGroupId is 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_type and TCP metric dataway_tcp_connections
  • Added metrics for tail sampling, send queue, workers, and disk staging

1.16.1(2026/07/09)

Bug Fixes

  • /v1/write/rum rejects empty body and returns 400 with dataway.emptyBody; non-empty body is forwarded as-is (#82)
  • When the Kodo queue is full, cacheable requests are written to disk; returns 503 when 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_IPV6 and trusted_proxies/DW_TRUSTED_PROXIES configuration (#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; added X-Content-Type-Options: nosniff to 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 503 when cache is unavailable
  • Added invalid token negative cache, supports DW_TOKEN_NEGATIVE_CACHE_* environment variables
  • Default TTL for negative cache is 5m, maximum of 1000 tokens

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 to 1s
  • Updated Sinker documentation. As of DataKit 2.0.0, non-point write APIs typically do not require a __dataway_api rule

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 sinked label 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-Id header 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 argument error 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-Token header (#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 nil judgment, 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)

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_TLS in 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 Acceptable error 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)


1.3.5(2023/09/13)


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 curl issue in image packaging

1.3.2(2023/08/30)

  • Added curl command 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/write endpoint updates:

    • Removed redundant /v1/write/xxx APIs, added /v1/write/:category endpoint
    • Write data no longer decodes line protocol, but still reads body for signing
  • 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

Feedback

Is this page helpful?