Akismet

Latest version: v24.11.0

Safety actively analyzes 681775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

24.11.0

~~~~~~~~~~~~~~~

Released November 2024

* Supported Python versions are now Python 3.9, 3.10, 3.11, 3.12, and 3.13.

24.5.1

~~~~~~~~~~~~~~

Released May 2024

* Corrected a missing release date in the changelog.

24.5.0

~~~~~~~~~~~~~~

Released May 2024

* Adopted `CalVer versioning <https://calver.org>`_.

* Introduced the test client classes: :class:`~akismet.TestSyncClient` and
:class:`~akismet.TestAsyncClient`.

* The ``validated_client()`` constructor of both client classes now optionally
accepts an explicit :class:`~akismet.Config` instance.

* The default constructor's ``config`` argument is now optional on both client
classes; as with ``validated_client()``, it will attempt to find the config
in environment variables if it is not explicitly passed in. This means the
only difference now between the default constructor and the
``validated_client()`` constructor is the validation of the key/URL in
``validated_client()``.

* The ``key`` and ``url`` arguments to the ``verify_key()`` method of both
client classes are now optional; if not supplied, ``verify_key()`` uses the
key and URL from the client's current config.

* :class:`~akismet.SyncClient` can now be used as a context manager, and
:class:`~akismet.AsyncClient` can now be used as an async (``async with``)
context manager. In both cases, it is not necessary to use the
``validated_client()`` constructor; the config validation is performed when
entering the context manager.


Releases not under CalVer
-------------------------

1.3

~~~~~~~~~~~

Released February 2024

* The supported Python versions are now 3.8, 3.9, 3.10, 3.11, and 3.12. Support
for earlier Python versions is dropped.

* Introduced the :class:`~akismet.SyncClient` and :class:`~akismet.AsyncClient`
API client classes.

* The :class:`~akismet.SyncClient` and :class:`~akismet.AsyncClient` API client
classes support the ``X-akismet-pro-tip`` header, and expose the "discard"
header response by using the :class:`~akismet.CheckResponse` enum as the
return value of their comment-check operation.

* The :class:`~akismet.SyncClient` and :class:`~akismet.AsyncClient` API client
classes support the `activity
<https://akismet.com/developers/key-sites-activity/>`_ and `usage limit
<https://akismet.com/developers/usage-limit/>`_ methods of the Akismet v1.2
web API.

* **Deprecation:** The ``Akismet`` API client class is now deprecated, and will
be removed in 2025. Instantiating this class will issue a
:exc:`DeprecationWarning`. To discourage new uses of this class, its API
documentation has been removed; refer to its docstrings, or to documentation
for an earlier version of this module, if you continue to need documentation
for it. All users of the deprecated ``Akismet`` class are encouraged to
migrate as quickly as possible to one of the two new client classes, which
more fully implement the Akismet web API. The deprecated ``Akismet`` class
will receive no further features, and will only receive bugfixes if a
security issue is discovered.

* All of the API clients, including the deprecated ``Akismet`` class which
formerly used ``requests``, now use ``httpx`` internally as their default
HTTP client. This provides uniformity of interface, async support, and better
defaults (such as a default request timeout value). The default timeout is
now one second, but is configurable by setting the environment variable
``PYTHON_AKISMET_TIMEOUT`` to a :class:`float` or :class:`int` value
containing the desired timeout threshold in seconds.

1.2

~~~~~~~~~~~

Released May 2022

* The supported Python versions are now 3.7, 3.8, 3.9, and 3.10. Support for
earlier Python 3 versions is dropped.

1.1

~~~~~~~~~~~

Released February 2020

* ``akismet`` tracks versions of Python supported upstream by the Python core
team. Since ``akismet`` 1.1 was released after the Python core team dropped
support for Python 2, ``akismet`` 1.1 and later do not support Python 2. The
new minimum Python version supported by ``akismet`` is 3.5.

* Support was added for the optional ``recheck_reason``, used when a comment or
other content is being submitted a second or later time, and indicating the
reason (such as `"edit"` when resubmitting a comment after the user edited
it).

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.