Release History
===============

1.4.0 (2025-05-19)
------------------

IMPORTANT NOTE:  Please see the announcement about the new `python release
support policy`_.

.. _python release support policy: https://github.com/mpounsett/nagiosplugin/discussions/76

- new: add check name to Check constructor (Simon Meggle)
- change: drop support for Python 3.4, 3.5, and 3.6 (#65)
- change: add support for Python 3.11, 3.12, and 3.13 (#65)
- fix: correct reference to class ~.performace.Performance in
  Context.performance docstring (Josef Friedrich)
- fix: tests use importlib where available in place of deprecated
  pkg_resources (#50)
- fix: build environment updates to support py2.7 (#64)
- doc: additional text explaining the naming of the Warn state class (#26)
- doc: updated document building for newer Sphinx (#72)
- doc: updated document building for new readthedocs.io deployment process
  (#79)
- linting: replaced some elif statements occluded by return statements (no-else-return)
- linting: cleaned up "inconsistent-return-statements" errors
- linting: replace flake8 with ruff (#60)
- linting: add security tests with pip-audit and bandit (#61)

1.3.3 (2022-02-07)
------------------

- new: adding support for newer python releases (3.8, 3.9, 3.10)
- fix: various typos in docstrings (#39, )
- fix: change use of deprecated upload-dir to upload_dir in setup.cfg (#34)
- fix: Runtime class now sets None for stdout by default (#24)
- fix: corrected argument order in several calls to super() (#18)
- cleanup: many bits of code tidying to eliminate linter warnings


1.3.2 (2019-11-09)
------------------

- Include `doc` and `tests` directories in source distribution to support
  Gentoo package building tests (#22)
- Update official python support to 2.7, 3.4+ in README


1.3.1 (2019-11-08)
------------------

- Fixed a packaging bug


1.3.0 (2019-11-08)
------------------

- New maintainer/contributor information and project home

- Updated tests and package metadata for recent Python 3 versions
- Newer tooling for tests/documentation


1.2.4 (2016-03-12)
------------------

- Add optional keyword parameter `verbose` to Runtime.guarded(). This parameter
  allows to set verbose level in the early execution phase (#13).
- Allow Context.evaluate() return either a Result or ServiceState object. In
  case the latter is returned, it gets automatically wrapped in a Result object
  (#6).


1.2.3 (2015-10-30)
------------------

- Fix bug that caused a UnicodeDecodeError when using non-ASCII characters in
  fmt_metric (#12).
- Print perfdata always on a single line (even in multi-line mode) to improve
  compatibility with various monitoring systems (#11).


1.2.2 (2014-05-27)
------------------

- Mention that nagiosplugin also runs with Python 3.4 (no code changes
  necessary).
- Make name prefix in status output optional by allowing to assign None to
  Check.name.
- Accept bare metric as return value from Resource.probe().
- Fix bug where Context.describe() was not used to obtain metric description
  (#13162).


1.2.1 (2014-03-19)
------------------

- Fix build failures with LANG=C (#13140).
- Remove length limitation of perfdata labels (#13214).
- Fix formatting of large integers as Metric values (#13287).
- Range: allow simple numerals as argument to Range() (#12658).
- Cookie: allow for empty state file specification (#12788).


1.2 (2013-11-08)
----------------

- New `Summary.empty` method is called if there are no results present (#11593).
- Improve range violation wording (#11597).
- Ensure that nagiosplugin install correctly with current setuptools (#12660).
- Behave and do not attach anything to the root logger.
- Add debugging topic guide. Explain how to disable the timeout when using pdb
  (#11592).


1.1 (2013-06-19)
----------------

- Identical to 1.1b1.


1.1b1 (2013-05-28)
------------------

- Made compatible with Python 2.6 (#12297).
- Tutorial #3: check_users (#11539).
- Minor documentation improvements.


1.0.0 (2013-02-05)
------------------

- LogTail returns lines as byte strings in Python 3 to avoid codec issues
  (#11564).
- LogTail gives a line-based iterator instead of a file object (#11564).
- Basic API docs for the most important classes (#11612).
- Made compatible with Python 2.7 (#11533).
- Made compatible with Python 3.3.


1.0.0b1 (2012-10-29)
--------------------

- Improve error reporting for missing contexts.
- Exit with code 3 if no metrics have been generated.
- Improve default Summary.verbose() to list all threshold violations.
- Move main source repository to https://bitbucket.org/gocept/nagiosplugin/
  (#11561).


1.0.0a2 (2012-10-26)
--------------------

- API docs for the most important classes (#7939).
- Added two tutorials (#9425).
- Fix packaging issues.


1.0.0a1 (2012-10-25)
--------------------

- Completely reworked API. The new API is not compatible with the old 0.4 API so
  you must update your plugins.
- Python 3 support.
- The `Cookie` class is now basically a persistent dict and accepts key/value
  pairs. Cookie are stored as JSON files by default so they can be inspected by
  the system administrator (#9400).
- New `LogTail` class which provides convenient access to constantly growing log
  files which are eventually rotated.


0.4.5 (2012-06-18)
------------------

- Windows port. `nagiosplugin` code now runs under pywin32 (#10899).
- Include examples in egg release (#9901).


0.4.4 (2011-07-18)
------------------

Bugfix release to fix issues reported by users.

- Improve Mac OS X compatibility (#8755).
- Include examples in distribution (#8555).


0.4.3 (2010-12-17)
------------------

- Change __str__ representation of large numbers to avoid scientific notation.


0.4.2 (2010-10-11)
------------------

- Packaging issues.


0.4.1 (2010-09-21)
------------------

- Fix distribution to install correctly.
- Documentation: tutorial and topic guides.


0.4 (2010-08-17)
----------------

- Initial public release.

.. vim: set ft=rst sw=3 sts=3 spell spelllang=en:
