Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Calendar Versioning.
The first number of the version is the year. The second number is incremented with each release, starting at 1 for each year. The third number is when we need to start branches for older releases (only for emergencies).
prometheus-async has a very strong backwards-compatibility policy. Generally speaking, you shouldn’t ever be afraid of updating.
Whenever breaking changes are needed, they are:
…announced here in the changelog.
…the old behavior raises a
DeprecationWarning
for a year (if possible).…are done with another announcement in the changelog.
22.2.0 - 2022-05-14#
Deprecated#
The
prometheus_async.types.IncDecrementer
Protocol
is deprecated and will be removed in a year. It was never a public API. #29
Changed#
Due to improvements of
prometheus_client
’s type hints, we don’t block them from Mypy anymore.
Fixed#
The type hints for
prometheus_async.track_inprogress()
now acceptprometheus_client.Gauge
s. #29
22.1.0 - 2022-02-15#
Removed#
Support for Python 2.7, 3.5, and 3.6 has been dropped.
The loop argument has been removed from
prometheus_async.aio.start_http_server()
.
Added#
Added type hints for all APIs. #21
Added support for OpenMetrics exposition in
prometheus_async.aio.web.server_stats()
and thusprometheus_async.aio.web.start_http_server_in_thread()
. #23
19.2.0 - 2019-01-17#
Fixed#
Revert the switch to decorator.py since it turned out to be a very breaking change. Please note that the now-current release of wrapt 1.11.0 has a memory leak so you should block it in your lockfile.
Sorry for the inconvenience this has caused!
19.1.0 - 2019-01-15#
Changed#
Dropped most dependencies and switched to decorator.py to avoid a C dependency (wrapt) that produces functions that can’t be pickled.
18.4.0 - 2018-12-07#
Removed#
prometheus_client 0.0.18 or newer is now required.
Fixed#
Restored compatibility with prometheus_client 0.5.
18.3.0 - 2018-06-21#
Fixed#
The HTTP access log when using
prometheus_async.start_http_server()
is disabled now. It was activated accidentally when moving to aiohttp’s application runner APIs.
18.2.0 - 2018-05-29#
Deprecated#
Passing a loop argument to
prometheus_async.aio.start_http_server()
is a no-op and raises aDeprecationWarning
now.
Changed#
Port to aiohttp’s application runner APIs to avoid those pesky deprecation warnings. As a consequence, the loop argument has been removed from internal APIs and became a no-op in public APIs.
18.1.0 - 2018-02-15#
Removed#
Python 3.4 is no longer supported.
aiohttp 3.0 or later is now required for aio metrics exposure.
Changed#
python-consul is no longer required for asyncio Consul service discovery. A plain aiohttp is enough now.
17.5.0 - 2017-10-30#
Removed#
prometheus_async.aio.web
now requires aiohttp 2.0 or later.
Added#
The thread created by
prometheus_async.aio.start_http_server_in_thread()
has a human-readable name now.
Fixed#
Fixed compatibility with aiohttp 2.3.
17.4.0 - 2017-08-14#
Fixed#
Set proper content type header for the root redirection page.
17.3.0 - 2017-06-01#
Fixed#
prometheus_async.aio.web.start_http_server()
now passes the loop argument toaiohttp.web.Application.make_handler()
instead ofApplication
’s initializer. This fixes a “loop argument is deprecated” warning.
17.2.0 - 2017-03-21#
Deprecated#
Using aiohttp older than 0.21 is now deprecated.
Fixed#
prometheus_async.aio.web
now supports aiohttp 2.0.
17.1.0 - 2017-01-14#
Fixed#
Fix monotonic timer on Python 2. #7
16.2.0 - 2016-10-28#
Changed#
When using the aiohttp metrics exporter, create the web application using an explicit loop argument. #6
16.1.0 - 2016-09-23#
Changed#
Service discovery deregistration is optional now.
16.0.0 - 2016-05-19#
Added#
Initial release.