===================
Added
-----
- Add ``BackgroundTask`` model to enable support for observable long running
backend tasks
- Add ``BackgroundTaskConsumer`` class to handle starting background jobs
- Make ``Kubernetes`` overcommitment factors configurable via settings
- Support filtering by tags on relation API endpoint
Changed
-------
- **BACKWARD INCOMPATIBLE** Remove the duplicated ``collection`` subfield from the
``entity`` field when serializing ``Data`` objects
- **BACKWARD INCOMPATIBLE:** Replace ``duplicate`` methods on ``Data``, ``Entity`` and
``Collection`` objects with the call to the corresponding background duplicate job.
- **BACKWARD INCOMPATIBLE:** The ``duplicate`` endpoints on ``Data``, ``Entity`` and
``Collection`` return the details of the ``BackgroundTask`` instance that is used to
track the duplication status
- When subscribing to an object for notifications the ``CREATE`` notifications are also
sent along. This is necessary to receive CREATE notifications triggered from the data
inside the container on the container.
- Remove the redundant prefetch in the ``BaseCollectionViewSet``
- Annotate the queryset in the ``BaseCollectionViewSet`` with ``data_statuses``,
``entity_count`` and ``data_count`` attributes to reduce the number of queries
- Remove the redundant prefetch in the ``EntityViewSet``
- Annotate the queryset in the ``EntityViewSet`` with ``data_statuses`` and
and ``data_count`` attributes to reduce the number of queries
- Modify the ``DataViewSet`` to remove redundant queries
- Add ``duplicate_data``, ``duplicate_entity`` and ``duplicate_collection``
methods to ``BackgroundTaskConsumer`` class
- Set ``is_active`` to ``True`` for all available processes every time ``register``
management command is run even if the same version of the process already exists in
the database
- The ``FLOW_KUBERNETES_AFFINITY`` variable is now a JSON dictionary with information
about affinity for interactive and batch processes
- Fix values in observer ``ChangeType`` enum to prevent accidental value change
- Always start ``BackgroundTaskConsumer`` when running tests
Fixed
-----
- Send observer notifications when data object is automatically assigned to the entity
via ``entity_type`` in the process
- Remove observer from subscription if object is deleted
- Handle empty iterable in ``observe_instance_container`` method
- Remove call to ``close`` in observers consumer that caused ``RuntimeError``
- Instances of ``Observer`` class could be duplicated when ``object_id`` was ``None``
due to PostgreSQL handling of NULL values
- Delete the observer subscription when object is deleted
- Check response status when bootstraping executor and print out sensible error message
on failure
- Do not run the test twice when it is tagged and contained in the changed test file
===================