566 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			566 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
# Change Log
 | 
						|
# All notable changes to this project will be documented in this file.
 | 
						|
# This project adheres to [Semantic Versioning](http://semver.org/).
 | 
						|
 | 
						|
## [0.23.0] UNRELEASED
 | 
						|
### Added
 | 
						|
- `DISABLE_ENDING_COMMA_HEURISTIC` is a new knob to disable the heuristic which
 | 
						|
  splits a list onto separate lines if the list is comma-terminated.
 | 
						|
### Fixed
 | 
						|
- There's no need to increase N_TOKENS. In fact, it causes other things which
 | 
						|
  use lib2to3 to fail if called from YAPF.
 | 
						|
- Change the exception message instead of creating a new one that's just a
 | 
						|
  clone.
 | 
						|
 | 
						|
## [0.22.0] 2018-05-15
 | 
						|
### Added
 | 
						|
- The `BLANK_LINE_BEFORE_MODULE_DOCSTRING` knob adds a blank line before a
 | 
						|
  module's docstring.
 | 
						|
- The `SPLIT_ALL_COMMA_SEPARATED_VALUES` knob causes all lists, tuples, dicts
 | 
						|
  function defs, etc... to split on all values, instead of maximizing the
 | 
						|
  number of elements on each line, when not able to fit on a single line.
 | 
						|
### Changed
 | 
						|
- Improve the heuristic we use to determine when to split at the start of a
 | 
						|
  function call. First check whether or not all elements can fit in the space
 | 
						|
  without wrapping. If not, then we split.
 | 
						|
- Check all of the elements of a tuple. Similarly to how arguments are
 | 
						|
  analyzed. This allows tuples to be split more rationally.
 | 
						|
- Adjust splitting penalties around arithmetic operators so that the code can
 | 
						|
  flow more freely. The code must flow!
 | 
						|
- Try to meld an argument list's closing parenthesis to the last argument.
 | 
						|
### Fixed
 | 
						|
- Attempt to determine if long lambdas are allowed. This can be done on a
 | 
						|
  case-by-case basis with a "pylint" disable comment.
 | 
						|
- A comment before a decorator isn't part of the decorator's line.
 | 
						|
- Only force a new wrapped line after a comment in a decorator when it's the
 | 
						|
  first token in the decorator.
 | 
						|
 | 
						|
## [0.21.0] 2018-03-18
 | 
						|
### Added
 | 
						|
- Introduce a new option of formatting multiline literals. Add
 | 
						|
  `SPLIT_BEFORE_CLOSING_BRACKET` knob to control whether closing bracket should
 | 
						|
  get their own line.
 | 
						|
- Added `CONTINUATION_ALIGN_STYLE` knob to choose continuation alignment style
 | 
						|
  when `USE_TABS` is enabled.
 | 
						|
- Add 'BLANK_LINES_AROUND_TOP_LEVEL_DEFINITION' knob to control the number
 | 
						|
  of blank lines between top-level function and class definitions.
 | 
						|
### Fixed
 | 
						|
- Don't split ellipses.
 | 
						|
 | 
						|
## [0.20.2] 2018-02-12
 | 
						|
### Changed
 | 
						|
- Improve the speed at which files are excluded by ignoring them earlier.
 | 
						|
- Allow dictionaries to stay on a single line if they only have one entry
 | 
						|
### Fixed
 | 
						|
- Use tabs when constructing a continuation line when `USE_TABS` is enabled.
 | 
						|
- A dictionary entry may not end in a colon, but may be an "unpacking"
 | 
						|
  operation: `**foo`. Take that into accound and don't split after the
 | 
						|
  unpacking operator.
 | 
						|
 | 
						|
## [0.20.1] 2018-01-13
 | 
						|
### Fixed
 | 
						|
- Don't treat 'None' as a keyword if calling a function on it, like '__ne__()'.
 | 
						|
- use_tabs=True always uses a single tab per indentation level; spaces are
 | 
						|
  used for aligning vertically after that.
 | 
						|
