Skip to content

Commit

Permalink
Updating CHANGELOG and README for 0.34.0 (#524)
Browse files Browse the repository at this point in the history
* Adding 0.34.0 changelog

* updates

* update README

* slight update
  • Loading branch information
shashachu authored Jul 15, 2019
1 parent adb4d4d commit c518d8d
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 16 deletions.
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [0.34.0] - 2019-07-15

### Added
- Support for Kotlin 1.3.41
- Support for globally disabling rules via custom `disabled_rules` property in `.editorconfig` ([#503](https://github.com/pinterest/ktlint/pull/503))
- `experimental:no-empty-first-line-in-method-block` ([#474](https://github.com/pinterest/ktlint/pull/474))
- Unit tests for ruleset providers

### Upgraded
- AssertJ from 3.9.0 to 3.12.2 ([#520](https://github.com/pinterest/ktlint/pull/520))

### Enabled
- Final newline by default ([#446](https://github.com/pinterest/ktlint/pull/446))
- `no-wildcard-import` (Re-enabled after temporarily disabling in 0.33.0)
- `experimental:annotation` ([#509](https://github.com/pinterest/ktlint/pull/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](https://github.com/pinterest/ktlint/pull/468)
- `--install-git-pre-commit-hook` flag; use `installGitPreCommitHook` subcommand instead ([#487](https://github.com/pinterest/ktlint/pull/487))
- `--print-ast` flag; use `printAST` subcommand instead ([#500](https://github.com/pinterest/ktlint/pull/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](https://github.com/pinterest/ktlint/issues/408))
- `no-unused-imports` reporting false negatives or false positives in some cases ([#405](https://github.com/pinterest/ktlint/issues/405)) and ([#506](https://github.com/pinterest/ktlint/issues/506))
- `experimental:indent` incorrectly formatting a lambda's closing brace ([#479](https://github.com/pinterest/ktlint/issues/479))

## [0.33.0] - 2019-05-28

### Added
Expand Down Expand Up @@ -558,7 +589,8 @@ set in `[*{kt,kts}]` section).

## 0.1.0 - 2016-07-27

[0.32.0]: https://github.com/shyiko/ktlint/compare/0.32.0...0.33.0
[0.34.0]: https://github.com/shyiko/ktlint/compare/0.33.0...0.34.0
[0.33.0]: https://github.com/shyiko/ktlint/compare/0.32.0...0.33.0
[0.32.0]: https://github.com/shyiko/ktlint/compare/0.31.0...0.32.0
[0.31.0]: https://github.com/shyiko/ktlint/compare/0.30.0...0.31.0
[0.30.0]: https://github.com/shyiko/ktlint/compare/0.29.0...0.30.0
Expand Down
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,28 +40,25 @@ It's also [easy to create your own](#creating-a-reporter).
- No empty (`{}`) class bodies
- No spaces around range (`..`) operator
- No newline before (binary) `+` & `-`, `*`, `/`, `%`, `&&`, `||`
- No wildcard `import`s
- When wrapping chained calls `.`, `?.` and `?:` should be placed on the next line
- When a line is broken at an assignment (`=`) operator the break comes after the symbol
- When class/function signature doesn't fit on a single line, each parameter must be on a separate line
- Consistent string templates (`$v` instead of `${v}`, `${p.v}` instead of `${p.v.toString()}`)
- Consistent order of modifiers
- Consistent spacing after keywords, commas; around colons, curly braces, parens, infix operators, comments, etc
- Newline at the end of each file (not enabled by default, but recommended)
(set `insert_final_newline=true` in .editorconfig to enable (see [EditorConfig](#editorconfig) section for more)).
- Newline at the end of each file (enabled by default)
(set `insert_final_newline=false` in .editorconfig to disable (see [EditorConfig](#editorconfig) section for more)).
- Imports ordered in alphabetic order with no spaces between major groups

## Experimental rules
New rules will be added into the [experimental ruleset](https://github.com/pinterest/ktlint/tree/master/ktlint-ruleset-experimental), which can be enabled
by passing the `--experimental` flag to `ktlint`.

- Indentation formatting
- Import ordering

## Disabled rules
- No wildcard `import`s
- Annotation formatting
- Indentation formatting - respects `.editorconfig` `indent_size` with no continuation indent
- Annotation formatting - multiple annotations should be on a separate line than the annotated declaration; annotations with parameters should each be on separate lines
- No underscores in package names
- Braces required for if/else statements
- Multi-line lambdas must name `it` param
- Braces required for multiline if/else statements

## EditorConfig

Expand All @@ -76,14 +73,18 @@ insert_final_newline=unset
# possible values: number (e.g. 120) (package name, imports & comments are ignored), "off"
# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide)
max_line_length=off
# Comma-separated list of rules to disable (Since 0.34.0)
# Note that rules in any ruleset other than the standard ruleset will need to be prefixed
# by the ruleset identifier.
disabled_rules=no-wildcard-imports,experimental:annotation,my-custom-ruleset:my-custom-rule
```

## Installation

> Skip all the way to the "Integration" section if you don't plan to use `ktlint`'s command line interface.
```sh
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.33.0/ktlint &&
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.0/ktlint &&
chmod a+x ktlint &&
sudo mv ktlint /usr/local/bin/
```
Expand Down Expand Up @@ -178,7 +179,7 @@ $ ktlint installGitPreCommitHook
<dependency>
<groupId>com.pinterest</groupId>
<artifactId>ktlint</artifactId>
<version>0.33.0</version>
<version>0.34.0</version>
</dependency>
<!-- additional 3rd party ruleset(s) can be specified here -->
</dependencies>
Expand Down Expand Up @@ -226,7 +227,7 @@ configurations {
}
dependencies {
ktlint "com.pinterest:ktlint:0.33.0"
ktlint "com.pinterest:ktlint:0.34.0"
// additional 3rd party ruleset(s) can be specified here
// just add them to the classpath (e.g. ktlint 'groupId:artifactId:version') and
// ktlint will pick them up
Expand Down Expand Up @@ -328,7 +329,7 @@ A complete sample project (with tests and build files) is included in this repo
#### AST

While writing/debugging [Rule](ktlint-core/src/main/kotlin/com/pinterest/ktlint/core/Rule.kt)s it's often helpful to have an AST
printed out to see the structure rules have to work with. ktlint >= 0.15.0 has `printAST` subcommand specifically for this purpose
printed out to see the structure rules have to work with. ktlint >= 0.15.0 has a `printAST` subcommand (or `--print-ast` flag for ktlint < 0.34.0) specifically for this purpose
(usage: `ktlint --color printAST <file>`).
An example of the output is shown below.

Expand Down Expand Up @@ -402,7 +403,7 @@ Absolutely, "no configuration" doesn't mean "no extensibility". You can add your

See [Creating A Ruleset](#creating-a-ruleset).

### How do I suppress an error?
### How do I suppress an error for a line/block/file?

> This is meant primarily as an escape latch for the rare cases when **ktlint** is not able
to produce the correct result (please report any such instances using [GitHub Issues](https://github.com/pinterest/ktlint/issues)).
Expand All @@ -425,6 +426,9 @@ To disable all checks:
import package.* // ktlint-disable
```

### How do I globally disable a rule?
See the [EditorConfig section](https://github.com/pinterest/ktlint#editorconfig) for details on how to use the `disabled_rules` property.

## Development

> Make sure to read [CONTRIBUTING.md](CONTRIBUTING.md).
Expand Down

0 comments on commit c518d8d

Please # to comment.