taiwan-id-0.1.1.2: CHANGELOG.md
# 0.1.1.2
- Added support for GHC 9.14.
# 0.1.1.1
- Improved `README.md` and package description.
# 0.1.1.0
- Added a `taiwan-id` command-line tool with three commands:
- `decode`
decodes the attributes of an identification number
- `generate`
generates one or more valid identification numbers
- `validate`
checks whether an identification number is valid
- Switched the documentation testing infrastructure from `doctest` +
`cabal-doctest` (with a custom `Setup.hs`) to `doctest-parallel`.
- Added an internal `taiwan-id-test-common` library to share common testing
functionality across test suites.
# 0.1.0.0
- Replaced the `Location` type with a new `Region` type, reflecting the fact
that the first character of an identification number represents an
administrative area with geographic extent, rather than a specific point in
space. Accordingly, replaced functions `ID.{get,set}Location` with
`ID.{get,set}Region`.
- Replaced the `Nationality` type with a new `Issuer` type, reflecting the fact
that the second character of an identification number encodes the government
authority that issued the number, rather than the nationality of the holder.
Accordingly, replaced functions `ID.{get,set}Nationality` with
`ID.{get,set}Issuer`.
- Added `Region.fromChar` and `Region.toChar` for converting between `Region`
values and their corresponding character codes.
- Fixed the `Show` and `Read` instances for `Region` to correctly handle
operator precedence, ensuring that `Region` values are wrapped in parentheses
when necessary.
- Added `Issuer.toText` for printing `Issuer` values in English and Chinese.
- Fixed incorrect use of "Alien Resident Certificate" (外僑居留證) terminology
in the package description, replacing it with the correct umbrella term
"Resident Certificate" (居留證).
- Fixed an internal inconsistency in `listToTuple8`, which previously accepted
lists of more than 8 elements and silently discarded the excess elements. It
now correctly requires exactly 8 elements.
# 0.0.0.0
- Initial release.