Version History

  • Drop support for Django 1.9, 1.10
  • Add support for Django 2.1, 2.2, and 3.0
  • Drop support for Python 3.4
  • Add support for Python 3.7, 3.8
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, 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 from a maximum length of 75 to 254, to follow the EmailField update in Django 1.8.
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)
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.
  • 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.


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/ migrate tidings --fake
  • Support excluding multiple users when calling fire().
  • 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.
  • Initial release. In production on API may change.