intellij-plugin-verifier

Compatibility verification tool for IntelliJ Platform plugins

APACHE-2.0 License

Stars
166
Committers
40

Bot releases are hidden (Show)

intellij-plugin-verifier - Version 1.373 Latest Release

Published by novotnyr 2 months ago

Added

  • 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

Changed

  • 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)

Fixed

  • 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)
intellij-plugin-verifier - Version 1.372

Published by novotnyr 3 months ago

Added

  • Report usages of Kotlin classes with internal visibility modifier (#1101)

Changed

  • Attribute versionSuffix in product-info.json is now optional (#1128)

Fixed

  • 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)
intellij-plugin-verifier - Version 1.371

Published by novotnyr 3 months ago

Added

  • 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)

Fixed

  • 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 in OverrideOnly checks. (#1111, #1112, #1113, MP-6724)
  • Upgrade dependencies
intellij-plugin-verifier - Version 1.370

Published by novotnyr 3 months ago

Added

  • Add sinceVersion and untilVersion 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)

Changed

  • 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

Fixed

  • Improve module resolution in the 2024.2+ Platform layout. Handle com.intellij.modules family of modules, such as rider or php. (#1107, MP-6707)
intellij-plugin-verifier - Version 1.369

Published by novotnyr 4 months ago

Added

  • Add a module for YouTrack plugins
  • Support product-info.json-based Platform layout for 2024.2 and newer (#1100)

Changed

  • Resolve XInclude targets both in META-INF and resource roots (#1097)
  • Support conditional inclusion in XInclude directives (includeIf, includeUnless) (#1097)
  • Upgrade dependencies

Fixed

  • Resolve issues with bundled plugins not being found (e. g. Kotlin, Python). (#1100, MP-6594)
intellij-plugin-verifier - Version 1.367

Published by novotnyr 5 months ago

Added

  • 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)

Changed

  • Establish stricter verification rules for plugin until-build.
    Indicate illegal until-build values, such as 241 (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

Fixed

  • Recognize covariant return types when detecting method overrides.
    This fixes false positives connected with indexes and DataIndexers.
    (#1082)
intellij-plugin-verifier - Version 1.365

Published by novotnyr 7 months ago

Added

  • 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)

Fixed

  • 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)
intellij-plugin-verifier - Version 1.364

Published by novotnyr 7 months ago

Added

  • 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)

Changed

  • 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
intellij-plugin-verifier - Version 1.307

Published by novotnyr 11 months ago

Added

  • 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)

Changed

  • Speedup on IDE JAR and directory scanning (#1030)
  • Remove apiVersion from Toolbox plugin descriptor and revert to just using the compatibility range
  • Upgrade dependencies

Fixed

  • Clarify -runtime-dir switch semantics (#1020)
  • Improve the instructional message on TeamCity runs when checking trunk API
intellij-plugin-verifier - Version 1.306

Published by novotnyr 12 months ago

Added

  • 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)

Fixed

  • Use a proper value for verification reports directory instead of placeholder

Changed

  • Upgrade dependencies
intellij-plugin-verifier - Version 1.305

Published by novotnyr about 1 year ago

Changed

  • 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
intellij-plugin-verifier - Version 1.304

Published by novotnyr about 1 year ago

Added

  • 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

Changed

  • Show verification report directory at the end of verification in CLI (#991)
  • Upgrade dependencies
intellij-plugin-verifier - Version 1.303

Published by novotnyr about 1 year ago

Added

  • 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 or net.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))

Changed

  • 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)
intellij-plugin-verifier - Version 1.301

Published by novotnyr over 1 year ago

v1.301 - 2023-05-30

Fixed

  • Dependencies in the descriptor that reference the same descriptor file trigger a warning instead of an error (MP-5523)
intellij-plugin-verifier - Version 1.299

Published by novotnyr over 1 year ago

Added

  • Improve description on empty <vendor> element (MP-5490)
  • Plugin Structure, Edu: Add additional fields programming_language_id and programming_language_version. Field programming_language is deprecated and treated as programming_language_id for backwards compatibility.
  • Add support for Java 9 VarHandle

Changed

  • 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
intellij-plugin-verifier - Version 1.297

Published by chrkv over 1 year ago

Plugin Structure

  • Make vendor name in plugin.xml a mandatory field
  • Combine the errors about short description and about non latin description into one
  • Support V2 plugin modules
  • Update ASM to 9.5

Verifier

  • Work around unparseable class signatures in plugins
intellij-plugin-verifier - Version 1.294

Published by LChernigovskaya over 1 year ago

Treat NonExtendable and OverrideOnly API usages as problems

intellij-plugin-verifier - Version 1.289

Published by LChernigovskaya almost 2 years ago

intellij-plugin-verifier - Version 1.288

Published by LChernigovskaya almost 2 years ago

  • Support JDK 17
  • Unacceptable warnings (the plugin with these warnings won't be acceptable while uploading to Marketplace)
  • Support IntellijInternalApi
intellij-plugin-verifier - Version 1.284

Published by chrkv over 2 years ago