Job control moved into the API; previously it was filesystem-based, where you changed a JSON on the server and the framework picked it up.
Python module migrations: Split the ‘shared’ service into ‘core’, ‘local’, and ‘network’. The ‘shared’ service imposed overhead for services that didn’t need TCP; those now use a ‘local’ service, along with the ‘core’ service. TCP-enabled services now use ‘network’ along with ‘core’. Changed clients to reflect a similar naming convention.
Self-monitoring and restart: Added looping calls for environment and health checks on both services and clients. Both service and clients can auto-restart if their runtime is outside user-defined thresholds for self-monitoring.
Additional API resources under the /job resource, to expose more job details on runtime, stats, and summaries. These are used by the v2 admin-console, as well as cleanup jobs in the Universal Job service.
For the admin-console:
Enabled the Jobs tab; ribbon selections for job listing, configuration, activating/deactivating, statistics, schedules
Code modifications to support latest Python (3.8.5) and wx library (4.1.0) versions
Migrated off an obsolete library dependency (pubsub)