Skip to content

Changelog

1.15.0(2026/05/27)

New Features

  • Added Kodo bounded dispatch queue for queuing and concurrency control before write/upload requests are sent to Kodo or the next-level Dataway:
    • Covers /v1/write/*, /v1/upload/*, and /v1/input/firehose requests; disk cache replay requests still follow the original synchronous sending path to avoid cache replay occupying the queue again.
    • Enabled by default, with default settings: 256 workers, 1024 waiting slots, 1GB maximum total body bytes for the queue, and 100ms enqueue wait time.
    • Added environment variables: DW_KODO_QUEUE_ENABLED, DW_KODO_QUEUE_WORKERS, DW_KODO_QUEUE_SIZE, DW_KODO_QUEUE_MAX_BYTES, DW_KODO_QUEUE_ENQUEUE_TIMEOUT; DW_KODO_QUEUE_MAX_BYTES supports formats like 1GB, 1024MB.
    • Dataway returns 503 when queue slots or queue body bytes reach the limit and the wait times out.
  • Added invalid token negative cache:
    • Short-term caching of results returned by Kodo for kodo.tokenNotFound and kodo.invalidClientToken, reducing request pressure on Kodo from repeated invalid tokens.
    • Enabled by default, with default TTL of 5m, caching up to 1000 tokens; supports configuration via DW_TOKEN_NEGATIVE_CACHE_ENABLED, DW_TOKEN_NEGATIVE_CACHE_TTL, DW_TOKEN_NEGATIVE_CACHE_MAX_KEYS.

Optimizations

  • Enhanced aggregation and tail sampling pipeline:
    • Added token validation to aggregation interfaces, supporting writing the validated token back to the request query and X-Token.
    • Added validation for empty batches, empty points, empty aggregation algorithms, and illegal windows in aggregation payloads.
    • Changed aggregation data sending to a background worker queue, with 3 retries added; added Content-MD5 to aggregation/tail sampling payloads sent to Kodo.
    • Aggregation proxy mode reuses reverse proxy instances, with explicit validation for abnormal configurations like backend endpoint and pick key.
  • Optimized disk cache replay:
    • During cache replay, only the path/query from the cache is reused; the scheme and host use the current remote_host to avoid historical hosts saved in the cache affecting replay after cascading or configuration changes.
    • Default disk cache cleanup interval adjusted from 30s to 1s.
    • Added test coverage for switching to the next data file after reading EOF from disk cache, and continuous advancement of the read pointer during concurrent writes.
  • Optimized Sinker documentation: Starting from DataKit 2.0.0, non-point write APIs no longer carry Sinker headers, so it's usually no longer necessary to configure special __dataway_api routing rules for these APIs; compatibility rules for older versions are still documented.

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 sinked label value for Dataway HTTP API latency metrics in Sinker scenarios.

1.14.0(2026/04/17)

  • Added session replay image processing interface.

1.13.0(2026/04/10)

  • Added support for Dataway bypass aggregation and sampling (#67).

1.12.3(2026/03/26)

  • Added v2 Sinker header format to resolve issues where abnormal values in routing headers violate HTTP standards (#68).

1.12.2(2026/03/17)

  • Updated Dataway image SSL certificates to avoid issues identifying Openaway 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 replicate requests (#66).

1.12.0(2025/12/19)

New Features

  • Optimized Sinker caching mechanism (#34):
    • The new sinker caching mechanism uses a hash feature (16 bytes) of the request for caching, instead of caching the complete request characteristics. It uses two-way hashing to minimize hash collisions, with a theoretical collision probability of n/2^128, where n is the number of cached keys.
    • Added TTL and capacity mechanisms to Sinker cache, further limiting memory usage: The TTL mechanism cleans up inactive cache entries, and the capacity mechanism ensures the number of keys in the cache does not exceed the specified limit. Both TTL and capacity limits further reduce the aforementioned hash collision probability.
  • Added configuration to optimize Dataway HTTP header returns, reducing Dataway public network traffic (#65).

1.11.2(2025/11/25)

  • Optimized Dataway forwarding of HTTP requests to Kodo (#64).

1.11.1(2025/11/15)

  • Fixed the issue of 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 routing could not replicate data to different workspaces (#59).

1.10.0(2025/09/03)

New Features

  • Added Langfuse data ingestion functionality (#57).

1.9.0(2025/04/25)

New Features

  • Dataway adds X-Pkg-Id in data upload requests for data tracing (#53).
  • Enhanced program logs; more error codes returned by Kodo will be passed through to DataKit (#52).
  • Added API for self-pulling environment variables (#55).
  • Updated disk cache code to locate invalid argument errors occurring in some scenarios (#56).

1.8.0(2025/02/19)

New Features

  • In Sinker mode, Dataway supports simultaneously handling data reporting requests sent 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 (#43).

Optimizations

  • Adjusted default parameters for internal recycling to optimize memory usage (#49).
  • Optimized default yaml for Kubernetes deployment, adjusting its cache disk mount configuration (#48).
  • Adjusted and added some internal metrics; updated Dataway default views.

1.6.2(2024/12/03)

Optimizations

  • Added configuration entry point at the HTTP layer for connections (#46).

1.6.1(2024/11/19)

Optimizations

  • Added option to disable the 404 page (#44).

1.6.0(2024/09/19)

Optimizations

  • Optimized environment variable configuration related to disk cache.
  • Added more self-metric exposure and optimized memory usage at the HTTP forwarding layer (#39).
  • Dataway supports configuring its own SNI (#42).
  • Added time synchronization interface for DataKit to obtain more accurate Unix timestamps (#40).
  • Sinker:
    • Filtering conditions support nil judgment, i.e., determining whether a specific field exists (#41).
    • Added default rule setting, where requests that do not match any existing routing rules will be directed to the workspace corresponding to this default rule (#30).

1.5.0(2024/07/05)

Optimizations

  • Optimized installation script (#33).

Compatibility Changes

  • The new version removed the functionality of directly supporting 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 missing DW_ENABLE_TLS issue in Kubernetes installation mode.
  • Changed build image address.

1.4.0(2024/05/15)

  • Added DataKit metering interface (#29).
  • Fixed issue where cache might lose data (#31).
  • Supports configuring HTTP TLS certificates directly on the Dataway side (#32).
  • Added more metric exposure.

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)

  • Added more metric exposure.
  • Significantly improved Sinker rule matching performance (#26).

1.3.7(2023/12/14)

  • Added more metric exposure.
  • Optimized disk cache cleanup strategy, adhering to the principle of consumption as soon as possible:
    • Avoids active data discarding due to storage limits.
    • Sends cached data upstream as early as possible.
  • Added observability for oversized request discarding (metrics/logs).
  • Adjusted Dataway's own POD yaml to improve its metric 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 in default configuration:
    • Default API rate limit increased to 100K.
    • Default maximum Body 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 easy viewing of 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, adding Sinker functionality.

1.2.12(2023/08/28)

  • Refactored CI release process, enabling dual release of install scripts.

1.2.8(2022/09/18)

  • /v1/wirte interface update:
    • Removed redundant /v1/write/xxx APIs, added /v1/write/:category interface.
    • Data writing no longer performs line protocol decoding, but still reads the Body for signing.
  • Disk cache:
    • Added consumption pause strategy during cache cleanup when sending to the center fails; the next cache is not cleaned until the current cached request is successfully sent.
    • Updated pbcache proto file.

Feedback

Is this page helpful? ×