- Renamed
ALERT_CREDENTIALS
andBROKER_CREDENTIALS
toBROKERS
as a catchall for any broker-specific values. - Added support for custom
CadenceStrategy
layouts. - Moved settings for
TNSHarvester
intosettings.HARVESTERS
to maintain consistency. - Updated
tom_alerts.GenericBroker
interface to support submission upstream to a broker, if implemented. - Fixed
TNSBroker
to get the correct object name. - Added stub
SCIMMABroker
. - Removed
tom_publications
fromtom_base
, and placed it in a separatetom_publications
repository. - Upgraded a number of dependencies, including
astroplan
,astropy
, and multipledjango
-related libraries. - Added tests for
lco.py
,soar.py
,alerce.py
, andmars.py
. - Added canary tests for
mars.py
andalerce.py
.
- Migrations are required for this version.
- Due to the renaming of
BROKER_CREDENTIALS
andALERT_CREDENTIALS
toBROKERS
, TOM Toolkit users will need to consolidate their broker configurations insettings.py
into theBROKERS
dict. - Because the built-in cadence strategies were moved into their own files, users of the cadence strategies will need to update their
settings.TOM_CADENCE_STRATEGIES
to include the values as seen in this commit: https://github.com/TOMToolkit/tom_base/blob/82101a92a9c19f0ff8ab0f59ecb758bc47824252/tom_base/settings.py#L214 - Users of the
TNSHarvester
will need to introduce a dict insettings
calledHARVESTERS
with a sub-dictTNS
to store the relevantapi_key
. - Due to the removal of
tom_publications
, TOM Toolkit users will need to either addtom_publications
to their dependencies, or:- Remove
tom_publications
fromINSTALLED_APPS
. - Remove
publications_extras
from the following templates, if they've been customized:observation_groups.html
,target_grouping.html
. - Remove references to
latex_button_group
from the templates referenced above, if they've been customized.
- Remove
- The
LCOBaseForm
methodsinstrument_choices
,instrument_to_type
, andfilter_choices
were re-implemented as static methods, and any subclasses will need to add astaticmethod
decorator, modify the method signature, and replace calls toself
within the method to calls to the class name.
- This release pins the Django version in order to address a security vulnerability.
- The Django version is now pinned at 3.0.7, where previously it allowed >=2.2. You'll need to ensure that any custom code is compatible with Django >=3.0.7.
- New methods expand the Facility API to support reporting Facility status and weather:
get_facility_status()
andget_facility_weather_url()
. When these methods are implemented by a Facility provider, this information can be made available in your TOM. - A new template tag,
facility_status()
, is available to present this information.
- Introduced a manual facility interface for classical observing.
- Introduced a view and corresponding form to add existing API-based observations to a Target.
- Introduced a view and corresponding form to update an existing manual observation with an API-based observation ID.
- For facility implementers: in order to support a Manual Facility Interface, the team created a
BaseObservationFacility
and two abstract implementations of it,BaseRoboticObservationFacility
andBaseManualObservationFacility
.BaseRoboticObservationFacility
was aliased asGenericObservationFacility
to support backwards compatibility, but will be removed in 2.0.