Releases: apache/skywalking
9.0.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Upgrade log4j2 to 2.17.1 for CVE-2021-44228, CVE-2021-45046, CVE-2021-45105 and CVE-2021-44832. This CVE only effects
on JDK if JNDI is opened in default. Notice, using JVM option-Dlog4j2.formatMsgNoLookups=true
or setting
theLOG4J_FORMAT_MSG_NO_LOOKUPS=”true”
environment variable also avoids CVEs. - Upgrade maven-wrapper to 3.1.0, maven to 3.8.4 for performance improvements and ARM more native support.
- Exclude unnecessary libs when building under JDK 9+.
- Migrate base Docker image to eclipse-temurin as adoptopenjdk is deprecated.
- Add E2E test under Java 17.
- Upgrade protoc to 3.19.2.
- Add Istio 1.13.1 to E2E test matrix for verification.
- Upgrade Apache parent pom version to 25.
- Use the plugin version defined by the Apache maven parent.
- Upgrade maven-dependency-plugin to 3.2.0.
- Upgrade maven-assembly-plugin to 3.3.0.
- Upgrade maven-failsafe-plugin to 2.22.2.
- Upgrade maven-surefire-plugin to 2.22.2.
- Upgrade maven-jar-plugin to 3.2.2.
- Upgrade maven-enforcer-plugin to 3.0.0.
- Upgrade maven-compiler-plugin to 3.10.0.
- Upgrade maven-resources-plugin to 3.2.0.
- Upgrade maven-source-plugin to 3.2.1.
- Update codeStyle.xml to fix incompatibility on M1's IntelliJ IDEA 2021.3.2.
- Update frontend-maven-plugin to 1.12 and npm to 16.14.0 for booster UI build.
- Improve CI with the GHA new feature "run failed jobs".
- Fix
./mvnw compile
not work if./mvnw install
is not executed at least once. - Add
JD_PRESERVE_LINE_FEEDS=true
in official code style file. - Upgrade OAP dependencies gson(2.9.0), guava(31.1), jackson(2.13.2), protobuf-java(3.18.4), commons-io(2.7),
postgresql(42.3.3). - Remove commons-pool and commons-dbcp from OAP dependencies(Not used before).
- Upgrade webapp dependencies gson(2.9.0), spring boot(2.6.6), jackson(2.13.2.2), spring cloud(2021.0.1), Apache
httpclient(4.5.13).
OAP Server
- Fix potential NPE in OAL string match and a bug when right-hand-side variable includes double quotes.
- Bump up Armeria version to 1.14.1 to fix CVE.
- Polish ETCD cluster config environment variables.
- Add the analysis of metrics in Satellite MetricsService.
- Fix
Can't split endpoint id into 2 parts
bug for endpoint ID. In the TCP in service mesh observability, endpoint
name doesn't exist in TCP traffic. - Upgrade H2 version to 2.0.206 to fix CVE-2021-23463 and GHSA-h376-j262-vhq6.
- Extend column name override mechanism working for
ValueColumnMetadata
. - Introduce new concept
Layer
and removedNodeType
. More details refer
to v9-version-upgrade. - Fix query sort metrics failure in H2 Storage.
- Bump up grpc to 1.43.2 and protobuf to 3.19.2 to fix CVE-2021-22569.
- Add source layer and dest layer to relation.
- Follow protocol grammar fix
GCPhrase -> GCPhase
. - Set layer to mesh relation.
- Add
FAAS
to SpanLayer. - Adjust e2e case for V9 core.
- Support ZGC GC time and count metric collecting.
- Sync proto buffers files from upstream Envoy (Related to envoyproxy/envoy#18955).
- Bump up GraphQL related dependencies to latest versions.
- Add
normal
to V9 service meta query. - Support
scope=ALL
catalog for metrics. - Bump up H2 to 2.1.210 to fix CVE-2022-23221.
- E2E: Add
normal
field to Service. - Add FreeSql component ID(3017) of dotnet agent.
- E2E: verify OAP cluster model data aggregation.
- Fix
SelfRemoteClient
self observing metrics. - Add env variables
SW_CLUSTER_INTERNAL_COM_HOST
andSW_CLUSTER_INTERNAL_COM_PORT
for cluster selectorszookeeper
,consul
,etcd
andnacos
. - Doc update:
configuration-vocabulary
,backend-cluster
about env variablesSW_CLUSTER_INTERNAL_COM_HOST
andSW_CLUSTER_INTERNAL_COM_PORT
. - Add Python MysqlClient component ID(7013) with mapping information.
- Support Java thread pool metrics analysis.
- Fix IoTDB Storage Option insert null index value.
- Set the default value of SW_STORAGE_IOTDB_SESSIONPOOL_SIZE to 8.
- Bump up iotdb-session to 0.12.4.
- Bump up PostgreSQL driver to fix CVE.
- Add Guava EventBus component ID(123) of Java agent.
- Add OpenFunction component ID(5013).
- Expose configuration
responseTimeout
of ES client. - Support datasource metric analysis.
- [Breaking Change] Keep the endpoint avg resp time meter name the same with others scope. (This may break 3rd party
integration and existing alarm rule settings) - Add Python FastAPI component ID(7014).
- Support all metrics from MAL engine in alarm core, including Prometheus, OC receiver, meter receiver.
- Allow updating non-metrics templates when structure changed.
- Set default connection timeout of ElasticSearch to 3000 milliseconds.
- Support ElasticSearch 8 and add it into E2E tests.
- Disable indexing for field
alarm_record.tags_raw_data
of binary type in ElasticSearch storage. - Fix Zipkin receiver wrong condition for decoding
gzip
. - Add a new sampler (
possibility
) in LAL. - Unify module name
receiver_zipkin
toreceiver-zipkin
, removereceiver_jaeger
fromapplication.yaml
. - Introduce the entity of Process type.
- Set the length of event#parameters to 2000.
- Limit the length of Event#parameters.
- Support large service/instance/networkAddressAlias list query by using ElasticSearch scrolling API,
addmetadataQueryBatchSize
to configure scrolling page size. - Change default value of
metadataQueryMaxSize
from5000
to10000
- Replace deprecated Armeria API
BasicToken.of
withAuthToken.ofBasic
. - Implement v9 UI template management protocol.
- Implement process metadata query protocol.
- Expose more ElasticSearch health check related logs to help to
diagnoseHealth check fails. reason: No healthy endpoint
. - Add source
event
generated metrics to SERVICE_CATALOG_NAME catalog. - [Breaking Change] Deprecate
All
from OAL source. - [Breaking Change] Remove
SRC_ALL: 'All'
from OAL grammar tree. - Remove
all_heatmap
andall_percentile
metrics. - Fix ElasticSearch normal index couldn't apply mapping and update.
- Enhance DataCarrier#MultipleChannelsConsumer to add priority for the channels, which makes OAP server has a better
performance to activate all analyzers on default. - Activate
receiver-otel#enabledOcRules
receiver withk8s-node,oap,vm
rules on default. - Activate
satellite,spring-sleuth
foragent-analyzer#meterAnalyzerActiveFiles
on default. - Activate
receiver-zabbix
receiver withagent
rule on default. - Replace HTTP server (GraphQL, agent HTTP protocol) from Jetty with Armeria.
- [Breaking Change] Remove configuration
restAcceptorPriorityDelta
(env var:SW_RECEIVER_SHARING_JETTY_DELTA
,SW_CORE_REST_JETTY_DELTA
). - [Breaking Change] Remove configuration
graphql/path
(env var:SW_QUERY_GRAPHQL_PATH
). - Add storage column attribute
indexOnly
, support ElasticSearch only index and not store some fields. - Add
indexOnly=true
toSegmentRecord.tags
,AlarmRecord.tags
,AbstractLogRecord.tags
, to reduce unnecessary
storage. - [Breaking Change] Remove configuration
restMinThreads
(env var:SW_CORE_REST_JETTY_MIN_THREADS
,SW_RECEIVER_SHARING_JETTY_MIN_THREADS
). - Refactor the core Builder mechanism, new storage plugin could implement their own converter and get rid of hard
requirement of using HashMap to communicate between data object and database native structure. - [Breaking Change] Break all existing 3rd-party storage extensions.
- Remove hard requirement of BASE64 encoding for binary field.
- Add complexity limitation for GraphQL query to avoid malicious query.
- Add
Column.shardingKeyIdx
for column definition for BanyanDB.
Sharding key is used to group time series data per metric of one entity in one place (same sharding and/or same
row for column-oriented database).
For example,
ServiceA's traffic gauge, service call per minute, includes following timestamp values, then it should be sharded by service ID
[ServiceA(encoded ID): 01-28 18:30 values-1, 01-28 18:31 values-2, 01-28 18:32 values-3, 01-28 18:32 values-4]
BanyanDB is the 1st storage implementation supporting this. It would make continuous time series metrics stored closely and compressed better.
NOTICE, this sharding concept is NOT just for splitting data into different database instances or physical files.
- Support ElasticSearch template mappings
properties parameters
and_source
update. - Implement the eBPF profiling query and data collect protocol.
- [Breaking Change] Remove Deprecated responseCode from sources, including Service, ServiceInstance, Endpoint
- Enhance endpoint dependency analysis to support cross threads cases. Refactor span analysis code structures.
- Remove
isNotNormal
service requirement when use alias to merge service topology from client side. All RPCs' peer
services from client side are always normal services. This cause the topology is not merged correctly. - Fix event type of export data is incorrect, it was
EventType.TOTAL
always. - Reduce redundancy ThreadLocal in MAL core. Improve MAL performance.
- Trim tag's key and value in log query.
- Refactor IoTDB storage plugin, add IoTDBDataConverter and fix ModifyCollectionInEnhancedForLoop bug.
- Bump up iotdb-session to 0.12.5.
- Fix the configuration of
Aggregation
andGC Count
metrics for oap self observability - E2E: Add verify OA...
8.9.1
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Upgrade log4j2 to 2.15.0 for CVE-2021-44228. This CVE only effects on JDK versions below 6u211, 7u201, 8u191 and 11.0.1 according to the post. Notice, using JVM option
-Dlog4j2.formatMsgNoLookups=true
also avoids CVE if your JRE opened JNDI by default.
8.9.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- E2E tests immigrate to e2e-v2.
- Support JDK 16 and 17.
- Add Docker images for arm64 architecture.
OAP Server
- Add component definition for
Jackson
. - Fix that zipkin-receiver plugin is not packaged into dist.
- Upgrade Armeria to 1.12, upgrade OpenSearch test version to 1.1.0.
- Add component definition for
Apache-Kylin
. - Enhance
get
generation mechanism of OAL engine, support map type of source's field. - Add
tag
(Map) into All, Service, ServiceInstance and Endpoint sources. - Fix
funcParamExpression
andliteralExpression
can't be used in the same aggregation function. - Support cast statement in the OAL core engine.
- Support
(str->long)
and(long)
for string to long cast statement. - Support
(str->int)
and(int)
for string to int cast statement. - Support Long literal number in the OAL core engine.
- Support literal
string
as parameter of aggregation function. - Add
attributeExpression
andattributeExpressionSegment
in the OAL grammar tree to supportmap
type for the
attribute expression. - Refactor the OAL compiler context to improve readability.
- Fix wrong generated codes of
hashCode
andremoteHashCode
methods for numeric fields. - Support
!= null
in OAL engine. - Add
Message Queue Consuming Count
metric for MQ consuming service and endpoint. - Add
Message Queue Avg Consuming Latency
metric for MQ consuming service and endpoint. - Support
-Inf
as bucket in the meter system. - Fix setting wrong field when combining
Event
s. - Support search browser service.
- Add
getProfileTaskLogs
to profile query protocol. - Set
SW_KAFKA_FETCHER_ENABLE_NATIVE_PROTO_LOG
,SW_KAFKA_FETCHER_ENABLE_NATIVE_JSON_LOG
defaulttrue
. - Fix unexpected deleting due to TTL mechanism bug for H2, MySQL, TiDB and PostgreSQL.
- Add a GraphQL query to get OAP version, display OAP version in startup message and error logs.
- Fix TimeBucket missing in H2, MySQL, TiDB and PostgreSQL bug, which causes TTL doesn't work for
service_traffic
. - Fix TimeBucket missing in ElasticSearch and provide compatible
storage2Entity
for previous versions. - Fix ElasticSearch implementation of
queryMetricsValues
andreadLabeledMetricsValues
doesn't fill default values
when no available data in the ElasticSearch server. - Fix config yaml data type conversion bug when meets special character like !.
- Optimize metrics of minute dimensionality persistence. The value of metrics, which has declaration of the default
value and current value equals the default value logically, the whole row wouldn't be pushed into database. - Fix
max
function in OAL doesn't support negative long. - Add
MicroBench
module to make it easier for developers to write JMH test. - Upgrade Kubernetes Java client to 14.0.0, supports GCP token refreshing and fixes some bugs.
- Change
SO11Y
metricenvoy_als_in_count
to calculate the ALS message count. - Support Istio
1.10.3
,1.11.4
,1.12.0
release.(Tested through e2e) - Add filter mechanism in MAL core to filter metrics.
- Fix concurrency bug in MAL
increase
-related calculation. - Fix a null pointer bug when building
SampleFamily
. - Fix the so11y latency of persistence execution latency not correct in ElasticSearch storage.
- Add
MeterReportService
collectBatch
method. - Add OpenSearch 1.2.0 to test and verify it works.
- Upgrade grpc-java to 1.42.1 and protoc to 3.17.3 to allow using native Mac osx-aarch_64 artifacts.
- Fix TopologyQuery.loadEndpointRelation bug.
- Support using IoTDB as a new storage option.
- Add customized envoy ALS protocol receiver for satellite transmit batch data.
- Remove
logback
dependencies in IoTDB plugin. - Fix
StorageModuleElasticsearchProvider
doesn't watch ontrustStorePath
. - Fix a wrong check about entity if GraphQL at the endpoint relation level.
UI
- Optimize endpoint dependency.
- Show service name by hovering nodes in the sankey chart.
- Add Apache Kylin logo.
- Add ClickHouse logo.
- Optimize the style and add tips for log conditions.
- Fix the condition for trace table.
- Optimize profile functions.
- Implement a reminder to clear cache for dashboard templates.
- Support +/- hh:mm in TimeZone setting.
- Optimize global settings.
- Fix current endpoint for endpoint dependency.
- Add version in the global settings popup.
- Optimize Log page style.
- Avoid some abnormal settings.
- Fix query condition of events.
Documentation
- Enhance documents about the data report and query protocols.
- Restructure documents about receivers and fetchers.
- Remove general receiver and fetcher docs
- Add more specific menu with docs to help users to find documents easier.
- Add a guidance doc about the logic endpoint.
- Link Satellite as Load Balancer documentation and compatibility with satellite.
All issues and pull requests are here
8.8.1
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
OAP Server
- Fix wrong (de)serializer of ElasticSearch client for OpenSearch storage.
- Fix that traces query with tags will report error.
- Replace e2e simple cases to e2e-v2.
- Fix endpoint dependency breaking.
UI
- Delete duplicate calls for endpoint dependency.
Documentation
All issues and pull requests are here
8.8.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Split javaagent into skywalking-java repository. https://github.com/apache/skywalking-java
- Merge
Dockerfile
s from apache/skywalking-docker into this codebase.
OAP Server
- Fix CVE-2021-35515, CVE-2021-35516, CVE-2021-35517, CVE-2021-36090. Upgrade org.apache.commons:commons-compress to 1.21.
- kubernetes java client upgrade from 12.0.1 to 13.0.0
- Add
event
http receiver - Support Metric level function
serviceRelation
inMAL
. - Support envoy metrics binding into the topology.
- Fix openapi-definitions folder not being read correctly.
- Trace segment wouldn't be recognized as a TopN sample service. Add through #4694 experimentally, but it caused
performance impact. - Remove
version
andendTime
in the segment entity. Reduce indexing payload. - Fix
mapper_parsing_exception
in ElasticSearch 7.14. - Support component IDs for Go-Kratos framework.
- [Break Change] Remove endpoint name in the trace query condition. Only support
query by endpoint id
. - Fix
ProfileSnapshotExporterTest
case onOpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
,
MacOS. - [Break Change] Remove page path in the browser log query condition. Only support
query by page path id
. - [Break Change] Remove endpoint name in the backend log query condition. Only support
query by endpoint id
. - [Break Change] Fix typo for a column
page_path_id
(waspate_path_id
) of storage entitybrowser_error_log
. - Add component id for Python falcon plugin.
- Add
rpcStatusCode
forrpc.status_code
tag. TheresponseCode
field is marked as deprecated and replaced
byhttpResponseStatusCode
field. - Remove the duplicated tags to reduce the storage payload.
- Add a new API to test log analysis language.
- Harden the security of Groovy-based DSL, MAL and LAL.
- Fix distinct in Service/Instance/Endpoint query is not working.
- Support collection type in dynamic configuration core.
- Support zookeeper grouped dynamic configurations.
- Fix NPE when OAP nodes synchronize events with each other in cluster mode.
- Support k8s configmap grouped dynamic configurations.
- Add desc sort function in H2 and ElasticSearch implementations of IBrowserLogQueryDAO
- Support configure sampling policy by
configuration module
dynamically and static configuration
filetrace-sampling-policy-settings.yml
for service dimension on the backend side. Dynamic
configurationsagent-analyzer.default.sampleRate
andagent-analyzer.default.slowTraceSegmentThreshold
are replaced
byagent-analyzer.default.traceSamplingPolicy
. Static configurationsagent-analyzer.default.sampleRate
andagent-analyzer.default.slowTraceSegmentThreshold
are replaced
byagent-analyzer.default.traceSamplingPolicySettingsFile
. - Fix dynamic configuration watch implementation current value not null when the config is deleted.
- Fix
LoggingConfigWatcher
returnwatch.value
would not consistent with the real configuration content. - Fix
ZookeeperConfigWatcherRegister.readConfig()
could causeNPE
whendata.getData()
is null. - Support nacos grouped dynamic configurations.
- Support for filter function filtering of int type values.
- Support mTLS for gRPC channel.
- Add yaml file suffix limit when reading ui templates.
- Support consul grouped dynamic configurations.
- Fix
H2MetadataQueryDAO.searchService
doesn't support auto grouping. - Rebuilt ElasticSearch client on top of their REST API.
- Fix ElasticSearch storage plugin doesn't work when hot reloading from
secretsManagementFile
. - Support etcd grouped dynamic configurations.
- Unified the config word
namespace
in the project. - Switch JRE base image for dev images.
- Support apollo grouped dynamic configurations.
- Fix
ProfileThreadSnapshotQuery.queryProfiledSegments
adopts a wrong sort function - Support gRPC sync grouped dynamic configurations.
- Fix
H2EventQueryDAO
doesn't sort data by Event.START_TIME and uses a wrong pagination query. - Fix
LogHandler
ofkafka-fetcher-plugin
cannot recognize namespace. - Improve the speed of writing TiDB by batching the SQL execution.
- Fix wrong service name when IP is node IP in
k8s-mesh
. - Support dynamic configurations for openAPI endpoint name grouping rule.
- Add component definition for
Alibaba Druid
andHikariCP
. - Fix
Hour
andDay
dimensionality metrics not accurate, due to the cache read-then-clear mechanism conflicts with
low down metrics flush period added in 8.7.0. - Fix
Slow SQL sampling
not accurate, due to TopN works conflict with cache read-then-clear mechanism. - The persistent cache is only read when necessary.
- Add component definition for
Alibaba Fastjson
. - Fix entity(service/instance/endpoint) names in the MAL system(prometheus, native meter, open census, envoy metric
service) are not controlled by core's naming-control mechanism. - Upgrade netty version to 4.1.68.Final avoid cve-2021-37136.
UI
- Fix not found error when refresh UI.
- Update endpointName to endpointId in the query trace condition.
- Add Python falcon icon on the UI.
- Fix searching endpoints with keywords.
- Support clicking the service name in the chart to link to the trace or log page.
- Implement the Log Analysis Language text regexp debugger.
- Fix fetching nodes and calls with serviceIds on the topology side.
- Implement Alerts for query errors.
Documentation
- Add a section in
Log Collecting And Analysis
doc, introducing the new Python agent log reporter. - Add one missing step in
otel-receiver
doc about how to activate the default receiver. - Reorganize dynamic configuration doc.
- Add more description about meter configurations in
backend-meter
doc. - Fix typo in
endpoint-grouping-rules
doc.
All issues and pull requests are here
8.7.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Extract dependency management to a bom.
- Add JDK 16 to test matrix.
- DataCarrier consumer add a new event notification, call
nothingToConsume
method if the queue has no element to
consume. - Build and push snapshot Docker images to GitHub Container Registry, this is only for people who want to help to test
the master branch codes, please don't use in production environments.
Java Agent
- Supports modifying span attributes in async mode.
- Agent supports the collection of JVM arguments and jar dependency information.
- [Temporary] Support authentication for log report channel. This feature and grpc channel is going to be removed after
Satellite 0.2.0 release. - Remove deprecated gRPC method,
io.grpc.ManagedChannelBuilder#nameResolverFactory
.
See gRPC-java 7133 for more details. - Add
Neo4j-4.x
plugin. - Correct
profile.duration
toprofile.max_duration
in the defaultagent.config
file. - Fix the response time of gRPC.
- Support parameter collection for SqlServer.
- Add
ShardingSphere-5.0.0-beta
plugin. - Fix some method exception error.
- Fix async finish repeatedly in
spring-webflux-5.x-webclient
plugin. - Add agent plugin to support Sentinel.
- Move
ehcache-2.x
plugin as an optional plugin. - Support
guava-cache
plugin. - Enhance the compatibility of
mysql-8.x-plugin
plugin. - Support Kafka SASL login module.
- Fix gateway plugin async finish repeatedly when fallback url configured.
- Chore: polish methods naming for
Spring-Kafka
plugins. - Remove plugins for ShardingSphere legacy version.
- Update agent plugin for ElasticJob GA version
- Remove the logic of generating instance name in
KafkaServiceManagementServiceClient
class. - Improve
okhttp
plugin performance by optimizing Class.getDeclaredField(). - Fix
GRPCLogClientAppender
no context warning. - Fix
spring-webflux-5.x-webclient-plugin
NPE.
OAP-Backend
- Disable Spring sleuth meter analyzer by default.
- Only count 5xx as error in Envoy ALS receiver.
- Upgrade apollo core caused by CVE-2020-15170.
- Upgrade kubernetes client caused by CVE-2020-28052.
- Upgrade Elasticsearch 7 client caused by CVE-2020-7014.
- Upgrade jackson related libs caused by CVE-2018-11307, CVE-2018-14718 ~ CVE-2018-14721, CVE-2018-19360 ~
CVE-2018-19362, CVE-2019-14379, CVE-2019-14540, CVE-2019-14892, CVE-2019-14893, CVE-2019-16335, CVE-2019-16942,
CVE-2019-16943, CVE-2019-17267, CVE-2019-17531, CVE-2019-20330, CVE-2020-8840, CVE-2020-9546, CVE-2020-9547,
CVE-2020-9548, CVE-2018-12022, CVE-2018-12023, CVE-2019-12086, CVE-2019-14439, CVE-2020-10672, CVE-2020-10673,
CVE-2020-10968, CVE-2020-10969, CVE-2020-11111, CVE-2020-11112, CVE-2020-11113, CVE-2020-11619, CVE-2020-11620,
CVE-2020-14060, CVE-2020-14061, CVE-2020-14062, CVE-2020-14195, CVE-2020-24616, CVE-2020-24750, CVE-2020-25649,
CVE-2020-35490, CVE-2020-35491, CVE-2020-35728 and CVE-2020-36179 ~ CVE-2020-36190. - Exclude log4j 1.x caused by CVE-2019-17571.
- Upgrade log4j 2.x caused by CVE-2020-9488.
- Upgrade nacos libs caused by CVE-2021-29441 and CVE-2021-29442.
- Upgrade netty caused by CVE-2019-20444, CVE-2019-20445, CVE-2019-16869, CVE-2020-11612, CVE-2021-21290, CVE-2021-21295
and CVE-2021-21409. - Upgrade consul client caused by CVE-2018-1000844, CVE-2018-1000850.
- Upgrade zookeeper caused by CVE-2019-0201, zookeeper cluster coordinator plugin now requires zookeeper server 3.5+.
- Upgrade snake yaml caused by CVE-2017-18640.
- Upgrade embed tomcat caused by CVE-2020-13935.
- Upgrade commons-lang3 to avoid potential NPE in some JDK versions.
- OAL supports generating metrics from events.
- Support endpoint name grouping by OpenAPI definitions.
- Concurrent create PrepareRequest when persist Metrics
- Fix CounterWindow increase computing issue.
- Performance: optimize Envoy ALS analyzer performance in high traffic load scenario (reduce ~1cpu in ~10k RPS).
- Performance: trim useless metadata fields in Envoy ALS metadata to improve performance.
- Fix: slowDBAccessThreshold dynamic config error when not configured.
- Performance: cache regex pattern and result, optimize string concatenation in Envy ALS analyzer.
- Performance: cache metrics id and entity id in
Metrics
andISource
. - Performance: enhance persistent session mechanism, about differentiating cache timeout for different dimensionality
metrics. The timeout of the cache for minute and hour level metrics has been prolonged to ~5 min. - Performance: Add L1 aggregation flush period, which reduce the CPU load and help young GC.
- Support connectTimeout and socketTimeout settings for ElasticSearch6 and ElasticSearch7 storages.
- Re-implement storage session mechanism, cached metrics are removed only according to their last access timestamp,
rather than first time. This makes sure hot data never gets removed unexpectedly. - Support session expired threshold configurable.
- Fix InfluxDB storage-plugin Metrics#multiGet issue.
- Replace zuul proxy with spring cloud gateway 2.x. in webapp module.
- Upgrade etcd cluster coordinator and dynamic configuration to v3.x.
- Configuration: Allow configuring server maximum request header size and ES index template order.
- Add thread state metric and class loaded info metric to JVMMetric.
- Performance: compile LAL DSL statically and run with type checked.
- Add pagination to event query protocol.
- Performance: optimize Envoy error logs persistence performance.
- Support envoy
cluster manager
metrics. - Performance: remove the synchronous persistence mechanism from batch ElasticSearch DAO. Because the current enhanced
persistent session mechanism, don't require the data queryable immediately after the insert and update anymore. - Performance: share
flushInterval
setting for both metrics and record data, due
tosynchronous persistence mechanism
removed. Record flush interval used to be hardcoded as 10s. - Remove
syncBulkActions
in ElasticSearch storage option. - Increase the default bulkActions(env, SW_STORAGE_ES_BULK_ACTIONS) to 5000(from 1000).
- Increase the flush interval of ElasticSearch indices to 15s(from 10s)
- Provide distinct for elements of metadata lists. Due to the more aggressive asynchronous flush, metadata lists have
more chances including duplicate elements. Don't need this as indicate anymore. - Reduce the flush period of hour and day level metrics, only run in 4 times of regular persistent period. This means
default flush period of hour and day level metrics are 25s * 4. - Performance: optimize IDs read of ElasticSearch storage options(6 and 7). Use the physical index rather than template
alias name. - Adjust index refresh period as INT(flushInterval * 2/3), it used to be as same as bulk flush period. At the edge case,
in low traffic(traffic < bulkActions in the whole period), there is a possible case, 2 period bulks are included in
one index refresh rebuild operation, which could cause version conflicts. And this case can't be fixed
throughcore/persistentPeriod
as the bulk fresh is not controlled by the persistent timer anymore. - The
core/maxSyncOperationNum
setting(added in 8.5.0) is removed due to metrics persistence is fully asynchronous. - The
core/syncThreads
setting(added in 8.5.0) is removed due to metrics persistence is fully asynchronous. - Optimization: Concurrency mode of execution stage for metrics is removed(added in 8.5.0). Only concurrency of prepare
stage is meaningful and kept. - Fix
-meters
metrics topic isn't created with namespace issue - Enhance persistent session timeout mechanism. Because the enhanced session could cache the metadata metrics forever,
new timeout mechanism is designed for avoiding this specific case. - Fix Kafka transport topics are created duplicated with and without namespace issue
- Fix the persistent session timeout mechanism bug.
- Fix possible version_conflict_engine_exception in bulk execution.
- Fix PrometheusMetricConverter may throw an
IllegalArgumentException
when convert metrics to SampleFamily - Filtering NaN value samples when build SampleFamily
- Add Thread and ClassLoader Metrics for the self-observability and otel-oc-rules
- Simple optimization of trace sql query statement. Avoid "select *" query method
- Introduce dynamical logging to update log configuration at runtime
- Fix Kubernetes ConfigMap configuration center doesn't send delete event
- Breaking Change: emove
qps
and addrpm
in LAL
UI
- Fix the date component for log conditions.
- Fix selector keys for duplicate options.
- Add Python celery plugin.
- Fix default config for metrics.
- Fix trace table for profile ui.
- Fix the error of server response time in the topology.
- Fix chart types for setting metrics configure.
- Fix logs pages number.
- Implement a timeline for Events in a new page.
- Fix style for event details.
Documentation
- Add FAQ about
Elasticsearch exception type=version_conflict_engine_exception since 8.7.0
- Add Self Observability service discovery (k8s).
- Add sending Envoy Metrics to OAP in envoy 1.19 example and bump up to Envoy V3 api.
All issues and pull requests are here
8.6.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Add OpenSearch as storage option.
- Upgrade Kubernetes Java client dependency to 11.0.
- Fix plugin test script error in macOS.
Java Agent
- Add
trace_segment_ref_limit_per_span
configuration mechanism to avoid OOM. - Improve
GlobalIdGenerator
performance. - Add an agent plugin to support elasticsearch7.
- Add
jsonrpc4j
agent plugin. - new options to support multi skywalking cluster use same kafka cluster(plugin.kafka.namespace)
- resolve agent has no retries if connect kafka cluster failed when bootstrap
- Add Seata in the component definition. Seata plugin hosts on Seata project.
- Extended Kafka plugin to properly trace consumers that have topic partitions directly assigned.
- Support Kafka consumer 2.8.0.
- Support print SkyWalking context to logs.
- Add
MessageListener
enhancement in pulsar plugin. - fix a bug that spring-mvc set an error endpoint name if the controller class annotation implements an interface.
- Add an optional agent plugin to support mybatis.
- Add
spring-cloud-gateway-3.x
optional plugin. - Add
okhttp-4.x
plugin. - Fix NPE when thrift field is nested in plugin
thrift
- Fix possible NullPointerException in agent's ES plugin.
- Fix the conversion problem of float type in ConfigInitializer.
- Fixed part of the dynamic configuration of ConfigurationDiscoveryService that does not take effect under certain circumstances.
- Introduce method interceptor API v2
- Fix ClassCast issue for RequestHolder/ResponseHolder.
- fixed
jdk-threading-plugin
memory leak. - Optimize multiple field reflection operation in Feign plugin.
- Fix
trace-ignore-plugin
TraceIgnorePathPatterns can't set empty value
OAP-Backend
- BugFix: filter invalid Envoy access logs whose socket address is empty.
- Fix K8s monitoring the incorrect metrics calculate.
- Loop alarm into event system.
- Support alarm tags.
- Support WeLink as a channel of alarm notification.
- Fix: Some defensive codes didn't work in
PercentileFunction combine
. - CVE: fix Jetty vulnerability. https://nvd.nist.gov/vuln/detail/CVE-2019-17638
- Fix: MAL function would miss samples name after creating new samples.
- perf: use iterator.remove() to remove modulesWithoutProvider
- Support analyzing Envoy TCP access logs and persist error TCP logs.
- Fix: Envoy error logs are not persisted when no metrics are generated
- Fix: Memory leakage of low version etcd client. fix-issue
- Allow multiple definitions as fallback in metadata-service-mapping.yaml file and
k8sServiceNameRule
. - Fix: NPE when configmap has no data.
- Fix: Dynamic Configuration key
slowTraceSegmentThreshold
not work - Fix:
!=
is not supported in oal when parameters are numbers. - Include events of the entity(s) in the alarm.
- Support
native-json
format log in kafka-fetcher-plugin. - Fix counter misuse in the alarm core. Alarm can't be triggered in time.
- Events can be configured as alarm source.
- Make the number of core worker in meter converter thread pool configurable.
- Add HTTP implementation of logs reporting protocol.
- Make metrics exporter still work even when storage layer failed.
- Fix Jetty HTTP
TRACE
issue, disable HTTP methods exceptPOST
. - CVE: upgrade snakeyaml to prevent billion laughs attack in dynamic configuration.
- polish debug logging avoids null value when the segment ignored.
UI
- Add logo for kong plugin.
- Add apisix logo.
- Refactor js to ts for browser logs and style change.
- When creating service groups in the topology, it is better if the service names are sorted.
- Add tooltip for dashboard component.
- Fix style of endpoint dependency.
- Support search and visualize alarms with tags.
- Fix configurations on dashboard.
- Support to configure the maximum number of displayed items.
- After changing the durationTime, the topology shows the originally selected group or service.
- remove the no use maxItemNum for labeled-value metric, etc.
- Add Azure Functions logo.
- Support search Endpoint use keyword params in trace view.
- Add a function which show the statistics infomation during the trace query.
- Remove the sort button at the column of Type in the trace statistics page.
- Optimize the APISIX icon in the topology.
- Implement metrics templates in the topology.
- Visualize Events on the alarm page.
- Update duration steps in graphs for Trace and Log.
Documentation
- Polish k8s monitoring otel-collector configuration example.
- Print SkyWalking context to logs configuration example.
- Update doc about metrics v2 APIs.
All issues and pull requests are here
8.5.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Incompatible Change. Indices and templates of ElasticSearch(6/7, including zipkin-elasticsearch7) storage option have been changed.
- Update frontend-maven-plugin to 1.11.0, for Download node x64 binary on Apple Silicon.
- Add E2E test for VM monitoring that metrics from Prometheus node-exporter.
- Upgrade lombok to 1.18.16.
- Add Java agent Dockerfile to build Docker image for Java agent.
Java Agent
- Remove invalid mysql configuration in agent.config.
- Add net.bytebuddy.agent.builder.AgentBuilder.RedefinitionStrategy.Listener to show detail message when redefine errors occur.
- Fix ClassCastException of log4j gRPC reporter.
- Fix NPE when Kafka reporter activated.
- Enhance gRPC log appender to allow layout pattern.
- Fix apm-dubbo-2.7.x-plugin memory leak due to some Dubbo RpcExceptions.
- Fix lettuce-5.x-plugin get null host in redis sentinel mode.
- Fix ClassCastException by making CallbackAdapterInterceptor to implement EnhancedInstance interface in the spring-kafka plugin.
- Fix NullPointerException with KafkaProducer.send(record).
- Support config
agent.span_limit_per_segment
can be changed in the runtime. - Collect and report agent starting / shutdown events.
- Support jedis pipeline in jedis-2.x-plugin.
- Fix apm-toolkit-log4j-2.x-activation no trace Id in async log.
- Replace hbase-1.x-plugin with hbase-1.x-2.x-plugin to adapt hbase client 2.x
- Remove the close_before_method and close_after_method parameters of custom-enhance-plugin to avoid memory leaks.
- Fix bug that springmvc-annotation-4.x-plugin, witness class does not exist in some versions.
- Add Redis command parameters to 'db.statement' field on Lettuce span UI for displaying more info.
- Fix NullPointerException with
ReactiveRequestHolder.getHeaders
. - Fix springmvc reactive api can't collect HTTP statusCode.
- Fix bug that asynchttpclient plugin does not record the response status code.
- Fix spanLayer is null in optional plugin(gateway-2.0.x-plugin gateway-2.1.x-plugin).
- Support @trace, @tag and @tags work for static methods.
OAP-Backend
- Allow user-defined
JAVA_OPTS
in the startup script. - Metrics combination API supports abandoning results.
- Add a new concept "Event" and its implementations to collect events.
- Add some defensive codes for NPE and bump up Kubernetes client version to expose exception stack trace.
- Update the
timestamp
field type forLogQuery
. - Support Zabbix protocol to receive agent metrics.
- Update the Apdex metric combine calculator.
- Enhance
MeterSystem
to allow creating metrics with samemetricName
/function
/scope
. - Storage plugin supports postgresql.
- Fix kubernetes.client.openapi.ApiException.
- Remove filename suffix in the meter active file config.
- Introduce log analysis language (LAL).
- Fix alarm httpclient connection leak.
- Add
sum
function in meter system. - Remove Jaeger receiver.
- Remove the experimental Zipkin span analyzer.
- Upgrade the Zipkin Elasticsearch storage from 6 to 7.
- Require Zipkin receiver must work with
zipkin-elasticsearch7
storage option. - Fix
DatabaseSlowStatementBuilder
statement maybe null. - Remove fields of parent entity in the relation sources.
- Save Envoy http access logs when error occurs.
- Fix wrong
service_instance_sla
setting in thetopology-instance.yml
. - Fix wrong metrics name setting in the
self-observability.yml
. - Add telemetry data about metrics in, metrics scraping, mesh error and trace in metrics to zipkin receiver.
- Fix tags store of log and trace on h2/mysql/pg storage.
- Merge indices by Metrics Function and Meter Function in Elasticsearch Storage.
- Fix receiver don't need to get itself when healthCheck
- Remove group concept from AvgHistogramFunction. Heatmap(function result) doesn't support labels.
- Support metrics grouped by scope labelValue in MAL, no need global same labelValue as before.
- Add functions in MAL to filter metrics according to the metric value.
- Optimize the self monitoring grafana dashboard.
- Enhance the export service.
- Add function
retagByK8sMeta
and opt typeK8sRetagType.Pod2Service
in MAL for k8s to relate pods and services. - Using "service.istio.io/canonical-name" to replace "app" label to resolve Envoy ALS service name.
- Support k8s monitoring.
- Make the flushing metrics operation concurrent.
- Fix ALS K8SServiceRegistry didn't remove the correct entry.
- Using "service.istio.io/canonical-name" to replace "app" label to resolve Envoy ALS service name.
- Append the root slash(/) to getIndex and getTemplate requests in ES(6 and 7) client.
- Fix
disable
statement not working. This bug exists since 8.0.0. - Remove the useless metric in
vm.yaml
.
UI
- Update selector scroller to show in all pages.
- Implement searching logs with date.
- Add nodejs 14 compiling.
- Fix trace id by clear search conditions.
- Search endpoints with keywords.
- Fix pageSize on logs page.
- Update echarts version to 5.0.2.
- Fix instance dependency on the topology page.
- Fix resolved url for vue-property-decorator.
- Show instance attributes.
- Copywriting grammar fix.
- Fix log pages tags column not updated.
- Fix the problem that the footer and topology group is shaded when the topology radiation is displayed.
- When the topology radiation chart is displayed, the corresponding button should be highlighted.
- Refactor the route mapping, Dynamically import routing components, Improve first page loading performance.
- Support topology of two mutually calling services.
- Implement a type of table chart in the dashboard.
- Support event in the dashboard.
- Show instance name in the trace view.
- Fix groups of services in the topography.
Documentation
- Polish documentation due to we have covered all tracing, logging, and metrics fields.
- Adjust documentation about Zipkin receiver.
- Add backend-infrastructure-monitoring doc.
All issues and pull requests are here
8.4.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Incompatible with previous releases when use H2/MySQL/TiDB storage options, due to support multiple alarm rules triggered for one entity.
- Chore: adapt
create_source_release.sh
to make it runnable on Linux. - Add
package
to.proto
files, prevent polluting top-level namespace in some languages; The OAP server supports previous agent releases, whereas the previous OAP server (<=8.3.0) won't recognize newer agents since this version (>= 8.4.0). - Add ElasticSearch 7.10 to test matrix and verify it works.
- Replace Apache RAT with skywalking-eyes to check license headers.
- Set up test of Envoy ALS / MetricsService under Istio 1.8.2 to verify Envoy V3 protocol
- Test: fix flaky E2E test of Kafka.
Java Agent
- The operation name of quartz-scheduler plugin, has been changed as the
quartz-scheduler/${className}
format. - Fix jdk-http and okhttp-3.x plugin did not overwrite the old trace header.
- Add interceptors of method(analyze, searchScroll, clearScroll, searchTemplate and deleteByQuery) for elasticsearch-6.x-plugin.
- Fix the unexpected RunningContext recreation in the Tomcat plugin.
- Fix the potential NPE when trace_sql_parameters is enabled.
- Update
byte-buddy
to 1.10.19. - Fix thrift plugin trace link broken when intermediate service does not mount agent
- Fix thrift plugin collects wrong args when the method without parameter.
- Fix DataCarrier's
org.apache.skywalking.apm.commons.datacarrier.buffer.Buffer
implementation isn't activated inIF_POSSIBLE
mode. - Fix ArrayBlockingQueueBuffer's useless
IF_POSSIBLE
mode list - Support building gRPC TLS channel but CA file is not required.
- Add witness method mechanism in the agent plugin core.
- Add Dolphinscheduler plugin definition.
- Make sampling still works when the trace ignores plug-in activation.
- Fix mssql-plugin occur ClassCastException when call the method of return generate key.
- The operation name of dubbo and dubbo-2.7.x-plugin, has been changed as the
groupValue/className.methodName
format - Fix bug that rocketmq-plugin set the wrong tag.
- Fix duplicated
EnhancedInstance
interface added. - Fix thread leaks caused by the elasticsearch-6.x-plugin plugin.
- Support reading segmentId and spanId with toolkit.
- Fix RestTemplate plugin recording url tag with wrong port
- Support collecting logs and forwarding through gRPC.
- Support config
agent.sample_n_per_3_secs
can be changed in the runtime. - Support config
agent.ignore_suffix
can be changed in the runtime. - Support DNS periodic resolving mechanism to update backend service.
- Support config
agent.trace.ignore_path
can be changed in the runtime. - Added support for transmitting logback 1.x and log4j 2.x formatted & un-formatted messages via gPRC
OAP-Backend
- Make meter receiver support MAL.
- Support influxDB connection response format option. Fix some error when use JSON as influxDB response format.
- Support Kafka MirrorMaker 2.0 to replicate topics between Kafka clusters.
- Add the rule name field to alarm record storage entity as a part of ID, to support multiple alarm rules triggered for one entity. The scope id has been removed from the ID.
- Fix MAL concurrent execution issues.
- Fix group name can't be queried in the GraphQL.
- Fix potential gRPC connection leak(not closed) for the channels among OAP instances.
- Filter OAP instances(unassigned in booting stage) of the empty IP in KubernetesCoordinator.
- Add component ID for Python aiohttp plugin requester and server.
- Fix H2 in-memory database table missing issues
- Add component ID for Python pyramid plugin server.
- Add component ID for NodeJS Axios plugin.
- Fix searchService method error in storage-influxdb-plugin.
- Add JavaScript component ID.
- Fix CVE of UninstrumentedGateways in Dynamic Configuration activation.
- Improve query performance in storage-influxdb-plugin.
- Fix the uuid field in GRPCConfigWatcherRegister is not updated.
- Support Envoy {AccessLog,Metrics}Service API V3.
- Adopt the MAL in Envoy metrics service analyzer.
- Fix the priority setting doesn't work of the ALS analyzers.
- Fix bug that
endpoint-name-grouping.yml
is not customizable in Dockerized case. - Fix bug that istio version metric type on UI template mismatches the otel rule.
- Improve ReadWriteSafeCache concurrency read-write performance
- Fix bug that if use JSON as InfluxDB.ResponseFormat then NumberFormatException maybe occur.
- Fix
timeBucket
not taking effect in EqualsAndHashCode annotation of some relationship metrics. - Fix
SharingServerConfig
's propertie is not correct in theapplication.yml
, contextPath -> restConnextPath. - Istio control plane: remove redundant metrics and polish panel layout.
- Fix bug endpoint name grouping not work due to setting service name and endpoint name out of order.
- Fix receiver analysis error count metrics.
- Log collecting and query implementation.
- Support Alarm to feishu.
- Add the implementation of ConfigurationDiscovery on the OAP side.
- Fix bug in
parseInternalErrorCode
where some error codes are never reached. - OAL supports multiple values when as numeric.
- Add node information from the Openensus proto to the labels of the samples, to support the identification of the source of the Metric data.
- Fix bug that the same sample name in one MAL expression caused
IllegalArgumentException
inAnalyzer.analyse
. - Add the text analyzer for querying log in the es storage.
- Chore: Remove duplicate codes in Envoy ALS handler.
- Remove the strict rule of OAL disable statement parameter.
- Fix a legal metric query adoption bug. Don't support global level metric query.
- Add VM MAL and ui-template configration, support Prometheus node-exporter VM metrics that pushed from OpenTelemetry-collector.
- Remove unused log query parameters.
UI
- Fix un-removed tags in trace query.
- Fix unexpected metrics name on single value component.
- Don't allow negative value as the refresh period.
- Fix style issue in trace table view.
- Separation Log and Dashboard selector data to avoid conflicts.
- Fix trace instance selector bug.
- Fix Unnecessary sidebar in tooltips for charts.
- Refactor dashboard query in a common script.
- Implement refreshing data for topology by updating date.
- Implement group selector in the topology.
- Fix all as default parameter for services selector.
- Add icon for Python aiohttp plugin.
- Add icon for Python pyramid plugin.
- Fix topology render all services nodes when groups changed.
- Fix rk-footer utc input's width.
- Update rk-icon and rewrite rk-header svg tags with rk-icon.
- Add icon for http type.
- Fix rk-footer utc without local storage.
- Sort group names in the topology.
- Add logo for Dolphinscheduler.
- Fix dashboard wrong instance.
- Add a legend for the topology.
- Update the condition of unhealthy cube.
- Fix: use icons to replace buttons for task list in profile.
- Fix: support
=
in the tag value in the trace query page. - Add envoy proxy component logo.
- Chore: set up license-eye to check license headers and add missing license headers.
- Fix prop for instances-survey and endpoints-survey.
- Fix envoy icon in topology.
- Implement the service logs on UI.
- Change the flask icon to light version for a better view of topology dark theme.
- Implement viewing logs on trace page.
- Fix update props of date component.
- Fix query conditions for logs.
- Fix style of selectors to word wrap.
- Fix logs time.
- Fix search ui for logs.
Documentation
- Update the documents of backend fetcher and self observability about the latest configurations.
- Add documents about the group name of service.
- Update docs about the latest UI.
- Update the document of backend trace sampling with the latest configuration.
- Update kafka plugin support version to 2.6.1.
- Add FAQ about
Fix compiling on Mac M1 chip
.
All issues and pull requests are here
8.3.0
Download
https://skywalking.apache.org/downloads/
Notice
Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.
Project
- Test: ElasticSearch version 7.0.0 and 7.9.3 as storage are E2E tested.
- Test: Bump up testcontainers version to work around the Docker bug on MacOS.
Java Agent
- Support propagate the sending timestamp in MQ plugins to calculate the transfer latency in the async MQ scenarios.
- Support auto-tag with the fixed values propagated in the correlation context.
- Make HttpClient 3.x, 4.x, and HttpAsyncClient 3.x plugins to support collecting HTTP parameters.
- Make the Feign plugin to support Java 14
- Make the okhttp3 plugin to support Java 14
- Polish tracing context related codes.
- Add the plugin for async-http-client 2.x
- Fix NPE in the nutz plugin.
- Provide Apache Commons DBCP 2.x plugin.
- Add the plugin for mssql-jtds 1.x.
- Add the plugin for mssql-jdbc 6.x -> 9.x.
- Fix the default ignore mechanism isn't accurate enough bug.
- Add the plugin for spring-kafka 1.3.x.
- Add the plugin for Apache CXF 3.x.
- Fix okhttp-3.x and async-http-client-2.x did not overwrite the old trace header.
OAP-Backend
- Add the
@SuperDataset
annotation for BrowserErrorLog. - Add the thread pool to the Kafka fetcher to increase the performance.
- Add
contain
andnot contain
OPS in OAL. - Add Envoy ALS analyzer based on metadata exchange.
- Add
listMetrics
GraphQL query. - Add group name into services of so11y and istio relevant metrics
- Support keeping collecting the slowly segments in the sampling mechanism.
- Support choose files to active the meter analyzer.
- Support nested class definition in the Service, ServiceInstance, Endpoint, ServiceRelation, and ServiceInstanceRelation sources.
- Support
sideCar.internalErrorCode
in the Service, ServiceInstance, Endpoint, ServiceRelation, and ServiceInstanceRelation sources. - Improve Kubernetes service registry for ALS analysis.
- Add health checker for cluster management
- Support the service auto grouping.
- Support query service list by the group name.
- Improve the queryable tags generation. Remove the duplicated tags to reduce the storage payload.
- Fix the threads of the Kafka fetcher exit if some unexpected exceptions happen.
- Fix the excessive timeout period set by the kubernetes-client.
- Fix deadlock problem when using elasticsearch-client-7.0.0.
- Fix storage-jdbc isExists not set dbname.
- Fix
searchService
bug in the InfluxDB storage implementation. - Fix CVE in the alarm module, when activating the dynamic configuration feature.
- Fix CVE in the endpoint grouping, when activating the dynamic configuration feature.
- Fix CVE in the uninstrumented gateways configs, when activating the dynamic configuration feature.
- Fix CVE in the Apdex threshold configs, when activating the dynamic configuration feature.
- Make the codes and doc consistent in sharding server and core server.
- Fix that chunked string is incorrect while the tag contains colon.
- Fix the incorrect dynamic configuration key bug of
endpoint-name-grouping
. - Remove unused min date timebucket in jdbc deletehistory logical
- Fix "transaction too large error" when use TiDB as storage.
- Fix "index not found" in trace query when use ES7 storage.
- Add otel rules to ui template to observe Istio control plane.
- Remove istio mixer
- Support close influxdb batch write model.
- Check SAN in the ALS (m)TLS process.
UI
- Fix incorrect label in radial chart in topology.
- Replace node-sass with dart-sass.
- Replace serviceFilter with serviceGroup
- Removed "Les Miserables" from radial chart in topology.
- Add the Promise dropdown option
Documentation
- Add VNode FAQ doc.
- Add logic endpoint section in the agent setup doc.
- Adjust configuration names and system environment names of the sharing server module
- Tweak Istio metrics collection doc.
- Add otel receiver.
All issues and pull requests are here