• Fix concurrency issue with leasing queue messages and marking functions as running when using Postgres.


  • Fix issue where instance heartbeat healthchecks reported the time in 12 hour
  • Fix text overflow in health check admin UI for long descriptions


  • Dispose CancellationTokenSource in ScheduledJobExecutorService after use


  • Add horizontal scrollbar for long queue processing log in admin UI


  • Remove testing code in the admin UI that slipped through in 1.6.0


  • Make it possible for jobs to report their progress and display it in the admin UI
  • Use Tailwind instead of CSS Modules in admin UI


  • Use higher query timeout for all queries in IDatabaseMaintenanceService
  • Show resolved/dismissed state for latest run in job list


  • Fix issue with database polling instance events


  • Fix issue with admin UI not rendering correctly when not having a trailing slash in the url (ie just /admin and not /admin/)


  • Fix issue with duration incorrectly being stored as decimal in SQLite when integer is expected


  • Make it possible to mark a failed job run as resolved or dismissed with an optional markdown comment
  • Make it possible to add a comment to queue messages
  • Store both latest job run and latest meaningful job run to since some jobs run very frequently but doesn't perform work all the time
  • Fix when cancelling a queue job the historical run status becomes should be Cancelled rather than Completed


  • Add RetryLater as a successful job outcome


  • Fix issue with database maintenance on SQL Express


  • Reset any health checks marked as running when an instance is starting


  • Ask for a connection string every time the database is opened to make it possible to use connection strings with updated credentials


  • Add query timeout of 5 minutes for database maintenance queries
  • Make it possible to update queue message status by filtering on message JSON properties
  • Increase timeout when deleting old job runs and logs


  • Show a health check for a disabled job as disabled
  • Implement graceful shutdown which attempts to stop Nexus background processes before the .NET application begins to terminate to ensure that all jobs etc aren't running when the application terminates
  • Generate a unique Nexus instance id for Azure App Service where a single VM can run multiple applications


  • Increase query timeout for updating queue messages to correct status
  • Make it possible to update all queue items to a certain status
  • Make it possible to mark a queue item as processed and schedule another processing of the message in the future
  • Only show main menu items in the admin UI if they have been configured
  • Add WITH (HOLDLOCK) to all SQL Server MERGE statements to avoid insert conflicts


Initial stable release.