Code cleanups (#1484)

* Code cleanups

* Remove @OptIn(FeatureInAlphaState::class) from generating editor config functionality.

* Remove irrelevant code

* Remove @FeatureInAlphaState from "List<Rule>.lint(...)" function

* Remove functions previously used to lint and format spec files (unit tests) which have been replaced with normal unit tests.

* Remove @FeatureInAlphaState from tests which no longer calls methods which are marked with @FeatureInAlphaState

Co-authored-by: paul-dingemans <paul-dingemans@users.noreply.github.com>
diff --git a/buildSrc/src/main/kotlin/ktlint-publication.gradle.kts b/buildSrc/src/main/kotlin/ktlint-publication.gradle.kts
index fde1d29..4f898d7 100644
--- a/buildSrc/src/main/kotlin/ktlint-publication.gradle.kts
+++ b/buildSrc/src/main/kotlin/ktlint-publication.gradle.kts
@@ -81,7 +81,7 @@
 
 /**
  * Following signing parameters must be configured in `$HOME/.gradle/gradle.properties`:
- * ```
+ * ```properties
  * signing.keyId=12345678
  * signing.password=some_password
  * signing.secretKeyRingFile=/Users/yourusername/.gnupg/secring.gpg
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/KtLint.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/KtLint.kt
index 7b5414e..718961d 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/KtLint.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/KtLint.kt
@@ -4,7 +4,6 @@
 import com.pinterest.ktlint.core.api.EditorConfigOverride
 import com.pinterest.ktlint.core.api.EditorConfigOverride.Companion.emptyEditorConfigOverride
 import com.pinterest.ktlint.core.api.EditorConfigProperties
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.internal.EditorConfigGenerator
 import com.pinterest.ktlint.core.internal.EditorConfigLoader
@@ -41,9 +40,6 @@
     private val kotlinPsiFileFactoryProvider = KotlinPsiFileFactoryProvider()
     private val editorConfigLoader = EditorConfigLoader(FileSystems.getDefault())
 
-    @OptIn(FeatureInAlphaState::class)
-    private val editorConfigGenerator = EditorConfigGenerator(editorConfigLoader)
-
     /**
      * @param fileName path of file to lint/format
      * @param text Contents of file to lint/format
@@ -162,7 +158,6 @@
             .forEach { e -> params.cb(e, false) }
     }
 
-    @OptIn(FeatureInAlphaState::class)
     private fun prepareCodeForLinting(
         psiFileFactory: PsiFileFactory,
         params: ExperimentalParams
@@ -217,8 +212,7 @@
     }
 
     @Deprecated(
-        message = "Should not be a part of public api. Will be removed in future release.",
-        level = DeprecationLevel.WARNING
+        message = "Should not be a part of public api. Will be removed in future release."
     )
     public fun normalizeText(text: String): String {
         return text
@@ -376,7 +370,6 @@
      * indent-size=4
      * ```
      */
-    @FeatureInAlphaState
     public fun generateKotlinEditorConfigSection(
         params: ExperimentalParams
     ): String {
@@ -384,7 +377,7 @@
         requireNotNull(filePath) {
             "Please pass path to existing Kotlin file"
         }
-        return editorConfigGenerator.generateEditorconfig(
+        return EditorConfigGenerator(editorConfigLoader).generateEditorconfig(
             filePath,
             params.rules,
             params.userData.isAndroidCodeStyle,
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/OptInFeatures.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/OptInFeatures.kt
index 7399882..85dd361 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/OptInFeatures.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/OptInFeatures.kt
@@ -13,8 +13,7 @@
 public annotation class FeatureInAlphaState
 
 @RequiresOptIn(
-    message = "This Ktlint feature is experimental, and may change in the future releases.",
-    level = RequiresOptIn.Level.WARNING
+    message = "This Ktlint feature is experimental, and may change in the future releases."
 )
 @Retention(AnnotationRetention.BINARY)
 @Target(
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/UsesEditorConfigProperties.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/UsesEditorConfigProperties.kt
index 2f34213..c111558 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/UsesEditorConfigProperties.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/api/UsesEditorConfigProperties.kt
@@ -64,7 +64,7 @@
                     newValue != property.getValueAs() ->
                         logger.trace {
                             "Value of '.editorconfig' property '${editorConfigProperty.type.name}' is overridden " +
-                                "from '${property?.sourceValue}' to '$newValue'"
+                                "from '${property.sourceValue}' to '$newValue'"
                         }
                 }
                 return newValue
@@ -120,7 +120,7 @@
         /**
          * If set, it maps the actual value set for the property, to another valid value for that property. See example
          * below where
-         * ```
+         * ```kotlin
          * propertyMapper = { property, isAndroidCodeStyle ->
          *     when {
          *         property == null ->
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGenerator.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGenerator.kt
index 72957df..a3f2f23 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGenerator.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGenerator.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.core.internal
 
 import com.pinterest.ktlint.core.Rule
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.initKtLintKLogger
 import java.nio.file.Path
@@ -15,7 +14,6 @@
  *
  * Rule should implement [UsesEditorConfigProperties] interface to support this.
  */
-@FeatureInAlphaState
 internal class EditorConfigGenerator(
     private val editorConfigLoader: EditorConfigLoader
 ) {
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoader.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoader.kt
index 8b125c2..0fa1c00 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoader.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoader.kt
@@ -4,7 +4,6 @@
 import com.pinterest.ktlint.core.api.EditorConfigOverride
 import com.pinterest.ktlint.core.api.EditorConfigOverride.Companion.emptyEditorConfigOverride
 import com.pinterest.ktlint.core.api.EditorConfigProperties
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.initKtLintKLogger
 import java.nio.charset.StandardCharsets
@@ -25,7 +24,6 @@
  *
  * Contains internal in-memory cache to speedup lookup.
  */
-@OptIn(FeatureInAlphaState::class)
 public class EditorConfigLoader(
     private val fs: FileSystem
 ) {
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/IdNamingPolicy.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/IdNamingPolicy.kt
index 27c6a5f..5fd72ce 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/IdNamingPolicy.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/IdNamingPolicy.kt
@@ -4,7 +4,7 @@
  * Provides policy to have consistent and restricted `id` field naming style.
  */
 internal object IdNamingPolicy {
-    private const val SIMPLE_ID_REGEX = "[a-z]+([-][a-z]+)*"
+    private const val SIMPLE_ID_REGEX = "[a-z]+(-[a-z]+)*"
     private val ruleIdRegex = "($SIMPLE_ID_REGEX:)?($SIMPLE_ID_REGEX)".toRegex()
     private val ruleSetIdRegex = "($SIMPLE_ID_REGEX)".toRegex()
 
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/RuleSorter.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/RuleSorter.kt
index 6954cdb..a61c9c5 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/RuleSorter.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/RuleSorter.kt
@@ -158,7 +158,7 @@
             val ruleReferencesToUnblock = blockedRuleReferences.findRulesBlockedBy(ruleReference.toQualifiedRuleId())
             if (ruleReferencesToUnblock.isNotEmpty()) {
                 newRuleReferences.addAll(ruleReferencesToUnblock)
-                blockedRuleReferences.removeAll(ruleReferencesToUnblock)
+                blockedRuleReferences.removeAll(ruleReferencesToUnblock.toSet())
             }
         }
         check(blockedRuleReferences.isEmpty()) {
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilder.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilder.kt
index 27acb52..4acfa51 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilder.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilder.kt
@@ -195,7 +195,7 @@
                     }
                     else -> {
                         // Disable specific rule if it the annotion value is mapped to a specific rule
-                        annotationValueToRuleMapping.get(it)
+                        annotationValueToRuleMapping[it]
                     }
                 }
             }
diff --git a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/VisitorProvider.kt b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/VisitorProvider.kt
index 7f0ca3e..0113c07 100644
--- a/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/VisitorProvider.kt
+++ b/ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/internal/VisitorProvider.kt
@@ -71,7 +71,7 @@
                     )
                 }
         }
-        val ruleReferenceWithoutEntriesToBeSkipped = enabledRuleReferences - ruleReferencesToBeSkipped
+        val ruleReferenceWithoutEntriesToBeSkipped = enabledRuleReferences - ruleReferencesToBeSkipped.toSet()
         if (debug && ruleReferenceWithoutEntriesToBeSkipped.isEmpty()) {
             println(
                 "[DEBUG] Skipping file as no enabled rules are found to be executed"
diff --git a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/KtLintTest.kt b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/KtLintTest.kt
index ae3680f..a4a9690 100644
--- a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/KtLintTest.kt
+++ b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/KtLintTest.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.core
 
 import com.pinterest.ktlint.core.DummyRuleWithCustomEditorConfigProperty.Companion.SOME_CUSTOM_RULE_PROPERTY
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.isRoot
 import org.assertj.core.api.Assertions.assertThat
@@ -11,7 +10,6 @@
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class KtLintTest {
     /**
      * API Consumers directly use the ktlint-core module. Tests in this module should guarantee that the API is kept
@@ -362,7 +360,6 @@
     }
 }
 
-@OptIn(FeatureInAlphaState::class)
 private class DummyRuleWithCustomEditorConfigProperty :
     Rule("dummy-rule-with-custom-editor-config-property"),
     UsesEditorConfigProperties {
diff --git a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/UsesEditorConfigPropertiesTest.kt b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/UsesEditorConfigPropertiesTest.kt
index 95a35aa..76bb44a 100644
--- a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/UsesEditorConfigPropertiesTest.kt
+++ b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/UsesEditorConfigPropertiesTest.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.core
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import org.assertj.core.api.Assertions.assertThat
 import org.ec4j.core.model.Property
@@ -9,7 +8,6 @@
 import org.jetbrains.kotlin.com.intellij.psi.impl.source.DummyHolderElement
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class UsesEditorConfigPropertiesTest {
     class PropertyValueTester : UsesEditorConfigProperties {
         override val editorConfigProperties: List<UsesEditorConfigProperties.EditorConfigProperty<*>>
diff --git a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGeneratorTest.kt b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGeneratorTest.kt
index b6d49f0..3375f43 100644
--- a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGeneratorTest.kt
+++ b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigGeneratorTest.kt
@@ -3,7 +3,6 @@
 import com.google.common.jimfs.Configuration
 import com.google.common.jimfs.Jimfs
 import com.pinterest.ktlint.core.Rule
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import java.nio.file.FileSystem
 import java.nio.file.Files
@@ -13,7 +12,6 @@
 import org.jetbrains.kotlin.com.intellij.lang.ASTNode
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 internal class EditorConfigGeneratorTest {
     private val tempFileSystem = Jimfs.newFileSystem(Configuration.forCurrentPlatform())
     private val editorConfigLoader = EditorConfigLoader(tempFileSystem)
diff --git a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoaderTest.kt b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoaderTest.kt
index 765ce14..a87c127 100644
--- a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoaderTest.kt
+++ b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/EditorConfigLoaderTest.kt
@@ -5,7 +5,6 @@
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.insertNewLineProperty
 import com.pinterest.ktlint.core.api.EditorConfigOverride
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.internal.EditorConfigLoader.Companion.convertToRawValues
 import com.pinterest.ktlint.ruleset.standard.FinalNewlineRule
@@ -19,7 +18,6 @@
 import org.junit.jupiter.api.AfterEach
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 internal class EditorConfigLoaderTest {
     private val tempFileSystem = Jimfs.newFileSystem(Configuration.forCurrentPlatform())
     private val editorConfigLoader = EditorConfigLoader(tempFileSystem)
diff --git a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilderTest.kt b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilderTest.kt
index 915e14c..b542713 100644
--- a/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilderTest.kt
+++ b/ktlint-core/src/test/kotlin/com/pinterest/ktlint/core/internal/SuppressionLocatorBuilderTest.kt
@@ -4,14 +4,11 @@
 import com.pinterest.ktlint.core.LintError
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.RuleSet
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.ast.ElementType
-import java.util.ArrayList
 import org.assertj.core.api.Assertions.assertThat
 import org.jetbrains.kotlin.com.intellij.lang.ASTNode
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class SuppressionLocatorBuilderTest {
     @Test
     fun `Given that NoFooIdentifierRule finds a violation (eg verifying that the test rules actually works)`() {
diff --git a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/CommentWrappingRule.kt b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/CommentWrappingRule.kt
index dfa80ef..ae527cf 100644
--- a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/CommentWrappingRule.kt
+++ b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/CommentWrappingRule.kt
@@ -2,7 +2,6 @@
 
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType.BLOCK_COMMENT
 import com.pinterest.ktlint.core.ast.ElementType.EOL_COMMENT
@@ -20,7 +19,6 @@
  * Checks external wrapping of block comments. Wrapping inside the comment is not altered. A block comment following
  * another element on the same line is replaced with an EOL comment, if possible.
  */
-@OptIn(FeatureInAlphaState::class)
 public class CommentWrappingRule :
     Rule("$experimentalRulesetId:comment-wrapping"),
     UsesEditorConfigProperties {
diff --git a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/DiscouragedCommentLocationRule.kt b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/DiscouragedCommentLocationRule.kt
index 3e17a4e..9f8a405 100644
--- a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/DiscouragedCommentLocationRule.kt
+++ b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/DiscouragedCommentLocationRule.kt
@@ -15,7 +15,7 @@
  * handled by default IntelliJ IDEA code formatter. We should put no effort in making and keeping ktlint in sync with
  * such bad code formatting.
  *
- * ```
+ * ```kotlin
  *     fun <T>
  *     // some comment
  *         foo(t: T) = "some-result"
diff --git a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRule.kt b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRule.kt
index 4a52312..599ab14 100644
--- a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRule.kt
+++ b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRule.kt
@@ -5,7 +5,6 @@
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentSizeProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentStyleProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType.ANNOTATION_ENTRY
 import com.pinterest.ktlint.core.ast.ElementType.BLOCK
@@ -38,7 +37,6 @@
 import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafPsiElement
 import org.jetbrains.kotlin.utils.addToStdlib.ifTrue
 
-@OptIn(FeatureInAlphaState::class)
 public class FunctionSignatureRule :
     Rule(
         id = "function-signature",
@@ -201,13 +199,11 @@
                 .children()
                 .firstOrNull { it.elementType == VALUE_PARAMETER }
 
-        if (firstParameterInList == null) {
+        whiteSpaceCorrection += if (firstParameterInList == null) {
             // handle empty parameter list
-            whiteSpaceCorrection +=
-                fixWhiteSpacesInEmptyValueParameterList(node, emit, autoCorrect, dryRun)
+            fixWhiteSpacesInEmptyValueParameterList(node, emit, autoCorrect, dryRun)
         } else {
-            whiteSpaceCorrection +=
-                fixWhiteSpacesBeforeFirstParameterInValueParameterList(node, emit, autoCorrect, multiline, dryRun) +
+            fixWhiteSpacesBeforeFirstParameterInValueParameterList(node, emit, autoCorrect, multiline, dryRun) +
                 fixWhiteSpacesBetweenParametersInValueParameterList(node, emit, autoCorrect, multiline, dryRun) +
                 fixWhiteSpaceBeforeClosingParenthesis(node, emit, autoCorrect, multiline, dryRun)
         }
diff --git a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/KdocWrappingRule.kt b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/KdocWrappingRule.kt
index 6d42959..f373ff2 100644
--- a/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/KdocWrappingRule.kt
+++ b/ktlint-ruleset-experimental/src/main/kotlin/com/pinterest/ktlint/ruleset/experimental/KdocWrappingRule.kt
@@ -2,7 +2,6 @@
 
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType.KDOC
 import com.pinterest.ktlint.core.ast.ElementType.KDOC_END
@@ -19,7 +18,6 @@
 /**
  * Checks external wrapping of KDoc comment. Wrapping inside the KDoc comment is not altered.
  */
-@OptIn(FeatureInAlphaState::class)
 public class KdocWrappingRule :
     Rule("$experimentalRulesetId:kdoc-wrapping"),
     UsesEditorConfigProperties {
diff --git a/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRuleTest.kt b/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRuleTest.kt
index b746d51..41da58b 100644
--- a/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRuleTest.kt
+++ b/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/FunctionSignatureRuleTest.kt
@@ -1,6 +1,5 @@
 package com.pinterest.ktlint.ruleset.experimental
 
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.experimental.FunctionSignatureRule.Companion.functionSignatureWrappingMinimumParametersProperty
 import com.pinterest.ktlint.ruleset.standard.NoMultipleSpacesRule
 import com.pinterest.ktlint.ruleset.standard.SpacingAroundAngleBracketsRule
@@ -15,7 +14,6 @@
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class FunctionSignatureRuleTest {
     private val functionSignatureWrappingRuleAssertThat = FunctionSignatureRule().assertThat()
 
@@ -130,7 +128,7 @@
         val code =
             """
             // No max line length marker!
-            fun f(string: String): String = string.toUpperCase()
+            fun f(string: String): String = string.uppercase(Locale.getDefault())
             """.trimIndent()
         functionSignatureWrappingRuleAssertThat(code).hasNoLintViolations()
     }
diff --git a/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/SpacingAroundUnaryOperatorRuleTest.kt b/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/SpacingAroundUnaryOperatorRuleTest.kt
index fa2fbfd..47d9f4e 100644
--- a/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/SpacingAroundUnaryOperatorRuleTest.kt
+++ b/ktlint-ruleset-experimental/src/test/kotlin/com/pinterest/ktlint/ruleset/experimental/SpacingAroundUnaryOperatorRuleTest.kt
@@ -3,7 +3,6 @@
 import com.pinterest.ktlint.ruleset.standard.SpacingAroundUnaryOperatorRule
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
-import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Test
 
 class SpacingAroundUnaryOperatorRuleTest {
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRule.kt
index 7becf7b..242c6f2 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRule.kt
@@ -5,7 +5,6 @@
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentSizeProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentStyleProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType
 import com.pinterest.ktlint.core.ast.ElementType.ELSE
@@ -39,7 +38,6 @@
  * - maxLineLength exceeded (and separating arguments with \n would actually help)
  * in addition, "(" and ")" must be on separates line if any of the arguments are (otherwise on the same)
  */
-@OptIn(FeatureInAlphaState::class)
 class ArgumentListWrappingRule :
     Rule("argument-list-wrapping"),
     UsesEditorConfigProperties {
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FilenameRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FilenameRule.kt
index dc2c996..487a0ae 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FilenameRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FilenameRule.kt
@@ -92,6 +92,6 @@
     }
 
     private companion object {
-        val pascalCaseRegEx = Regex("""^[A-Z][A-Za-z0-9]*$""")
+        val pascalCaseRegEx = Regex("""^[A-Z][A-Za-z\d]*$""")
     }
 }
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRule.kt
index 9628004..a845fe2 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRule.kt
@@ -2,14 +2,12 @@
 
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.insertNewLineProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.isRoot
 import org.jetbrains.kotlin.com.intellij.lang.ASTNode
 import org.jetbrains.kotlin.com.intellij.psi.PsiWhiteSpace
 import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.PsiWhiteSpaceImpl
 
-@OptIn(FeatureInAlphaState::class)
 public class FinalNewlineRule :
     Rule(
         id = "final-newline",
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ImportOrderingRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ImportOrderingRule.kt
index 5427fe4..fb0bb8f 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ImportOrderingRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ImportOrderingRule.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.Rule
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType
 import com.pinterest.ktlint.core.ast.isRoot
@@ -37,7 +36,6 @@
  *
  * In case the custom property is not provided, the rule defaults to alphabetical order in case of "android" flag supplied, or to idea otherwise.
  */
-@OptIn(FeatureInAlphaState::class)
 public class ImportOrderingRule :
     Rule("import-ordering"),
     UsesEditorConfigProperties {
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRule.kt
index ed321f8..dd9c640 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRule.kt
@@ -6,7 +6,6 @@
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentSizeProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentStyleProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType.ARROW
 import com.pinterest.ktlint.core.ast.ElementType.BINARY_EXPRESSION
@@ -101,7 +100,6 @@
  * Current limitations:
  * - "all or nothing" (currently, rule can only be disabled for an entire file)
  */
-@OptIn(FeatureInAlphaState::class)
 public class IndentationRule :
     Rule(
         id = "indent",
@@ -986,9 +984,7 @@
             .filterNot { it.startsWith("\"\"\"") }
             .filterNot { it.endsWith("\"\"\"") }
             .filterNot { it.isBlank() }
-        val prefixLength = nonBlankLines
-            .map { it.indentLength() }
-            .minOrNull() ?: 0
+        val prefixLength = nonBlankLines.minOfOrNull { it.indentLength() } ?: 0
         val distinctIndentCharacters = nonBlankLines
             .joinToString(separator = "") {
                 it.splitIndentAt(prefixLength).first
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRule.kt
index 1f161b9..812d9ab 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRule.kt
@@ -2,7 +2,6 @@
 
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType
 import com.pinterest.ktlint.core.ast.isPartOf
@@ -19,7 +18,6 @@
 import org.jetbrains.kotlin.psi.KtImportDirective
 import org.jetbrains.kotlin.psi.KtPackageDirective
 
-@OptIn(FeatureInAlphaState::class)
 class MaxLineLengthRule :
     Rule(
         id = "max-line-length",
@@ -154,7 +152,7 @@
         return elements
             .filterIsInstance(PsiElement::class.java)
             .filter { it.text.matches(isValueBetweenBackticks) }
-            .sumBy(PsiElement::getTextLength)
+            .sumOf(PsiElement::getTextLength)
     }
 
     private companion object {
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoTrailingSpacesRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoTrailingSpacesRule.kt
index fbe961a..20985fb 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoTrailingSpacesRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoTrailingSpacesRule.kt
@@ -78,6 +78,6 @@
         takeLast(1) == " "
 
     private companion object {
-        val SPACE_OR_TAB_BEFORE_NEWLINE_REGEX = Regex("[ ]+\\n")
+        val SPACE_OR_TAB_BEFORE_NEWLINE_REGEX = Regex(" +\\n")
     }
 }
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRule.kt
index 5cf13c1..eb8f784 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRule.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.Rule
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType.IMPORT_DIRECTIVE
 import com.pinterest.ktlint.core.ast.isRoot
@@ -10,7 +9,6 @@
 import org.jetbrains.kotlin.com.intellij.lang.ASTNode
 import org.jetbrains.kotlin.psi.KtImportDirective
 
-@OptIn(FeatureInAlphaState::class)
 public class NoWildcardImportsRule :
     Rule("no-wildcard-imports"),
     UsesEditorConfigProperties {
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRule.kt
index 1c2d3e4..a825443 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRule.kt
@@ -5,7 +5,6 @@
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentSizeProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentStyleProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType.FUNCTION_LITERAL
 import com.pinterest.ktlint.core.ast.ElementType.FUNCTION_TYPE
@@ -36,7 +35,6 @@
 import org.jetbrains.kotlin.psi.KtTypeArgumentList
 import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType
 
-@OptIn(FeatureInAlphaState::class)
 class ParameterListWrappingRule :
     Rule("parameter-list-wrapping"),
     UsesEditorConfigProperties {
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRule.kt
index 2d747a7..33e0c89 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRule.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.ruleset.experimental.trailingcomma
 
 import com.pinterest.ktlint.core.Rule
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.api.UsesEditorConfigProperties
 import com.pinterest.ktlint.core.ast.ElementType
 import com.pinterest.ktlint.core.ast.children
@@ -52,7 +51,6 @@
     ;
 }
 
-@OptIn(FeatureInAlphaState::class)
 public class TrailingCommaRule :
     Rule(
         id = "trailing-comma",
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRuleTest.kt
index 95a91e8..9397ee0 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ArgumentListWrappingRuleTest.kt
@@ -1,14 +1,12 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
 import com.pinterest.ktlint.test.MULTILINE_STRING_QUOTE
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 
-@FeatureInAlphaState
 class ArgumentListWrappingRuleTest {
     private val argumentListWrappingRuleAssertThat = ArgumentListWrappingRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRuleTest.kt
index 02c83bc..39790a8 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/FinalNewlineRuleTest.kt
@@ -1,13 +1,11 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.insertNewLineProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import org.junit.jupiter.api.DisplayName
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class FinalNewlineRuleTest {
     private val finalNewlineRuleAssertThat = FinalNewlineRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRuleTest.kt
index 96a7285..b3a976a 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/IndentationRuleTest.kt
@@ -2,7 +2,6 @@
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentSizeProperty
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentStyleProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
 import com.pinterest.ktlint.test.MULTILINE_STRING_QUOTE
@@ -17,7 +16,6 @@
 import org.junit.jupiter.params.provider.ValueSource
 
 @Suppress("RemoveCurlyBracesFromTemplate")
-@FeatureInAlphaState
 internal class IndentationRuleTest {
     private val indentationRuleAssertThat = IndentationRule().assertThat()
 
@@ -458,7 +456,7 @@
         val code: String =
             """
             fun foo1(bar: String) =
-            bar.toUpperCase()
+            bar.uppercase(Locale.getDefault())
             .trim()
             .length.also {
             println("done")
@@ -470,7 +468,7 @@
             val formattedCode =
                 """
                 fun foo1(bar: String) =
-                    bar.toUpperCase()
+                    bar.uppercase(Locale.getDefault())
                         .trim()
                         .length.also {
                             println("done")
@@ -491,7 +489,7 @@
             val formattedCode =
                 """
                 fun foo1(bar: String) =
-                ${TAB}bar.toUpperCase()
+                ${TAB}bar.uppercase(Locale.getDefault())
                 ${TAB}${TAB}.trim()
                 ${TAB}${TAB}.length.also {
                 ${TAB}${TAB}${TAB}println("done")
@@ -1781,16 +1779,6 @@
             ).isFormattedAs(formattedCode)
     }
 
-    val foo1 = 0 + 1 + when {
-        else -> 2 + 3
-    } + 4
-    val foo2 = when {
-        true -> 0 + 1 + when {
-            else -> 2 + 3
-        } + 4
-        else -> -1
-    }
-
     @Test
     fun `Given a when-statement in a list of additions`() {
         val code =
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRuleTest.kt
index 0fe0f69..de5a297 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/MaxLineLengthRuleTest.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.standard.MaxLineLengthRule.Companion.ignoreBackTickedIdentifierProperty
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.EOL_CHAR
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.MAX_LINE_LENGTH_MARKER
@@ -13,7 +12,6 @@
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class MaxLineLengthRuleTest {
     private val maxLineLengthRuleAssertThat = MaxLineLengthRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoBlankLinesInChainedMethodCallsRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoBlankLinesInChainedMethodCallsRuleTest.kt
index 4a03cfe..f5df475 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoBlankLinesInChainedMethodCallsRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoBlankLinesInChainedMethodCallsRuleTest.kt
@@ -13,14 +13,14 @@
             fun foo(inputText: String) {
                 inputText
 
-                    .toLowerCase()
+                    .lowercase(Locale.getDefault())
             }
             """.trimIndent()
         val formattedCode =
             """
             fun foo(inputText: String) {
                 inputText
-                    .toLowerCase()
+                    .lowercase(Locale.getDefault())
             }
             """.trimIndent()
         noBlankLinesInChainedMethodCallsRuleAssertThat(code)
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoConsecutiveBlankLinesRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoConsecutiveBlankLinesRuleTest.kt
index d7f3a35..24e79dd 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoConsecutiveBlankLinesRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoConsecutiveBlankLinesRuleTest.kt
@@ -178,7 +178,7 @@
             fun foo(inputText: String) {
                 inputText
 
-                    .toLowerCase()
+                    .lowercase(Locale.getDefault())
             }
             """.trimIndent()
 
@@ -193,7 +193,7 @@
                 inputText
 
 
-                    .toLowerCase()
+                    .lowercase(Locale.getDefault())
             }
             """.trimIndent()
 
@@ -204,7 +204,7 @@
                 fun foo(inputText: String) {
                     inputText
 
-                        .toLowerCase()
+                        .lowercase(Locale.getDefault())
                 }
                 """.trimIndent()
             )
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRuleTest.kt
index cae7306..2797cd6 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/NoWildcardImportsRuleTest.kt
@@ -1,6 +1,5 @@
 package com.pinterest.ktlint.ruleset.standard
 
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.standard.NoWildcardImportsRule.Companion.packagesToUseImportOnDemandProperty
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
@@ -8,7 +7,6 @@
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 
-@FeatureInAlphaState
 class NoWildcardImportsRuleTest {
     private val noWildcardImportsRuleAssertThat = NoWildcardImportsRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRuleTest.kt
index 71b5c24..0897955 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/ParameterListWrappingRuleTest.kt
@@ -1,12 +1,10 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.maxLineLengthProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
 import org.junit.jupiter.api.Test
 
-@FeatureInAlphaState
 class ParameterListWrappingRuleTest {
     private val parameterListWrappingRuleAssertThat =
         ParameterListWrappingRule()
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundOperatorsRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundOperatorsRuleTest.kt
index c041395..8976be7 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundOperatorsRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundOperatorsRuleTest.kt
@@ -2,7 +2,6 @@
 
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
-import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Nested
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.params.ParameterizedTest
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundUnaryOperatorRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundUnaryOperatorRuleTest.kt
index a72a0d7..a7be4e1 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundUnaryOperatorRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/SpacingAroundUnaryOperatorRuleTest.kt
@@ -2,7 +2,6 @@
 
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
-import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Test
 
 class SpacingAroundUnaryOperatorRuleTest {
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRuleTest.kt
index 3e5736a..50ff175 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/TrailingCommaRuleTest.kt
@@ -1,6 +1,5 @@
 package com.pinterest.ktlint.ruleset.standard
 
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.experimental.trailingcomma.TrailingCommaRule
 import com.pinterest.ktlint.ruleset.experimental.trailingcomma.TrailingCommaRule.Companion.allowTrailingCommaOnCallSiteProperty
 import com.pinterest.ktlint.ruleset.experimental.trailingcomma.TrailingCommaRule.Companion.allowTrailingCommaProperty
@@ -8,7 +7,6 @@
 import com.pinterest.ktlint.test.LintViolation
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class TrailingCommaRuleTest {
     private val trailingCommaRuleAssertThat =
         TrailingCommaRule()
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/WrappingRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/WrappingRuleTest.kt
index d668cce..d9a900d 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/WrappingRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/WrappingRuleTest.kt
@@ -1,15 +1,11 @@
 package com.pinterest.ktlint.ruleset.standard
 
 import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties
-import com.pinterest.ktlint.core.api.DefaultEditorConfigProperties.indentStyleProperty
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
-import org.assertj.core.api.Assertions.assertThat
 import org.ec4j.core.model.PropertyType.IndentStyleValue.tab
 import org.junit.jupiter.api.Test
 
-@FeatureInAlphaState
 internal class WrappingRuleTest {
     private val wrappingRuleAssertThat = WrappingRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingEditorconfigTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingEditorconfigTest.kt
index 2d1316a..ea007f9 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingEditorconfigTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingEditorconfigTest.kt
@@ -1,14 +1,11 @@
 package com.pinterest.ktlint.ruleset.standard.importordering
 
 import com.pinterest.ktlint.core.api.EditorConfigProperties
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.standard.ImportOrderingRule
 import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class ImportOrderingEditorconfigTest {
-
     @Test
     fun `import ordering gets written correctly to editorconfig`() {
         val properties: EditorConfigProperties = emptyMap()
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleAsciiTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleAsciiTest.kt
index c68b232..51045a8 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleAsciiTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleAsciiTest.kt
@@ -1,11 +1,9 @@
 package com.pinterest.ktlint.ruleset.standard.importordering
 
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.standard.ImportOrderingRule
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class ImportOrderingRuleAsciiTest {
     private val importOrderingRuleAssertThat = ImportOrderingRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleCustomTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleCustomTest.kt
index 600111d..da46544 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleCustomTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleCustomTest.kt
@@ -1,12 +1,10 @@
 package com.pinterest.ktlint.ruleset.standard.importordering
 
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.standard.ImportOrderingRule
 import com.pinterest.ktlint.ruleset.standard.ImportOrderingRule.Companion.ideaImportsLayoutProperty
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class ImportOrderingRuleCustomTest {
     private val importOrderingRuleAssertThat = ImportOrderingRule().assertThat()
 
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleIdeaTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleIdeaTest.kt
index c2a6e2f..1ff831a 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleIdeaTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/pinterest/ktlint/ruleset/standard/importordering/ImportOrderingRuleIdeaTest.kt
@@ -1,12 +1,10 @@
 package com.pinterest.ktlint.ruleset.standard.importordering
 
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.ruleset.standard.ImportOrderingRule
 import com.pinterest.ktlint.test.KtLintAssertThat.Companion.assertThat
 import com.pinterest.ktlint.test.LintViolation
 import org.junit.jupiter.api.Test
 
-@OptIn(FeatureInAlphaState::class)
 class ImportOrderingRuleIdeaTest {
     private val importOrderingRuleAssertThat = ImportOrderingRule().assertThat()
 
diff --git a/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleExtension.kt b/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleExtension.kt
index 8c0d9f2..8900586 100644
--- a/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleExtension.kt
+++ b/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleExtension.kt
@@ -5,14 +5,10 @@
 import com.pinterest.ktlint.core.Rule
 import com.pinterest.ktlint.core.RuleSet
 import com.pinterest.ktlint.core.api.EditorConfigOverride
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.initKtLintKLogger
 import com.pinterest.ktlint.core.setDefaultLoggerModifier
 import com.pinterest.ruleset.test.DumpASTRule
 import mu.KotlinLogging
-import org.assertj.core.api.Assertions.assertThat
-import org.assertj.core.util.diff.DiffUtils.diff
-import org.assertj.core.util.diff.DiffUtils.generateUnifiedDiff
 import org.jetbrains.kotlin.utils.addToStdlib.ifTrue
 
 private val logger =
@@ -66,7 +62,6 @@
         .plus(listOfNotNull(dumpAstRuleSet))
 }
 
-@FeatureInAlphaState
 public fun List<Rule>.lint(
     lintedFilePath: String? = null,
     text: String,
@@ -109,97 +104,3 @@
     )
     return KtLint.format(experimentalParams)
 }
-
-@FeatureInAlphaState
-public fun Rule.diffFileLint(
-    path: String,
-    // TODO: Set default value once method is no longer annotated with FeatureInAlphaState and function
-    //  diffFileLint(String, Map<String, String>) is removed.
-    editorConfigOverride: EditorConfigOverride
-): String {
-    val resourceText = getResourceAsText(path).replace("\r\n", "\n")
-    val dividerIndex = resourceText.lastIndexOf("\n// expect\n")
-    if (dividerIndex == -1) {
-        throw RuntimeException("$path must contain '// expect' line")
-    }
-    val input = resourceText.substring(0, dividerIndex)
-    val expected = resourceText.substring(dividerIndex + 1).split('\n').mapNotNull { line ->
-        if (line.isBlank() || line == "// expect") {
-            null
-        } else {
-            line.trimMargin("// ").split(':', limit = 3).let { expectation ->
-                if (expectation.size != 3) {
-                    throw RuntimeException("$path expectation must be a triple <line>:<column>:<message>")
-                    // " (<message> is not allowed to contain \":\")")
-                }
-                val message = expectation[2]
-                val detail = message.removeSuffix(" (cannot be auto-corrected)")
-                LintError(expectation[0].toInt(), expectation[1].toInt(), id, detail, message == detail)
-            }
-        }
-    }
-    val actual = listOf(this).lint(
-        text = input,
-        editorConfigOverride = editorConfigOverride,
-        script = true
-    )
-    val str = { err: LintError ->
-        val ruleId = if (err.ruleId != id) " (${err.ruleId})" else ""
-        val correctionStatus = if (!err.canBeAutoCorrected) " (cannot be auto-corrected)" else ""
-        "${err.line}:${err.col}:${err.detail}$ruleId$correctionStatus"
-    }
-    val diff =
-        generateUnifiedDiff(
-            "expected",
-            "actual",
-            expected.map(str),
-            diff(expected.map(str), actual.map(str)),
-            expected.size + actual.size
-        ).joinToString("\n")
-    return diff.ifEmpty { "" }
-}
-
-@FeatureInAlphaState
-public fun Rule.diffFileFormat(
-    srcPath: String,
-    expectedPath: String,
-    editorConfigOverride: EditorConfigOverride = EditorConfigOverride.emptyEditorConfigOverride
-): String = listOf(this).diffFileFormat(srcPath, expectedPath, editorConfigOverride)
-
-@FeatureInAlphaState
-public fun List<Rule>.diffFileFormat(
-    srcPath: String,
-    expectedPath: String,
-    editorConfigOverride: EditorConfigOverride = EditorConfigOverride.emptyEditorConfigOverride
-): String {
-    val actual = format(
-        lintedFilePath = null,
-        text = getResourceAsText(srcPath),
-        editorConfigOverride = editorConfigOverride,
-        script = true
-    ).split('\n')
-    val expected = getResourceAsText(expectedPath).split('\n')
-    val diff =
-        generateUnifiedDiff(expectedPath, "output", expected, diff(expected, actual), expected.size + actual.size)
-            .joinToString("\n")
-    return diff.ifEmpty { "" }
-}
-
-@FeatureInAlphaState
-public fun Rule.assertThatFileFormat(
-    srcPath: String,
-    expectedPath: String,
-    // TODO: Set default value once method is no longer annotated with FeatureInAlphaState and function
-    //  diffFileLint(String, Map<String, String>) is removed.
-    editorConfigOverride: EditorConfigOverride,
-    userData: Map<String, String> = emptyMap()
-) {
-    val actual = listOf(this).format(null, getResourceAsText(srcPath), editorConfigOverride, userData, script = true).split('\n')
-    val expected = getResourceAsText(expectedPath).split('\n')
-    assertThat(actual).isEqualTo(expected)
-}
-
-private fun getResourceAsText(path: String) =
-    (ClassLoader.getSystemClassLoader().getResourceAsStream(path) ?: throw RuntimeException("$path not found"))
-        .bufferedReader()
-        .readText()
diff --git a/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleSetProviderTest.kt b/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleSetProviderTest.kt
index 10edb16..d8b1503 100644
--- a/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleSetProviderTest.kt
+++ b/ktlint-test/src/main/kotlin/com/pinterest/ktlint/test/RuleSetProviderTest.kt
@@ -19,8 +19,8 @@
             ?: arrayListOf()
 
         val provider = rulesetClass
-        val providerRules = provider.newInstance().get().rules.map { it::class.java.simpleName }
-        val diff = packageRules - providerRules
+        val providerRules = provider.getDeclaredConstructor().newInstance().get().rules.map { it::class.java.simpleName }
+        val diff = packageRules - providerRules.toSet()
         assertThat(diff)
             .withFailMessage("%s is missing to provide the following rules: \n%s", provider.simpleName, diff.joinToString(separator = "\n"))
             .hasSize(0)
diff --git a/ktlint/build.gradle.kts b/ktlint/build.gradle.kts
index cf1259e..99172b2 100644
--- a/ktlint/build.gradle.kts
+++ b/ktlint/build.gradle.kts
@@ -5,7 +5,7 @@
     `ktlint-kotlin-common`
     alias(libs.plugins.shadow)
     alias(libs.plugins.checksum)
-    `signing`
+    signing
 }
 
 tasks.jar {
diff --git a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/FileUtils.kt b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/FileUtils.kt
index 17f16be..d6ae735 100644
--- a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/FileUtils.kt
+++ b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/FileUtils.kt
@@ -3,7 +3,6 @@
 import com.pinterest.ktlint.core.KtLint
 import com.pinterest.ktlint.core.LintError
 import com.pinterest.ktlint.core.RuleSet
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.initKtLintKLogger
 import java.io.File
 import java.nio.file.FileSystem
@@ -163,7 +162,6 @@
 /**
  * Run lint over common kotlin file or kotlin script file.
  */
-@OptIn(FeatureInAlphaState::class)
 internal fun lintFile(
     fileName: String,
     fileContents: String,
@@ -191,7 +189,6 @@
 /**
  * Format a kotlin file or script file
  */
-@OptIn(FeatureInAlphaState::class)
 internal fun formatFile(
     fileName: String,
     fileContents: String,
diff --git a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/GenerateEditorConfigSubCommand.kt b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/GenerateEditorConfigSubCommand.kt
index 5500fa8..8eea31a 100644
--- a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/GenerateEditorConfigSubCommand.kt
+++ b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/GenerateEditorConfigSubCommand.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.internal
 
 import com.pinterest.ktlint.core.KtLint
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.initKtLintKLogger
 import mu.KotlinLogging
 import picocli.CommandLine
@@ -23,7 +22,6 @@
     @CommandLine.Spec
     private lateinit var commandSpec: CommandLine.Model.CommandSpec
 
-    @OptIn(FeatureInAlphaState::class)
     override fun run() {
         commandSpec.commandLine().printHelpOrVersionUsage()
 
diff --git a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/IntellijIDEAIntegration.kt b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/IntellijIDEAIntegration.kt
index 30808bc..d864bb0 100644
--- a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/IntellijIDEAIntegration.kt
+++ b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/IntellijIDEAIntegration.kt
@@ -1,7 +1,6 @@
 package com.pinterest.ktlint.internal
 
 import com.github.shyiko.klob.Glob
-import com.pinterest.ktlint.core.api.FeatureInAlphaState
 import com.pinterest.ktlint.core.internal.EditorConfigLoader
 import com.pinterest.ktlint.core.internal.EditorConfigLoader.Companion.convertToRawValues
 import java.io.ByteArrayInputStream
@@ -26,7 +25,6 @@
 
     @Suppress("UNUSED_PARAMETER")
     @Throws(IOException::class)
-    @OptIn(FeatureInAlphaState::class)
     fun apply(workDir: Path, dryRun: Boolean, android: Boolean = false, local: Boolean = false): Array<Path> {
         val editorConfigProperties = EditorConfigLoader(FileSystems.getDefault())
             .loadPropertiesForFile(null, isStdIn = true, rules = emptySet())