What's New
Last Updated: August 2026
Refer to this article for information about each new release of Tethys Platform.
Release 4.6
Reported Job Statuses
Jobs can now have their status reported to the portal instead of only being polled for, through a new
report-job-statuscallback endpoint authorized by a per-job signed token.For Condor workflows, reported per-node statuses are persisted, so the jobs table and the workflow diagram can be rendered from the database rather than querying the scheduler once per node on every poll. Where nothing reports, the views read live statuses exactly as before and there is nothing to configure.
CondorWorkflowsubmissions now carry the job's id and report token as ClassAds, so a process running alongside the scheduler can report on a workflow's behalf without any change in an app.
Note
This release adds columns to the jobs tables, one of them on the base job table that every job type shares. Apply migrations (tethys db migrate, step 4 of Upgrade to 4.6) before serving with the new code, or job queries will fail for all job types until you do.
See: Reporting Job Status and Status Reporting
Job Status Update Throttling
TethysJob._last_status_updateis now persisted to the database. It was previously held only in memory, so a job instance built fresh for each request always fell back toexecute_timeandTethysJob.is_time_to_update()effectively always returnedTrue.As a result
update_status_intervalnow genuinely limits how often a job's status is refreshed from its source, for all job types. Apps that relied on every request refreshing a job's status will now see it refreshed at most once perupdate_status_interval(10 seconds by default). Setupdate_status_intervalon the job if a different rate is needed.
See: Jobs API
Time Picker Gizmo
Added a new
TimePickergizmo for time-entry form inputs.
See: Time Picker