django-tidings 2.0.1
Framework for asynchronous email notifications from Django
License: BSD
Keywords: django-tidings tidings email notifications

==========================================================
Framework for asynchronous email notifications from Django
==========================================================

django-tidings is a framework for sending email notifications to users who have
registered interest in certain events, such as the modification of some model
object. Used by support.mozilla.org_ and developer.mozilla.org_, it is
optimized for large-scale installations. Its features include...

* Asynchronous operation using the celery_ task queue
* De-duplication of notifications
* Association of subscriptions with either registered Django users or anonymous
  email addresses
* Optional confirmation of anonymous subscriptions
* Hook points for customizing any page drawn and any email sent

Please see the full documentation at django-tidings.readthedocs.io_.

.. _celery: http://www.celeryproject.org/
.. _support.mozilla.org: https://support.mozilla.org/en-US/
.. _developer.mozilla.org: https://developer.mozilla.org/en-US/
.. _django-tidings.readthedocs.io: https://django-tidings.readthedocs.io/en/latest/


Version History
===============

2.0.1 (2018-02-14)
  * Fix a bug where asynchronously firing a task (the default) would
    raise an exception when run via Celery.

2.0 (2018-02-10)
  * Added support for Django 1.9, 1.10, 1.11, and 2.0.
  * Dropped support for Django 1.7 and South.
  * Dropped support for jingo_. Templates for the ``unsubscribe`` view are now
    standard Django templates.
  * Added ``Event.fire(delay=False)``, to avoid using the
    pickle serializer, which has `security concerns`_.
  * Added setting ``TIDINGS_TEMPLATE_EXTENSION`` to allow changing the
    template extension used by the ``unsubscribe`` view from ``html`` to
    ``jinja``, ``j2``, etc.
  * Migrated Watch.email from a maximum length of 75 to 254, to follow the
    EmailField update in Django 1.8.

.. _`security concerns`: http://docs.celeryproject.org/en/latest/userguide/security.html#serializers
.. _jingo: https://github.com/jbalogh/jingo

1.2 (2017-03-22)
  * Added support for Django 1.8 and Python 3
  * Dropped support for Python 2.6

1.1 (2015-04-23)
  * Added support for Django 1.7
  * Dropped support for Django 1.4, 1.5 and 1.6
  * Dropped mock, Fabric and django-nose dependencies.
  * Moved tests outside of app and simplified test setup.
  * Added Travis CI: https://travis-ci.org/mozilla/django-tidings
  * Moved to ReadTheDocs: https://django-tidings.readthedocs.io/en/latest/

1.0 (2015-03-03)
  * Support Django 1.6.
  * Fix a bug in reconstituting models under (perhaps) Django 1.5.x and up.
  * Remove rate limit on ``claim_watches`` task.
  * Add tox to support testing against multiple Django versions.

0.4
  * Fix a deprecated celery import path.
  * Add support for newer versions of Django, and drop support for older ones.
    We now support 1.4 and 1.5.
  * Add an initial South migration.

.. warning::

  If you're already using South in your project, you need to run the following
  command to create a "fake" migration step in South's migration history::

      python path/to/manage.py migrate tidings --fake

0.3
  * Support excluding multiple users when calling
    ``fire()``.

0.2
  * API change: ``_mails()`` now receives,
    in each user/watch tuple, a list of ``Watch``
    objects rather than just a single one. This enables you to list all
    relevant watches in your emails or to make decisions from an
    ``EventUnion``'s ``_mails()`` method based on
    what kind of events the user was subscribed to.
  * Expose a few attribute docs to Sphinx.

0.1
  * Initial release. In production on support.mozilla.com. API may change.