=========
 Changes
=========

0.20 (2026-06-16)
=================

- Stop testing Python 3.8 and 3.9. Only 3.10 and above are supported.
- Add an ``ansi`` extra to install ``erbsland-sphinx-ansi``. Version
  1.2.4 or later is required.
- Explicitly list ``docutils`` as a dependency.
- Add the ability to specify a ``:class:`` argument to set CSS classes
  on programoutput nodes.
- [Internal] Convert static project metadata to ``pyproject.toml``.
- [Internal] Clarify conflicting licensing statements by setting them
  all to the original BSD 2 Clause license.


0.19 (2026-02-20)
=================

- Reintroduce ANSI output integration through the
  ``programoutput_use_ansi`` configuration value. When enabled,
  command output is emitted as an ANSI-aware literal block for
  processing by the `erbsland.sphinx.ansi
  <https://pypi.org/project/erbsland-sphinx-ansi/>`_ extension. Note
  that this extension and thus ANSI support is only available on
  Python 3.10 and newer.


0.18 (2024-12-06)
=================

- Drop support for Python < 3.8. This means Python 2 is no longer
  supported.
- Drop setuptools dependency. Instead, use a native ``pkgutil``
  namespace package.
- Now requires docutils >= 0.18.1. This effectively requires Sphinx
  versions newer than 5.0.
- Add the ``language`` option. Added in :pr:`62` by Even Rouault.


0.17 (2021-03-31)
=================

- Add support for Python 3.9.

- Drop support for python 3.5.

- Include program output and current working directory in the warning
  logged when a program returns an unexpected return code. Suggested
  by Sorin Sbarnea. See :issue:`50`.



0.16 (2020-03-23)
=================

- Add ``name`` and ``caption`` options. Added in :pr:`41`.
  by Raphaël.
- Add support for Python 3.8.


0.15 (2019-09-16)
=================

- Make the test suite stop assuming the presence of a 'python'
  executable on the path. Instead it uses ``sys.executable`` (which
  shouldn't have spaces). Note that it does continue to assume the
  presence of other executables, such as 'echo'. Reported in :issue:`38`
  by John Vandenberg.


0.14 (2019-04-08)
=================

- Add ``python_requires`` metadata to better allow tools like ``pip``
  to install a correct version.

- Add support for Sphinx 2.0 on Python 3.

- Avoid unicode errors when the program command or output produced
  non-ASCII output and the configured prompt was a byte string. This
  was most likely under Python 2, where the default configured prompt
  is a byte string. Reported by, and patch inspired by, :issue:`33`
  by latricewilgus.

0.13 (2018-12-22)
=================

- Drop support for Sphinx < 1.7.

- Fix tests on Sphinx >= 1.8.0.

- Restore error message into the document by default from failed
  program runs on Sphinx >= 1.8.0b1.

- Fix deprecation warnings on Sphinx >= 1.8. Reported in :issue:`29`
  by miili.


0.11 (2017-05-18)
=================

- Explicitly set ``parallel_read_safe`` to true in the extension
  metadata. See :issue:`25`
  With thanks to Adam J. Stewart and Stephen McDowell.

0.10 (2017-03-17)
=================

- Decode output from the program tolerantly, using the 'replace'
  handler. Based on a `pull request
  <https://github.com/habnabit/sphinxcontrib-programoutput/commit/592078e0386c2a36d50a6528b6e49d91707138bf>`_
  by Stefan C. Müller.


0.9 (2017-03-15)
================

- Forked and revived the project in `Gitub
  <https://github.com/OpenNTI/sphinxcontrib-programoutput>`_.

- Run the tests on Travis CI. Formatting and style is enforced by pylint.

- The oldest supported and tested Sphinx version is now 1.3.5. See
  :issue:`17`.

- Remove support for Python 2.6, Python 3.2 and 3.3.

- 100% test coverage.

- Remove support for ``programoutput_use_ansi``. The
  ``sphinxcontrib.ansi`` extension is no longer available on PyPI.

0.8 (Oct 12, 2012)
==================

- Migrated to GitHub


0.7 (Apr 17, 2012)
==================

- Added ``cwd`` option to ``..program-output``
- Working directory of executed programs defaults to documentation root now


0.6 (Jan 07, 2012)
==================

- Python 3 support
- Require Sphinx 1.1 now


0.5 (Sep 19, 2011)
==================

- ``programoutput_prompt_template`` is interpreted as format string now!
- Require Python 2.6 now
- Added ``returncode`` option to ``program-output`` (thanks to
  Jan-Marek Glogowski)
- Support ``returncode`` formatting key in
  ``programoutput_prompt_template``
- Warn on unexpected return codes instead of raising
  ``subprocess.CalledProcessError``
- Turn fatal errors during command into document error messages
  instead of crashing the build


0.4.1 (Mar 11, 2011)
====================

- Some source code cleanups
- Fixed installation instructions in documentation


0.4 (May 21, 2010)
==================

- Initial release
