diff --git a/CHANGELOG.md b/CHANGELOG.md
index f1800e8d3..06baed09d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,8 @@ Changelog
=========
# Version names
-* 2024.x: PhpStorm 2024.1+
+* 2025.x: PhpStorm 2025.1+
+* 2024.x: PhpStorm 2024.1+ (no support)
* 2023.x: PhpStorm 2023.1+ (no support)
* 2022.x: PhpStorm 2022.1+ (no support)
* 0.23.x: PhpStorm 2021.1+ (no support)
diff --git a/gradle.properties b/gradle.properties
index 51ea808cc..24fd77be9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -5,7 +5,7 @@ pluginGroup = fr.adrienbrault.idea.symfony2plugin
pluginName = Symfony Plugin
# SemVer format -> https://semver.org
-pluginVersion = 2022.1.264
+pluginVersion = 2025.1.264
# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
# for insight into build numbers and IntelliJ Platform versions.
@@ -15,11 +15,11 @@ pluginUntilBuild =
# IntelliJ Platform Properties -> https://github.com/JetBrains/gradle-intellij-plugin#intellij-platform-properties
platformType = IU
-platformVersion = 2024.3.5
+platformVersion = 2025.1
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22
-platformPlugins = com.jetbrains.php:243.26053.27,de.espend.idea.php.annotation:11.1.1,de.espend.idea.php.toolbox:6.1.0,com.jetbrains.twig:243.26053.20,com.jetbrains.php.dql:243.21565.129
+platformPlugins = com.jetbrains.php:251.23774.318,de.espend.idea.php.annotation:12.0.0,de.espend.idea.php.toolbox:6.1.0,com.jetbrains.twig:251.23774.318,com.jetbrains.php.dql:251.23774.318
platformBundledPlugins = com.intellij.java,com.jetbrains.plugins.webDeployment,org.jetbrains.plugins.yaml,JavaScript
# Java language level used to compile sources and to generate the files for - Java 11 is required since 2020.3
diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/xml/XmlHelper.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/xml/XmlHelper.java
index 97047bdee..2f313a065 100644
--- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/xml/XmlHelper.java
+++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/xml/XmlHelper.java
@@ -809,7 +809,7 @@ private static int getArgumentIndexByCount(@NotNull XmlTag xmlTag) {
*
*/
public static PsiElementPattern.Capture getXmlTagNameLeafStartPattern() {
- return PlatformPatterns.psiElement(XmlElementType.XML_NAME)
+ return PlatformPatterns.psiElement(XmlTokenType.XML_NAME)
.afterLeaf(PlatformPatterns.psiElement(XmlTokenType.XML_START_TAG_START))
.withParent(XmlTag.class);
}
diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/yaml/completion/ConfigCompletionProvider.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/yaml/completion/ConfigCompletionProvider.java
index 6390e3285..ba6bf3aa9 100644
--- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/yaml/completion/ConfigCompletionProvider.java
+++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/config/yaml/completion/ConfigCompletionProvider.java
@@ -9,7 +9,6 @@
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.util.ProcessingContext;
-import com.intellij.util.containers.ContainerUtil;
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
import fr.adrienbrault.idea.symfony2plugin.util.ProjectUtil;
@@ -32,10 +31,7 @@
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -71,15 +67,15 @@ protected void addCompletions(@NotNull CompletionParameters completionParameters
}
// get all parent yaml keys
- List items = YamlHelper.getParentArrayKeys(element);
- if(items.isEmpty()) {
+ List itemsRaw = YamlHelper.getParentArrayKeys(element);
+ if(itemsRaw.isEmpty()) {
return;
}
// normalize for xml
- items = ContainerUtil.map(items, s -> s.replace('_', '-'));
+ List items = new ArrayList<>(itemsRaw.stream().map(s -> s.replace('_', '-')).toList());
- // reverse to get top most item first
+ // reverse to get the top most item first
Collections.reverse(items);
Document document = getConfigTemplate(ProjectUtil.getProjectDir(element));
diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/routing/inspection/DuplicateLocalRouteInspection.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/routing/inspection/DuplicateLocalRouteInspection.java
index ccba5cf67..c2c1d9f07 100644
--- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/routing/inspection/DuplicateLocalRouteInspection.java
+++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/routing/inspection/DuplicateLocalRouteInspection.java
@@ -29,6 +29,7 @@
import org.jetbrains.yaml.psi.YAMLKeyValue;
import org.jetbrains.yaml.psi.YAMLMapping;
+import java.util.ArrayList;
import java.util.Collection;
/**
@@ -103,7 +104,7 @@ private void visitPhp(@NotNull StringLiteralExpression element) {
String contents = element.getContents();
for (Method ownMethod : method.getContainingClass().getOwnMethods()) {
- Collection attributes = ownMethod.getAttributes("\\Symfony\\Component\\Routing\\Annotation\\Route");
+ Collection attributes = new ArrayList<>(ownMethod.getAttributes("\\Symfony\\Component\\Routing\\Annotation\\Route"));
attributes.addAll(ownMethod.getAttributes("\\Symfony\\Component\\Routing\\Attribute\\Route"));
for (PhpAttribute attribute : attributes) {