---------------------------
**Noteworthy changes:**
- Enable :class:`~humanfriendly.testing.MockedProgram` to customize the shell
script code of mocked programs. This was added to make it easy to mock a
program that is expected to generate specific output (I'm planning to use
this in the :pypi:`linux-utils` test suite).
- Defined ``__all__`` for all public modules that previously lacked "export
control" and decided to bump the major version number as a precaution:
- These changes should not have any impact on backwards compatibility,
unless I forgot entries, in which case callers can get
:exc:`~exceptions.ImportError` exceptions...
- Imports of public modules were previously exported (implicitly) and this
pollutes code completion suggestions which in turn can encourage bad
practices (not importing things using their "canonical" name).
- I started developing the ``humanfriendly`` package years before I learned
about the value of defining ``__all__`` and so some modules lacked a
definition until now. I decided that now was as good a time as any
to add those definitions 😇.
**Miscellaneous changes:**
- Simplified the headings in ``docs/api.rst`` so that only the module names
remain. This was done because Sphinx doesn't support nested links in HTML
output and thus generated really weird "Table of Contents" listings.
- Fixed the reStructuredText references in the documentation of
:func:`~humanfriendly.prompts.prompt_for_choice()`. This function is imported
from :mod:`humanfriendly.prompts` to :mod:`humanfriendly` (for backwards
compatibility) where it can't use relative references to refer to the other
functions in the :mod:`humanfriendly.prompts` module.
- Changed the ``Makefile`` to default to Python 3 for development, make sure
``flake8`` is always up-to-date and silence the few targets whose commands
were not already silenced.
- Embedded quite a few Python API references into recent changelog entries,
just because I could (I ❤️ what hyperlinks can do for the usability of
technical documentation, it gives a lot more context).
.. _Release 6.0: https://github.com/xolox/python-humanfriendly/compare/5.0...6.0