Plugin & IDE Compatibility#
Rainbow Brackets hooks deeply into IntelliJ Platform internals for bracket parsing, syntax highlighting, and editor rendering. This means behavior can silently break when either the plugin or the host IDE is updated, and problems may only surface in specific IDE build numbers β not just version strings.
How Compatibility Is Managed#
The plugin targets IntelliJ Platform APIs and declares supported IDE ranges manually. Key configuration points:
gradle.propertiessetsideaVersion=IU-223.8836.41as the build target andpluginVerifierIdeVersions=WS-2020.3, IIC-2021.1, IIU-2021.2for verification .build.gradle.ktspins the IntelliJ Platform Gradle plugin at v2.7.2 and explicitly setsupdateSinceUntilBuild = false, meaningsince-build/until-buildranges in the plugin descriptor are manually maintained, not auto-generated.- The
runPluginVerifiertask fails only onCOMPATIBILITY_PROBLEMS, providing a safety net for hard API breakage.
The CHANGELOG tracks IDE compatibility explicitly per release β e.g., "Compatible with 2025.2 Release Candidate" , "Compatible with 2025.1 EAP" , and "Compatible with 2025.1" β confirming that each major IDE release typically requires a plugin update.
The plugin supports a wide range of JetBrains IDEs: IntelliJ IDEA (Ultimate/Community/Educational), PhpStorm, WebStorm, PyCharm, RubyMine, CLion, Rider, Android Studio, HUAWEI DevEco Studio, and others .
Common Compatibility Issue Patterns#
1. Regressions fixed by IDE update, not plugin update#
Some reported bugs are actually caused by transient issues in a specific IDE build and resolve when the user upgrades the IDE β without any plugin change. Issue #2892 is a clear example: a user on IDE build IU-261.24374.151 (IntelliJ 2026.1.2) with plugin 2025.3.12 reported JSON bracket color mismatches . The maintainer could not reproduce it with the same settings , and the issue was closed. The user later confirmed: "it's all good after an intellij update" .
2. Non-reproducibility due to build-specific behavior#
Identical plugin settings and IDE version strings do not guarantee identical behavior if the build number differs. The maintainer's environment may be on a different patch build than the reporter's, making reproduction unreliable. When filing issues, the full environment block (plugin version, IDE version and build number, OS, and non-bundled plugins) is essential β the issue template captures this via the --- Environment Info --- section .
3. Missing dependency declarations after plugin update#
Issue #2893 shows that a plugin update can introduce a missing required dependency (e.g., com.intellij.marketplace) visible in Android Studio's plugin manager after an update . This class of problem typically reflects a mismatch between the plugin's declared dependency list and what the target IDE variant bundles.
4. EAP / pre-release IDE instability#
The plugin explicitly publishes compatibility updates for EAP builds . Running Rainbow Brackets on EAP/RC IDE builds before the plugin has a matching compatibility release is a known source of transient breakage.
Debugging & Reporting Guidance#
When a compatibility regression is suspected:
- Check the CHANGELOG (
CHANGELOG.md) for a recent "Compatible with X.Y" entry matching your IDE version. If missing, a compatibility update may not yet be published. - Try updating the IDE before filing a bug β build-specific regressions can resolve with the next IDE patch (as in #2892).
- Include the full environment dump in bug reports: plugin version, IDE version, IDE build number, OS, and non-bundled plugin list .
- Avoid EAP IDE builds in production unless the CHANGELOG confirms a compatible plugin release.
- Check plugin dependencies: if the plugin manager shows a missing required plugin, verify whether the target IDE variant (e.g., Android Studio) bundles that dependency or requires it to be installed separately .
References#
| Resource | Purpose |
|---|---|
build.gradle.kts | IDE version target, dependency list, plugin verifier config |
gradle.properties | ideaVersion, pluginVerifierIdeVersions values |
CHANGELOG.md | Per-release compatibility notes |
| Issue #2892 | IDE-build-specific regression resolved by IDE update |
| Issue #2893 | Missing dependency after plugin update (Android Studio) |