diff --git a/CHANGELOG.md b/CHANGELOG.md index 554c317b77..dff5b11fa6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,32 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). +## [1.3.1] - 2024-07-02 + +### 🔧 Fixes +* Add link for backing-property-naming, correct binary-expression-wrapping - [#2704](https://github.com/pinterest/ktlint/pull/2704), by @rsmith20 +* Do not insert a whitespace element as first or last child inside a composite element - [#2715](https://github.com/pinterest/ktlint/pull/2715), by @paul-dingemans +* Do not rewrite a class to a single line signature in case it contains an EOL comment - [#2716](https://github.com/pinterest/ktlint/pull/2716), by @paul-dingemans +* Fix false positive when anonymous function is used as value argument - [#2718](https://github.com/pinterest/ktlint/pull/2718), by @paul-dingemans +* Fix suppression handling when 'formatter:on' not properly specified - [#2719](https://github.com/pinterest/ktlint/pull/2719), by @paul-dingemans +* Fix false positive when primary constructor has no arguments and a secondary constructor exists - [#2717](https://github.com/pinterest/ktlint/pull/2717), by @paul-dingemans +* Ignore suppressions for no-unused-imports rule - [#2720](https://github.com/pinterest/ktlint/pull/2720), by @paul-dingemans +* Ignore suppressions in rule `no-unused-imports` - [#2725](https://github.com/pinterest/ktlint/pull/2725), by @paul-dingemans +* Fix false alert `Format was not able to resolve all violations which (theoretically) can be autocorrected` - [#2727](https://github.com/pinterest/ktlint/pull/2727), by @paul-dingemans +* Fix "unset" value for property ktlint_chain_method_rule_force_multiline_when_chain_operator_count_greater_or_equal_than - [#2728](https://github.com/pinterest/ktlint/pull/2728), by @paul-dingemans + +### 📦 Dependencies + +* Update dependency gradle to v8.8 - [#2680](https://github.com/pinterest/ktlint/pull/2680), by @renovate[bot] +* Update plugin com.gradle.develocity to v3.17.5 - [#2697](https://github.com/pinterest/ktlint/pull/2697), by @renovate[bot] +* Update actions/checkout digest to 692973e - [#2699](https://github.com/pinterest/ktlint/pull/2699), by @renovate[bot] +* Update dependency io.github.hakky54:logcaptor to v2.9.3 - [#2707](https://github.com/pinterest/ktlint/pull/2707), by @renovate[bot] +* Update dependency org.junit.jupiter:junit-jupiter to v5.10.3 - [#2721](https://github.com/pinterest/ktlint/pull/2721), by @renovate[bot] + +### 💬 Other + +* Remove sdkman - [#2693](https://github.com/pinterest/ktlint/pull/2693), by @paul-dingemans + ## [1.3.0] - 2024-06-04 ### 🆕 Features @@ -2469,6 +2495,7 @@ set in `[*{kt,kts}]` section). ## 0.1.0 - 2016-07-27 +[1.3.1]: https://github.com/pinterest/ktlint/compare/1.3.1...1.3.0 [1.3.0]: https://github.com/pinterest/ktlint/compare/1.3.0...1.2.1 [1.2.1]: https://github.com/pinterest/ktlint/compare/1.2.1...1.2.0 [1.2.0]: https://github.com/pinterest/ktlint/compare/1.2.0...1.1.1 diff --git a/RELEASE_TESTING.MD b/RELEASE_TESTING.MD index f8121e1c68..1dee756108 100644 --- a/RELEASE_TESTING.MD +++ b/RELEASE_TESTING.MD @@ -40,7 +40,7 @@ Before releasing a new version of KtLint, the release candidate is tested on a s ``` 4. Create an alias or script to run the latest released version of ktlint (note that this script will print the version as reference to which version is used): ```shell - alias ktlint-prev="ktlint-1.2.1 $@" # Replace with the latest release version + alias ktlint-prev="ktlint-1.3.0 $@" # Replace with the latest release version ``` Note that `~/git/ktlint` is the directory in which the ktlint project is checked out and that `~/git/ktlint/ktlint` refers to the `ktlint` CLI-module. 5. Create an alias or script to run the latest development-version of ktlint (note that this script will print the version and the datetime of compilation as reference to which version is used): @@ -79,16 +79,20 @@ Formatting projects in which ktlint is not used may result in a huge amount of f 1. Define `.editorconfig` in the integration test directory with content below. Also follow up the instructions mentioned: ```editorconfig root = true + + [graphql-kotlin/**/*.{kt,kts}] + ktlint_standard_no-unused-imports = disabled + ktlint_standard_import-ordering = disabled + + [kotlinx.coroutines/**/*.{kt,kts}] + ktlint_standard_no-wildcard-imports = disabled + [*.{kt,kts}] # The open source projects that are used for release testing of ktlint contain a few '.editorconfig' files which need to # be changed: # 1) Disable the "root = true" property so that each project ultimately falls back on this file. In this way offending # rules can be easily enabled/disabled for all test projects - # 2) Remove property below from graphql-kotlin - # disabled_rules=import-ordering - # And add properties below: - # ktlint_standard_import-ordering = disabled - # ktlint_standard_package-name = disabled + # 2) From the graphql project remove the `disabled_rules` property ktlint_code_style = ktlint_official ktlint_experimental = enabled ktlint_standard = enabled @@ -156,11 +160,24 @@ Formatting projects in which ktlint is not used may result in a huge amount of f rm baseline.xml ktlint-dev --baseline=baseline.xml --relative # Do not call this command via the "./exec-in-each-project.sh" script as we want to use the one combined baseline.xml file for all projects. ``` - No violations, except error that can not be autocorrected, should be expected. -12. Rerun with *latest development* version and verify that no violations are reported: + As the baseline is removed, thousands of violations are to be reported. Check at least in the summary that no internal errors are thrown like below: + ```plain + Internal Error (...) in file '...' at position '0:0. Please create a ticket at https://github.com/pinterest/ktlint/issues ... + ``` +12. Rerun lint with *latest development* version and verify that no violations are reported: ```shell ktlint-dev --baseline=baseline.xml --relative # Do not call this command via the "./exec-in-each-project.sh" script as we want one combined baseline.xml file for all projects. ``` +No violations should be reported in this run. +13. Rerun format with *latest development* version without baseline: + ```shell + ktlint-dev -F --relative # Do not call this command via the "./exec-in-each-project.sh" script as we want to use the one combined baseline.xml file for all projects. + ``` + As the baseline is removed, thousands of violations are to be expected. Check at least in the summary that no internal errors are thrown like below: + ```plain + Internal Error (...) in file '...' at position '0:0. Please create a ticket at https://github.com/pinterest/ktlint/issues ... + ``` + As the baseline is removed, thousands of violations are to be reported and/or autocorrected. Check at least in the summary that no internal errors are thrown like below: ## Checking documentation [The documentation for KtLint](https://pinterest.github.io/ktlint/) should be checked for dead links. diff --git a/gradle.properties b/gradle.properties index cd1a4d6699..5251bd8305 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=1.3.1-SNAPSHOT +VERSION_NAME=1.3.1 POM_GROUP_ID=com.pinterest.ktlint POM_DESCRIPTION=An anti-bikeshedding Kotlin linter with built-in formatter.