==================
- Drop support for EOL Python 2.6, 3.2, 3.3 and 3.4.
- Add support for Python 3.5, 3.6, and 3.7.
- Compile the performance-sensitive parts with Cython, leading to a
10-30% speed improvement. See
https://github.com/zodb/perfmetrics/issues/17.
- Caution: Metric names are enforced to be native strings (as a result
of Cython compilation); they've always had to be ASCII-only but
previously Unicode was allowed on Python 2. This is usually
automatically the case when used as a decorator. On Python 2 using
``from __future__ import unicode_literals`` can cause problems
(raising TypeError) when manually constructing ``Metric`` objects. A
quick workaround is to set the environment variable
``PERFMETRICS_PURE_PYTHON`` before importing perfmetrics.
- Make decorated functions and methods configurable at runtime, not
just compile time. See
https://github.com/zodb/perfmetrics/issues/11.
- Include support for testing applications instrumented with
perfmetrics in ``perfmetrics.testing``. This was previously released
externally as ``nti.fakestatsd``. See https://github.com/zodb/perfmetrics/issues/9.
- Read the ``PERFMETRICS_DISABLE_DECORATOR`` environment variable when
``perfmetrics`` is imported, and if it is set, make the decorators ``metric``,
``metricmethod``, ``Metric(...)`` and ``MetricMod(...)`` return
the function unchanged. This can be helpful for certain kinds of
introspection tests. See https://github.com/zodb/perfmetrics/issues/15