- Relax the split of a paren at the end of an if statement. With
 | 
						|
  `dedent_closing_brackets` option requires that it be able to split there.
 | 
						|
 | 
						|
## [0.20.0] 2017-11-14
 | 
						|
### Added
 | 
						|
- Improve splitting of comprehensions and generators. Add
 | 
						|
  `SPLIT_PENALTY_COMPREHENSION` knob to control preference for keeping
 | 
						|
  comprehensions on a single line and `SPLIT_COMPLEX_COMPREHENSION` to enable
 | 
						|
  splitting each clause of complex comprehensions onto its own line.
 | 
						|
### Changed
 | 
						|
- Take into account a named function argument when determining if we should
 | 
						|
  split before the first argument in a function call.
 | 
						|
- Split before the first argument in a function call if the arguments contain a
 | 
						|
  dictionary that doesn't fit on a single line.
 | 
						|
- Improve splitting of elements in a tuple. We want to split if there's a
 | 
						|
  function call in the tuple that doesn't fit on the line.
 | 
						|
### Fixed
 | 
						|
- Enforce spaces between ellipses and keywords.
 | 
						|
- When calculating the split penalty for a "trailer", process the child nodes
 | 
						|
  afterwards because their penalties may change. For example if a list
 | 
						|
  comprehension is an argument.
 | 
						|
- Don't enforce a split before a comment after the opening of a container if it
 | 
						|
  doesn't it on the current line. We try hard not to move such comments around.
 | 
						|
- Use a TextIOWrapper when reading from stdin in Python3. This is necessary for
 | 
						|
  some encodings, like cp936, used on Windows.
 | 
						|
- Remove the penalty for a split before the first argument in a function call
 | 
						|
  where the only argument is a generator expression.
 | 
						|
 | 
						|
## [0.19.0] 2017-10-14
 | 
						|
### Added
 | 
						|
- Added `SPLIT_BEFORE_EXPRESSION_AFTER_OPENING_PAREN` that enforces a split
 | 
						|
  after the opening paren of an expression that's surrounded by parens.
 | 
						|
### Changed
 | 
						|
- Split before the ending bracket of a comma-terminated tuple / argument list
 | 
						|
  if it's not a single element tuple / arg list.
 | 
						|
### Fixed
 | 
						|
- Prefer to split after a comma in an argument list rather than in the middle
 | 
						|
  of an argument.
 | 
						|
- A non-multiline string may have newlines if it contains continuation markers
 | 
						|
  itself. Don't add a newline after the string when retaining the vertical
 | 
						|
  space.
 | 
						|
- Take into account the "async" keyword when determining if we must split
 | 
						|
  before the first argument.
 | 
						|
- Increase affinity for "atom" arguments in function calls. This helps prevent
 | 
						|
  lists from being separated when they don't need to be.
 | 
						|
- Don't place a dictionary argument on its own line if it's the last argument
 | 
						|
  in the function call where that function is part of a builder-style call.
 | 
						|
- Append the "var arg" type to a star in a star_expr.
 | 
						|
 | 
						|
## [0.18.0] 2017-09-18
 | 
						|
### Added
 | 
						|
- Option `ALLOW_SPLIT_BEFORE_DICT_VALUE` allows a split before a value. If
 | 
						|
  False, then it won't be split even if it goes over the column limit.
 | 
						|
### Changed
 | 
						|
- Use spaces around the '=' in a typed name argument to align with 3.6 syntax.
 | 
						|
### Fixed
 | 
						|
- Allow semicolons if the line is disabled.
 | 
						|
- Fix issue where subsequent comments at decreasing levels of indentation
 | 
						|
  were improperly aligned and/or caused output with invalid syntax.
 | 
						|
- Fix issue where specifying a line range removed a needed line before a
 | 
						|
  comment.
 | 
						|
- Fix spacing between unary operators if one is 'not'.
 | 
						|
- Indent the dictionary value correctly if there's a multi-line key.
 | 
						|
