Skip to content

Releases: pinterest/ktlint

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.

0.31.0

11 Mar 06:41
Compare
Choose a tag to compare

Added

  • dot-spacing rule (#293).
  • experimental/indent rule (#338).
    Use ktlint --experimental to enable.

Fixed

  • Spacing check around < & > operators.

Changed

  • no-multi-spaces rule (horizontal alignment of comments is no longer allowed) (#269).
  • colon-spacing rule (: must not appear at the beginning of the line).
  • package-name rule (disabled until #208 is resolved).
  • --print-ast to output com.github.shyiko.ktlint.core.ast.ElementType.* as node.elementType, e.g.
$ echo 'fun f() {}' | ./ktlint/target/ktlint --print-ast --color --stdin
1: ~.psi.KtFile (FILE)
1:   ~.psi.KtPackageDirective (PACKAGE_DIRECTIVE) ""
1:   ~.psi.KtImportList (IMPORT_LIST) ""
1:   ~.psi.KtScript (SCRIPT)
1:     ~.psi.KtBlockExpression (BLOCK)
1:       ~.psi.KtNamedFunction (FUN)
1:         ~.c.i.p.impl.source.tree.LeafPsiElement (FUN_KEYWORD) "fun"
1:         ~.c.i.p.impl.source.tree.PsiWhiteSpaceImpl (WHITE_SPACE) " "
1:         ~.c.i.p.impl.source.tree.LeafPsiElement (IDENTIFIER) "f"
1:         ~.psi.KtParameterList (VALUE_PARAMETER_LIST)
1:           ~.c.i.p.impl.source.tree.LeafPsiElement (LPAR) "("
1:           ~.c.i.p.impl.source.tree.LeafPsiElement (RPAR) ")"
1:         ~.c.i.p.impl.source.tree.PsiWhiteSpaceImpl (WHITE_SPACE) " "
1:         ~.psi.KtBlockExpression (BLOCK)
1:           ~.c.i.p.impl.source.tree.LeafPsiElement (LBRACE) "{"
1:           ~.c.i.p.impl.source.tree.LeafPsiElement (RBRACE) "}"
1:       ~.c.i.p.impl.source.tree.PsiWhiteSpaceImpl (WHITE_SPACE) "\n"

   format: <line_number:> <node.psi::class> (<node.elementType>) "<node.text>"
   legend: ~ = org.jetbrains.kotlin, c.i.p = com.intellij.psi
  • kotlin-compiler version to 1.3.21 (from 1.3.20).

Removed

  • Dependency on JCenter (#349).

0.0.0-SNAPSHOT

04 Mar 21:38
Compare
Choose a tag to compare

0.30.0

04 Feb 07:28
Compare
Choose a tag to compare

Added

  • dot-spacing (#293),
    annotation (#303) rules.

Fixed

  • Missing newline before ")" (#327).

Changed

  • kotlin-compiler version to 1.3.20 (from 1.2.71) (#331).

Security

  • --ruleset/--reporter switched to HTTPS (#332).

0.29.0

02 Oct 19:12
Compare
Choose a tag to compare

Fixed

  • no-semi rule to preserve semicolon after companion object; (see #281 for details).
  • "line number off by one" when end_of_line=CRLF is used (#286).

Changed

  • package-name rule not to check file location (until #280 can be properly addressed).
  • comment-spacing rule not to flag //region & //endregion comments (#278).
  • kotlin-compiler version to 1.2.71 (from 1.2.51).

0.28.0

05 Sep 21:56
Compare
Choose a tag to compare

Fixed

  • ktlint hanging in case of unhandled exception in a reporter (#277).

Changed

  • package-name rule (directories containing . in their names are no longer considered to be invalid) (#276).