# 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] ## [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]) [@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 [1]: https://pvp.haskell.org [2]: https://github.com/chshersh/iris/releases [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