packages feed

iris-0.1.0.0: CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [PVP Versioning][1]. The changelog is also
available [on GitHub][2].

## [Unreleased]

<!-- Add new changes here -->

## [0.1.0.0] — 2023-03-02 🎂

### Added

- [#22](https://github.com/chshersh/iris/issues/22):
  Implement full CLI Guidelines recommendations on colouring:

    * Detect colours of `stdout` and `stderr` automatically
    * Always output colours when `--colour` (or `--color`) is specified
    * Disable colours when:
        * `--no-colour` (or `--no-color`) is specified
        * Output handle doesn't support colouring
        * `NO_COLOUR` (or `NO_COLOR`) env is set
        * `MYAPP_NO_COLOUR` (or `MYAPP_NO_COLOR`) env is set
        * `TERM=dumb` env variable is set

  (by [@marcellourbani], [@chshersh])
- [#58](https://github.com/chshersh/iris/issues/58):
  Detect non-interactive terminals automatically
  (by [@marcellourbani])
- [#89](https://github.com/chshersh/iris/issues/89)
  Add `putStderrColoured` and `putStdoutColoured` functions for putting string
  without outputting the line break
  (by [@Dponya])
- [#84](https://github.com/chshersh/iris/issues/84):
  Add support for GHC 9.4
  (by [@blackheaven])
- [#27](https://github.com/chshersh/iris/issues/27):
  Add Haddock with usage examples to many modules
  (by [@chshersh])

### Changed

- [#90](https://github.com/chshersh/iris/issues/90):
  Use `Text` instead of `ByteString` in `putStdoutColoured(Ln)` and
  `putStderrColoured(Ln)` functions
  (by [@lillycat332])
    - __Migration guide:__ Use functions from `Data.Text.Encoding` to convert
      between `ByteString` and `Text` or change your types to `Text`
- [#67](https://github.com/chshersh/iris/issues/67):
  Remove the `cliEnvSettingsRequiredTools` field from the `CliEnvSettings` type.
  Also remove the `CliEnvException` type.  Now, a new function `need` from
  `Iris.Tool` should be used for each individual command instead.
  (by [@german1608])
    - __Migration guide 1:__ Use the `need` function from the `Iris.Tool` module instead.
    - __Migration guide 2:__ Don't catch `CliEnvException` from `mkCliEnv` anymore.
- [#33](https://github.com/chshersh/iris/issues/33):
  Move errors from `ToolCheckResult` into a separate type
  (by [@charrsky])
    - __Migration guide:__ Change pattern-matching on `ToolCheckResult` to
    handle only one constructor with an error instead of previous two.

### Non-UX changes

- [#16](https://github.com/chshersh/iris/issues/16):
  Write complete Iris tutorial with a usage example using Literate Haskell
  (by [@Dponya], [@chshersh])
- [#56](https://github.com/chshersh/iris/issues/56):
  Implement tests for the `--help` parser
  (by [@CThuleHansen])
- [#57](https://github.com/chshersh/iris/issues/57):
  Add tests for the `--version` and `--numeric-version` flags
  (by [@CThuleHansen])
- [#59](https://github.com/chshersh/iris/issues/59):
  Write a test to check if global parsing conflicts with local parsing
  (by [@zetkez])
- [#70](https://github.com/chshersh/iris/issues/70):
  Add HLint configuration and CI support
  (by [@blackheaven])
- [#64](https://github.com/chshersh/iris/issues/64):
  Add Stan configuration and CI support
  (by [@blackheaven])
- [#69](https://github.com/chshersh/iris/issues/69):
  Add pre-commit hooks config
  (by [@aleeusgr])
- [#74](https://github.com/chshersh/iris/issues/74):
  Add pull request template
  (by [@himanshumalviya15])
- [#62](https://github.com/chshersh/iris/issues/62):
  Use `fourmolu` for code formatting
  (by [@chshersh])

## [0.0.0.0] — 2022-08-09 🌇

Initial release prepared by [@chshersh].

### Added

- [#34](https://github.com/chshersh/iris/issues/34):
  Add the `--no-input` CLI option for disabling interactivity
  (by [@charrsky])
- [#36](https://github.com/chshersh/iris/issues/36):
  Support Windows and macOS
  (by [@charrsky])
- [#37](https://github.com/chshersh/iris/issues/37):
  Support GHC 9.0.2
  (by [@charrsky])
- [#38](https://github.com/chshersh/iris/issues/38):
  Support GHC 9.2.3 and GHC 9.2.4
  (by [@charrsky], [@chshersh])
- [#42](https://github.com/chshersh/iris/issues/42),
  [#52](https://github.com/chshersh/iris/issues/52):
  Add `stack` support and instructions to build with `stack`
  (by [@charrsky], [@chshersh])
- [#43](https://github.com/chshersh/iris/issues/43):
  Add `MonadUnliftIO` instance for the `CliApp` monad
  (by [@charrsky])

<!-- Contributors -->

[@aleeusgr]: https://github.com/aleeusgr
[@blackheaven]: https://github.com/blackheaven
[@charrsky]: https://github.com/charrsky
[@chshersh]: https://github.com/chshersh
[@CThuleHansen]: https://github.com/CThuleHansen
[@Dponya]: https://github.com/Dponya
[@german1608]: https://github.com/german1608
[@himanshumalviya15]: https://github.com/himanshumalviya15
[@lillycat332]: https://github.com/lillycat332
[@marcellourbani]: https://github.com/marcellourbani
[@zetkez]: https://github.com/zetkez

<!-- Header links -->

[1]: https://pvp.haskell.org
[2]: https://github.com/chshersh/iris/releases

<!-- Versions -->

[Unreleased]: https://github.com/chshersh/iris/compare/v0.1.0.0...HEAD
[0.1.0.0]: https://github.com/chshersh/iris/releases/tag/v0.1.0.0
[0.0.0.0]: https://github.com/chshersh/iris/releases/tag/v0.0.0.0