- Don't remove needed spacing before a comment in a dict when in "chromium"
 | 
						|
  style.
 | 
						|
- Increase indent for continuation line with same indent as next logical line
 | 
						|
  with 'async with' statement.
 | 
						|
 | 
						|
## [0.17.0] 2017-08-20
 | 
						|
### Added
 | 
						|
- Option `NO_SPACES_AROUND_SELECTED_BINARY_OPERATORS` prevents adding spaces
 | 
						|
  around selected binary operators, in accordance with the current style guide.
 | 
						|
### Changed
 | 
						|
- Adjust blank lines on formatting boundaries when using the `--lines` option.
 | 
						|
- Return 1 if a diff changed the code. This is in line with how GNU diff acts.
 | 
						|
- Add `-vv` flag to print out file names as they are processed
 | 
						|
### Fixed
 | 
						|
- Corrected how `DEDENT_CLOSING_BRACKETS` and `COALESCE_BRACKETS` interacted.
 | 
						|
- Fix return value to return a boolean.
 | 
						|
- Correct vim plugin not to clobber edited code if yapf returns an error.
 | 
						|
- Ensured comma-terminated tuples with multiple elements are split onto separate lines.
 | 
						|
 | 
						|
## [0.16.3] 2017-07-13
 | 
						|
### Changed
 | 
						|
- Add filename information to a ParseError exception.
 | 
						|
### Fixed
 | 
						|
- A token that ends in a continuation marker may have more than one newline in
 | 
						|
  it, thus changing its "lineno" value. This can happen if multiple
 | 
						|
  continuation markers are used with no intervening tokens. Adjust the line
 | 
						|
  number to account for the lines covered by those markers.
 | 
						|
- Make sure to split after a comment even for "pseudo" parentheses.
 | 
						|
 | 
						|
## [0.16.2] 2017-05-19
 | 
						|
### Fixed
 | 
						|
- Treat expansion operators ('*', '**') in a similar way to function calls to
 | 
						|
  avoid splitting directly after the opening parenthesis.
 | 
						|
- Increase the penalty for splitting after the start of a tuple.
 | 
						|
- Increase penalty for excess characters.
 | 
						|
- Check that we have enough children before trying to access them all.
 | 
						|
- Remove trailing whitespaces from comments.
 | 
						|
- Split before a function call in a list if the full list isn't able to fit on
 | 
						|
  a single line.
 | 
						|
- Trying not to split around the '=' of a named assign.
 | 
						|
- Changed split before the first argument behavior to ignore compound
 | 
						|
  statements like if and while, but not function declarations.
 | 
						|
- Changed coalesce brackets not to line split before closing bracket.
 | 
						|
 | 
						|
## [0.16.1] 2017-03-22
 | 
						|
### Changed
 | 
						|
- Improved performance of cloning the format decision state object. This
 | 
						|
  improved the time in one *large* case from 273.485s to 234.652s.
 | 
						|
- Relax the requirement that a named argument needs to be on one line. Going
 | 
						|
  over the column limit is more of an issue to pylint than putting named args
 | 
						|
  on multiple lines.
 | 
						|
- Don't make splitting penalty decisions based on the original formatting. This
 | 
						|
  can and does lead to non-stable formatting, where yapf will reformat the same
 | 
						|
  code in different ways.
 | 
						|
### Fixed
 | 
						|
- Ensure splitting of arguments if there's a named assign present.
 | 
						|
- Prefer to coalesce opening brackets if it's not at the beginning of a
 | 
						|
  function call.
 | 
						|
- Prefer not to squish all of the elements in a function call over to the
 | 
						|
  right-hand side. Split the arguments instead.
 | 
						|
- We need to split a dictionary value if the first element is a comment anyway,
 | 
						|
  so don't force the split here. It's forced elsewhere.
 | 
						|
- Ensure tabs are used for continued indentation when USE_TABS is True.
 | 
						|
 | 
						|
## [0.16.0] 2017-02-05
 | 
						|
