|
| 1 | +# `redact-haskell` `0.4.0.0` Release Notes |
| 2 | + |
| 3 | +Date |
| 4 | +: 2022-03-02 |
| 5 | + |
| 6 | +## Overview |
| 7 | + |
| 8 | +Redact is a utility for hiding secret text on the terminal. |
| 9 | + |
| 10 | +See the [README][] for details. |
| 11 | + |
| 12 | +[README]: <https://github.com/ExtremaIS/redact-haskell#readme> |
| 13 | + |
| 14 | +## This Release |
| 15 | + |
| 16 | +This release of Redact is almost a complete rewrite. It is now implemented in |
| 17 | +a way that allows for extensive testing using mocks. The `redact` |
| 18 | +command-line utility also has significant changes. |
| 19 | + |
| 20 | +### `MonadTerminal`, `MonadHandle`, and Mock Tests |
| 21 | + |
| 22 | +The project was redesigned to use a library. The API uses (`MonadTerminal` |
| 23 | +and `MonadHandle`) type classes instead of `IO` directly. This allows much |
| 24 | +more of the implementation to be tested, using the [HMock][] library. |
| 25 | + |
| 26 | +[HMock]: <https://hackage.haskell.org/package/HMock> |
| 27 | + |
| 28 | +### `--lenient` Flag |
| 29 | + |
| 30 | +In this release of Redact, the program terminates if there is a parsing error. |
| 31 | +A `--lenient` flag is added, which causes the program to ignore parsing |
| 32 | +errors, like the behavior in previous versions. |
| 33 | + |
| 34 | +### Exception Handling |
| 35 | + |
| 36 | +If the program has an error, an exception handler now resets the terminal. |
| 37 | +This prevents the terminal from remaining in redact mode in cases when an |
| 38 | +error is raised while in redact mode. |
| 39 | + |
| 40 | +### Dependency Versions |
| 41 | + |
| 42 | +The following dependency version upper bound has been bumped to support the |
| 43 | +latest version. |
| 44 | + |
| 45 | +* [`optparse-applicative`](https://hackage.haskell.org/package/optparse-applicative) |
| 46 | + |
| 47 | +### Compatibility |
| 48 | + |
| 49 | +Redact is currently tested with [GHC 8.2.2][] through [GHC 9.2.1][]. The |
| 50 | +`.cabal` file uses Cabal version 1.24 (included with GHC 8.2.2), so it should |
| 51 | +build fine on relatively old Haskell installations as well as current |
| 52 | +installations. |
| 53 | + |
| 54 | +[GHC 8.2.2]: <https://www.haskell.org/ghc/download_ghc_8_2_2.html> |
| 55 | +[GHC 9.2.1]: <https://www.haskell.org/ghc/download_ghc_9_2_1.html> |
| 56 | + |
| 57 | +### Issues |
| 58 | + |
| 59 | +There are no known issues at this time. |
0 commit comments