---
-*Contents:* **[Installation and Usage](#installation-and-usage)** |
+*Contents:* **[Installation and usage](#installation-and-usage)** |
**[The *Black* code style](#the-black-code-style)** |
**[Editor integration](#editor-integration)** |
**[Version control integration](#version-control-integration)** |
Some popular APIs, like ORMs, use call chaining. This API style is known
as a [fluent interface](https://en.wikipedia.org/wiki/Fluent_interface).
-*Black* formats those treating dots that follow a call or an indexing
+*Black* formats those by treating dots that follow a call or an indexing
operation like a very low priority delimiter. It's easier to show the
behavior than to explain it. Look at the example:
```py3
### 18.5b1 (unreleased)
+* Added `--pyi` option to force pyi-style formatting (regardless of file
+ extension, or when piping source to *Black*), and `--py36` option to force
+ allowing Py36 syntax (e.g. trailing commas after `*args` or `**kwargs`), even
+ if the file doesn't currently use any 3.6-only syntax (#249)
+
* Python grammar pickle caches are stored with the formatting caches, making
*Black* work in environments where site-packages is not user-writable (#192)
* fixed invalid code produced when standalone comments were present in a trailer
that was omitted from line splitting on a large expression (#237)
+* fixed optional parentheses being removed within `# fmt: off` sections (#224)
+
+* fixed invalid code produced when stars in very long imports were incorrectly
+ wrapped in optional parentheses (#234)
+
+* fixed unstable formatting when inline comments were moved around in
+ a trailer that was omitted from line splitting on a large expression
+ (#238)
### 18.5b0