### Added
 | 
						|
- The `EACH_DICT_ENTRY_ON_SEPARATE_LINE` knob indicates that each dictionary
 | 
						|
  entry should be in separate lines if the full dictionary isn't able to fit on
 | 
						|
  a single line.
 | 
						|
- The `SPLIT_BEFORE_DICT_SET_GENERATOR` knob splits before the `for` part of a
 | 
						|
  dictionary/set generator.
 | 
						|
- The `BLANK_LINE_BEFORE_CLASS_DOCSTRING` knob adds a blank line before a
 | 
						|
  class's docstring.
 | 
						|
- The `ALLOW_MULTILINE_DICTIONARY_KEYS` knob allows dictionary keys to span
 | 
						|
  more than one line.
 | 
						|
### Fixed
 | 
						|
- Split before all entries in a dict/set or list maker when comma-terminated,
 | 
						|
  even if there's only one entry.
 | 
						|
- Will now try to set O_BINARY mode on stdout under Windows and Python 2.
 | 
						|
- Avoid unneeded newline transformation when writing formatted code to
 | 
						|
  output on (affects only Python 2)
 | 
						|
 | 
						|
## [0.15.2] 2017-01-29
 | 
						|
### Fixed
 | 
						|
- Don't perform a global split when a named assign is part of a function call
 | 
						|
  which itself is an argument to a function call. I.e., don't cause 'a' to
 | 
						|
  split here:
 | 
						|
 | 
						|
      func(a, b, c, d(x, y, z=42))
 | 
						|
- Allow splitting inside a subscript if it's a logical or bitwise operating.
 | 
						|
  This should keep the subscript mostly contiguous otherwise.
 | 
						|
 | 
						|
## [0.15.1] 2017-01-21
 | 
						|
### Fixed
 | 
						|
- Don't insert a space between a type hint and the '=' sign.
 | 
						|
- The '@' operator can be used in Python 3 for matrix multiplication. Give the
 | 
						|
  '@' in the decorator a DECORATOR subtype to distinguish it.
 | 
						|
- Encourage the formatter to split at the beginning of an argument list instead
 | 
						|
  of in the middle. Especially if the middle is an empty parameter list. This
 | 
						|
  adjusts the affinity of binary and comparison operators. In particular, the
 | 
						|
  "not in" and other such operators don't want to have a split after it (or
 | 
						|
  before it) if at all possible.
 | 
						|
 | 
						|
## [0.15.0] 2017-01-12
 | 
						|
### Added
 | 
						|
- Keep type annotations intact as much as possible. Don't try to split the over
 | 
						|
  multiple lines.
 | 
						|
### Fixed
 | 
						|
- When determining if each element in a dictionary can fit on a single line, we
 | 
						|
  are skipping dictionary entries. However, we need to ignore comments in our
 | 
						|
  calculations and implicitly concatenated strings, which are already placed on
 | 
						|
  separate lines.
 | 
						|
- Allow text before a "pylint" comment.
 | 
						|
- Also allow text before a "yapf: (disable|enable)" comment.
 | 
						|
 | 
						|
## [0.14.0] 2016-11-21
 | 
						|
### Added
 | 
						|
- formatting can be run in parallel using the "-p" / "--parallel" flags.
 | 
						|
### Fixed
 | 
						|
- "not in" and "is not" should be subtyped as binary operators.
 | 
						|
- A non-Node dictionary value may have a comment before it. In those cases, we
 | 
						|
  want to avoid encompassing only the comment in pseudo parens. So we include
 | 
						|
  the actual value as well.
 | 
						|
- Adjust calculation so that pseudo-parentheses don't count towards the total
 | 
						|
  line length.
 | 
						|
- Don't count a dictionary entry as not fitting on a single line in a
 | 
						|
  dictionary.
 | 
						|
- Don't count pseudo-parentheses in the length of the line.
 | 
						|
 | 
						|
## [0.13.2] 2016-10-22
 | 
						|
