Changelog for stylish-haskell-0.14.5.0
# CHANGELOG
- 0.14.5.0 (2023-06-23)
* #459 Support GHC 9.6 (By Michael Peyton Jones)
* #445 Default `ghc-lib` flag to True (by amesgen)
- 0.14.4.0 (2023-01-09)
* #421 Support GHC 9.4 (by Lei Zhu)
* #439 Fix NoXyz extension issues for .cabal files (by Lev Dvorkin)
* #424 Deriving alignment for enums (by Lev Dvorkin)
* #416 Support Safe/Trustworthy/Unsafe extensions
- 0.14.3.0 (2022-09-28)
* Fix parsing of NoXyz extensions
* Bump `Cabal` upper bound to 4.0
* Add option to automatically group imports (by Tikhon Jelvis)
- 0.14.2.0 (2022-04-27)
* Add a build flag to force the use of ghc-lib-parser
- 0.14.1.0 (2022-03-31)
* Unify the Editor modules, deal with overlap better
- 0.14.0.1 (2022-03-17)
* Use GHC API directly if >= 9.2.2
* Bump `bytestring` upper bound to 0.12
- 0.14.0.0 (2022-03-16)
* Port to GHC 9.2 AST (by jaspervdj)
* Case insensitive import sort (by vlatkoB)
* Fix issue with dissappearing GADT kind signatures (by Łukasz Gołębiewski)
- 0.13.0.0 (2021-09-15)
* Don't remove ticks on promoted data types (by Jim McStanton)
* Add break_only_where option (by 1Computer1)
* Keep wildcard if present in IEThingWith (by Moisés Ackerman)
* Generalise break_only_where to allow single-line module headers
(by Thomas Winant)
* Add new configuration to ModuleHeader step (by Pawel Szulc)
* Add a language pragma style "vertical_compact" (by Javran Cheng)
* Don't remove existential quantification (by Imuli)
* Add support for post qualified import formatting (by Moisés Ackerman)
* Bump `optparse-applicative` upper bound to 0.17
- 0.12.2.0 (2020-10-08)
* align: Add a new option for aligning only adjacent items (by 1Computer1)
* align: Add support for aligning MultiWayIf syntax (by 1Computer1)
* data: Fix some issues with record field padding
* module_header: Add separate_lists option
* imports: Respect separate_lists for (..) imports
* data: Make sorting deriving list optional (by Maxim Koltsov)
- 0.12.1.0 (2020-10-05)
* Bump Cabal-version to 2.4 (by Łukasz Gołębiewski)
* Fix "group" import sort with multi-line imports (by Maxim Koltsov)
- 0.12.0.0 (2020-10-02)
* Use ghc-lib-parser rather than haskell-src-exts
This patch swaps out the parsing library from `haskell-src-exts` to
`ghc-lib-parser`, which gives us better compatibility with GHC.
Because almost every module heavily used the Haskell AST provided by
`haskell-src-exts`, this was a huge effort and it would not have been
possible without Felix Mulder doing an initial port, GSoC student
Beatrice Vergani porting several other steps, and Łukasz Gołębiewski and
Paweł Szulc who helped me finish up things in the home stretch.
I've generally tried to keep styling 100% compatible with what was there
before, but some issues may have unintentionally slipped in so please
report those.
This introduces one new import styling contributed by Felix: when
wrapping import lists over multiple lines, you can repeat the module
name, e.g.:
import Control.Monad.Except as X (ExceptT (..), MonadError (..))
import Control.Monad.Except as X (runExceptT, withExceptT)
This is activated by using `import_align: repeat`.
Secondly, a new Step was added, `module_header`, which formats the
export list of a module, including the trailing `where` clause. Details
for this new step can be found in the `data/stylish-haskell.yaml`.
* Remove `semigroup` dependency for GHC >= 8.0
* Bump `strict` upper bound to 0.4
* Bump `Cabal` upper bound to 3.3 for test suite
- 0.11.0.3 (2020-08-02)
* Set default-language to Haskell2010
- 0.11.0.2 (2020-08-02)
* Bump `Cabal-version` to 1.10
- 0.11.0.1 (2020-08-02)
* Bump `aeson` upper bound to 1.6
* Bump `Cabal` upper bound to 3.3
- 0.11.0.0 (2020-02-24)
* Disable record formatting by default
* Allow more customization for record formatting (by Maxim Koltsov)
* Disable formatting of data types without records (by Maxim Koltsov)
* Add `-r` flag to recursively find Haskell files (by Akos Marton)
- 0.10.0.0 (2020-01-26)
* Switch to HsYAML library (by vijayphoenix)
* Expose `format` from main library (by Łukasz Gołębiewski)
* Support record formatting (by Łukasz Gołębiewski and Pawel Szulc)
* Allow setting `columns` to `null` to disable all wrapping (by Chris
Martin)
* Bump `haskell-src-exts` to 1.23
* New logo (by Jose Fernando García Parreño)
* Make language extension prefix configurable (by Flavio Corpa)
- 0.9.4.4 (2019-11-03)
* Bump `haskell-src-exts` to 1.22
- 0.9.4.3 (2019-10-29)
* Bump release script
* Bump `Cabal` to 3.0
- 0.9.4.2 (2019-10-29)
* Bump release script
- 0.9.4.1 (2019-10-29)
* Bump release script
- 0.9.4.0 (2019-10-29)
* Read language extensions from `.cabal` file (by Georgy Lukyanov)
- 0.9.3.1 (2019-10-08)
* Fix CircleCI configuration
- 0.9.3.0 (2019-10-08)
* Bump `optparse-applicative` to 0.15
* Don't remove page breaks in the trailing whitespace step (by Chris
Perivolaropoulos)
* Add `with_module_name` option to `list_align` for import styling (by
Rupert Horlick)
- 0.9.2.2 (2019-06-12)
* Bump `semigroups` to 0.19
* Bump `haskell-src-exts` to 1.21
- 0.9.2.1 (2019-01-02)
* Bump `aeson` to 1.4
* Bump `yaml` to 0.11
* Bump `containers` to 0.6
- 0.9.2.0 (2018-05-01)
* Support alignment of case expressions with a single guard
* Add a new step to squash multiple spaces between some elements (by Martin
Huschenbett)
- 0.9.1.1 (2018-04-26)
* Bump `aeson` to 1.3 for tests as well
- 0.9.1.0 (2018-04-26)
* Support GHC 8.4.1 by adding instance SemiGroup ImportPortion (by George
Wilson)
* Bump `aeson` to 1.3
- 0.9.0.2 (2018-01-03)
* Bump lower bound of `directory` to `1.2.3` for `getXdgDirectory`
- 0.9.0.1 (2017-12-29)
* Fix missing Extra-source-file in cabal file
- 0.9.0.0 (2017-12-26)
* Embed the default configuration
* Add platform-specific configuration paths (by Jan Tojnar)
* Bump `haskell-src-exts` to 0.20
* Avoid unpaired parenthesis when import doesn't specify any items (by
Matthew Kennerly)
* Remove shebang lines at the beginning of file (by Vaibhav Sagar)
- 0.8.1.0 (2017-06-19)
* Add `pad_module_names` option (by Yuriy Syrovetskiy)
* Add `space_surround` option to import styling (by Linus Arver)
* Bump `optparse-applicative` to 0.14
- 0.8.0.0
* Remove `MagicHash` from whitelisted language extensions, since it was
causing parsing errors (by Artyom Kazak)
* Don't leave a `#-}` hanging on the next line when `language_pragmas`
is set to `compact` and the `#-}` doesn't fit into character limit
(by Artyom Kazak)
* Deduplicate import specs (i.e. `import Foo (a, a, b)` becomes
`import Foo (a, b)`) (by Artyom Kazak)
* Take package imports into account when prettifying imports
(by Artyom Kazak)
* Bump `aeson` to 1.2
* Bump `syb` to 0.7
* Bump `HUnit` to 1.6
- 0.7.1.0
* Keep `safe` and `{-# SOURCE #-}` import annotations (by Moritz Drexl)
- 0.7.0.0
* If there's parse errors, show these and exit with code 1
* Bump `aeson` to 1.1
* Bump `directory` to 1.3
* Bump `haskell-src-exts` to 1.19
- 0.6.5.0
* Fix issue with unit records (by Mizunashi Mana)
* Bump `HUnit` to 1.5
- 0.6.4.0
* Remove `XmlSyntax` from whitelisted language extensions, since it was
causing parsing errors
- 0.6.3.0
* Bump `optparse-applicative` to 0.13.0.0
* Export Import options & add a default
* Add `list_padding: module_name` option (by Oleg Grenrus)
* Bump `aeson` to 1.0 (by Oleg Grenrus)
* Special setting for empty import lists (by Oleg Grenrus)
- 0.6.2.0
* Bump `haskell-src-exts` to 1.18
- 0.6.1.0
* Fix line patching issue in Editor
- 0.6.0.0
* Add a `simple_align` step
* Move `records` step into `simple_align`
* Use a set of default language extensions for parsing (by Langston Barrett)
* Add a newline format option (by Svyatolslav Gryaznov)
* Add more symbols from UnicodeSyntax (by Langston Barrett)
* Add a `--version` option (by Ondra Pelech)
- 0.5.17.0
* Remove shebang from input before attempting to extract pragmas
* Set stdin and stdout encoding to UTF-8 by default
- 0.5.16.0
* Fail if the default configuration file is not found.
- 0.5.15.2
* Bump `aeson` to 0.11
- 0.5.15.1
* Fix error that caused haddock to bail on this package
- 0.5.15.0
* Add new options for import list alignment (by Ondřej Janošík)
- 0.5.14.4
* Bump `stylish-haskell` to 1.17.0
- 0.5.14.3
* Bump `HUnit` to 1.13
- 0.5.14.2
* Bump `aeson` to 0.10
* Bump `syb` to 0.6
- 0.5.14.1
* Bump `aeson` to 0.9
- 0.5.14.0
* Bump `syb` to 0.5
* Slight refactoring in align code
- 0.5.13.0
* Fix issue with shebang code
- 0.5.12.0
* Add support for shebang at start of file
- 0.5.11.2
* Bump `filepath` dependency to 1.5
- 0.5.11.1
* Fix -Wall compilation with GHC 7.10
- 0.5.11.0
* Bump `haskell-src-exts` dependency to 1.16
- 0.5.10.2
* Bump `mtl` dependency to 2.2
- 0.5.10.1
* Bump `aeson` dependency to 0.8
- 0.5.10.0
* Bump `haskell-src-exts` dependency to 1.15
* Fix test which was not run before
- `0.5.9.0`
* Add `compact_line` setting for Language Pragma styling