Skip to content

Releases: google/google-java-format

1.10.0

31 Mar 22:08
Compare
Choose a tag to compare

google-java-format now supports running on JDK 16. The following flags are required when running on JDK 16, due to JEP 396: Strongly Encapsulate JDK Internals by Default:

java \
  --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
  --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
  --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
  --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
  --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
  -jar google-java-format-1.10.0-all-deps.jar T...

Other changes:

  • Handle extra ; in import lists (b769e81)
  • Add missing space between unary - and negative literals (6da736d)
  • Fix an off-by-one issue on the reflowing of string literals (b9fd8d2)

1.9

24 Aug 17:25
Compare
Choose a tag to compare
1.9
  • Add support for yield statements (#489)
  • Fix a crash in expression switches (#477)

1.8

01 May 20:31
Compare
Choose a tag to compare
1.8

Changes:

  • The minimum supported runtime version is now JDK 11.
  • Initial support for Java 14 language features, including preview features. (Only available when running the formatter on JDK 14 or newer.)
  • Flag control of javadoc formatting (--skip-javadoc-formatting).
  • Reflowing string literals that exceed the column limit.

Fixes

  • Handle unary negation when formatting tabular arguments (#400)
  • Remove trailing tabs from comments to make behavior idempotent (#422)
  • Fix a crash on c-style arrays in parameters (#374)
  • Fix import reorderer to handle single-line-comments in imports (f246638)
  • Handle double semi-colons after package statements (5e114ca)

1.7

09 Jan 23:47
Compare
Choose a tag to compare
1.7

Changes

  • Treat expressions ending in .stream() as a syntactic unit
  • Keep going if a file cannot be read, and report a non-zero exit status, similar to handling of syntax errors.

1.6

25 May 01:39
Compare
Choose a tag to compare
1.6

Features

  • Don't format annotations as block-like constructs (#159)
  • Add horizontal whitespace between varargs specifiers and type annotations (#282)
  • Don't add spaces to //$NON-NLS-x$ comments (#221)
  • Unify breaks between type parameters
  • Add support for --assume-filename

Incompatible changes

  • Version 1.6.1 of the IntelliJ plugin now notifies if google-java-format hasn't been configured for new projects. (Version 1.6.0 of the plugin enabled the formatter by default, but this behaviour was reverted in 1.6.1. See #290.)

Bug Fixes

  • Don't crash on empty enum declarations (#281)
  • Don't crash on unusual line separators (#201)

1.5

18 Oct 22:39
Compare
Choose a tag to compare
1.5

Features:

  • Improved support for checking if files are already formatted: --dry-run prints the paths of files whose contents would change if the formatter were run normally, and --set-exit-if-changed returns exit code 1 if there are any formatting changes. (#105)
  • Added support for javac-style @params files. (#77).

Bug fixes:

  • Improved partial formatting within switch statements (c63984a).
  • Improved import ordering logic to handle imports not separated by newlines (7225e17, 8364f6c).

1.4

29 Aug 16:01
Compare
Choose a tag to compare
1.4

1.4 release

  • initial support for Java 9 language features (effectively final variables in try-with-resources, module-info.java files).
  • Remove java.lang imports
  • Handle varargs lambda parameters
  • Wrap line comments that exceed the column limit
  • Ensure leading spaces are present in line comments (//comment -> // comment).
  • Wrap before /*parameter=*/ comments.
  • Handle type-annotated varargs.

1.3

10 Feb 01:31
Compare
Choose a tag to compare
1.3

1.3 release

1.2

13 Jan 01:13
Compare
Choose a tag to compare
1.2

1.2 release

1.1

03 Oct 17:56
Compare
Choose a tag to compare
1.1

1.1 release