# Compatibility between SonarQube, Plugin API and Scanner Engine artifacts

**URL:** <https://community.sonarsource.com/t/compatibility-between-sonarqube-plugin-api-and-scanner-engine-artifacts/190681>\
**Category:** Plugin Development\
**Created:** [October 28, 2026, 10:00am UTC](https://community.sonarsource.com/t/compatibility-between-sonarqube-plugin-api-and-scanner-engine-artifacts/190681 "2026-10-28T10:00:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![guwirth](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/guwirth/32/124_2.png) [@guwirth](https://community.sonarsource.com/u/guwirth)\
**Post date:** [October 28, 2026, 10:00am UTC](https://community.sonarsource.com/t/compatibility-between-sonarqube-plugin-api-and-scanner-engine-artifacts/190681/1 "2026-10-28T10:00:12Z")

</div>

Hi,

while updating our SonarQube plugin tests, we noticed that classes such as `DefaultInputFile`, `TestInputFileBuilder`, and `SensorContextTester` have moved from:

```auto
org.sonarsource.sonarqube:sonar-plugin-api-impl

```

to Scanner Engine artifacts such as:

```auto
org.sonarsource.scanner.engine:plugin-api-scanner-impl

org.sonarsource.scanner.engine:sensor-test-fixtures

```

The Scanner Engine artifacts appear to have their own versioning.

For the Plugin API, there is a documented compatibility relationship with SonarQube:

- [Sonar Plugin API - Compatibility]( [GitHub - SonarSource/sonar-plugin-api: API to develop plugins for SonarQube (Server, Cloud) and SonarQube for IDE · GitHub](https://github.com/SonarSource/sonar-plugin-api?tab=readme-ov-file#compatibility) )

However, we could not find a similar compatibility matrix in

- [Sonar Scanner Java Library]( [GitHub - SonarSource/sonar-scanner-java-library: Common Java library used by many SonarScanners · GitHub](https://github.com/SonarSource/sonar-scanner-java-library) )

So what is the recommended way to select compatible versions of:

- SonarQube
- Plugin API
- Scanner Engine

Is there an official version mapping between the Plugin API and Scanner Engine?

Thanks!  
Günter

---

<div class="post-metadata">

**Author:** ![sebastian.zumbrunn](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/sebastian.zumbrunn/32/64172_2.png) [@sebastian.zumbrunn](https://community.sonarsource.com/u/sebastian.zumbrunn)\
**Post date:** [November 3, 2026, 2:40pm UTC](https://community.sonarsource.com/t/compatibility-between-sonarqube-plugin-api-and-scanner-engine-artifacts/190681/4 "2026-11-03T14:40:24Z")

</div>

Hello @guwirth,

Thanks for reaching out.

In general, the plugin API is backwards compatible, meaning that for the version of SonarQube and the plugin API you should pick the version that provides the necessary APIs needed by your analyzer. Furthermore, the plugin API only provides the interface. The actually implementation is provided by the SonarQube Server through the scanner-engine.

As for when you rely on either the [sonar-test-fixtures](https://mvnrepository.com/artifact/org.sonarsource.scanner.engine/sensor-test-fixtures) or the [plugin-api-scanner-impl](https://mvnrepository.com/artifact/org.sonarsource.scanner.engine/plugin-api-scanner-impl/versions) packages for testing, you can use the version used in the corresponding SonarQube:Server that you’re already targeting with the plugin API used. The version can be found in the [`gradle.properties` file](https://mvnrepository.com/artifact/org.sonarsource.scanner.engine/plugin-api-scanner-impl/versions) in the `scannerEngineVersion` property in the SonarSource/sonarqube repository.

We’ll update the tables in the sonar-plugin-api repository to also mention the scanner-engine version to help with this in the future. Sorry for the confusion this has caused.

Best,  
Sebastian Zumbrunn
