Skip to content

Commit

Permalink
API changes pages: 2025
Browse files Browse the repository at this point in the history
  • Loading branch information
YannCebron committed Nov 21, 2024
1 parent a5de868 commit 1f05f57
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 1 deletion.
2 changes: 2 additions & 0 deletions ijs.tree
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,7 @@
<toc-element topic="verifying_plugin_compatibility.md"/>
<toc-element topic="api_changes_list.md" toc-title="Incompatible API Changes"
accepts-web-file-names="api-changes-list-2016.html,api-changes-list-2017.html,api-changes-list-2018.html">
<toc-element topic="api_changes_list_2025.md" toc-title="2025.*"/>
<toc-element topic="api_changes_list_2024.md" toc-title="2024.*"/>
<toc-element topic="api_changes_list_2023.md" toc-title="2023.*"/>
<toc-element topic="api_changes_list_2022.md" toc-title="2022.*"/>
Expand All @@ -409,6 +410,7 @@
</toc-element>
<toc-element topic="api_notable.md" toc-title="Notable API Changes"
accepts-web-file-names="api-notable-list-2018.html">
<toc-element topic="api_notable_list_2025.md" toc-title="2025.*"/>
<toc-element topic="api_notable_list_2024.md" toc-title="2024.*"/>
<toc-element topic="api_notable_list_2023.md" toc-title="2023.*"/>
<toc-element topic="api_notable_list_2022.md" toc-title="2022.*"/>
Expand Down
3 changes: 2 additions & 1 deletion reference_guide/api_changes_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,15 @@ NOTE: Entries not starting with code quotes (`name`) can be added to document no

IntelliJ API may be occasionally changed between releases, leading to existing plugins' incompatibilities with newer IDE builds.

Please see [](verifying_plugin_compatibility.md) on how to use Plugin Verifier and IDE inspections to check such problems.
See [](verifying_plugin_compatibility.md) on how to use Plugin Verifier and IDE inspections to check such problems.

## Known Breaking Changes

<include from="snippets.md" element-id="subscribeNews"/>

The following pages list the breaking changes in IDE and plugin releases with required/recommended steps to take by plugin authors.

* [Changes in 2025.*](api_changes_list_2025.md)
* [Changes in 2024.*](api_changes_list_2024.md)
* [Changes in 2023.*](api_changes_list_2023.md)
* [Changes in 2022.*](api_changes_list_2022.md)
Expand Down
74 changes: 74 additions & 0 deletions reference_guide/api_changes_list_2025.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<!-- Copyright 2000-2024 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->

# Incompatible Changes in IntelliJ Platform and Plugins API 2025.*

<!--
Before documenting a breaking API change, please make sure that the change cannot be avoided in an alternative way.
APIs marked with @Deprecated(forRemoval=true), @ApiStatus.Experimental, @ApiStatus.Internal/IntellijInternalApi, or @ApiStatus.ScheduledForRemoval don't need to be documented.
To document a new incompatible change, add a new line with the problem pattern followed by a 2nd line with ": "-prefixed human-readable description
and recommended fix/action (REQUIRED, please write full sentence ending with '.', see existing entries as reference).
Non-platform changes must be grouped under relevant section for plugin.
The following problem patterns are supported and must be followed EXACTLY (e.g., no '#' instead of '.'):
<package name> package removed
<class name> class removed
<class name> class renamed to <new class name>
<class name> class moved to package <package name>
<class name>.<method name>(<human-readable parameters>) marked abstract
<class name>.<method name>(<human-readable parameters>) abstract method added
<class name>.<method name>(<human-readable parameters>) method removed
<class name>.<method name>(<human-readable parameters>) method moved to the superclass
<class name>.<method name>(<human-readable parameters>) method return type changed from <before> to <after>
<class name>.<method name>(<human-readable parameters>) method visibility changed from <before> to <after>
<class name>.<method name>(<human-readable parameters>) method marked final
<class name>.<method name>(<human-readable parameters>) method parameter <type> removed
<class name>.<method name>(<human-readable parameters>) method parameter type changed from <before> to <after>
<class name>.<method name> method <parameter name> parameter marked @<class name>
<class name> (class|interface) now (extends|implements) <class name> and inherits its final method <method name>(<human-readable parameters>)?
<class name> (class|interface) now (extends|implements) <class name> and inherits its abstract method <method name>(<human-readable parameters>)?
<class name> class now interface
<class name>(<human-readable parameters>) constructor removed
<class name>(<human-readable parameters>) constructor parameter <type> removed
<class name>(<human-readable parameters>) constructor parameter type changed from <before> to <after>
<class name>(<human-readable parameters>) constructor visibility changed from <before> to <after>
<class name>.<field name> field removed
<class name>.<field name> field moved to the superclass
<class name>.<field name> field type changed from <before> to <after>
<class name>.<field name> field visibility changed from <before> to <after>
<property name> property removed from resource bundle <bundle name>
Where the placeholders must be enclosed in code quotes (`name`):
<class name> is a fully-qualified name of the class, e.g. `com.intellij.openapi.actionSystem.AnAction$InnerClass`.
<method name> is the exact method's name. Note that constructors have dedicated patterns.
<human-readable parameters> is a string representing parameters, which are not necessarily fully qualified. They do not affect the parser. For example, instead of (java.lang.Object, java.util.List, int) you are free to write (Object, List<String>, int)
<parameter name> is exact name of the method's parameter
<property name> is a full name of a property from .properties file, like `some.action.description`
<bundle name> is a fully qualified name of the property bundle, which includes its package, like `message.IdeBundle`
NOTE: If a code change you're trying to document doesn't match any of the above patterns, please ask in #plugins-verifier
NOTE: You are allowed to prettify the pattern using links: [`org.example.Foo`](https://github.com/JetBrains/intellij-community/tree/master/)
NOTE: Entries not starting with code quotes (`name`) can be added to document non-code changes and will be skipped in API verification.
-->

<link-summary>List of known Breaking API Changes in 2025.*</link-summary>

<include from="snippets.md" element-id="apiChangesHeader"/>

<include from="snippets.md" element-id="apiChangesJavaVersion"/>

<include from="snippets.md" element-id="gradlePluginVersion"/>

## 2025.1

### IntelliJ Platform 2025.1
1 change: 1 addition & 0 deletions topics/appendix/api_notable/api_notable.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Plugin authors are encouraged to verify their compatible releases and take advan

<include from="snippets.md" element-id="subscribeNews"/>

* [Changes in 2025.*](api_notable_list_2025.md)
* [Changes in 2024.*](api_notable_list_2024.md)
* [Changes in 2023.*](api_notable_list_2023.md)
* [Changes in 2022.*](api_notable_list_2022.md)
Expand Down
13 changes: 13 additions & 0 deletions topics/appendix/api_notable/api_notable_list_2025.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->

# Notable Changes in IntelliJ Platform and Plugins API 2025.*

<link-summary>List of known Notable API Changes in 2025.*</link-summary>

_Early Access Program_ (EAP) releases of upcoming versions are available [here](https://eap.jetbrains.com).

<include from="snippets.md" element-id="gradlePluginVersion"/>

## 2025.1

### IntelliJ Platform 2025.1

0 comments on commit 1f05f57

Please sign in to comment.