Skip to content

Latest commit

 

History

History
215 lines (144 loc) · 5.93 KB

CHANGELOG.md

File metadata and controls

215 lines (144 loc) · 5.93 KB

Changelog

v0.13.0 (19.04.2021)

1.0 Release Candidate 1

Fixes

  • Preserve newline in spec without guards #273 #275
  • Preserve comments in receive after after #271
  • Fix end_location in raw_string anno #274
  • Fix pre dot comments in function #267
  • Better error reporting for not_equivalent and tests #269

v0.12.0 (30.03.2021)

Tuples that are not tagged tuples are formatted as lists

Enhancements

  • Break untagged tuples #259
  • rewrite some binary operators using associativity #262 #264 #265
  • next break fits for dolon #246

Fixes

  • double indent pattern matches in clauses #247
  • fix parsing of bad records #261

v0.11.1 (10.03.2021)

Support macros in type and spec names

Enhancements

  • Added shorthand -i for --insert-pragma #256

Fixes

  • Support macros in type and spec names #254

v0.11.0 (12.02.2021)

List comprehensions revisited

Enhancements

  • Updated formatting for list comprehensions #249
  • preserve newline after's arrow #245
  • preserve newlines after equal #248

v0.10.0 (22.01.2021)

Preserve a single empty line between attributes

Enhancements

  • Preserve a single empty line between attributes #239
  • Only write to file the formatted code when it is different to the current one #235
  • Export the format_nodes function for symmetry with read_nodes function.

Fixes

  • no newline after spec #224
  • preserve breaks after dolon #225
  • fix: Crash formatting qlc_SUITE in OTP #240
  • Preserve newlines between separated guards #241
  • Adjust AST for try clauses such that they do not move comments around #242

v0.9.0 (4.11.2020)

Default files and exclude_files option

Enhancements

  • Provide default value for --files when none is provided #204
  • Add --exclude-files flag to manually exclude some files from the formatter #213
  • Warn on overly long lines, given --verbose flag #209

Fixes

  • Comments below shebang are pull upwards to support emulator args #207
  • Bind Pipe Tighter in parser #206
  • Fix record field type end location in parser #201
  • Properly handle comments inside concats #216
  • Properly handle trailing comments followed by post-comments #217
  • Preserve comments inside fun type arg list #218

v0.8.0 (5.10.2020)

Better rebar integration

Enhancements

  • Better rebar integration #196 #183 #197 #200
  • Change formatting of pipes to prefixes #191 #194

Fixes

  • Parse attributes with empty parens #189
  • Do not crash with comments before a dot #184
  • Do not crash with post comments in catch #195

v0.7.0 (17.09.2020)

--check flag now provides exit code 1, if files are not formatted.

Enhancements

  • --check flag #123

Bug fixes

  • Preserve newline in list & binary comprehensions #116
  • Preserve new lines in guards and specs #115
  • Make multi-line tuples & binaries next-break-fits #117
  • Use deterministic compiler option for releasing precompiled escript #127
  • Do not crash when formatting an empty file #130
  • Relax map syntax #137
  • Support macros with parens in concat #138

v0.6.0 (18.08.2020)

Configurable print-width and erlfmt-ignore comment

Enhancements

  • print-width is now configurable as a command line parameter #99
  • % erlfmt-ignore comment ignores the next form and does not format it #98
  • files are now formatted in parallel #101

Bug fixes

  • Preserve empty lines around if-like attributes #97
  • Don't break multiple clauses with comments #96
  • Make try and after always introduce a newline #107
  • Do not preserve operator newline with a next break fits expression #104
  • New format for multiline fun types #110

v0.5.1 (05.08.2020)

Bug fixes

  • correctly handle type unions inside of multiline containers (such as specs) #90

v0.5.0 (05.08.2020)

Enhancements

  • new --insert-pragma CLI option adds the @format pragma to all the formatted files that didn't have it before #75
  • preserve empty lines in containers #83

Bug fixes

  • correctly handle .script files like rebar.config.script #79
  • export_type is formatted the same as export #86
  • print type unions either all on single line or each type separated by | on a separate line #84

v0.4.2 (24.07.2020)

Bug Fixes

  • --require-pragma combined with stdio for files with high-codepoint unicode

v0.4.1 (23.07.2020)

Bug Fixes

  • Fix dialyzer
  • --require-pragma for single-form and non-unicode files
  • Compiles with rebar3 3.14

v0.4.0 (23.07.2020)

Enhancements

  • require-pragma prints out original file instead of formatting if no pragma is found. This makes it easier to integrate into a CI pipeline. #57
  • Better exceptions #58
  • Group imports and exports with similar names on the same line. #65
  • Add format_string as a library call. #66

Bug Fixes

  • Preserve empty lines between attributes #67
  • Remove space between single clause fun and parens #68

v0.3.0 (09.07.2020)

Enhancements

  • Allow reading from stdin with command $ erlfmt - #46
  • Support Erlang version 23.0

Bug Fixes

  • Remove trailing spaces from comments #48
  • Make position of return type in specs consistent #47
  • Fix some parser failures in OTP #39
  • Concat converted from a string also forces breaks #43

v0.2.0 (03.06.2020)

New formatting algebra

Switched out formatting algorithm. This is now based on Elixir's greedy algorithm, instead of a lazy algorithm. This fixes performance issues with laying out larger tuples.

Bug Fixes

  • Preserve empty lines between comments and expressions
  • Stop adding unnecessary empty lines between attributes
  • Stop indenting list and binary comprehensions unnecessarily
  • Fix formatting multiple files from command line
  • Ensure all parsable OTP files format cleanly

Enhancements

  • Support formatting escripts and "consult" files like rebar.config
  • Add --require-pragma flag to only format files annotated with @format

v0.1.0 (06.04.2020)

Initial release