)]}'
{
  "commit": "25e27a8293adefe152c98d937f70927d126ae06a",
  "tree": "6661d70fbb0453ddf07299aaf7a4d507bece77b4",
  "parents": [
    "8794f8001fc716184cd13c354049a41100067dcd"
  ],
  "author": {
    "name": "吴晟 Wu Sheng",
    "email": "wu.sheng@foxmail.com",
    "time": "Sat Aug 29 16:47:31 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Aug 29 16:47:31 2026 +0800"
  },
  "message": "Support Spring Framework 7 (Spring Boot 4) and Spring Cloud Gateway 5.x (#826)\n\n* Support Spring Framework 7 (Spring Boot 4) and Spring Cloud Gateway 5.x\n\nSpring Framework 7.0 dropped the MultiValueMap contract from HttpHeaders\n(spring-projects/spring-framework gh-33913), removing List get(Object). The\nwebflux-6.x plugin was compiled against that overload, so every request through\nDispatcherHandler#handle threw NoSuchMethodError before the entry span was\ncreated: the service kept serving traffic but produced no traces at all.\nspring-cloud-gateway-4.x shades a byte-identical copy of that interceptor and\nits witness class still resolves on Spring Cloud Gateway 5.x, so gateway users\nhit it through the documented plugin as well.\n\nA bytecode sweep of every built plugin jar, resolving all org/springframework\nconstant-pool refs against spring-web/webflux 5.3.39, 6.2.0 and 7.0.5, found\nonly two Spring 7 removals reaching the agent, across three call sites.\n\n- spring-webflux-6.x / -5.x: read the header via HttpHeaders#getFirst(String),\n  which is declared on HttpHeaders itself in Spring 5, 6 and 7 with the same\n  descriptor. Note HttpHeaders#get(String) does NOT work: compiled against\n  Spring 6 javac still emits the (Object) descriptor. getOrEmpty is not\n  cross-version safe either, its descriptor changes between 6 and 7.\n- mvc-annotation-commons RequestUtil: use getValuesAsList(String). getFirst is\n  wrong here because this site consumes every value. Note it additionally\n  splits comma-delimited values.\n- mvc-annotation-commons AbstractMethodInterceptor: drop the premature reactive\n  status read. ServerHttpResponse#getRawStatusCode() was removed in Spring 7,\n  and it ran before the response was written so it normally read null anyway.\n  The version-specific InvokeInterceptor already sets http.status_code in\n  Mono#doFinally, once the status is actually known.\n\nAdd Spring generation witnesses to both webflux plugins. The only guard was\nWitnessMethod(Mono, contextWrite), which bounds Reactor and not Spring, which\nis why the plugin attached to Spring 7 and then failed on every request rather\nthan cleanly not attaching. On Reactor 3.4 both Mono#subscriberContext and\nMono#contextWrite exist, so the 5.x and 6.x plugins would both match\nDispatcherHandler#handle on Spring Boot 2.4-2.7.\n\nSplit the WebFlux application toolkit. Reactor removed Signal#getContext() in\n3.5.0 and ContextView does not exist before 3.4.0, so no single artifact can\nserve both; continueTracing has been broken on all of Spring Boot 3 and 4 since\nNov 2022. apm-toolkit-webflux becomes apm-toolkit-webflux-5.x (package\n...toolkit.webflux.v5, unchanged behaviour) and a new apm-toolkit-webflux-6.x\n(package ...toolkit.webflux.v6) compiles against Reactor 3.5 and uses\nSignal#getContextView(). Compiling forward is deliberate: the module rotted\nsilently for three years because it compiled against the oldest Reactor, so\njavac never flagged the removal. Distinct packages make picking the wrong\nartifact a compile error rather than a runtime NoSuchMethodError. The\nactivation keeps matching the legacy un-versioned names, so applications that\nnever upgrade their toolkit still work against a newer agent.\n\nNo plugin, framework version or Reactor version loses support.\n\nAdd webflux-6.x-7.x-scenario (Spring Boot 3.0 -\u003e 4.1, one version per minor)\nand gateway-5.x-scenario (Spring Cloud Gateway 5.0.3 on Spring Boot 4). Both\ndrive a full round-trip so the cross-process ref is asserted, which is the only\nthing that proves the sw8 header is read back correctly.\n\nCloses apache/skywalking#14047",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7738b85f445aa65bb659d35f5153fc873ceefa16",
      "old_mode": 33188,
      "old_path": ".github/workflows/plugins-jdk17-test.1.yaml",
      "new_id": "824239b5a3259dc322f39f27fdea6b2e860d84e1",
      "new_mode": 33188,
      "new_path": ".github/workflows/plugins-jdk17-test.1.yaml"
    },
    {
      "type": "modify",
      "old_id": "9e6805515ffe387c856a7ec543f5ba47928b9a60",
      "old_mode": 33188,
      "old_path": ".github/workflows/plugins-jdk21-test.0.yaml",
      "new_id": "51ed4fe7e9cb9a62f99d5bd443955a7f24a097f4",
      "new_mode": 33188,
      "new_path": ".github/workflows/plugins-jdk21-test.0.yaml"
    },
    {
      "type": "modify",
      "old_id": "138d0ab5a265f2b59287e7483b9155899df909d8",
      "old_mode": 33188,
      "old_path": "CHANGES.md",
      "new_id": "88d88eeb8c47740d4d7fbd1eb50dcb5382a6c422",
      "new_mode": 33188,
      "new_path": "CHANGES.md"
    },
    {
      "type": "rename",
      "old_id": "fb4778fe064eea9018d11b07ff79cc5d91a4c92b",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/apm-toolkit-webflux/pom.xml",
      "new_id": "86a4609ac9bced2b9b2eaad9a474e1184f35a0b5",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/apm-toolkit-webflux-5.x/pom.xml",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "70ebacc1089ccee8225ff460c3c78fee36e67b9c",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/apm-toolkit-webflux/src/main/java/org/apache/skywalking/apm/toolkit/webflux/WebFluxSkyWalkingOperators.java",
      "new_id": "bc165d53b1439ac0d31e5f5b3e37d17f2e09e689",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/apm-toolkit-webflux-5.x/src/main/java/org/apache/skywalking/apm/toolkit/webflux/v5/WebFluxSkyWalkingOperators.java",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "82198edb5cd8245db88f452a1b263d782e68741e",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/apm-toolkit-webflux/src/main/java/org/apache/skywalking/apm/toolkit/webflux/WebFluxSkyWalkingTraceContext.java",
      "new_id": "7e4de8cc104e235f28f315a811cbe2ca962195fb",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/apm-toolkit-webflux-5.x/src/main/java/org/apache/skywalking/apm/toolkit/webflux/v5/WebFluxSkyWalkingTraceContext.java",
      "score": 97
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bf1c90ed937e0eb74b84978d024d091f14ba5874",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/apm-toolkit-webflux-6.x/pom.xml"
    },
    {
      "type": "copy",
      "old_id": "70ebacc1089ccee8225ff460c3c78fee36e67b9c",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/apm-toolkit-webflux/src/main/java/org/apache/skywalking/apm/toolkit/webflux/WebFluxSkyWalkingOperators.java",
      "new_id": "93f85258fd2a97696a15e5c20260a28f8da5a34e",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/apm-toolkit-webflux-6.x/src/main/java/org/apache/skywalking/apm/toolkit/webflux/v6/WebFluxSkyWalkingOperators.java",
      "score": 95
    },
    {
      "type": "copy",
      "old_id": "82198edb5cd8245db88f452a1b263d782e68741e",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/apm-toolkit-webflux/src/main/java/org/apache/skywalking/apm/toolkit/webflux/WebFluxSkyWalkingTraceContext.java",
      "new_id": "23b6597826c59c82824490b783c87cb470edfe14",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/apm-toolkit-webflux-6.x/src/main/java/org/apache/skywalking/apm/toolkit/webflux/v6/WebFluxSkyWalkingTraceContext.java",
      "score": 97
    },
    {
      "type": "modify",
      "old_id": "4f2c0e38f5356443fb17a1f0c2a9dabe8cc1d6a5",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/pom.xml",
      "new_id": "c7c2df33e043286e1b3fa23c6a46979a39a41e55",
      "new_mode": 33188,
      "new_path": "apm-application-toolkit/pom.xml"
    },
    {
      "type": "modify",
      "old_id": "f6cc0168d83c3d6771df9a7dda5691b99e6101dc",
      "old_mode": 33188,
      "old_path": "apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/RequestUtil.java",
      "new_id": "2b7ea9c3da752bf22d6434df03d7fc1f17829aa8",
      "new_mode": 33188,
      "new_path": "apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/RequestUtil.java"
    },
    {
      "type": "modify",
      "old_id": "8f70a71b3c005c743aedae1848e5a4ea971298b9",
      "old_mode": 33188,
      "old_path": "apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/AbstractMethodInterceptor.java",
      "new_id": "94770300ab6897da9e201c6c7699f384b50b9c93",
      "new_mode": 33188,
      "new_path": "apm-sniffer/apm-sdk-plugin/spring-plugins/mvc-annotation-commons/src/main/java/org/apache/skywalking/apm/plugin/spring/mvc/commons/interceptor/AbstractMethodInterceptor.java"
    },
    {
      "type": "modify",
      "old_id": "09d9b81b0a31c7d3a93a6ce93052e180a3137314",
      "old_mode": 33188,
      "old_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingOperatorsActivation.java",
      "new_id": "4703686689de2fe9e13c2f263e57634bec05bde3",
      "new_mode": 33188,
      "new_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingOperatorsActivation.java"
    },
    {
      "type": "modify",
      "old_id": "8ae39dfff87158afd97a533af37608c8c27f01a8",
      "old_mode": 33188,
      "old_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingOperatorsInterceptor.java",
      "new_id": "21e2403c1aa514cdd9e2a891eeebcccf60000998",
      "new_mode": 33188,
      "new_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingOperatorsInterceptor.java"
    },
    {
      "type": "modify",
      "old_id": "138d9440eb0afc9a866f870db441ea4238f34bc7",
      "old_mode": 33188,
      "old_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingStaticMethodsAroundInterceptor.java",
      "new_id": "f783a47002384fec54559431aa9a4c6863a32775",
      "new_mode": 33188,
      "new_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingStaticMethodsAroundInterceptor.java"
    },
    {
      "type": "modify",
      "old_id": "77d522f7400defac4b9ece6005678360251f7d78",
      "old_mode": 33188,
      "old_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingTraceContextActivation.java",
      "new_id": "fe11b5329fd8f610e5bc4b8ca28c7eb9def119fa",
      "new_mode": 33188,
      "new_path": "apm-sniffer/apm-toolkit-activation/apm-toolkit-webflux-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/webflux/WebFluxSkyWalkingTraceContextActivation.java"
    },
    {
      "type": "modify",
      "old_id": "c86c6ea887c9082b0eb415eeaf493cd491f7e0c4",
      "old_mode": 33188,
      "old_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleMethodInterceptor.java",
      "new_id": "1bba71a7fc0a12878c9f033cd7293d90927f0ec4",
      "new_mode": 33188,
      "new_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleMethodInterceptor.java"
    },
    {
      "type": "modify",
      "old_id": "1c3085c399f1a76dfe3950b15c4fbacac6eb5390",
      "old_mode": 33188,
      "old_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/define/DispatcherHandlerInstrumentation.java",
      "new_id": "6b858eef628f1bf65e7fe26c66c7a0c7462869c7",
      "new_mode": 33188,
      "new_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/define/DispatcherHandlerInstrumentation.java"
    },
    {
      "type": "modify",
      "old_id": "0f2e2f296d055d9d720694c696f3bd4fdf15a552",
      "old_mode": 33188,
      "old_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-6.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v6/DispatcherHandlerHandleMethodInterceptor.java",
      "new_id": "31914ccdfe1f9ad21910050e03d78b2c78b9e39a",
      "new_mode": 33188,
      "new_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-6.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v6/DispatcherHandlerHandleMethodInterceptor.java"
    },
    {
      "type": "modify",
      "old_id": "14600779efff307be84eb88701cb97baf6c63faa",
      "old_mode": 33188,
      "old_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-6.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v6/define/DispatcherHandlerInstrumentation.java",
      "new_id": "6d4991ded9a3e8469f495e13c364121d80c24ccf",
      "new_mode": 33188,
      "new_path": "apm-sniffer/optional-plugins/optional-spring-plugins/spring-webflux-6.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v6/define/DispatcherHandlerInstrumentation.java"
    },
    {
      "type": "modify",
      "old_id": "0fa738c54c7d361c9c8d3604a7c81740aa9b9718",
      "old_mode": 33188,
      "old_path": "docs/en/setup/service-agent/java-agent/Application-toolkit-webflux.md",
      "new_id": "8f305ca9273e4c0aa1ea4480bddceacd2df55193",
      "new_mode": 33188,
      "new_path": "docs/en/setup/service-agent/java-agent/Application-toolkit-webflux.md"
    },
    {
      "type": "modify",
      "old_id": "b8ab3524f9cc2c136206783ca2e02b50859a47eb",
      "old_mode": 33188,
      "old_path": "docs/en/setup/service-agent/java-agent/Optional-plugins.md",
      "new_id": "528c1b2c08cdf096fc52f3fdeaf9ba44284689f5",
      "new_mode": 33188,
      "new_path": "docs/en/setup/service-agent/java-agent/Optional-plugins.md"
    },
    {
      "type": "modify",
      "old_id": "d686c4f901c9f3ad2647f7bce80c0879504073e6",
      "old_mode": 33188,
      "old_path": "docs/en/setup/service-agent/java-agent/Supported-list.md",
      "new_id": "6e29b2fd24812ac381e4b3c95fbf5b2292affc6b",
      "new_mode": 33188,
      "new_path": "docs/en/setup/service-agent/java-agent/Supported-list.md"
    },
    {
      "type": "modify",
      "old_id": "6b84d91bec12f24f47791932ec104fdea275b3da",
      "old_mode": 33188,
      "old_path": "docs/en/setup/service-agent/java-agent/agent-optional-plugins/spring-gateway.md",
      "new_id": "2e4402b2aeb449f963a94b23828e65c2a4fda7c2",
      "new_mode": 33188,
      "new_path": "docs/en/setup/service-agent/java-agent/agent-optional-plugins/spring-gateway.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f07157bc6ae95b0ca0b51cc480b1a7f9080f6f8e",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/config/expectedData.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ff2a41c8dc9cc53cec4a72738279df040c3621f8",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/configuration.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3697489bb0637f966644f9e699a6719c21f0e26c",
      "new_mode": 33261,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-dist/bin/startup.sh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7cefa11eef8de87e404d3c45ff00dd846fa047ec",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-dist/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4dc7aece1852cf1b7399725bed5722a78d115fab",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-dist/src/main/assembly/assembly.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1df72d0f8a07da041b6c4dbb53c51c83f503fbce",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectA-scenario/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d4ba09e55244e7aacd90ad708bd6db90002aacea",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/Application.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bf0cb5c89a5f318b8f99ff0bb6a573cedf1625b2",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectA-scenario/src/main/resources/application.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63369424fde026b3be9bed94ca54d27f6303bdd4",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectB-scenario/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23b6ba17a6bb8717bf1c91eb955afd8c47c6ef3c",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectB-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectB/Application.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4295e9c66cc7634930997ba5d8238b283bfba98c",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectB-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectB/controller/TestController.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1a46d23370df8b3cd605bd329bed95491ede53cb",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/gateway-projectB-scenario/src/main/resources/application.properties"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65f6b95ee9feb6cd361901dacd5a451c72207e77",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5229a26f1d201364ecc296cea991b3171672541",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/gateway-5.x-scenario/support-version.list"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eaffb26abda6cd43df2da24788cf4e86dff46ade",
      "new_mode": 33261,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/bin/startup.sh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2b55dc006a3cd8ddcc6163fcc71ec1d42069fbe9",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/config/expectedData.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "19165fd220eb0e463ddcc720bb5ad8100c26bba1",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/configuration.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4863d9d580a60ebd25db06282512e52c00f9951b",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52f67b1752496bfe83e54f5aaac36c013ad5b2d2",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/src/main/assembly/assembly.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aab807e32f8a9566dcc1f07d5b688560805ca5ba",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/webflux/Application.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "21961834c825522cd595ef7cef4469872891c8a3",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/webflux/controller/TestController.java"
    },
    {
      "type": "copy",
      "old_id": "70ebacc1089ccee8225ff460c3c78fee36e67b9c",
      "old_mode": 33188,
      "old_path": "apm-application-toolkit/apm-toolkit-webflux/src/main/java/org/apache/skywalking/apm/toolkit/webflux/WebFluxSkyWalkingOperators.java",
      "new_id": "4cdd43e54a5d1994bc63e7ab5c70a2e1f9fdf194",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/src/main/java/org/apache/skywalking/apm/toolkit/webflux/v6/WebFluxSkyWalkingOperators.java",
      "score": 94
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "76e70d400bceb225dff4a2c6e10776b126bc0aee",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/src/main/resources/application.properties"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9691bd30865069f7700c34762d67a532070630b6",
      "new_mode": 33188,
      "new_path": "test/plugin/scenarios/webflux-6.x-7.x-scenario/support-version.list"
    }
  ]
}
