- This is the last major relase of Comet to support Python 2.7. Future major
(4.0.0) and minor (3.1.0) releases will only run on Python 3. Critical
bugfixes to this version of Comet will be provided as patch releases (3.0.x)
until the next major release.
- This release adds support for Python 3.4 and later. Earlier versions of
Python 3 are not tested. Note that event databases generated by Comet
running on Python 2 *might* not be compatible with Comet running on Python
3: this depends on the underlying Python installation. For safety, remove
old event databases before upgrading; Comet will automatically create new
ones as it needs them.
- Rename ``--whitelist`` command line option to ``--author-whitelist``. This
limits the IP addresses which are authorized to submit new events to the
broker.
- Introduce the ``--subscriber-whitelist`` command line option. This limits
the IP addresses which are authorized to subscribe to event feeds from the
broker. Thanks to Tim-Oliver Husser. (`GitHub 10`_, `GitHub 39`_, `GitHub
41`_)
- Log the return code of failed external commands at level ``WARN``. Log
standard output and error at level ``DEBUG``.
- Automatically create the event DB directory if it doesn't exist. Thanks to
Tim Staley for the suggestion. (`GitHub 54`_, `GitHub 55`_)
- Per the VTP standard, it's not necessary for subscribers to specify IVOIDs
(or, in older terminology, IVORNs). Although there's no downside
protocol-wise to doing so, dropping this requirement makes for a simpler
user interface. (`GitHub 50`_)
- Per the VTP standard, timestamps in transport messages *must* be UTC. We now
check that all timestamps in transport messages generated by Comet have a
``Z`` suffix. (But, of course, we are permissive in what we accept, and
don't reject transport messages from the remote end of a connection which
don't do this.) (`GitHub 52`_)
- Events submitted by authors to the broker running in ``--receive`` mode are
now required to have IVORNs which validate according to the `IVOA
Identifiers Version 2.0`_ specification for IVOIDs. This is somewhat better
defined than the earlier (version 1.12) specification for IVORNs. (`GitHub 51`_)
- Comet now uses the term “IVOID” in preference to “IVORN” throughout its code
and documentation. This follows current IVOA usage. Note, though, that the
VOEvent standard (version 2.0) refers to the term IVORN, and any user
supplied code, such as filters, which interact directly with the contents of
VOEvent packets will need to stick to that terminology. (`GitHub 51`_)
.. _does not fully support Python 3: https://twistedmatrix.com/trac/milestone/Python-3.x
.. _Twisted 16.0: http://labs.twistedmatrix.com/2016/03/twisted-160-released.html
.. _IVOA Identifiers Version 2.0: http://www.ivoa.net/documents/IVOAIdentifiers/20160523/index.html
.. _GitHub 10: https://github.com/jdswinbank/Comet/issues/10
.. _GitHub 39: https://github.com/jdswinbank/Comet/issues/39
.. _GitHub 41: https://github.com/jdswinbank/Comet/issues/41
.. _GitHub 50: https://github.com/jdswinbank/Comet/issues/50
.. _GitHub 51: https://github.com/jdswinbank/Comet/issues/51
.. _GitHub 52: https://github.com/jdswinbank/Comet/issues/52
.. _GitHub 54: https://github.com/jdswinbank/Comet/issues/54
.. _GitHub 55: https://github.com/jdswinbank/Comet/issues/55
Version 2.0.x
-------------