### Fixed
 | 
						|
- REGRESSION: A comment may have a prefix with newlines in it. When calculating
 | 
						|
  the prefix indent, we cannot take the newlines into account. Otherwise, the
 | 
						|
  comment will be misplaced causing the code to fail.
 | 
						|
 | 
						|
## [0.13.1] 2016-10-17
 | 
						|
### Fixed
 | 
						|
- Correct emitting a diff that was accidentally removed.
 | 
						|
 | 
						|
## [0.13.0] 2016-10-16
 | 
						|
### Added
 | 
						|
- Added support to retain the original line endings of the source code.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Functions or classes with comments before them were reformatting the comments
 | 
						|
  even if the code was supposed to be ignored by the formatter. We now don't
 | 
						|
  adjust the whitespace before a function's comment if the comment is a
 | 
						|
  "disabled" line. We also don't count "# yapf: {disable|enable}" as a disabled
 | 
						|
  line, which seems logical.
 | 
						|
- It's not really more readable to split before a dictionary value if it's part
 | 
						|
  of a dictionary comprehension.
 | 
						|
- Enforce two blank lines after a function or class definition, even before a
 | 
						|
  comment. (But not between a decorator and a comment.) This is related to PEP8
 | 
						|
  error E305.
 | 
						|
- Remove O(n^2) algorithm from the line disabling logic.
 | 
						|
 | 
						|
## [0.12.2] 2016-10-09
 | 
						|
### Fixed
 | 
						|
- If `style.SetGlobalStyle(<create pre-defined style>)` was called and then
 | 
						|
  `yapf_api.FormatCode` was called, the style set by the first call would be
 | 
						|
  lost, because it would return the style created by `DEFAULT_STYLE_FACTORY`,
 | 
						|
  which is set to PEP8 by default. Fix this by making the first call set which
 | 
						|
  factory we call as the "default" style.
 | 
						|
- Don't force a split before non-function call arguments.
 | 
						|
- A dictionary being used as an argument to a function call and which can exist
 | 
						|
  on a single line shouldn't be split.
 | 
						|
- Don't rely upon the original line break to determine if we should split
 | 
						|
  before the elements in a container. Especially split if there's a comment in
 | 
						|
  the container.
 | 
						|
- Don't add spaces between star and args in a lambda expression.
 | 
						|
- If a nested data structure terminates in a comma, then split before the first
 | 
						|
  element, but only if there's more than one element in the list.
 | 
						|
 | 
						|
## [0.12.1] 2016-10-02
 | 
						|
### Changed
 | 
						|
- Dictionary values will be placed on the same line as the key if *all* of the
 | 
						|
  elements in the dictionary can be placed on one line. Otherwise, the
 | 
						|
  dictionary values will be placed on the next line.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Prefer to split before a terminating r-paren in an argument list if the line
 | 
						|
  would otherwise go over the column limit.
 | 
						|
- Split before the first key in a dictionary if the dictionary cannot fit on a
 | 
						|
  single line.
 | 
						|
- Don't count "pylint" comments when determining if the line goes over the
 | 
						|
  column limit.
 | 
						|
- Don't count the argument list of a lambda as a named assign in a function
 | 
						|
  call.
 | 
						|
 | 
						|
## [0.12.0] 2016-09-25
 | 
						|
### Added
 | 
						|
- Support formatting of typed names. Typed names are formatted a similar way to
 | 
						|
  how named arguments are formatted, except that there's a space after the
 | 
						|
  colon.
 | 
						|
- Add a knob, 'SPACES_AROUND_DEFAULT_OR_NAMED_ASSIGN', to allow adding spaces
 | 
						|
  around the assign operator on default or named assigns.
 | 
						|
 | 
						|
## Changed
 | 
						|
- Turn "verification" off by default for external APIs.
 | 
						|
- If a function call in an argument list won't fit on the current line but will
 | 
						|
  fit on a line by itself, then split before the call so that it won't be split
 | 
						|
  up unnecessarily.
 | 
						|
 | 
						|
