Releases prior to January 2023 are tracked on the project GitHub Releases Page.
- Add support for Toolbox
apiVersion
in descriptor (#1226)
- Update ByteBuddy dependency (#1227)
- Validate values for
-suppress-internal-api-usages
(#1191) - Allow to override an internal method of a class that belongs to the same plugin (MP-7136, #1193)
- Allow to configure
IdeManager
when layout components are missing (#1196, #1197) - Introduce critical compatibility problems for JetBrains Marketplace verification result (MP-7151, #1207)
- Provide internal IDE dumps to improve testing in real-life scenarios
- Validate plugin identifiers for Hub, YouTrack and .NET plugins (#1209)
- Support inline
<module>
declarations with CDATA in plugin descriptor (MP-7092, #1206) - Reuse filesystem accessed by different URIs to the same file (thanks fp7), (#1201)
- Support
loading
attribute for Plugin Model V2 content modules (MP-6904, 95ab4ca) - Discover bundled plugins in 'plugins' directory in CLion (MP-7275, #1219)
- Support module aliases in class resolvers when used as dependencies (#1221)
- Severity level of the plugin problem
ReleaseVersionWrongFormat
has been changed to a Warning for JetBrains plugins. - Mark Plugin Model V2 Content module dependencies as optional. Mark plugins and modules in V2
<dependencies>
as required. (#1159) - Improve cache performance to prevent OOM in large runs (#1217)
- Improve transitive dependency resolution tests (#1192)
- Increase plugin artifact size limit to 1.5GB (#1202, MP-7177)
- Update the TeamCity Recipes implementation (#1211, TW-91829)
- Extract away plugin descriptor parsing and validation (#1223)
- Rename the YAML field for the inputs of a referenced recipe in TeamCity Recipes (#1219, TW-92158)
- Improve compatibility with SLF4J 1.x (#1187)
- Support product-info.json in macOS distributions (#1190)
- Detect extracted JSON plugin for Platform 2024.3 and newer (#1173)
- Transitive dependency tree resolution for plugins and modules (#1185)
- Validate supported runners in TeamCity Actions
- Improve support of Plugin Model V2 in the Platform
- Consolidate resolution logic for missing layout component files (#1188, #1164)
- Remove the
spec-version
property from TeamCity Actions (#1177) - Align code with the TeamCity Recipes (#1182)
- Remove Unity from supported runners in TeamCity Actions
- Update dependencies
- Don't verify that
com.intellij.languageBundle
extension point is internal and must be used by JetBrains only (#1162) - Handle malformed annotation descriptors when using obfuscation (MP-6950, #1160)
- In TeamCity Actions, support composite action names with namespaces (#1159)
- Remove duplicate vendor check when verifying plugin identifier for JetBrains plugins (#1161)
- Use the same logic for plugin problem classification and remapping (#1163)
- Fix an empty dotnet plugin name if the title was an empty string (#1158)
- Validate
release-version
for paid plugins (#1140, MP-6824) - When handling TeamCity Actions, get the content of YAML file for parsed actions (#1149, MP-6835)
- Support resource bundle
@PropertyKey
in constructors ofenum class
-es (#1144, MP-6710) - Allow invocation of private interface methods when using
INVOKEDYNAMIC
(#1146, MP-6845) - Verify compatibility with K2 mode for Kotlin-dependent plugins (#1150, #1156, MP-6825)
- Ignore specific packages when tracking Kotlin
internal
API usages. Don't track internal API usages marked as@PublishedApi
(#1135, MP-6784, MP-6911) - Consolidate plugin problem level remapping rules with JetBrains Marketplace. Common rules have been moved to the IntelliJ Plugin Structure library (#1151, #1157)
- Update dependencies
- Handle malformed
kotlinx.Metadata
annotation (#1152) - Handle plugins created from malformed paths in
product-info.json
(#1153, MP-6920)
- Update dependencies
- Resolve 'modules' directory in plugin dependencies (https://youtrack.jetbrains.com/issue/MP-6799, #1132)
- Report usages of the
com.intellij.languageBundle
extension point. This extension point is internal and must be used by JetBrains only. (#1130, MP-6788) - Structure: Add TeamCity actions spec versions calculation
- Remap plugin problem severity level when resolving plugin dependencies. This resolves unexpected reports of missing plugin dependencies, even when they are actually available. (#1124)
- Disable API usage checks of Kotlin
internal
modifier. (#1131)
- Match problems in the plugin and problems in the creation result. This fixes JetBrains Marketplace reports with non-actionable plugin problems for existing plugins, e. g. an invalid plugin identifier. (#1127, MP-6733)
- Report usages of Kotlin classes with
internal
visibility modifier (#1101)
- Attribute
versionSuffix
inproduct-info.json
is now optional (#1128)
- Various fixes for detecting Platform API to Platform API invocations (MP-6729, #1121)
- Use plugin problem level remapping rules for bundled plugins (MP-6757, IJPL-158170, #1122)
- In paid or freemium plugins, the
<release-date>
must be set to a date that is no more than 5 days in the future from today's date. (#1119) - Improve documentation on the
-ignored-problems
CLI switch (#1110)
- Fix false positives in Platform API when invoking another
@Experimental
Platform API, e. g. in PSI calls. (#1120, MP-6729) - Fix
NullPointerException
on delegate calls inOverrideOnly
checks. (#1111, #1112, #1113, MP-6724) - Upgrade dependencies
- Add
sinceVersion
anduntilVersion
to YouTrack plugins (#1099) - Improve support for dependency resolution in the 2024.2+ Platform layout (#1106, MP-6704)
- Parse and validate TeamCity Actions YAML descriptor (#1091)
- Log call stack when tracing annotation usage (#1102)
- Do not report API usages in elements annotated with
@ApiStatus
family of annotations which are declared within a plugin and invoked from the plugin itself. The following annotations are supported:@ApiStatus.OverrideOnly
,@ApiStatus.Experimental
,@ApiStatus.ScheduledForRemoval
, and@ApiStatus.Internal
(#1103, #1105) - Improve YouTrack compatibility and reuse code from other plugin models (#1104)
- Improve Plugin Module v2 support for modules
- Improve module resolution in the 2024.2+ Platform layout. Handle
com.intellij.modules
family of modules, such asrider
orphp
. (#1107, MP-6707)
- Add a module for YouTrack plugins
- Support
product-info.json
-based Platform layout for 2024.2 and newer (#1100)
- Resolve XInclude targets both in
META-INF
and resource roots (#1097) - Support conditional inclusion in XInclude directives (
includeIf
,includeUnless
) (#1097) - Upgrade dependencies
- Introduce a CLI switch to
–mute
specific plugin problems (#1078) - Distinguish errors and other plugin problems in Markdown and Console outputs (#1075)
- Show structure warnings in verification reports for HTML, Markdown and Stdout outputs (#1080)
- Provide problem solution hint for structure warnings in Stdout output, including the ability to mute a specific problem (#1088)
- Discover JAR files in
lib/modules
for Platform 2024.2 (#1093) - Add YouTrack App plugin structure parser (#1090)
- Establish stricter verification rules for plugin
until-build
. Indicate illegaluntil-build
values, such as241
(wildcards should be used). Improve messages to indicate that the attribute can be omitted to provide compatibility with all future versions. Mark specific magic build values - e. g.999
- as invalid. (#1083) - Consider
ServiceExtensionPointPreloadNotSupported
as warning for JetBrains plugins - Upgrade dependencies
- Recognize covariant return types when detecting method overrides.
This fixes false positives connected with indexes and
DataIndexer
s. (#1082)
- Introduce a set of plugin problem remappings for JetBrains plugins (#1074, MP-6388)
- Indicate if an IntelliJ plugin contains a
dotnet
directory (#1070, MP-6371) - Allow
OverrideOnly
method calls for delegation and wrapping in the same class hierarchy (#1068, MP-6077, IDEA-336988)
- Fix case when reclassified plugin problem level might not be used properly, leading to a plugin descriptor discovery issue. (#1074, MP-6388)
- Unwrap plugin problem which have reclassified problem level. (#1074, MP-6388)
- Publish Plugin Verifier to Maven Central
- Structure: Support frontend client types
- Provide dynamic format for plugin problem level remapping (#1060)
- When remapping plugin problem severity level, allow to ignore a problem. (#1047)
- When remapping plugin problem severity level, allow to escalate to an error. (#1061)
- Changelog is maintained with Gradle Changelog Plugin
- Structure: Allow
frontend-only
field for Fleet plugins (#1069)
- Remove Guava dependency (#1040)
- Structure: Do not search for additional logos when primary logo is not found (#1044)
- Remove
--major-ide-version
command-line switch as it was not used anywhere (#1058) - Upgrade dependencies
- Build with Gradle 8.6
- Deprecate Plugin Verifier Service module in the repository
1.307 - 2023-11-27
- Simplify JRT filesystem handling to make Plugin Verifier compatible with Java 17 (#1013)
- Collect telemetry data when verifying plugins
- Use custom name field for EDU sections and lessons (#1039)
- Speedup on IDE JAR and directory scanning (#1030)
- Remove
apiVersion
from Toolbox plugin descriptor and revert to just using the compatibility range - Upgrade dependencies
- Clarify
-runtime-dir
switch semantics (#1020) - Improve the instructional message on TeamCity runs when checking trunk API
1.306 - 2023-10-19
- Show total duration of plugin verification in CLI (#1009)
- Distinguish between new and existing plugins. Existing plugins have a less strict set of verification rules (#1008)
- Respect
DeprecationLevel.HIDDEN
in Kotlin@Deprecated
annotation (MP-6006, #1016)
- Use a proper value for verification reports directory instead of placeholder
- Upgrade dependencies
1.305 - 2023-10-11
- Improve wording and description on plugin verification problems (MP-5524, #1000)
- Report an unacceptable warning when the plugin is not v2 and doesn't have dependencies
- Support API version in the Toolbox plugin descriptor (#1004)
- Upgrade dependencies
1.304 - 2023-09-13
- Add Markdown output format for verification reports. (MP-5820, #981)
- Add command-line option to suppress internal API usages by internal plugins. (#999)
- Add plugin pattern possibility for -keep-only-problems filter #995
- Show verification report directory at the end of verification in CLI (#991)
- Upgrade dependencies
1.303 - 2023-08-08
- Specific words in plugin IDs are discouraged and treated as warnings, mainly JetBrains product names.
- Specific plugin prefixes are discouraged and treated as warnings, such as
com.example
ornet.example
. - Ignore internal API usages from JetBrains plugins. Whenever a JetBrains plugin uses an internal API (
@ApiStatus.Internal
or@IntellijInternalApi
), such usage is reported as ignored and not treated as an error or warning. - Treat service preloading as an error (#975)
- Treat
statusBarWidgetFactory
missing an ID as an error (#980) - Use additional Java SDK locations for tests.
- Establish a safety net for plugin errors that fail-fast (#977)
- Workaround for JetBrains Academy plugin ID handling (#950)
- Upgrade dependencies
- Migrate to Java HTTP Client from Retrofit
- Skip Kotlin default methods from internal usage check (MP-5395)
1.301 - 2023-05-30
- This release is equivalent to 1.300.
1.300 - 2023-05-30
- Dependencies in the descriptor that reference the same descriptor file trigger a warning instead of an error (MP-5523)
1.299 - 2023-05-19
- Improve description on empty
<vendor>
element (MP-5490) - Plugin Structure, Edu: Add additional fields
programming_language_id
andprogramming_language_version
. Fieldprogramming_language
is deprecated and treated asprogramming_language_id
for backwards compatibility. - Add support for Java 9
VarHandle
- Increase severity for does not declare explicit dependency on Java plugin to an error (MP-5434). See Java functionality extracted as a plugin blog post.
- Treat optional dependency with an empty
config-file
as an error (MP-4919) - Dependencies in the descriptor cannot reference the same descriptor file anymore (MP-3391)
- Use Gradle 8.1.1 for builds
- Use Kotlin DSL in build scripts
- Use Shadow Gradle Plugin for fat JARs
- Declare dependencies in the Gradle version catalog
1.297 - 2023-04-25
- Plugin Structure: Make vendor name in
plugin.xml
a mandatory field. - Plugin Structure: Combine the errors about short description and about non latin description into one.
- Plugin Structure: Support V2 plugin modules.
- Verifier: Work around unparseable class signatures in plugins
- Plugin Structure: Update ASM to 9.5
1.294 - 2023-02-14
- Treat
NonExtendable
andOverrideOnly
API usages as problems`