# Changelog

You can test the unpublished version of cihai-cli before it's released, see
{ref}`developmental-releases`.

[pip](https://pip.pypa.io/en/stable/):

```console
$ pip install --user --upgrade --pre cihai-cli
```

[pipx](https://pypa.github.io/pipx/docs/):

```console
$ pipx install \
    --suffix=@next \
    --pip-args '\--pre' \
    --force \
    'cihai-cli'
```

Then run the suffixed command as `cihai@next info 好`.

[uv](https://docs.astral.sh/uv/getting-started/features/#python-versions):

```console
$ uv add cihai-cli --prerelease allow
```

[uvx](https://docs.astral.sh/uv/guides/tools/):

```console
$ uvx --from 'cihai-cli' --prerelease allow cihai
```

## cihai-cli 0.36.x (unreleased)

<!-- KEEP THIS PLACEHOLDER - DO NOT REMOVE OR MODIFY THIS LINE -->
_Notes on the upcoming release will go here._
<!-- END PLACEHOLDER - ADD NEW CHANGELOG ENTRIES BELOW THIS LINE -->

## cihai-cli 0.35.0 (2026-10-24)

cihai-cli 0.35.0 runs on Python 3.15, where every `cihai` command in 0.34.0
crashed before it started. Documentation pages now link key tools, API entry
points, and commands to their reference pages, and setup examples can be
copied as they are.

### Fixes

#### cihai runs on Python 3.15 (#360)

cihai-cli 0.34.0 crashed on Python 3.15 before running any command, even
`cihai --version`, with `AttributeError: 'NoneType' object has no attribute
'reset'`. Every `cihai` command now works on Python 3.15, `cihai --help` looks
the same as on Python 3.14, and PyPI lists Python 3.15 as supported.

### Documentation

#### Clearer documentation links and examples (#354)

Documentation pages now link readers from the first mention of key tools, API
entry points, and command pages to the right reference. The {ref}`quickstart`
page and {ref}`completion page <completions>` also keep shell examples copyable
by moving explanatory text into prose, so readers can follow setup steps without
editing copied commands.

### Development

#### CI actions updated to current majors

Workflow actions moved to their current major releases: `actions/checkout` v7,
`actions/cache` v6, `astral-sh/setup-uv` v9.0.0, `codecov/codecov-action` v7,
and `dorny/paths-filter` v4. Workflow behavior is unchanged, though setup-uv no
longer prunes the uv cache, so the first run after this repopulates it.

#### Ruff 0.16 lint floor (#356)

Minimum `ruff>=0.16.0` (was unpinned), so a local `ruff check` reports the same
diagnostics CI does instead of whatever version each contributor happened to
resolve. Ruff 0.16 also formats Python code blocks inside Markdown, which puts
the fenced examples in `README.md` and the `docs/` pages under `ruff format`.

#### Ruff's default rule set (#356)

`ruff check` now runs ruff's own curated default rules alongside the linters
this project selects. An explicit `select` replaces those defaults rather than
adding to them, so the config uses `extend-select` and leaves `select` unset.
Contributors get ruff's recommended baseline — flake8-bandit, flake8-pie,
pylint and the rest of the default set — on top of the project's existing
choices.

## cihai-cli 0.34.0 (2026-06-28)

cihai-cli 0.34.0 tracks the latest cihai and unihan-etl releases. The `cihai`
floor moves to `~=0.38.0`, which brings `unihan-etl` 0.43.0 and a sturdier
first-run bootstrap: a corrupt or truncated cached UNIHAN archive is now
re-fetched instead of crashing extraction. The command surface is unchanged.

### Dependencies

Minimum `cihai~=0.38.0` (was `~=0.37.0`), bringing `unihan-etl` 0.43.0.

## cihai-cli 0.33.0 (2026-06-28)

cihai-cli 0.33.0 refreshes the documentation experience around the command-line
workflow. The CLI reference becomes easier to scan, bookmark, and share, while
the documentation site moves onto the shared gp-sphinx platform used across the
git-pull ecosystem. The command surface itself is unchanged.

### Dependencies

Minimum `cihai~=0.37.0` (was `~=0.36.1`), bringing `unihan-etl` 0.42.0.

### What's new

#### Linkable CLI reference arguments (#339)

The {ref}`cli` reference now gives every command option and positional argument
its own permalink. That makes it possible to link directly to arguments on
{ref}`cihai-info`, {ref}`cihai-reverse`, and {ref}`cli-completions` instead of
sending readers to the top of a long command page.

Argument metadata now renders as structured key/value rows for default values,
types, choices, and required markers. Required arguments get a compact amber tag,
metadata styling works in both light and dark modes, and metavars with
underscores are highlighted as one token.

#### Documentation landing pages for CLI workflows (#344)

The homepage now leads with the actual `cihai` workflow: installation, `cihai
info`, `cihai reverse`, and the note that the Unihan database is downloaded on
first use. The CLI section uses cards for `info`, `reverse`, and completions,
while project pages collect contributing, code style, and release notes away
from the first-run path.

### Documentation

#### Faster, steadier docs navigation (#342)

The site gained self-hosted IBM Plex fonts, fallback font metrics, explicit
image dimensions, badge placeholders, and SPA-style internal navigation. Those
changes reduce font flash, layout shift, repeated asset downloads, and abrupt
page swaps while preserving regular static HTML output for search engines and
direct links.

#### Copy-pasteable command examples (#343)

Shell examples across the docs and changelog now use `console` blocks with a
prompt marker and one logical command per block. Long commands use continuation
lines so examples are readable without making copy/paste awkward.

#### Shared gp-sphinx documentation platform (#345, #346, #347, #348)

cihai-cli now consumes the published [gp-sphinx](https://gp-sphinx.git-pull.com)
documentation stack instead of carrying repo-local Sphinx extensions, templates,
stylesheets, and JavaScript. The migration keeps the CLI reference features but
moves maintenance to shared packages, including `sphinx-autodoc-argparse` for
argparse pages and `sphinx-autodoc-api-style` for card-style internal API docs.

The docs stack was then bumped through gp-sphinx 0.0.1a8 and 0.0.1a16. Those
updates bring the renamed autodoc packages, the argparse domain, namespaced
CSS, the `gp-furo-theme` Tailwind v4 Furo respin, and `sphinx-vite-builder` so
theme assets are built and packaged by the shared docs platform.

## cihai-cli 0.32.0 (2026-01-24)

cihai-cli 0.32.0 is the CLI documentation overhaul release. It adds color-aware
help examples to the actual command line, replaces the older Sphinx argparse
extension with a richer in-tree documentation engine, and marks the package as
typed for downstream tools.

### What's new

#### Colored CLI help output (#337)

`cihai --help`, `cihai info --help`, and `cihai reverse --help` now include
syntax-highlighted examples. Color output respects `NO_COLOR` and `FORCE_COLOR`,
so terminals, CI logs, and documentation builds can each select the right
rendering mode.

#### CLI reference engine for argparse output (#337)

The docs replaced `sphinx-argparse` with `sphinx_argparse_neo`, a maintained
argparse documentation path ported into this project. It provides custom
Pygments lexers for usage/help output, transforms epilog examples into normal
documentation sections, exposes argparse roles, and strips ANSI escape codes
when colored help is rendered into Sphinx.

### Development

#### Typed package marker (#337)

cihai-cli now ships `py.typed` for [PEP 561](https://peps.python.org/pep-0561/)
type checker discovery. The release also added the docutils and Pygments type
stubs needed to keep the documentation extensions under strict mypy.

## cihai-cli 0.31.1 (2026-01-24)

cihai-cli 0.31.1 keeps the CLI aligned with the trusted-publishing release of
the core `cihai` library. It also moves local developer commands from Make to
Just and updates documentation deployment credentials to the newer OIDC flow.

### Breaking changes

Minimum `cihai~=0.36.1` (was `~=0.36.0`). The bump picks up cihai's PyPI Trusted
Publisher release and the corresponding trusted `unihan-etl` dependency chain.
(#338)

### Documentation

Docs deployment moved to AWS OIDC authentication and the AWS CLI, removing the
older long-lived credential path from the publishing workflow.

### Development

#### Makefile -> Justfile (#333)

Development tasks moved from `Makefile` to `justfile`. Project documentation now
uses `just` commands for test, lint, type-check, and docs workflows.

cihai-cli migrated package publishing to PyPI Trusted Publisher. (#332)

## cihai-cli 0.31.0 (2025-11-01)

cihai-cli 0.31.0 is the Python 3.10 baseline release. It follows the core
`cihai` library to 0.36.0, keeps the test matrix current with Python 3.14, and
adopts deferred annotations consistently across the package.

### Breaking changes

Minimum Python is now 3.10; Python 3.9 is no longer supported. Python 3.9
reached end of life on October 31, 2025. See the
[Python release timeline](https://devguide.python.org/versions/) and
[PEP 596](https://peps.python.org/pep-0596/) for the upstream schedule. (#330)

Minimum `cihai~=0.36.0` (was `~=0.35.0`).

### Development

Python 3.14 was added to the test matrix. (#329)

The codebase now uses `from __future__ import annotations` and enables Ruff's
PEP-compliant annotation checks for `UP006` and `UP007`. That defers annotation
resolution at runtime while moving style enforcement into the normal lint gate.
(#324)

## cihai-cli 0.30.0 (2024-12-21)

cihai-cli 0.30.0 is a maintenance release for the Python 3.9 floor. It drops
Python 3.8, follows `cihai` to its Python 3.9-compatible release line, and
applies the current Ruff autofix set across the project.

### Breaking changes

Minimum Python is now 3.9; Python 3.8 is no longer supported. Python 3.8 reached
end of life on October 7, 2024. See [PEP 569](https://peps.python.org/pep-0569/)
for the upstream release schedule. (#323)

Minimum `cihai~=0.35.0` (was `~=0.34.0`). That also brings in
`unihan-etl>=0.37.0`, which requires Python 3.9. (#323)

### Development

Ruff 0.8.4 was applied with all selected automated fixes, including preview and
unsafe fixes, then formatted the tree. (#323)

```console
$ ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; ruff format .
```

## cihai-cli 0.29.0 (2024-11-26)

cihai-cli 0.29.0 moves project management from Poetry to uv and packaging from
Poetry's build backend to Hatchling. The release is maintenance-only for users,
but it changes the contributor and release toolchain substantially.

### Breaking changes

#### Project management moved from Poetry to uv (#321)

[uv](https://github.com/astral-sh/uv) is now the project and dependency manager.
Locking, local installs, and contributor setup use uv instead of Poetry.

#### Build backend moved to Hatchling (#321)

The package build system moved from [poetry](https://github.com/python-poetry/poetry)
to [hatchling](https://hatch.pypa.io/latest/). See the Python Packaging User
Guide's [build backend overview](https://packaging.python.org/en/latest/tutorials/packaging-projects/#choosing-a-build-backend)
for the packaging model.

### Development

Ruff 0.4.2 code-quality fixes were applied, including f-string modernization in
places where the linter could safely improve readability. (#312)

## cihai-cli 0.28.0 (2024-04-06)

cihai-cli 0.28.0 is a maintenance release focused on documentation hygiene and
the latest cihai 0.33.x dependency line.

### Documentation

Plain-text links in the docs are now automatically linkified.

### Development

Minimum `cihai~=0.33.0` (was `~=0.32.0`). The bump follows cihai's Ruff linting
updates.

## cihai-cli 0.27.0 (2024-04-01)

cihai-cli 0.27.0 is a maintenance release for the cihai 0.32.x dependency line
and the Ruff 0.3 toolchain. It keeps the CLI aligned with Unihan ETL fixes while
modernizing lint command usage.

### Development

Minimum `cihai~=0.32.0` (was `~=0.31.0`), including `unihan-etl>=0.34.0`.

Ruff was bumped from 0.2.2 to 0.3.0 and CI now runs `ruff check .` instead of
the older `ruff .` command form. (#309)

Ruff 0.3.4 automated fixes were applied across active branches before the
release. (#310)

```console
$ ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; ruff format .
```

## cihai-cli 0.26.0 (2024-02-09)

cihai-cli 0.26.0 brings the CLI onto the Unihan 15.1 data line through cihai
0.31.0 and unihan-etl 0.33.1. Users get the current Unicode data compatibility
without changing the `cihai info` or `cihai reverse` command model.

### What's new

#### Unihan 15.1 compatibility (#308)

The cihai dependency now supports Unihan 15.1.0, released September 1, 2023 in
[TR38 revision 35](https://www.unicode.org/reports/tr38/tr38-35.html#History).
The underlying unihan-etl bump also includes the earlier `kRSUnicode` double
apostrophe fix.

### Development

Ruff linting was strengthened with `flake8-commas`, `flake8-builtins`, and
`flake8-errmsg` rule families. (#307)

## cihai-cli 0.25.0 (2023-12-09)

cihai-cli 0.25.0 is a maintenance release for docstring coverage, CI cleanup,
and the cihai 0.30.x dependency line.

### Documentation

Functions, methods, classes, and packages gained docstrings. (#304)

### Development

Minimum `cihai~=0.30.0` (was `~=0.29.0`). The cihai release includes
pydocstyle-oriented docstrings and fixes for unused character utility functions.

The pytest configuration moved into `pyproject.toml`, and pydocstyle checks were
added to Ruff. (#301, #304)

CodeQL moved from an advanced configuration file to GitHub's default setup.
(#304)

## cihai-cli 0.24.0 (2023-11-19)

cihai-cli 0.24.0 is a maintenance release for Python 3.12 packaging metadata,
Poetry dependency-group cleanup, and the switch from Black to Ruff formatting.

### Development

Pytest configuration now lives in `pyproject.toml`, Python 3.12 appears in the
package classifiers, and Poetry development dependencies use dependency groups
instead of extras. (#301)

Formatting moved from Black to [`ruff format`](https://docs.astral.sh/ruff/formatter/),
keeping Black-compatible style while removing a separate formatter dependency.
(#302)

Minimum `unihan-etl>=0.29.0` through the cihai dependency line.

Poetry was bumped from 1.6.1 to 1.7.0, and the `eradicate` Ruff rule family was
removed after too many false positives.

GitHub Actions dependencies were updated to clear workflow warnings, including
`dorny/paths-filter` 2.11.1.

## cihai-cli 0.23.0 (2023-07-22)

cihai-cli 0.23.0 is a maintenance release that follows cihai 0.28.0 for pytest
plugin updates.

### Development

Minimum `cihai~=0.28.0` (was `~=0.27.0`).

## cihai-cli 0.22.0 (2023-07-18)

cihai-cli 0.22.0 is a maintenance release that picks up cihai 0.27.0 and the
unihan-etl pytest fixes beneath it.

### Development

Minimum `cihai~=0.27.0` (was `~=0.26.0`), including unihan-etl 0.27.0 pytest
fixes. (#300)

## cihai-cli 0.21.2 (2023-07-18)

cihai-cli 0.21.2 is a maintenance release for Ruff-driven code-quality fixes.

### Development

Ruff fixes were applied across the project. (#299)

## cihai-cli 0.21.1 (2023-07-02)

cihai-cli 0.21.1 restores the main user workflows after regressions in the
previous release.

### Fixes

`cihai info` and `cihai reverse` were fixed. (#297, #298)

## cihai-cli 0.21.0 (2023-07-01)

cihai-cli 0.21.0 is a maintenance release for stricter Ruff enforcement and the
cihai 0.26.x dependency line.

### Development

Ruff strictness increased and the resulting code improvements were applied.
(#295)

Minimum `cihai~=0.26.0` (was `~=0.25.0`), including matching lint updates in
unihan-etl 0.25.0.

## cihai-cli 0.20.0 (2023-06-25)

cihai-cli 0.20.0 is a dependency maintenance release. It follows cihai through
0.25.0 and picks up the zhon 2.0 regular-expression warning fix through
unihan-etl.

### Development

Minimum `cihai~=0.25.0` (was `~=0.23.0`). The dependency chain includes
unihan-etl 0.24.0 and zhon 2.0.0, which fixes pytest regular-expression
warnings. (#298)

## cihai-cli 0.19.0 (2023-06-24)

cihai-cli 0.19.0 follows cihai and unihan-etl's dataclass-based configuration
work.

### Development

Minimum `cihai~=0.22.1` (was `~=0.21.0`). The dependency chain includes
unihan-etl 0.22.2 with {func}`dataclasses.dataclass`-based configuration.

## cihai-cli 0.18.0 (2023-06-19)

cihai-cli 0.18.0 follows cihai's pathlib and typing cleanup.

### Development

Minimum `cihai~=0.22.1`. This dependency line relies on {mod}`pathlib`-based paths
and improved type annotations.

## cihai-cli 0.17.0 (2023-06-04)

cihai-cli 0.17.0 is the Python 3.8 baseline release. It drops Python 3.7,
tightens typing, and follows cihai into its SQLAlchemy 2.0 dependency line.

### Breaking changes

Python 3.7 support was dropped. Python 3.7 reached end of life on June 27, 2023,
and Python 3.8 provides {class}`typing.TypedDict` and
{class}`typing.Protocol` without `typing_extensions`. (#290)

### Development

Strict mypy compliance was added. (#277)

Tests moved from pytest's `tmpdir` / `py.path.local` fixture to `tmp_path` /
{class}`pathlib.Path`. (#292)

Unnecessary `typing_extensions.TypedDict` imports were removed where the Python
floor made stdlib {class}`typing.TypedDict` available. `typing_extensions`
remains needed for `NotRequired` until the project can require Python 3.11.
(#292)

Minimum `cihai~=0.21.0` includes strict typing work and the SQLAlchemy 2.0
migration from the core library.

## cihai-cli 0.16.0 (2023-05-29)

cihai-cli 0.16.0 is the final Python 3.7-compatible release and the first
release to consolidate linting and formatting on Ruff.

### Breaking changes

0.16.0 is the final release that supports Python 3.7.

### Development

Formatting, import sorting, and linting moved from isort, flake8, and Black-era
tooling to [Ruff](https://ruff.rs).

Poetry was bumped from 1.4.0 to 1.5.0.

Minimum `cihai~=0.19.0` and unihan-etl 0.19.1 carry the same Ruff migration in
the dependency stack.

## cihai-cli 0.15.2 (2022-10-02)

cihai-cli 0.15.2 is a maintenance release for the cihai 0.18.x line and docs
navigation.

### Documentation

The migration page was added, and the completions page link was restored.

### Development

Minimum `cihai~=0.18.3` (was `~=0.18.1`), including unihan-etl 0.18.2 typing
updates for `merge_dict`.

## cihai-cli 0.15.1 (2022-10-02)

cihai-cli 0.15.1 fixes CLI help text descriptions.

### Fixes

Command help descriptions now render correctly.

## cihai-cli 0.15.0 (2022-10-02)

cihai-cli 0.15.0 replaces [Click](https://click.palletsprojects.com/) with
stdlib {mod}`argparse`. The command names remain focused on character lookup
and reverse definition search, but the CLI no longer needs Click at runtime.

### Breaking changes

The command-line implementation moved from
[Click](https://click.palletsprojects.com/) to {mod}`argparse`. (#286)

### Development

The Click dependency was removed. (#286)

## cihai-cli 0.14.0 (2022-10-01)

cihai-cli 0.14.0 follows cihai 0.18.1 and removes the kaptan dependency from
the installed stack.

### Dependencies

Minimum `cihai>=0.18.1`; kaptan is no longer installed through the cihai
dependency chain.

## cihai-cli 0.13.1 (2022-10-01)

cihai-cli 0.13.1 speeds up CI and updates Poetry for the 1.2 dependency
constraint model.

### Development

Release publishing moved into a separate job so normal CI does not pull the PyPI
upload image. CodeQL was also cleaned up. (#285)

Poetry moved from 1.1.x to 1.2.x, including the corrected Click constraint for
Poetry 1.2.

## cihai-cli 0.13.0 (2022-09-11)

cihai-cli 0.13.0 is a project-structure and documentation-testing release. It
moves to a `src/` layout, broadens lint coverage, and starts testing docs
examples as part of the normal validation path.

### Development

The package moved to a `src/` layout. (#284)

`flake8-bugbear` and `flake8-comprehensions` were added to the lint stack.
(#281, #282)

### Documentation

The changelog now renders through `linkify_issues`, table-of-contents rendering
was fixed for Sphinx autodoc pages, and docs doctests run through
`pytest_doctest_docutils`. (#283)

## cihai-cli 0.12.0 (2022-08-21)

cihai-cli 0.12.0 follows cihai 0.16.0 and the strict typing work in unihan-etl
0.17.x.

### Development

Minimum `cihai~=0.16.0`.

## cihai-cli 0.11.0 (2022-08-20)

cihai-cli 0.11.0 restores the separate `cihai-cli` distribution as the way to
install the command-line frontend. This avoids making cihai's library package
carry the CLI extra as the primary install path.

### Breaking changes

Install the CLI through `cihai-cli` again.

Before, cihai 0.9 through 0.14 and cihai-cli 0.5 through 0.10 used the cihai
extra:

```console
$ pip install cihai[cli]
```

After cihai 0.15 and cihai-cli 0.11, install the CLI package directly:

```console
$ pip install cihai-cli
```

Modern uv workflows can add the CLI to a project:

```console
$ uv add cihai-cli
```

Install it as a user-wide tool:

```console
$ uv tool install cihai-cli
```

Or run it on demand:

```console
$ uvx --from cihai-cli cihai --version
```

See [cihai#326](https://github.com/cihai/cihai/pull/326) and
[cihai-cli#279](https://github.com/cihai/cihai-cli/pull/279).

## cihai-cli 0.10.x (2022-08-20)

cihai-cli 0.10.x removes Python 2 compatibility code left over after the
earlier support drop.

### Breaking changes

Python 2 compatibility modules and imports were removed. Python 2.x had already
been officially dropped in 0.7.0. (#278)

## cihai-cli 0.9.0 (2022-08-16)

cihai-cli 0.9.0 updates Python compatibility, adds the first doctest path, and
switches the documentation theme to Furo.

### Breaking changes

Python 3.6 support was removed. (#269)

### What's new

Python 3.10 support was added. (#269)

### Documentation

Doctest support was added, and the docs moved to the Furo theme. (#276)

### Development

Poetry was updated to the 1.1 line, CI dependency caching was improved with
`actions/setup-python`, and initial mypy validation was added. (#255, #269,
#276)

Tests moved from `tmpdir` to `tmp_path`.

## cihai-cli 0.8.1 (2021-06-16)

cihai-cli 0.8.1 updates the cihai dependency to 0.12.

### Development

Minimum `cihai~=0.12.0`.

## cihai-cli 0.8.0 (2021-06-16)

cihai-cli 0.8.0 converts project documentation to Markdown.

### Documentation

The documentation source moved to Markdown. (#252)

## cihai-cli 0.7.2 (2021-06-15)

cihai-cli 0.7.2 updates the cihai dependency to fix a SQLAlchemy issue.

### Fixes

Minimum `cihai>=0.11.1` for the SQLAlchemy fix.

## cihai-cli 0.7.1 (2021-06-15)

cihai-cli 0.7.1 fixes README packaging.

### Fixes

The README is included correctly in package metadata.

## cihai-cli 0.7.0 (2021-06-15)

cihai-cli 0.7.0 removes legacy Python support and updates packaging metadata
for the Python 3-only line.

### Breaking changes

Python 2.7 and Python 3.5 support were dropped, along with deprecated
`__future__` imports and modesets. (#251)

### Development

Black was updated to 21.6b0, and trove classifiers were updated for Python 3.9.

## cihai-cli 0.6.0 (2020-08-09)

cihai-cli 0.6.0 is an infrastructure release for packaging, documentation
hosting, and GitHub Actions.

### Documentation

The docs became self-hosted and gained site metadata and icons. (#248)

### Development

Packaging and publishing moved to Poetry, Travis CI moved to GitHub Actions,
and Makefiles were overhauled. (#248, #249)

## cihai-cli 0.5.1 (2020-07-03)

cihai-cli 0.5.1 continues the packaging migration and fixes a Python 2 help
display bug.

### Fixes

Help output works again on Python 2.x.

### Development

Project dependency management moved from Pipfile to Poetry. (#247)

## cihai-cli 0.5.0 (2019-08-18)

cihai-cli 0.5.0 updates package metadata and relaxes dependency constraints
around the then-current `cihai[cli]` install model.

### Development

`project_urls` were added to `setup.py`, the README was fixed to use plain
reStructuredText, and package requirements were loosened.

The documented install path at the time was:

```console
$ pip --user install cihai[cli]
```

Pytest and other support packages were updated.

## cihai-cli 0.5.0a (2018-09-08)

cihai-cli 0.5.0a improves version reporting.

### What's new

`cihai -V` and `cihai -version` now show the cihai backend version. (#91)

## cihai-cli 0.4.1 (2018-07-21)

cihai-cli 0.4.1 updates Sphinx and cihai to fix dependency issues around kaptan
and PyYAML.

### Fixes

Sphinx moved from 1.7.5 to 1.7.6, and cihai moved from 0.8.0 to 0.8.1.

## cihai-cli 0.4.0 (2018-06-24)

cihai-cli 0.4.0 improves the default character detail output and modernizes the
project's development stack for the Pipenv era.

### What's new

The `info` command now includes Vietnamese phonetic data in the default output.

### Documentation

Documentation moved to NumPy-style docstrings, and the license was updated from
New BSD to MIT. Future commits and contributions are licensed to the cihai
software foundation, including commits by Tony Narlock.

### Development

Project tooling moved toward Pipenv, with tmuxp config updates, an added
`Pipfile`, new isort/flake8 tests, a `make sync_pipfile` task, and package
updates across Sphinx, pytest, releases, vulture, alagitpull, and lint tooling.

## cihai-cli 0.3.2 (2017-05-26)

cihai-cli 0.3.2 bumps the cihai dependency.

### Development

Minimum `cihai~=0.7.4`.

## cihai-cli 0.3.1 (2017-05-20)

cihai-cli 0.3.1 bumps the cihai dependency.

### Development

Minimum `cihai~=0.7.2`.

## cihai-cli 0.3.0 (2017-05-20)

cihai-cli 0.3.0 shapes the original CLI into the command vocabulary that still
matters today: concise character details by default and reverse lookup by term.

### Breaking changes

The `lookup` command was renamed to `reverse`.

### What's new

The default output now shows human-friendly fields. Use `-a` or `--all` to show
all fields.

### Fixes

Output no longer includes extra newlines, printing uses {func}`click.echo`, and
Unicode handling was fixed for Python 2.7 tests and CLI output.

## cihai-cli 0.2.1 (2017-05-20)

cihai-cli 0.2.1 fixes early package and CLI variable issues.

### Fixes

CLI variables were adjusted and a package dependency issue was fixed.

## cihai-cli 0.2.0 (2017-05-20)

cihai-cli 0.2.0 is the initial project release.

### What's new

Initial command-line frontend for cihai.

<!---
vim: set filetype=markdown:
-->