## Fixed
 | 
						|
- Don't add space after power operator if the next operator's a unary operator.
 | 
						|
 | 
						|
## [0.11.1] 2016-08-17
 | 
						|
### Changed
 | 
						|
- Issue #228: Return exit code 0 on success, regardless of whether files were
 | 
						|
  changed.  (Previously, 0 meant success with no files
 | 
						|
  modified, and 2 meant success with at least one file modified.)
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Enforce splitting each element in a dictionary if comma terminated.
 | 
						|
- It's okay to split in the middle of a dotted name if the whole expression is
 | 
						|
  going to go over the column limit.
 | 
						|
- Asynchronous functions were going missing if they were preceded by a comment
 | 
						|
  (a what? exactly). The asynchronous function processing wasn't taking the
 | 
						|
  comment into account and thus skipping the whole function.
 | 
						|
- The splitting of arguments when comma terminated had a conflict. The split
 | 
						|
  penalty of the closing bracket was set to the maximum, but it shouldn't be if
 | 
						|
  the closing bracket is preceded by a comma.
 | 
						|
 | 
						|
## [0.11.0] 2016-07-17
 | 
						|
### Added
 | 
						|
- The COALESCE_BRACKETS knob prevents splitting consecutive brackets when
 | 
						|
  DEDENT_CLOSING_BRACKETS is set.
 | 
						|
- Don't count "pylint" directives as exceeding the column limit.
 | 
						|
 | 
						|
### Changed
 | 
						|
- We split all of the arguments to a function call if there's a named argument.
 | 
						|
  In this case, we want to split after the opening bracket too. This makes
 | 
						|
  things look a bit better.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- When retaining format of a multiline string with Chromium style, make sure
 | 
						|
  that the multiline string doesn't mess up where the following comma ends up.
 | 
						|
- Correct for when 'lib2to3' smooshes comments together into the same DEDENT
 | 
						|
  node.
 | 
						|
 | 
						|
## [0.10.0] 2016-06-14
 | 
						|
### Added
 | 
						|
- Add a knob, 'USE_TABS', to allow using tabs for indentation.
 | 
						|
 | 
						|
### Changed
 | 
						|
- Performance enhancements.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Don't split an import list if it's not surrounded by parentheses.
 | 
						|
 | 
						|
## [0.9.0] 2016-05-29
 | 
						|
### Added
 | 
						|
- Added a knob (SPLIT_PENALTY_BEFORE_IF_EXPR) to adjust the split penalty
 | 
						|
  before an if expression. This allows the user to place a list comprehension
 | 
						|
  all on one line.
 | 
						|
- Added a knob (SPLIT_BEFORE_FIRST_ARGUMENT) that encourages splitting before
 | 
						|
  the first element of a list of arguments or parameters if they are going to
 | 
						|
  be split anyway.
 | 
						|
- Added a knob (SPLIT_ARGUMENTS_WHEN_COMMA_TERMINATED) splits arguments to a
 | 
						|
  function if the list is terminated by a comma.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Don't split before a first element list argument as we would before a first
 | 
						|
  element function call.
 | 
						|
- Don't penalize when we must split a line.
 | 
						|
- Allow splitting before the single argument in a function call.
 | 
						|
 | 
						|
## [0.8.2] 2016-05-21
 | 
						|
### Fixed
 | 
						|
- Prefer not to split after the opening of a subscript.
 | 
						|
- Don't add space before the 'await' keyword if it's preceded by an opening
 | 
						|
  paren.
 | 
						|
- When we're setting the split penalty for a continuous list, we don't want to
 | 
						|
  mistake a comment at the end of that list as part of the list.
 | 
						|
- When calculating blank lines, don't assume the last seen object was a class
 | 
						|
  or function when we're in a class or function.
 | 
						|
- Don't count the closing scope when determining if the current scope is the
 | 
						|
  last scope on the line.
 | 
						|
 | 
						|
