Changelog¶
2.5.0(2026/07/08)¶
This release is an iterative release, with the following main updates:
New Features¶
- Oracle collector added ASM diskgroup metrics (#3136)
- Oracle collector added database open mode, resource limits, and datafile limit metrics (#3136)
- Flameshot added Go language pprof collection support (#3132)
- Flameshot added proactive Heap Dump and hprof upload to OSS/S3 (#3122)
Bug Fixes¶
- Fixed
gpu_smiinfinite loop risk in GPU drop warning logic (#3144) - Fixed aggregation tail sampling not grouping by sinker header (#3095)
Improvements¶
- Redis added
role_statusmetric field for master/replica role change detection (#3141) - Added global
measurement_versionconfig for unified measurement version during install/upgrade, covering MySQL, Oracle, PostgreSQL, SQLServer, Redis, JVM collectors (#3142) - Added
/v1/healthendpoint and CRI runtime auto-recovery for better K8s liveness detection (#3140)
2.4.0(2026/07/02)¶
This release is an iterative release, with the following main updates:
New Features¶
- DataKit now supports adaptive IPv4/IPv6 dual-stack connections to DataWay, preferring IPv6 by default and automatically falling back to IPv4, with configurable IP family policies (#3131)
- Pipeline added the
enable_grok_fast_pathoption to explicitly control the Grok fast path optimization, which is disabled by default (#3133) - SNMP added the user Profile directory
conf.d/snmp/extra_profiles, allowing user Profiles to override or extend built-in Profiles without being overwritten during upgrades (#3128)
Bug Fixes¶
- Fixed
gpu_smicompatibility with NVIDIA SMI v12/v13 XML, including newer power fields and additional GPU metrics (#3129)
Improvements¶
- SNMP built-in Profile metrics now support
tags_ignoreandtags_ignore_regexp, reducing unnecessary time series caused by high-cardinality tags (#3130) - Corrected types, units, and descriptions for MySQL, MySQL user status, DBM, and InnoDB metrics to distinguish cumulative counters from current-state values (#3135)
Compatibility Adjustments¶
- The OpenTelemetry collector now supports newer LoongSuite/Alibaba ARMS semantic fields, adding DB, HTTP/Network, messaging, and RPC attribute mappings (#3085)
2.3.0(2026/06/24)¶
This release is an iterative release, with the following main updates:
New Features¶
- Added GKE Autopilot integration. DataKit can now be deployed as a Deployment through the
datakit-gke-autopilotHelm Chart/YAML and collect container metrics plus stdout/stderr logs through GCP Cloud APIs (#3107)
Bug Fixes¶
- Fixed PostgreSQL table object collection compatibility across versions and duplicate index data during batched collection (#3127)
Improvements¶
- Optimized SNMP collection scheduling: duplicate jobs of the same type for the same IP are skipped, while different collection types remain serialized, reducing duplicate collection and wait overhead (#3121)
- Improved communication efficiency between eBPF and DataKit Operator, reducing query and parsing overhead in large clusters. This requires DataKit Operator v1.8.9 or later (#3125)
- Added the new Kafka Dashboard and Monitor entries to the Kafka integration (#3040)
- Upgraded DCA to 0.1.7, improving management UI stability and interaction experience, with additional frontend and backend unit test coverage (#3065)
- Improved measurement metadata:
measurements-meta.jsonnow includesdesc_i18n, and units, tags, and field descriptions have been completed for multiple collectors (!3956)
Compatibility Adjustments¶
- DataKit metric points now include a
__input_sourcetag with values likedk.<input>to identify the source collector. Metrics generated through HTTP API and Pipeline also include the corresponding source (#3124)
2.2.1(2026/06/18)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed the PostgreSQL collector excluding the default
postgresdatabase by default, which prevented metrics for that database from being collected. To exclude it, configureignored_databasesexplicitly (#3123)
2.2.0(2026/06/17)¶
This release is an iterative release, with the following updates:
New Features¶
- Added IBM AS/400 (IBM i) external collector, collecting system, disk, job, memory pool, subsystem, job queue, and message queue metrics via ODBC (#3082)
- vSphere collector added VM-level disk storage metrics
disk_used_latest,disk_provisioned_latest,disk_unshared_latest(#3111) - Dialtesting collector added SSL/TLS certificate check task, supporting certificate expiration, TLS version detection, etc. (#3106)
- Pipeline added
json_allandpt_kvs_set_mapfunctions (#3109) - SNMP collector added
oid_batch_sizeandbulk_max_repetitionsconfigs, for SNMP agents sensitive to GetBulk requests like iDRAC (#3093) - PodMonitor/ServiceMonitor switched to informer architecture; YAML modifications take effect dynamically without restarting collection (#2832)
Bug Fixes¶
- Fixed APM auto-injection failure in certain scenarios (#3120)
- Fixed ICMP dial test misidentifying 0ns response as packet loss on low-latency Windows environments (#3118)
- Fixed PostgreSQL 9.1+ replication delay metrics not being reported due to numeric type conversion (#3114)
- Fixed prom_remote_write collector continuing to process invalid data due to missing
returnafter parse failure (#3105) - Fixed PayloadType field inconsistency after compact Body cache dump/load (#3102)
- Fixed diskio collector unit test occasional doubled read/write rate (#3101)
- Fixed disk usage calculation anomaly under certain conditions (#3090)
- Fixed HTTP API reload losing rate limit and timeout configs; hot-reloaded config now matches initial startup (#3079)
Improvements¶
- Container log collection now keeps the last config and warns on duplicate paths instead of discarding the task (#3119)
- Browser dial test results now hide low-level Lightpanda startup errors to avoid exposing runtime paths (#3103)
- Dial test node name changes are now automatically synced to task reporting data (#3099)
- Added SNMP custom YAML template documentation (#3116)
- Updated database integration Dashboard path (#3113)
- CI added Go module/golangci-lint cache reuse, Docker buildx supports registry cache (#3096)
Compatibility Adjustments¶
- DK self-metric collection changed to all-or-nothing mode, whitelist filtering removed; Profile collection changed to manual control (#3110)
- ddtrace collector telemetry tag now compatible with
DD_TRACE_TAGSfield name, correctly writing to JVM metric tags (#3108)
2.1.5(2026/06/16)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed a case where logs could be lost for short-lived Pods (#3117)
2.1.4(2026/06/12)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed an issue where log collection could lose data when a Pod shuts down (#3115)
2.1.3(2026/06/12)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed time series expansion caused by
collector_source_ipauto-injection in metrics; OpenTelemetry metrics now support disabling global tags via configuration (#3112)
Improvements¶
- Adjusted the default behavior of
datakit debug --bug-report: it now only generates and keeps the local zip file by default instead of uploading automatically. Use--bug-report-datawayexplicitly for Dataway upload, or continue using--ossfor OSS upload (#3089)
2.1.2(2026/06/08)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed an issue where the
processcollector could miss thecontainer_idfield in special environments. DataKit now scans all lines in/proc/{pid}/cgroupto extract a valid container ID (#3092) - Fixed excessive Prometheus metric series for log file path scan duration when containers are created and deleted frequently, reducing high memory usage and OOM risk (#3097)
- Fixed a race condition in container log collection that could prevent the
Singlegoroutine from exiting when a container is deleted, avoiding goroutine leaks (#3100)
2.1.1(2026/06/04)¶
This release is a hotfix release, contents are as follows:
Compatibility Adjustments¶
- Browser dial testing now uses the Lightpanda engine by default, with Lightpanda built into the DataKit image (#3098)
2.1.0(2026/06/03)¶
This release is an iterative release, with the following main updates:
New Features¶
- Added browser dial testing tasks.
inputs.dialtestingcan now pull and executeBROWSERtasks to simulate real browser page access, interactions, and result reporting (#3072) - DataKit CLI added the
datakit completioncommand to generate completion scripts for bash, zsh, fish, and PowerShell (#3066)
Improvements¶
- Optimized exponential Pipeline performance regression, reducing processing latency for Grok parsing patterns with consecutive
GREEDYDATAsegments (#3094)
Compatibility Adjustments¶
- DataKit CLI has been migrated to the Cobra command framework, and related commands have been adjusted. See service management and command completion for details (#3066)
2.0.0(2026/05/27)¶
This release is the first DataKit 2.x mainline release and officially enables the independent datakit-v2 install and upgrade source, with the following main updates:
New Features¶
- BPF network logs now support recording HTTP headers, preserving trace-related context in L7 logs (#3081)
- HTTP API now supports the pull interface and allows filter processing to be disabled for a single data upload (#3076)
- Prometheus Remote Write collector added the
keep_exist_metric_nameoption to preserve original metric names (#3075) - Logfwd now supports configuring
from_beginning_threshold_sizethrough environment variables (#3074) - DDTrace collector implemented the info interface to improve collector information output (#3073)
hostobjectadded Kingsoft Cloud KEC metadata support (#3068)- OceanBase collector added compatibility for 4.x system views (#3067)
- DataKit can now automatically dump its own profile and upload it to the center for online troubleshooting (#3064)
- Redis collector added database object collection and reporting (#2984)
Bug Fixes¶
- Fixed abnormal HTTP/3 dial testing timing data that caused Download duration to display an invalid long value (#3080)
- Fixed Kubernetes Prometheus collector errors when the ServiceAccount token file expires (#3071)
- Fixed the 6060 pprof service not restarting after it exits following hot reload (#3063)
- Fixed delayed disk and
hostobjectfiltering that could trigger automatic mounting on special mount points and affect object reporting (#3044) - Fixed Flameshot
jcmdhandling and duplicated profile tags (#3062)
Improvements¶
- Adjusted DataKit v2 file paths on OSS/CDN to support the major version release flow (#3083)
- Optimized default traceroute configuration for the dial testing collector (#3078)
- Adjusted DataKit Sinker header handling so global tags are only carried by point write requests (#3070)
- Improved profile reporting observability by adding info data and related metrics (#3055)
- Added support for newer Docker API versions to improve container environment compatibility (#2991)
Compatibility Adjustments¶
- DataKit upgraded to major version v2 while keeping a permanent v1 staging branch; upgrade logic now checks whether the current environment supports upgrading to v2 (#3008)
- DataKit v2 now uses an independent install and upgrade source at
https://static.guance.com/datakit-v2/, isolated from the 1.x sourcehttps://static.guance.com/datakit/. - Automatic upgrades from 1.x will not cross major versions to 2.x; to upgrade from 1.x to 2.x, manually replace
datakitwithdatakit-v2in the install or upgrade URL. - DataKit v2 build toolchain has been upgraded to Go 1.26.2; system requirements are now Linux kernel >= 3.2, Windows Server 2016(included)+, or macOS 12+.
1.94.0(2026/05/13)¶
This release is an iterative release, with the following main updates:
New Features¶
- Socket log collection now records the source IP address using the
collector_source_iptag (#3061) - HTTP dial testing now supports custom protocol versions, covering more HTTP compatibility scenarios (#3041)
- PostgreSQL DBM now reports SQL execution count and QPS metrics (#3046)
- MongoDB now supports database object collection (#3045)
- Doris now supports object collection (#3043)
- Bug report upload now defaults to Dataway-based upload while keeping the existing OSS direct-upload mode (#3028)
- AWS Lambda collection improved function invocation tracing by correlating runtime events with invocation context (#2961)
Bug Fixes¶
- Fixed 403/404 handling for the 9529 HTTP API when routes are not registered or related inputs are not enabled, reducing troubleshooting ambiguity (#3054)
- Fixed DataKit service status when the HTTP service fails to start; the main process now exits on HTTP startup errors (#3052)
- Fixed APM auto-injection issues caused by arm64 shared library cross-compilation and replacement failures (#3050)
- Fixed occasional
concurrent map writesin the Redis collector and improved host tag priority handling (#3039)
Improvements¶
- StatsD now disables DogStatsD event and service check log collection by default, enabling them only through explicit configuration to avoid extra default log volume (#3059)
- Improved
DK_HTTP_LISTENparsing soip:portcan be used directly, with clearer precedence whenDK_HTTP_PORTis also configured (#3053) - Improved Pipeline Grok and JSON processing performance for higher log processing throughput (#3051)
- Removed CGO dependency from the eBPF collector and optimized memory usage across netlog, netflow, L7 flow, and exporter paths with better runtime observability (#3049)
- Continued improving automatic multiline log rules to enhance default multiline detection (#3048)
- Added hot reload support for
cat,xfsquota,windowsremote,logfwdserver, and related collectors (#3042) - Optimized DataKit startup by removing unnecessary collection work during initialization, reducing startup time (#3038)
- Refactored the OpenTelemetry collector to reuse shared
cliutils/otlpparsers, consolidating metrics/logs/traces parsing loops while preserving DataKit-specific semantics (#3026)
1.94.1(2026/07/08)¶
This release is a hotfix release, contents are as follows:
Compatibility Adjustments¶
- Added global
measurement_versionconfig for unified measurement version during install/upgrade, covering MySQL, Oracle, PostgreSQL, SQLServer, Redis, JVM collectors (#3142)
1.93.0(2026/04/22)¶
This release is an iterative release, with the following main updates:
New Features¶
- Switched MySQL and PostgreSQL DBM collectors to a new implementation, improving database performance and object collection flows (#2998)
- Pipeline scripts now support wildcard matching on
source, making rule reuse easier (#3036) - Added
jcmdandhprofcollection support to Flameshot for better Java troubleshooting (#3031)
Bug Fixes¶
- Fixed issues in aggregate send and metric accounting paths, restoring compatibility metrics and concurrent sending behavior (#3024)
- Fixed vSphere event collection time and timeout handling, and added related unit tests (#3037)
- Fixed several stability issues in the dial testing module and completed unit test coverage for core paths (#3018)
Improvements¶
- Optimized multiline log processing strategy, unifying manual and automatic matching behavior while expanding the default rule set (#3029)
- Refactored the eBPF collector path to use cilium-related capabilities directly, with improved stability and compatibility (#3016)
- Updated DCA documentation and usage guidance (#3032)
1.92.1(2026/04/16)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed the Pipeline
add_keypath not serializinglist/mapvalues, and now normalizes composite values into strings before writing them (#3035) - Fixed SQLServer and Oracle
objectcollection not strictly honoring the configured collection interval, preventing collection from still running before the next window is reached (#3034) - Fixed incorrect k8s
requestsfield values in container metric collection, ensuring container resource requests are reported correctly (#3033) - Fixed
datakit importreplay not inheriting DataWay settings fromdatakit.conf, while still keeping command-line URL overrides available (#3030)
Improvements¶
- Adjusted DK external collector and related component build flows, improving multi-architecture build paths and compilation compatibility (#3013)
1.92.0(2026/04/09)¶
This release is an iterative release, with the following main updates:
New Features¶
- Added support for data pre-aggregation, covering aggregation and tail-sampling flows (#2892)
- Pipeline now supports processing
llmdata type inputs (#3001) - Dial testing now reports SSL certificate validity fields, including certificate expiration time and remaining days (#3003)
Bug Fixes¶
- Fixed OpenTelemetry compatibility issue where newer clients require a non-trivial response body, by completing the gRPC response payload (#3017)
- Fixed DDTrace memory leak by improving large trace recycling logic to avoid OOM (#3012)
- Fixed goroutine leak in log collection, preventing Tailer shutdown paths from blocking on cross-instance waits (#3010)
- Fixed wrapped-url-error caused by an unencoded
X-Global-Tags-V2header in datakit sinker v2 (#3009) - Fixed NTP time diff not being cleared automatically after system clock recovery (#3006)
Improvements¶
- Optimized
database_instancepriority and DBM object naming for SQLServer and Oracle to avoid cross-node data confusion (#3011) - Removed election tag injection from the NewPoint stage across several database collectors to reduce overhead, and improved Oracle slow query obfuscation (#3004)
- Added a default multiline rule for TiDB slow logs (#3005)
- Added compatibility for higher-version systemd libraries in Journald (#2996)
- Refactored GitLab collector Prometheus metric classification, completed metric fields, and unified measurement naming (#2988)
Compatibility Adjustments¶
- Removed the HTTP web service from upgrade; upgrade management is now handled through DCA (#3007)
1.91.0(2026/03/26)¶
This release is an iterative release, with the following main updates:
New Features¶
- Kingbase collector added
serverfield configuration support, allowing explicit server identification, defaults tohost:portformat (#3002) - Bug report now collects external collector logs, automatically gathering
.logfiles from[DataKit Install Dir]/externalsdirectory (#2989) - SQLServer and Oracle collectors added
database_instancedimension, querying database to obtain instance identifier and write as tag (#2999) - Monitor command added
-Q (--quantile)option, supporting quantile selection from summary metrics (#2968)
Bug Fixes¶
- Fixed FireLens log streaming support for nested map/list types, now serializing complex types to JSON strings (#3000)
- Fixed Kingbase collector singleton mode limitation, now supporting multiple concurrent instances (#2995)
- Fixed logfwd 1.86.0 configuration compatibility issue, supporting deprecated
LOGFWD_JSON_CONFIGenvironment variable with automatic conversion to new format (#2993) - Fixed missing election status metrics in DataKit, ensuring election status is reported even when not elected as leader (#2992)
- Fixed OpenTelemetry collector parent_span_id handling when zero value, normalizing
0000000000000000to0(#2987) - Fixed WAL infinite loop issue caused by malformed HTTP payload during data upload, now identifying and dropping dirty data (#2949)
- Fixed sinker header value containing invalid characters (e.g.,
\n), now URL-encoding header values (#2947)
Improvements¶
- Improved log collection multiline matching logic, removed deprecated
logging_auto_multiline_detectionconfig option, optimized multiline pattern validation flow (#2990) - External collectors now support cross-compilation, improving multi-platform build efficiency (#2994)
- Oracle collector upgraded metrics to v2, supporting grouped collection with configurable intervals by metric type (tablespace/slow_query/process/system) (#2938)
1.90.0(2026/03/11)¶
This release is an iterative release, with the following main updates:
Breaking Changes¶
- Removed legacy completion entry points
datakit tool --setup-completer-script,datakit tool --completer-script, and the static scriptdatakit-completer.sh. Usedatakit completioninstead.
New Features¶
- APM injector added PHP application automatic injection support, including PHP interpreter detection, ddtrace extension installation, and configuration management (#2986)
- Logstreaming input added AWS Firehose data source type support, receiving and processing logs from AWS Firehose HTTP endpoints (#2979)
- Oracle and SQLServer collectors added DBM (Database Monitoring) functionality, including query metrics, activity monitoring, session aggregation, connection metrics, query object storage, and execution plan storage (#2904)
- Host installer added collector configuration support during installation, passing collector configs via
DK_INPUT_CONFIGSenvironment variable (#2967) - Journald input added external collector implementation (#2974)
Bug Fixes¶
- Fixed logfwd storage_index configuration priority error, environment variable
LOGFWD_GLOBAL_STORAGE_INDEXnow takes priority over CRD configuration (#2985) - Fixed Helm chart DataWay token plaintext exposure issue, supporting automatic creation of Kubernetes Secrets to store tokens securely (#2981)
- Fixed OpenTelemetry metrics missing unit and description fields, now extracting and propagating these fields from OTEL metrics (#2977)
Improvements¶
- SNMP object collector exposed device information (device_type, device_vendor, device_hostname) and merged interface entries by interface name (#2978)
- DataKit installer added collector configuration support during installation (#2967)
- Updated APM injection documentation to include PHP support (#2986)
- Other optimizations and bug fixes
1.89.1(2026/02/12)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- Fixed issue in DK 1.89.0 where global host tag setting
host=__datakit_hostnamedid not correctly use k8s node name (#2971) - Fixed collector resume failure blocking election heartbeat, avoiding frequent election switching (#2970)
- Fixed error triggered when accidentally collecting ECSFargate container logs (#2964)
- Fixed election module state management to ensure metric timestamp updates accurately (#2970)
Improvements¶
- Flameshot supports obtaining container resource limit information, optimizing threshold calculation accuracy in container environments (#2966)
- DataKit supports accessing k8s Pod data through datakit-operator, providing API Server pressure relief solution for large-scale clusters (#2931)
1.89.0(2026/02/04)¶
This release is an iterative release, with the following main updates:
New Features¶
- Added host change detection functionality, supporting user, crontab, service, and file change monitoring (#2917)
- Flameshot now supports continuous collection mode, with default scheduled collection and threshold-triggered continuous collection (#2953)
- Added DataKit self log collection configuration functionality (#2950)
Bug Fixes¶
- Fixed Prometheus collector tags priority error (#2960)
- Fixed issue where global host tag setting
host=__datakit_ipwas ineffective (#2956) - Fixed issue where eBPF collector caused `istio-init`` containers to not exit (#2955)
- Fixed unnecessary operations in container log collection when using default stdout configuration (#2962)
- Fixed WAL lock file issue using PID that prevented reuse after DataKit exit (#2948)
- Fixed profile collector initialization timing to avoid panic due to uninitialized disk cache (#2946)
- Fixed Statsd collector, add event/service-check collection (#2941)1
Improvements¶
- Added more logs and metrics to the election module for detecting frequent election switching and collector pause failures (#2957)
- Updated DataKit HTTP client metrics, adding URL path tags and request body transfer summary metrics (#2952)
- SQLServer collector added
sqlserver_hosttag and changedinstancetag tocounter_instance(#2951) - Bug report now collects git configuration files (#2939)
- Windows process collector added status field support (#2927)
- DDTrace added more
source_typesupport(#2958)
1.88.1(2026/01/16)¶
This release is a hotfix release, contents are as follows:
Bug Fixes¶
- In version 1.87.2, the appending of global host tags for OpenTelemetry metrics was removed, which caused significant impact. By default, these tags are now appended again; if removal is required, a new flag has been added in this version for configuration (#2942)
- Fixed trigger threshold evaluation issue in Flameshot (#2943)
- Added IPDB configuration capability in Pipeline debugging (#2944)
1.88.0(2026/01/14)¶
This release is an iterative release, with the following main updates:
New Features¶
- Added data ingestion canary metric collection (#2900)
- DCA added DataKit liveness check (#2910)
Bug Fixes¶
- Fixed the issue of inflated Pod memory collection values (#2933)
- Fixed the issue where KubernetesPrometheus failed to resume collection after Pod restart (#2936)
- Fixed the issue where DDTrace NodeJS profiles could not be collected (#2937) 2
- Fixed multi-step dial testing retry issue (#2915)
- Fixed AWS Lambda extension collection anomaly (#2918)
Improvements¶
- In DataKit log output, a separate file (default is error.log) is now provided for
ERRORlevel logs to prevent them from being overwhelmed by other logs; meanwhile, the bug report will also include this error log (#2940) - Optimized the disk cache module (WAL), exposed more metrics and logs, and optimized the impact of .pos files on disk IO (#2935)
- Added more YAML configurations for SNMP collection and fixed some legacy issues (#2923)
- Added
from_beginning_threshold_sizeconfiguration item for container log collection and logfwd (#2934) - Added
collector_source_ipfield to data collected by multiple collectors, indicating the data source (#2819) 3 - Other optimizations (#2928/#2932/#2930)
Compatibility Adjustments¶
- Removed the redundant
allfield from object data in SNMP collected data (#2923)