This release fixes the following:
- Completes the upgrade to the ALeRCE v1 API.
- Updates the TNS API URL to the updated value.
- Adds
DEFAULT_AUTO_FIELD
tosettings.tmpl
for new TOMs. Existing TOMs should addDEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
to theirsettings.py
, which will resolve any warning messages that includeHINT: Configure the DEFAULT_AUTO_FIELD setting
, provided the existing TOM is on Django 3.2 or later.
This release removes the MPC module as a default, given that the latest version of astroquery has an issue with it that will be fixed in the next release.
Users of the MPC should follow the instructions listed here in order to ensure that it works.
This release includes most, but not all, of the upgrade to the new ALeRCE API. It should be considered to be in beta as long as the disclaimer at the top of the ALeRCE query form is present.
This release supercedes the mistaken 2.6.1 release and includes the fix for spectroscopic migration alluded to in 2.6.1. It also includes a stub module for the Fink broker.
- Refactors user_list to use templatetags in order to facilitate introduction of new tom_registration installable app.
- Adds django-rest-framework API endpoint for cancelling observations.
- Adds support for assigning group permissions to observations submitted via the django-rest-framework API endpoint.
- Upgrades
numpy
,astropy
, andastroplan
, and removes support for Python 3.6.
- HTML in
user_list.html
has been replaced by templatetags, so anyone overriding theuser_list.html
template should copy the changes. They can be reviewed in this pull request. - HTML for login buttons in
base.html
has been replaced by a templatetag. Changes can be reviewed in the above pull request. - Support for Python 3.6 has been removed.
- Retains the selected tab on reload for target detail page, as well as selected filters on target list and observation list when updating statuses.
- Adds new statuses supported by the LCO facility.
- In order to leverage the tab retention, you'll need to copy the changes in
tom_targets/target_detail.html
,tom_observations/observation_list
, andtom_targets/target_list.html
. You can review this pull request to see what has changed.
- Fixes the erroneous use of
photon_flux
and replaces it withflux
for spectroscopic data processing. It also fixes past usage ofphoton_flux
using a migration script.
- This release requires running
./manage.py migrate
. - This release will modify all
ReducedDatum
objects with adata_type
of'spectroscopy'
. It is highly recommended that you back up your data prior to running the migration script.
- Fixes the ObservationRecordCancelView and adds a path to it to urls.py. It is now accessible via tom_observations:cancel.
- Added API endpoints for submit, list, and detail for
ObservationRecord
s.
- Fixes a bug when submitting observations for dynamic cadences produced by the photometric sequence form.
- Fixes a bug showing an inappropriate error message when LCO validation fails.
Release 2.4.1 was yanked and should not be installed.
- Updated TNS URL to the new URL used by TNS in the broker and harvester modules.
- Modified
ObservationRecord
,ObservationTemplate
,BrokerQuery
, andReducedDatum
to useJSONField
instead ofTextField
. - Dependency updates.
- This release requires running
./manage.py migrate
. - Any uses of
ObservationRecord.serialize_parameters()
,ObservationRecord.parameters_as_dict
,BrokerQuery.parameters_as_dict
,ObservationTemplate.serialize_parameters()
should be replaced with<ModelName>.parameters
.
- Added a new observing form for MUSCAT submissions to LCO.
- Fixed a bug resulting in observations with unknown status not showing up in alert bubble on target detail page.
- If you have customized your
target_detail.html
, the line{% target_unknown_statuses object %}
was moved to be outside of the{% if %}
block, and will need to be updated to correct the bug.
- Added a new
TargetNameSearchView
that allows a user to search for a target name and be redirected to the target detail page for that name, provided there's only one result.
- Fixed a bug that allowed negative exposure time and exposure count in the LCOPhotometricSequenceForm.
- Fixed out-of-date references to LCOObservationForm in documentation.
- Added links and descriptions of new supported modules to documentation.
- Updated MARS and ALeRCE modules to support Dash Broker changes.
- Various documentation improvements.
- Fixed a bug in SimbadHarvester due to changes in the Simbad API.
- Added a Simbad canary test.
- 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.