## [0.8.1] 2016-05-18
 | 
						|
### Fixed
 | 
						|
- 'SPLIT_BEFORE_LOGICAL_OPERATOR' wasn't working correctly. The penalty was
 | 
						|
  being set incorrectly when it was part of a larger construct.
 | 
						|
- Don't separate a keyword, like "await", from a left paren.
 | 
						|
- Don't rely upon the original tokens' line number to determine if we should
 | 
						|
  perform splitting in Facebook mode. The line number isn't the line number of
 | 
						|
  the reformatted token, but the line number where it was in the original code.
 | 
						|
  Instead, we need to carefully determine if the line is liabel to be split and
 | 
						|
  act accordingly.
 | 
						|
 | 
						|
## [0.8.0] 2016-05-10
 | 
						|
### Added
 | 
						|
- Add a knob, 'SPACES_AROUND_POWER_OPERATOR', to allow adding spaces around the
 | 
						|
  power operator.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- There shouldn't be a space between a decorator and an intervening comment.
 | 
						|
- If we split before a bitwise operator, then we assume that the programmer
 | 
						|
  knows what they're doing, more or less, and so we enforce a split before said
 | 
						|
  operator if one exists in the original program.
 | 
						|
- Strengthen the bond between a keyword and value argument.
 | 
						|
- Don't add a blank line after a multiline string.
 | 
						|
- If the "for" part of a list comprehension can exist on the starting line
 | 
						|
  without going over the column limit, then let it remain there.
 | 
						|
 | 
						|
## [0.7.1] 2016-04-21
 | 
						|
### Fixed
 | 
						|
- Don't rewrite the file if there are no changes.
 | 
						|
- Ensure the proper number of blank lines before an async function.
 | 
						|
- Split after a bitwise operator when in PEP 8 mode.
 | 
						|
- Retain the splitting within a dictionary data literal between the key and
 | 
						|
  value.
 | 
						|
- Try to keep short function calls all on one line even if they're part of a
 | 
						|
  larger series of tokens. This stops us from splitting too much.
 | 
						|
 | 
						|
## [0.7.0] 2016-04-09
 | 
						|
### Added
 | 
						|
- Support for Python 3.5.
 | 
						|
- Add 'ALLOW_MULTILINE_LAMBDAS' which allows lambdas to be formatted onto
 | 
						|
  multiple lines.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Lessen penalty for splitting before a dictionary keyword.
 | 
						|
- Formatting of trailing comments on disabled formatting lines.
 | 
						|
- Disable / enable formatting at end of multi-line comment.
 | 
						|
 | 
						|
## [0.6.3] 2016-03-06
 | 
						|
### Changed
 | 
						|
- Documentation updated.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Fix spacing of multiline comments when formatting is disabled.
 | 
						|
 | 
						|
## [0.6.2] 2015-11-01
 | 
						|
### Changed
 | 
						|
- Look at the 'setup.cfg' file to see if it contains style information for
 | 
						|
  YAPF.
 | 
						|
- Look at the '~/.config/yapf/style' file to see if it contains global style
 | 
						|
  information for YAPF.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Make lists that can fit on one line more likely to stay together.
 | 
						|
- Correct formatting of '*args' and '**kwargs' when there are default values in
 | 
						|
  the argument list.
 | 
						|
 | 
						|
## [0.6.1] 2015-10-24
 | 
						|
### Fixed
 | 
						|
- Make sure to align comments in data literals correctly. Also make sure we
 | 
						|
  don't count a "#." in a string as an i18n comment.
 | 
						|
- Retain proper vertical spacing before comments in a data literal.
 | 
						|
- Make sure that continuations from a compound statement are distinguished from
 | 
						|
  the succeeding line.
 | 
						|
- Ignore preceding comments when calculating what is a "dictonary maker".
 | 
						|
- Add a small penalty for splitting before a closing bracket.
 | 
						|
- Ensure that a space is enforced after we remove a pseudo-paren that's between
 | 
						|
  two names, keywords, numbers, etc.
 | 
						|
