Skip to content

Releases: pinterest/ktlint

0.37.2

16 Jun 16:53
Compare
Choose a tag to compare

Minor release to fix further bugs in ImportOrderingRule.

Fixed

  • Imports with aliases no longer removed (#766)

0.37.1

08 Jun 22:17
f19c100
Compare
Choose a tag to compare

Minor release to fix some bugs in the 0.37.0 release.

Fixed

  • Invalid path exception error on Windows machines when loading properties from .editorconfig (#761)
  • Imports with as no longer removed (#761)
  • The contents of raw strings are no longer modified by the indent rule (#682)

0.37.0

03 Jun 05:18
02cfb32
Compare
Choose a tag to compare

Thank you to Tapchicoma and romtsn for all their hard work on this release!

Added

  • Gradle wrapper validation (#684)
  • Experimental SpacingAroundDoubleColon rule (#722)
  • Experimental SpacingBetweenDeclarationsWithCommentsRule and SpacingBetweenDeclarationsWithAnnotationsRule. Fixes (#721)
  • kotlin_imports_layout config for .editorconfig file so that import ordering is configurable. Fixes (#527)

Changed

  • Kotlin was updated to 1.3.70 version
  • Loading properties from .editorconfig was fully delegated to ec4j library. This fixes ability to override
    properties for specific files/directories (#742)
  • Promote experimental "indent" rule to standard one, old standard "indent" rule is removed
  • Functions to calculate line/column are now public so they can be used by 3rd party tools (#725)
  • AnnotationRule now handles file annotations as well (#714)

Fixed

  • Ignore keywords in KDoc comments (#671)
  • Allow multiple spaces in KDoc comments (#706)
  • Trailing comment no longer reported as incorrect indentation (#710)
  • Annotated function types no longer reported as an error (#737)
  • FinalNewlineRule no longer reports error for empty files (#723)
  • EOL comments will no longer cause AnnotationRule to report an error (#736)
  • Formatter will no longer break class declaration with trailing comment (#728)
  • Formatting for single line if/else statements (#174)
  • Exception in NoLineBreakBeforeAssignmentRule (#693)

Removed

  • Removed Maven; builds all run under Gradle (#445)
  • Old standard IndentRule

0.36.0

03 Dec 19:43
Compare
Choose a tag to compare

Added

  • HTML reporter (#641)
  • Experimental rule to lint enum entry names (#638)
  • @Suppress("RemoveCurlyBracesFromTemplate") now respected (#263)

Upgraded

  • Gradle version to 5.6.2 (#616)
  • Kotlin to 1.3.60 (#658)

Fixed

  • .git directory now discovered instead of hardcoded (#623)
  • Several bugs with the experimental annotation rule (#628) (#642) (#654) (#624)
  • Allow newline after lambda return type (#643)
  • Allow empty first line in a function that returns an anonymous object (#655)
  • Indentation with lambda argument (#627)
  • ktlint can now lint UTF-8 files with BOM (#630
  • Indentation with newline before return type (#663)
  • Build/tests on Windows (#640)
  • Allow whitespace after ( followed by a comment (#664)

0.35.0

13 Oct 06:39
2956522
Compare
Choose a tag to compare

Added

  • Support for specifying color for output via --color-name command line flag. (#585)
  • Support for custom rulesets and providers on Java 9+ (#573)

Deprecated

  • --apply-to-idea flag; use applyToIDEA subcommand instead (#554)
  • --apply-to-idea-project flag; use applyToIDEAProject subcommand instead (#593)
  • 0.0.0-SNAPSHOT builds; snapshot builds are now versioned, e.g. 0.35.0-SNAPSHOT (#588)
    • Note: When using the new snapshot builds, you may need to add an explicit dependency on kotlin-compiler-embeddable to your ruleset project.

Removed

  • Support for loading 3rd party rulesets via Maven (#566)

Upgraded

  • Kotlin version to 1.3.50 (#565) (#611)

Fixed

  • Bugs with spacing in experimental AnnotationRule (#552) (#601
  • Brackets would be removed from empty companion object (#600)
  • Bugs with experimental IndentationRule (#597) (#599)
  • Erroneous space between } and ] (#596)
  • Spacing around multiplication sign in lambdas (#598)
  • --version output with gradle-built JAR (#613)

0.34.2

23 Jul 04:34
f7fc4eb
Compare
Choose a tag to compare

Minor bugfix release for 0.34.0. (Note: 0.34.1 deprecated/deleted due to regression in disabled_flags .editorconfig support.)

Added

  • Support for globally disabling rules via --disabled_rules command line flag. (#534)

Fixed

  • Regression with --stdin flag for printAST command (#528)
  • Regressions with NoUnusedImports rule (#531, #526)
    • Note: this re-introduces #405
  • Indentation for enums with multi-line initializers (#518)

0.34.0

15 Jul 07:50
c518d8d
Compare
Choose a tag to compare

Added

  • Support for Kotlin 1.3.41
  • Support for globally disabling rules via custom disabled_rules property in .editorconfig (#503)
  • experimental:no-empty-first-line-in-method-block (#474)
  • Unit tests for ruleset providers

Upgraded

  • AssertJ from 3.9.0 to 3.12.2 (#520)

Enabled

  • Final newline by default (#446)
  • no-wildcard-import (Re-enabled after temporarily disabling in 0.33.0)
  • experimental:annotation (#509)
  • experimental:multiline-if-else (no autocorrection)
  • experimental:package-name (currently only disallows underscores in package names)

Deprecated

  • MavenDependencyResolver. Scheduled to be removed in 0.35.0 ([#468])(#468)
  • --install-git-pre-commit-hook flag; use installGitPreCommitHook subcommand instead (#487)
  • --print-ast flag; use printAST subcommand instead (#500)

Removed

  • Support for --ruleset-repository and --ruleset-update flags

Fixed

  • import-ordering will now refuse to format import lists that contain top-level comments (#408)
  • no-unused-imports reporting false negatives or false positives in some cases (#405) and (#506)
  • experimental:indent incorrectly formatting a lambda's closing brace (#479)

0.33.0

28 May 17:38
c5d19e5
Compare
Choose a tag to compare

Added

  • Support for Kotlin 1.3.31

Disabled

  • No wildcard imports rule (#48). Developers wishing to still enforce this rule should add the code into a custom ruleset.

Fixed

  • Spec file parsing is now platform-agnostic (#365)
  • Unnecessary newline after -> in some cases (#403)
  • SpacingAroundCommaRule will no longer move code into comments
  • Made newlines after = less aggressive (#368) (#380)
  • Erroneous newline when parameter comments are used (#433)

0.32.0

22 Apr 22:11
6d0a06f
Compare
Choose a tag to compare

Note: This release will not be updated in the homebrew-ktlint tap; we will be opening a PR to make ktlint part of the core Homebrew formulae.

Added

  • experimental/import-ordering rule (#189).
    Use ktlint --experimental to enabled.
  • Support for Kotlin 1.3.30
  • Build now compatible with jitpack

Fixed

  • Incorrectly flagging a missing newline for functions with no parameters (#327).
  • Semicolons now allowed in KDocs (#362).
  • Spaces now disallowed after super (#369).
  • Annotations in function parameters now checked for indentation (#374]

Changed

  • Code now lives in com.pinterest package
  • groupId now com.pinterest
  • Custom ruleset META-INF.services file must be renamed to com.pinterest.ktlint.core.RuleSetProvider

0.31.0-SNAPSHOT

16 Apr 23:27
cab2019
Compare
Choose a tag to compare
0.31.0-SNAPSHOT Pre-release
Pre-release

Snapshot release which includes Kotlin 1.3.30 support.