FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Releases · apache/skywalking-java · GitHub

Releases: apache/skywalking-java

9.7.0

Choose a tag to compare

Filter
wu-sheng released this 14 Aug 05:18

Changes by Version

Release Notes.

9.7.0

  • Fix plugin.http.include_http_headers not working on Spring Boot 3.x / Jakarta EE (apache/skywalking#13938).
  • Support plugin.http.include_http_headers in the Tomcat plugin, collecting the configured request headers as the http.headers tag on Tomcat entry spans (e.g. RESTEasy on Tomcat), consistent with the Spring MVC plugin. Honors the shared plugin.http.http_headers_length_threshold.
  • Unify the Tomcat plugins into a single tomcat plugin (Tomcat 7 - 10) and the Jetty server plugins into a single jetty-server plugin (Jetty 9 - 11), each supporting both javax.servlet and jakarta.servlet. Breaking change: plugin names tomcat-7.x/8.x and tomcat-10.x are replaced by tomcat, and jetty-server-9.x and jetty-server-11.x by jetty-server; update plugin.exclude_plugins if you reference the old names.
  • Add a Jetty 12 server plugin (jetty-server-12.x). Jetty 12 removed the HttpChannel handle target and moved request handling to the async Server#handle(Request, Response, Callback) core API, so it needs a separate plugin from the merged jetty-server.
  • Add a Struts 7 plugin (struts2-7.x) for Jakarta Struts, whose DefaultActionInvocation moved to org.apache.struts2.
  • Added support for Lettuce reactive Redis commands.
  • Add tracing support for invokeAll and invokeAny in the JDK thread pool plugin (jdk-threadpool-plugin).
  • Add Spring AI 1.x plugin and GenAI layer.
  • Fix httpclient-5.x plugin injecting sw8 propagation headers into ClickHouse HTTP requests (port 8123), causing HTTP 400. Add PROPAGATION_EXCLUDE_PORTS config to skip tracing (including header injection) for specified ports in the classic client interceptor.
  • Add Spring RabbitMQ 2.x - 4.x plugin.
  • Extend MySQL plugin to support MySQL Connector/J 8.4.0 and 9.x (9.0 -> 9.6).
  • Extend MariaDB plugin to support MariaDB Connector/J 2.7.x.
  • Extend MongoDB 4.x plugin to support MongoDB Java Driver 4.2 -> 4.10. Fix db.bind_vars extraction for driver 4.9+ where InsertOperation/DeleteOperation/UpdateOperation classes were removed.
  • Fix MongoDB 4.x plugin for driver 4.11+ where Cluster.getDescription() was removed, use getCurrentDescription() instead.
  • Extend Feign plugin to support OpenFeign 10.x, 11.x, 12.1.
  • Add Feign 12.2+ PathVar support (BuildTemplateByResolvingArgs moved to RequestTemplateFactoryResolver).
  • Extend Undertow plugin to support Undertow 2.1.x, 2.2.x, 2.3.x.
  • Extend GraphQL plugin to support graphql-java 18 -> 24 (20+ requires JDK 17).
  • Extend Spring Kafka plugin to support Spring Kafka 2.4 -> 2.9 and 3.0 -> 3.3.
  • Enhance test/plugin/run.sh to support extra Maven properties per version in support-version.list (format: version,key=value).
  • Add MariaDB 3.x plugin (all classes renamed in 3.x).
  • Extend Jedis 4.x plugin to support Jedis 5.x (fix witness method for 5.x compatibility).
  • Add Elasticsearch Java client (co.elastic.clients:elasticsearch-java) plugin for 7.16.x-9.x.
  • Only publish apm-application-toolkit modules to Maven Central. Agent and plugins are distributed via download package and Docker images.
  • Add unified release script (tools/releasing/release.sh) with two-step flow: prepare-vote and vote-passed.
  • Fix an issue where JDBCPluginConfig.Plugin.JDBC.SQL_BODY_MAX_LENGTH was not honored by clickhouse-0.3.1 and clickhouse-0.3.2.x plugins.
  • Add tracing support for vector-store retrieval operations.
  • Fix agent lifecycle events: the Start event now carries the service instance name, and the Shutdown event is delivered on graceful JVM exit. ServiceManager prepares/starts higher-priority BootServices first and shuts them down last (matching BootService#priority()), and the shutdown event refreshes its gRPC deadline before sending.
  • Fix the SenderSendInterceptor in the nutz-plugins/http-1.x-plugin to avoid NPE caused by the Response status.

All issues and pull requests are here

9.6.0

Choose a tag to compare

Filter
wu-sheng released this 16 Feb 12:23

What's Changed

  • Release 9.5.0 and start 9.6.0 by @wu-sheng in #768
  • Bump up dependencies and e2e by @wu-sheng in #770
  • Bump up apache parent pom to v35. by @wu-sheng in #771
  • Fix span log oom by @hxd123456 in #773
  • Fix CLASS_LOADER_TYPE_CACHE OOM issue with WeakHashMap by @kylixs in #772
  • Fix Jetty client cannot receive the HTTP response body(#13500) by @xhrg in #775
  • Eliminate repeated code with HttpServletRequestWrapper in mvc-annotation-commons. by @jiangyunpeng in #776
  • Add the jdk httpclient plugin by @peachisai in #778
  • Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE by @huangguangshan in #779
  • Support kafka-clients-3.9.x intercept & Upgrade kafka-clients version in optional-reporter-plugins to 3.9.1 by @GuiSong01 in #780
  • Fix replaceParam when the replaced string contains a replacement marker by @shichaoyuan in #782
  • Fix JDBCPluginConfig.Plugin.JDBC.SQL_BODY_MAX_LENGTH was not working in some plugins by @weixiang1862 in #784
  • Add the JDK 25 support by @peachisai in #783
  • Ignore classes starting with "sun.nio.cs" in bytebuddy due to potential class loading deadlock by @shichaoyuan in #785
  • Add CLAUDE.md for AI assistant guidance by @wu-sheng in #786
  • [Test] Add Spring Cloud Gateway 4.3.3 to gateway scenario by @Siman-hub in #787
  • Split plugin dev guide from root CLAUDE.md into module-level files by @wu-sheng in #790

New Contributors

Full Changelog: v9.5.0...v9.6.0

9.5.0

Choose a tag to compare

Filter
wu-sheng released this 18 Aug 04:17

What's Changed

  • Release 9.4.0 and prepare 9.5.0 by @wu-sheng in #750
  • Add the virtual thread executor plugin by @peachisai in #751
  • Add the javadoc plugin for virtual thread executor plugin by @peachisai in #752
  • Fix Conflicts apm-jdk-threadpool-plugin conflicts with apm-jdk-forkjoinpool-plugin by @GuoHaoZai in #753
  • To prevent NPE use pool name for metrics if JDBC URL is not set. by @john9x in #754
  • Fix MeterService NPE as not initialized in so11y plugin. by @wu-sheng in #755
  • fix parent class enhance issue by @tjuwangning in #757
  • Add support for dameng(DM) JDBC URL format in URLParser by @saber-wang in #758
  • fix: RabbitMQ Consumer could not receive handleCancelOk callback(#13334) by @AYue-94 in #759
  • Feature: Support for tracking for lettuce versions 6.5+ by @nichanghao in #760
  • Upgrade bytebuddy to 1.17.6 by @KeekLove in #761
  • docs: Add Couchbase Java SDK to supported list by @wankai123 in #763
  • Add support gRPC 1.59.x and 1.70.x server interceptor trace by @huicunjun in #764
  • Fix enhanced instance causes Spring Application startup failure by @tjuwangning in #762
  • build: fix Checkstyle encoding by @leeyazhou in #765
  • fix: build failure for lombok in JDK23 by @leeyazhou in #767
  • (build)version management for maven-pulgin and artifactId by @leeyazhou in #766

New Contributors

Full Changelog: v9.4.0...v9.5.0

v9.4.0

Choose a tag to compare

Filter
wu-sheng released this 20 Feb 02:22

What's Changed

New Contributors

Full Changelog: v9.3.0...v9.4.0

9.3.0

Choose a tag to compare

Filter
wu-sheng released this 25 Jul 14:46

What's Changed

New Contributors

Full Changelog: v9.2.0...v9.3.0

9.2.0

Choose a tag to compare

Filter
wu-sheng released this 31 Mar 13:39

What's Changed

  • Release 9.1 and begin 9.2.0 by @wu-sheng in #652
  • Fix missing command in the docker release by @wu-sheng in #653
  • Bump up bundled CLI by @wu-sheng in #654
  • Remove dead links by @wu-sheng in #655
  • Fix NoSuchMethodError in mvc-annotation-commons&change deprecated method by @CzyerChen in #658
  • Support forkjoinpool plugin in JDK11 by @786991884 in #656
  • Support for tracing webflux-6.x and gateway-4.x by @CzyerChen in #661
  • Fix re-transform bug when enhanced class proxy parent method by @kylixs in #659
  • Success Rate is Incorrect with Vert.x by @BFergerson in #662
  • Update NOTICE year to 2024 by @wu-sheng in #663
  • add support for HttpExchange along with webflux-webclient-6.x by @CzyerChen in #664
  • Support tracing for async producing, batch sync consuming, and batch async consuming in rocketMQ-client-java-5.x-plugin by @CzyerChen in #665
  • Convert the Redisson lock span into an async span by @peachisai in #667
  • Rename system env name sw_plugin_kafka_producer_config to SW_PLUGIN_KAFKA_PRODUCER_CONFIG by @wu-sheng in #668
  • Fix words by @wu-sheng in #669
  • Support for ActiveMQ-Artemis messaging tracing. by @CzyerChen in #670
  • Archive the expired plugins impala-jdbc-2.6.x-plugin. by @wu-sheng in #673
  • Fix duplicate traceId when use forward scheme in spring.cloud.gateway.routes.uri properties by @cylx3126 in #672
  • Fix not tracing in HttpClient v5 when HttpHost(arg[0]) is null but RoutingSupport#determineHost works. by @cylx3126 in #674
  • Support across thread tracing for SOFA-RPC by @OrezzerO in #675
  • Update Jedis 4.x plugin to support Sharding and Cluster models. by @pg-yang in #677

New Contributors

Full Changelog: v9.1.0...v9.2.0

9.1.0

Choose a tag to compare

Filter
wu-sheng released this 05 Dec 08:17

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.

Features and Bug Fixes

  • Fix hbase onConstruct NPE in the file configuration scenario
  • Fix the issue of createSpan failure caused by invalid request URL in HttpClient 4.x/5.x plugin
  • Optimize ElasticSearch 6.x 7.x plugin compatibility
  • Fix an issue with the httpasyncclient component where the isError state is incorrect.
  • Support customization for the length limitation of string configurations
  • Add max length configurations in agent.config file for service_name and instance_name
  • Optimize spring-cloud-gateway 2.1.x, 3.x witness class.
  • Support report MongoDB instance info in Mongodb 4.x plugin.
  • To compatible upper and lower case Oracle TNS url parse.
  • Support collecting ZGC memory pool metrics. Require OAP 9.7.0 to support these new metrics.
  • Upgrade netty-codec-http2 to 4.1.100.Final
  • Add a netty-http 4.1.x plugin to trace HTTP requests.
  • Fix Impala Jdbc URL (including schema without properties) parsing exception.
  • Optimize byte-buddy type description performance.
  • Add eclipse-temurin:21-jre as another base image.
  • Bump byte-buddy to 1.14.9 for JDK21 support.
  • Add JDK21 plugin tests for Spring 6.
  • Bump Lombok to 1.18.30 to adopt JDK21 compiling.
  • Fix PostgreSQL Jdbc URL parsing exception.
  • Bump up grpc version.
  • Optimize plugin selector logic.

Documentation

  • Fix JDK requirement in the compiling docs.
  • Add JDK21 support in the compiling docs.

All issues and pull requests are here

9.0.0

Choose a tag to compare

Filter
wu-sheng released this 01 Sep 11:56

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.

Kernel Updates

  • Support re-transform/hot-swap classes with other java agents, and remove the obsolete cache enhanced class feature.
  • Implement new naming policies for names of auxiliary type, interceptor delegate field, renamed origin method, method
    access name, method cache value field. All names are under sw$ name trait. They are predictable and unchanged after
    re-transform.
* SWAuxiliaryTypeNamingStrategy
  Auxiliary type name pattern: <origin_class_name>$<name_trait>$auxiliary$<auxiliary_type_instance_hash>

* DelegateNamingResolver
  Interceptor delegate field name pattern: <name_trait>$delegate$<class_name_hash>$<plugin_define_hash>$<intercept_point_hash>

* SWMethodNameTransformer
  Renamed origin method pattern: <name_trait>$original$<method_name>$<method_description_hash>

* SWImplementationContextFactory
  Method cache value field pattern: cachedValue$<name_trait>$<origin_class_name_hash>$<field_value_hash>
  Accessor method name pattern:  <renamed_origin_method>$accessor$<name_trait>$<origin_class_name_hash>

Here is an example of manipulated enhanced class with new naming policies of auxiliary classes, fields, and methods

 import sample.mybatis.controller.HotelController$sw$auxiliary$19cja42;
 import sample.mybatis.controller.HotelController$sw$auxiliary$p257su0;
 import sample.mybatis.domain.Hotel;
 import sample.mybatis.service.HotelService;

 @RequestMapping(value={"/hotel"})
 @RestController
 public class HotelController
 implements EnhancedInstance {
     @Autowired
     @lazy
     private HotelService hotelService;
     private volatile Object _$EnhancedClassField_ws;

     // Interceptor delegate fields
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$ain2do0$8im5jm1;
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$ain2do0$edkmf61;
     public static volatile /* synthetic */ ConstructorInter sw$delegate$td03673$ain2do0$qs9unv1;
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$fl4lnk1$m3ia3a2;
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$fl4lnk1$sufrvp1;
     public static volatile /* synthetic */ ConstructorInter sw$delegate$td03673$fl4lnk1$cteu7s1;

     // Origin method cache value field
     private static final /* synthetic */ Method cachedValue$sw$td03673$g5sobj1;

     public HotelController() {
         this(null);
         sw$delegate$td03673$ain2do0$qs9unv1.intercept(this, new Object[0]);
     }

     private /* synthetic */ HotelController(sw.auxiliary.p257su0 p257su02) {
     }

     @GetMapping(value={"city/{cityId}"})
     public Hotel selectByCityId(@PathVariable(value="cityId") int n) {
         // call interceptor with auxiliary type and parameters and origin method object
         return (Hotel)sw$delegate$td03673$ain2do0$8im5jm1.intercept(this, new Object[]{n}, new HotelController$sw$auxiliary$19cja42(this, n), cachedValue$sw$td03673$g5sobj1);
     }

     // Renamed origin method
     private /* synthetic */ Hotel sw$origin$selectByCityId$a8458p3(int cityId) {
/*22*/         return this.hotelService.selectByCityId(cityId);
     }

     // Accessor of renamed origin method, calling from auxiliary type
     final /* synthetic */ Hotel sw$origin$selectByCityId$a8458p3$accessor$sw$td03673(int n) {
         // Calling renamed origin method
         return this.sw$origin$selectByCityId$a8458p3(n);
     }

     @OverRide
     public Object getSkyWalkingDynamicField() {
         return this._$EnhancedClassField_ws;
     }

     @OverRide
     public void setSkyWalkingDynamicField(Object object) {
         this._$EnhancedClassField_ws = object;
     }

     static {
         ClassLoader.getSystemClassLoader().loadClass("org.apache.skywalking.apm.dependencies.net.bytebuddy.dynamic.Nexus").getMethod("initialize", Class.class, Integer.TYPE).invoke(null, HotelController.class, -1072476370);
         // Method object
         cachedValue$sw$td03673$g5sobj1 = HotelController.class.getMethod("selectByCityId", Integer.TYPE);
     }
 }

Auxiliary type of Constructor :

class HotelController$sw$auxiliary$p257su0 {
}

Auxiliary type of selectByCityId method:

class HotelController$sw$auxiliary$19cja42
implements Runnable,
Callable {
    private HotelController argument0;
    private int argument1;

    public Object call() throws Exception {
        return this.argument0.sw$origin$selectByCityId$a8458p3$accessor$sw$td03673(this.argument1);
    }

    @OverRide
    public void run() {
        this.argument0.sw$origin$selectByCityId$a8458p3$accessor$sw$td03673(this.argument1);
    }

    HotelController$sw$auxiliary$19cja42(HotelController hotelController, int n) {
        this.argument0 = hotelController;
        this.argument1 = n;
    }
}

Features and Bug Fixes

  • Support Jdk17 ZGC metric collect
  • Support Jetty 11.x plugin
  • Support access to the sky-walking tracer context in spring gateway filter
  • Fix the scenario of using the HBase plugin with spring-data-hadoop.
  • Add RocketMQ 5.x plugin
  • Fix the conflict between the logging kernel and the JDK threadpool plugin.
  • Fix the thread safety bug of finishing operation for the span named "SpringCloudGateway/sendRequest"
  • Fix NPE in guava-eventbus-plugin.
  • Add WebSphere Liberty 23.x plugin
  • Add Plugin to support aerospike Java client
  • Add ClickHouse parsing to the jdbc-common plugin.
  • Support to trace redisson lock
  • Upgrade netty-codec-http2 to 4.1.94.Final
  • Upgrade guava to 32.0.1
  • Fix issue with duplicate enhancement by ThreadPoolExecutor
  • Add plugin to support for RESTeasy 6.x.
  • Fix the conditions for resetting UUID, avoid the same uuid causing the configuration not to be updated.
  • Fix witness class in springmvc-annotation-5.x-plugin to avoid falling into v3 use cases.
  • Fix Jedis-2.x plugin bug and add test for Redis cluster scene
  • Merge two instrumentation classes to avoid duplicate enhancements in MySQL plugins.
  • Support asynchronous invocation in jetty client 9.0 and 9.x plugin
  • Add nacos-client 2.x plugin
  • Staticize the tags for preventing synchronization in JDK 8
  • Add RocketMQ-Client-Java 5.x plugin
  • Fix NullPointerException in lettuce-5.x-plugin.

Documentation

All issues and pull requests are here

8.16.0

Choose a tag to compare

Filter
wu-sheng released this 03 Jun 12:59

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.

Changes by Version

  • Exclude synthetic methods for the WitnessMethod mechanism
  • Support ForkJoinPool trace
  • Support clickhouse-jdbc-plugin trace sql parameters
  • Support monitor jetty server work thread pool metric
  • Support Jersey REST framework
  • Fix ClassCastException when SQLServer inserts data
  • [Chore] Exclude org.checkerframework:checker-qual and com.google.j2objc:j2objc-annotations
  • [Chore] Exclude proto files in the generated jar
  • Fix Jedis-2.x plugin can not get host info in jedis 3.3.x+
  • Change the classloader to locate the agent path in AgentPackagePath, from SystemClassLoader to AgentPackagePath's loader.
  • Support Grizzly Trace
  • Fix possible IllegalStateException when using Micrometer.
  • Support Grizzly Work ThreadPool Metric Monitor
  • Fix the gson dependency in the kafka-reporter-plugin.
  • Fix deserialization of kafka producer json config in the kafka-reporter-plugin.
  • Support to config custom decode methods for kafka configurations

All issues and pull requests are here

8.15.0

Choose a tag to compare

Filter
wu-sheng released this 04 Apr 04:11

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.

Changes by Version

  • Enhance lettuce plugin to adopt uniform tags.
  • Expose complete Tracing APIs in the tracing toolkit.
  • Add plugin to trace Spring 6 and Resttemplate 6.
  • Move the baseline to JDK 17 for development, the runtime baseline is still Java 8 compatible.
  • Remove Powermock entirely from the test cases.
  • Fix H2 instrumentation point
  • Refactor pipeline in jedis-plugin.
  • Add plugin to support ClickHouse JDBC driver (0.3.2.*).
  • Refactor kotlin coroutine plugin with CoroutineContext.
  • Fix OracleURLParser ignoring actual port when :SID is absent.
  • Change gRPC instrumentation point to fix plugin not working for server side.
  • Fix servicecomb plugin trace break.
  • Adapt Armeria's plugins to the latest version 1.22.x
  • Fix tomcat-10x-plugin and add test case to support tomcat7.x-8.x-9.x.
  • Fix thrift plugin generate duplicate traceid when sendBase error occurs
  • Support keep trace profiling when cross-thread.
  • Fix unexpected whitespace of the command catalogs in several Redis plugins.
  • Fix a thread leak in SamplingService when updated sampling policy in the runtime.
  • Support MySQL plugin tracing SQL parameters when useServerPrepStmts
  • Update the endpoint name of Undertow plugin to Method:Path.
  • Build a dummy(empty) javadoc of finagle and jdk-http plugins due to incompatibility.

Documentation

  • Update docs of Tracing APIs, reorganize the API docs into six parts.
  • Correct missing package name in native manual API docs.
  • Add a FAQ doc about "How to make SkyWalking agent works in OSGI environment?"

All issues and pull requests are here


Back | FazBrowse Home | New Git URL