- Increase the penalty for splitting after a pseudo-paren. This could lead to
 | 
						|
  less readable code in some circumstances.
 | 
						|
 | 
						|
## [0.6.0] 2015-10-18
 | 
						|
### Added
 | 
						|
- Add knob to indent the dictionary value if there is a split before it.
 | 
						|
 | 
						|
### Changed
 | 
						|
- No longer check that a file is a "Python" file unless the '--recursive' flag
 | 
						|
  is specified.
 | 
						|
- No longer allow the user to specify a directory unless the '--recursive' flag
 | 
						|
  is specified.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- When determining if we should split a dictionary's value to a new line, use
 | 
						|
  the longest entry instead of the total dictionary's length. This allows the
 | 
						|
  formatter to reformat the dictionary in a more consistent manner.
 | 
						|
- Improve how list comprehensions are formatted. Make splitting dependent upon
 | 
						|
  whether the "comp_for" or "comp_if" goes over the column limit.
 | 
						|
- Don't over indent if expression hanging indents if we expect to dedent the
 | 
						|
  closing bracket.
 | 
						|
- Improve splitting heuristic when the first argument to a function call is
 | 
						|
  itself a function call with arguments. In cases like this, the remaining
 | 
						|
  arguments to the function call would look badly aligned, even though they are
 | 
						|
  techincally correct (the best kind of correct!).
 | 
						|
- Improve splitting heuristic more so that if the first argument to a function
 | 
						|
  call is a data literal that will go over the column limit, then we want to
 | 
						|
  split before it.
 | 
						|
- Remove spaces around '**' operator.
 | 
						|
- Retain formatting of comments in the middle of an expression.
 | 
						|
- Don't add a newline to an empty file.
 | 
						|
- Over indent a function's parameter list if it's not distinguished from the
 | 
						|
  body of the function.
 | 
						|
 | 
						|
## [0.5.0] 2015-10-11
 | 
						|
### Added
 | 
						|
- Add option to exclude files/directories from formatting.
 | 
						|
- Add a knob to control whether import names are split after the first '('.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Indent the continuation of an if-then statement when it's not distinguished
 | 
						|
  from the body of the if-then.
 | 
						|
- Allow for sensible splitting of array indices where appropriate.
 | 
						|
- Prefer to not split before the ending bracket of an atom. This produces
 | 
						|
  better code in most cases.
 | 
						|
- Corrected how horizontal spaces were presevered in a disabled region.
 | 
						|
 | 
						|
## [0.4.0] 2015-10-07
 | 
						|
### Added
 | 
						|
- Support for dedenting closing brackets, "facebook" style.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Formatting of tokens after a multiline string didn't retain their horizontal
 | 
						|
  spacing.
 | 
						|
 | 
						|
## [0.3.1] 2015-09-30
 | 
						|
### Fixed
 | 
						|
- Format closing scope bracket correctly when indentation size changes.
 | 
						|
 | 
						|
## [0.3.0] 2015-09-20
 | 
						|
### Added
 | 
						|
- Return a 2 if the source changed, 1 on error, and 0 for no change.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Make sure we format if the "lines" specified are in the middle of a
 | 
						|
  statement.
 | 
						|
 | 
						|
## [0.2.9] - 2015-09-13
 | 
						|
### Fixed
 | 
						|
- Formatting of multiple files. It was halting after formatting the first file.
 | 
						|
 | 
						|
## [0.2.8] - 2015-09-12
 | 
						|
### Added
 | 
						|
- Return a non-zero exit code if the source was changed.
 | 
						|
- Add bitwise operator splitting penalty and prefer to split before bitwise
 | 
						|
  operators.
 | 
						|
 | 
						|
### Fixed
 | 
						|
- Retain vertical spacing between disabled and enabled lines.
 | 
						|
- Split only at start of named assign.
 | 
						|
- Retain comment position when formatting is disabled.
 | 
						|
- Honor splitting before or after logical ops.
 |