Releases: apache/skywalking
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_segmentcan 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_OPTSin 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
timestampfield type forLogQuery. - Support Zabbix protocol to receive agent metrics.
- Update the Apdex metric combine calculator.
- Enhance
MeterSystemto 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
sumfunction 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-elasticsearch7storage option. - Fix
DatabaseSlowStatementBuilderstatement maybe null. - Remove fields of parent entity in the relation sources.
- Save Envoy http access logs when error occurs.
- Fix wrong
service_instance_slasetting 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
retagByK8sMetaand opt typeK8sRetagType.Pod2Servicein 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
disablestatement 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.shto make it runnable on Linux. - Add
packageto.protofiles, 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-buddyto 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.Bufferimplementation isn't activated inIF_POSSIBLEmode. - Fix ArrayBlockingQueueBuffer's useless
IF_POSSIBLEmode 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.methodNameformat - Fix bug that rocketmq-plugin set the wrong tag.
- Fix duplicated
EnhancedInstanceinterface 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_secscan be changed in the runtime. - Support config
agent.ignore_suffixcan be changed in the runtime. - Support DNS periodic resolving mechanism to update backend service.
- Support config
agent.trace.ignore_pathcan 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.ymlis 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
timeBucketnot 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
parseInternalErrorCodewhere 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
IllegalArgumentExceptioninAnalyzer.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
@SuperDatasetannotation for BrowserErrorLog. - Add the thread pool to the Kafka fetcher to increase the performance.
- Add
containandnot containOPS in OAL. - Add Envoy ALS analyzer based on metadata exchange.
- Add
listMetricsGraphQL 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.internalErrorCodein 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
searchServicebug 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
8.2.0
Download
http://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
- Support Browser monitoring.
- Add e2e test for ALS solution of service mesh observability.
- Support compiling(include testing) in JDK11.
- Support build a single module.
Java Agent
- Support metrics plugin.
- Support slf4j logs of gRPC and Kafka(when agent uses them) into the agent log files.
- Add
PROPERTIES_REPORT_PERIOD_FACTORconfig to avoid the properties of instance cleared. - Limit the size of traced SQL to avoid OOM.
- Support
mountcommand to load a new set of plugins. - Add plugin selector mechanism.
- Enhance the witness classes for MongoDB plugin.
- Enhance the parameter truncate mechanism of SQL plugins.
- Enhance the SpringMVC plugin in the reactive APIs.
- Enhance the SpringMVC plugin to collect HTTP headers as the span tags.
- Enhance the Kafka plugin, about
@KafkaPollAndInvoke - Enhance the configuration initialization core. Plugin could have its own plugins.
- Enhance Feign plugin to collect parameters.
- Enhance Dubbo plugin to collect parameters.
- Provide Thrift plugin.
- Provide XXL-job plugin.
- Provide MongoDB 4.x plugin.
- Provide Kafka client 2.1+ plugin.
- Provide WebFlux-WebClient plugin.
- Provide ignore-exception plugin.
- Provide quartz scheduler plugin.
- Provide ElasticJob 2.x plugin.
- Provide Spring @scheduled plugin.
- Provide Spring-Kafka plugin.
- Provide HBase client plugin.
- Provide JSON log format.
- Move Spring WebFlux plugin to the optional plugin.
- Fix inconsistent logic bug in PrefixMatch
- Fix duplicate exit spans in Feign LoadBalancer mechanism.
- Fix the target service blocked by the Kafka reporter.
- Fix configurations of Kafka report don't work.
- Fix rest template concurrent conflict.
- Fix NPE in the ActiveMQ plugin.
- Fix conflict between Kafka reporter and sampling plugin.
- Fix NPE in the log formatter.
- Fix span layer missing in certain cases, in the Kafka plugin.
- Fix error format of time in serviceTraffic update.
- Upgrade bytebuddy to 1.10.14
OAP-Backend
- Support Nacos authentication.
- Support labeled meter in the meter receiver.
- Separate UI template into multiple files.
- Provide support for Envoy tracing. Envoy tracer depends on the Envoy community.
- Support query trace by tags.
- Support composite alarm rules.
- Support alarm messages to DingTalk.
- Support alarm messages to WeChat.
- Support alarm messages to Slack.
- Support SSL for Prometheus fetcher and self telemetry.
- Support labeled histogram in the prometheus format.
- Support the status of segment based on entry span or first span only.
- Support the error segment in the sampling mechanism.
- Support SSL certs of gRPC server.
- Support labeled metrics in the alarm rule setting.
- Support to query all labeled data, if no explicit label in the query condition.
- Add TLS parameters in the mesh analysis.
- Add health check for InfluxDB storage.
- Add
super datasetconcept for the traces/logs. - Add separate replicas configuration for super dataset.
- Add
INoperator in the OAL. - Add
!=operator in the OAL. - Add
likeoperator in the OAL. - Add
latestfunction in the prometheus analysis. - Add more configurations in the gRPC server.
- Optimize the trace query performance.
- Optimize the CPU usage rate calculation, at least to be 1.
- Optimize the length of slow SQL column in the MySQL storage.
- Optimize the topology query, use client side component name when no server side mapping.
- Add component IDs for Python component.
- Add component ID range for C++.
- Fix Slack notification setting NPE.
- Fix some module missing check of the module manager core.
- Fix authentication doesn't work in sharing server.
- Fix metrics batch persistent size bug.
- Fix trace sampling bug.
- Fix CLR receiver bug.
- Fix end time bug in the query process.
- Fix
Exporter INCREMENT modeis not working. - Fix an error when executing startup.bat when the log directory exists
- Add syncBulkActions configuration to set up the batch size of the metrics persistent.
- Meter Analysis Language.
UI
- Add browser dashboard.
- Add browser log query page.
- Support query trace by tags.
- Fix JVM configuration.
- Fix CLR configuration.
Document
- Add the document about
SW_NO_UPSTREAM_REAL_ADDRESS. - Update ALS setup document.
- Add Customization Config section for plugin development.
All issues and pull requests are here
8.1.0
Download
http://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
- Support Kafka as an optional trace, JVM metrics, profiling snapshots and meter system data transport layer.
- Support Meter system, including the native metrics APIs and the Spring Sleuth adoption.
- Support JVM thread metrics.
Java Agent
- [Core] Fix the concurrency access bug in the Concurrency ClassLoader Case.
- [Core] Separate the config of the plugins from the core level.
- [Core] Support instrumented class cached in memory or file, to be compatible with other agents, such as Arthas.
- Add logic endpoint concept. Could analysis any span or tags flagged by the logic endpoint.
- Add Spring annotation component name for UI visualization only.
- Add support to trace
Call proceduresin MySQL plugin. - Support GraphQL plugin.
- Support Quasar fiber plugin.
- Support InfluxDB java client plugin.
- Support brpc java plugin
- Support
ConsoleAppenderin the logback v1 plugin. - Enhance vert.x endpoint names.
- Optimize the code to prevent mongo statements from being too long.
- Fix WebFlux plugin concurrency access bug.
- Fix ShardingSphere plugins internal conflicts.
- Fix duplicated Spring MVC endpoint.
- Fix lettuce plugin sometimes trace doesn‘t show span layer.
- Fix
@TagreturnedObject bug.
OAP-Backend
- Support Jetty Server advanced configurations.
- Support label based filter in the prometheus fetcher and OpenCensus receiver.
- Support using k8s configmap as the configuration center.
- Support OAP health check, and storage module health check.
- Support sampling rate in the dynamic configuration.
- Add
endpoint_relation_slaandendpoint_relation_percentilefor endpoint relationship metrics. - Add components for Python plugins, including Kafka, Tornado, Redis, Django, PyMysql.
- Add components for Golang SDK.
- Add Nacos 1.3.1 back as an optional cluster coordinator and dynamic configuration center.
- Enhance the metrics query for ElasticSearch implementation to increase the stability.
- Reduce the length of storage entity names in the self-observability for MySQL and TiDB storage.
- Fix labels are missing in Prometheus analysis context.
- Fix column length issue in MySQL/TiDB storage.
- Fix no data in 2nd level aggregation in self-observability.
- Fix searchService bug in ES implementation.
- Fix wrong validation of endpoint relation entity query.
- Fix the bug caused by the OAL debug flag.
- Fix endpoint dependency bug in MQ and uninstrumented proxy cases.
- Fix time bucket conversion issue in the InfluxDB storage implementation.
- Update k8s client to 8.0.0
UI
- Support endpoint dependency graph.
- Support x-scroll of trace/profile page
- Fix database selector issue.
- Add the bar chart in the UI templates.
Document
- Update the user logo wall.
- Add backend configuration vocabulary document.
- Add agent installation doc for Tomcat9 on Windows.
- Add istioctl ALS commands for the document.
- Fix TTL documentation.
- Add FAQ doc about thread instrumentation.
CVE
- Fix fuzzy query sql injection in the MySQL/TiDB storage.
All issues and pull requests are here
8.0.1
Download
http://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-Backend
- Fix
no-initmode is not working in ElasticSearch storage.
8.0.0
Download
http://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
- v3 protocol is added and implemented. All previous releases are incompatible with 8.x releases.
- Service, Instance, Endpoint register mechanism and inventory storage entities are removed.
- New GraphQL query protocol is provided, the legacy procotol is still supported(plan to remove at the end of this year).
- Support Prometheus network protocol. Metrics in Prometheus format could be transferred into SkyWalking.
- Python agent provided.
- All inventory caches have been removed.
- Apache ShardingSphere(4.0.0, 4.1.1) agent plugin provided.
Java Agent
- Add MariaDB plugin.
- Vert.x plugin enhancement. More cases are covered.
- Support v3 extension header.
- Fix ElasticSearch 5.x plugin TransportClient error.
- Support Correlation protocol v1.
- Fix Finagle plugin bug, in processing Noop Span.
- Make
CommandServicedaemon to avoid blocking target application shutting down gracefully. - Refactor spring cloud gateway plugin and support tracing spring cloud gateway 2.2.x
OAP-Backend
- Support meter system for Prometheus adoption. In future releases, we will add native meter APIs and MicroMeter(Sleuth) system.
- Support endpoint grouping.
- Add SuperDataSet annotation for storage entity.
- Add superDatasetIndexShardsFactor in the ElasticSearch storage, to provide more shards for @SuperDataset annotated entites. Typically TraceSegment.
- Support alarm settings for relationship of service, instance, and endpoint level metrics.
- Support alarm settings for database(conjecture node in tracing scenario).
- Data Model could be added in the runtime, don't depend on the bootstrap sequence anymore.
- Reduce the memory cost, due to no inventory caches.
- No buffer files in tracing and service mesh cases.
- New ReadWriteSafe cache implementation. Simplify codes.
- Provide default way for metrics query, even the metrics doesn't exist.
- New GraphQL query protocol is provided. Support the metrics type query.
- Set up length rule of service, instance, and endpoint.
- Adjust the default jks for ElasticSearch to empty.
- Fix Apdex function integer overflow issue.
- Fix profile storage issue.
- Fix TTL issue.
- Fix H2 column type bug.
- Add JRE 8-14 test for the backend.
UI
- UI dashboard is 100% configurable to adopt new metrics definited in the backend.
Document
- Add v8 upgrade document.
- Make the coverage accurate including UT and e2e tests.
- Add miss doc about collecting parameters in the profiled traces.
CVE
- Fix SQL Injection vulnerability in H2/MySQL implementation.
- Upgrade Nacos to avoid the FastJson CVE in high frequency.
- Upgrade jasckson-databind to 2.9.10.
7.0.0
Download
http://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
- SkyWalking discards the supports of JDK 1.6 and 1.7 on the java agent side. The minimal requirement of JDK is JDK8.
- Support method performance profile.
- Provide new E2E test framework.
- Remove AppVeyor from the CI, use GitHub action only.
- Provide new plugin test tool.
- Don't support SkyWalking v5 agent in-wire and out-wire protocol. v6 is required.
Java Agent
- Add lazy injection API in the agent core.
- Support Servlet 2.5 in the Struts plugin.
- Fix RestTemplate plugin ClassCastException in the Async call.
- Add Finagle plugin.
- Add test cases of H2 and struts.
- Add Armeria 0.98 plugin.
- Fix ElasticSearch plugin bug.
- Fix EHCache plugin bug.
- Fix a potential I/O leak.
- Support Oracle SID mode.
- Update Byte-buddy core.
- Performance tuning: replace AtomicInteger with AtomicIntegerFieldUpdater.
- Add AVRO plugin.
- Update to JDK 1.8
- Optimize the ignore plugin.
- Enhance the gRPC plugin.
- Add Kotlin Coroutine plugin.
- Support HTTP parameter collection in Tomcat and SpringMVC plugin.
- Add @tag annotation in the application toolkit.
- Move Lettuce into the default plugin list.
- Move Webflux into the default plugin list.
- Add HttpClient 3.x plugin.
OAP-Backend
- Support InfluxDB as a new storage option.
- Add
selectorin theapplication.yml. Make the provider activation more flexible through System ENV. - Support sub-topology map query.
- Support gRPC SSL.
- Support HTTP protocol for agent.
- Support Nginx LUA agent.
- Support skip the instance relationship analysis if some agents doesn't have upstream address, currently for LUA agent.
- Support metrics entity name in the storage. Optional, default OFF.
- Merge the HOUR and DAY metrics into MINUTE in the ElasticSearch storage implementation. Reduce the payload for ElasticSearch server.
- Support change detection mechanism in DCS.
- Support Daily step in the ElasticSearch storage implementation for low traffic system.
- Provide profile export tool.
- Support alarm gRPC hook.
- Fix PHP language doesn't show up on the instance page.
- Add more comments in the source codes.
- Add a new metrics type, multiple linears.
- Fix thread concurrency issue in the alarm core.
UI
- Support custom topology definition.
- Support profile.
Document
- Add FAQ about
python2command required in the compiling. - Add doc about new e2e framework.
- Add doc about the new profile feature.
- Powered-by page updated.
6.6.0
Download
http://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
- [IMPORTANT] Local span and exit span are not treated as endpoint detected at client and local. Only entry span is the endpoint. Reduce the load of register and memory cost.
- Support MiniKube, Istio and SkyWalking on K8s deployment in CI.
- Support Windows and MacOS build in GitHub Action CI.
- Support ElasticSearch 7 in official dist.
- Hundreds plugin cases have been added in GitHub Action CI process.
Java Agent
- Remove the local/exit span operation name register mechanism.
- Add plugin for JDK Threading classes.
- Add plugin for Armeria.
- Support set operation name in async span.
- Enhance webflux plugin, related to Spring Gateway plugin. Webflux plugin is in optional, due to JDK8 required.
- Fix a possible deadlock.
- Fix NPE when OAL scripts are different in different OAP nodes, mostly in upgrading stage.
- Fix bug about wrong peer in ES plugin.
- Fix NPE in Spring plugin.
- Fix wrong class name in Dubbo 2.7 conflict patch.
- Fix spring annotation inheritance problem.
OAP-Backend
- Remove the local/exit span operation name register mechanism.
- Remove client side endpoint register in service mesh.
- Service instance dependency and related metrics.
- Support
minfunc in OAL - Support
apdexfunc in OAL - Support custom ES config setting at the index level.
- Envoy ALS proto upgraded.
- Update JODA lib as bugs in UTC +13/+14.
- Support topN sample period configurable.
- Ignore no statement DB operations in slow SQL collection.
- Fix bug in docker-entrypoint.sh when using MySQL as storage
UI
- Service topology enhancement. Dive into service, instance and endpoint metrics on topo map.
- Service instance dependency view and related metrics.
- Support using URL parameter in trace query page.
- Support apdex score in service page.
- Add service dependency metrics into metrics comparison.
- Fix alarm search not working.
Document
- Update user list and user wall.
- Add document link for CLI.
- Add deployment guide of agent in Jetty case.
- Modify Consul cluster doc.
- Add document about injecting traceId into the logback with logstack in JSON format.
- ElementUI license and dependency added.
All issues and pull requests are here
6.5.0
Download
http://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
- Compatible with 6.4.0 release
- TTL E2E test (#3437)
- Test coverage is back in pull request check status (#3503)
- Plugin tests begin to be migrated into main repo, and is in process. (#3528, #3756, #3751, etc.)
- Switch to SkyWalking CI (exclusive) nodes (#3546)
- MySQL storage e2e test. (#3648)
- E2E tests are verified in multiple jdk versions, jdk 8, 9, 11, 12 (#3657)
- Jenkins build jobs run only when necessary (#3662)
OAP-Backend
- Support dynamically configure alarm settings (#3557)
- Language of instance could be null (#3485)
- Make query max window size configurable. (#3765)
- Remove two max size 500 limit. (#3748)
- Parameterize the cache size. (#3741)
- ServiceInstanceRelation set error id (#3683)
- Makes the scope of alarm message more semantic. (#3680)
- Add register persistent worker latency metrics (#3677)
- Fix more reasonable error (#3619)
- Add GraphQL getServiceInstance instanceUuid field. (#3595)
- Support namespace in Nacos cluster/configuration (#3578)
- Instead of datasource-settings.properties, use application.yml for MySQLStorageProvider (#3564)
- Provide consul dynamic configuration center implementation (#3560)
- Upgrade guava version to support higher jdk version (#3541)
- Sync latest als from envoy api (#3507)
- Set telemetry instanced id for Etcd and Nacos plugin (#3492)
- Support timeout configuration in agent and backend. (#3491)
- Make sure the cluster register happens before streaming process. (#3471)
- Agent supports custom properties. (#3367)
- Miscellaneous bug fixes (#3567)
UI
- Feature: node detail display in topo circle-chart view.
- BugFix: the jvm-maxheap & jvm-maxnonheap is -1, free is no value
- Fix bug: time select operation not in effect
- Fix bug: language initialization failed
- Fix bug: not show instance language
- Feature: support the trace list display export png
- Feature: Metrics comparison view
- BugFix: Fix dashboard top throughput copy
Java Agent
- Spring async scenario optimize (#3723)
- Support log4j2 AsyncLogger (#3715)
- Add config to collect PostgreSQL sql query params (#3695)
- Support namespace in Nacos cluster/configuration (#3578)
- Provide plugin for ehcache 2.x (#3575)
- Supporting RequestRateLimiterGatewayFilterFactory (#3538)
- Kafka-plugin compatible with KafkaTemplate (#3505)
- Add pulsar apm plugin (#3476)
- Spring-cloud-gateway traceId does not transmit #3411 (#3446)
- Gateway compatible with downstream loss (#3445)
- Provide cassandra java driver 3.x plugin (#3410)
- Fix SpringMVC4 NoSuchMethodError (#3408)
- BugFix: endpoint grouping rules may be not unique (#3510)
- Add feature to control the maximum agent log files (#3475)
- Agent support custom properties. (#3367)
Document
- Remove travis badge (#3763)
- Replace user wall to typical users in readme page (#3719)
- Update istio docs according latest istio release (#3646)
- Use chart deploy sw docs (#3573)
- Reorganize the doc, and provide catalog (#3563)
- Committer vote and set up document. (#3496)
- Update als setup doc as istio 1.3 released (#3470)
- Fill faq reply in official document. (#3450)