Changelog

Bold indicates highlights

1.9.2

  • Fixed KS8500 Built-in runner register bug

1.9.1

  • Set Docker health check URL to localhost IP
  • Chunk log messages to chunks of 50 to avoid ‘maximum payload exceeded’ error
  • Changed to use PATCH metadata
  • Prevent error if a specified CloudDrive file already exists on disk

1.9.0

Provide ping metrics and migrate to .NET 8

  • Migrated Runner Docker image to .NET 8
  • Added settings output in logs
  • Added TestStepName to OnTestStepRun
  • Changed strategy for providing UTC timestamps
  • Implemented ping metrics (round trip time to KS8500)
  • Unbrowsable steps are now shown as available child step types in GetStepTypes
  • Fixed PlanRunLogs DTO bug
  • Included milliseconds in datetime parameters
  • Fixed HistoryLogs timestamp and added integration tests
  • Fixed wrong log count in live logs
  • Canceled HandshakeCancellationToken when interrupting Runner process
  • Fixed race condition bug in GetStatus endpoint

1.8.0

Implemented support for storing TestPlans on the Runner Added granular events to OnTestPlanRun Added TestPlanRunLogs

  • Added DeleteOnExpiration and TimeSpan to UserToken generation
  • When SyncLogsManager initializes, previous logs are added
  • Updated documentation with default endpoints
  • Removed hardcoded DEV URL to fix unregister
  • Improved unregister flow
  • Added verbose logs from LeafNode
  • Fixed error when removing a parameter
  • Fixed bug where “Cancel” would still remove configuration files when unregistering
  • Fixed bug where tokens are not updated in OpenTAP
  • Added granular publishing of test plan run data
  • Ensured Config directory exists when re-registering
  • Added TypeCode to Parameter DTO

1.7.1

  • Fixed Runner unregister issue

1.7.0

  • Added support for packaging Python settings types
  • Added RepositoryPackageReference normalization
  • Bumped Runner Service and NATS Server dependencies
  • Added more messages to the connection status

1.6.3 (Backport)

  • Fixed Runner unregister issue

1.6.2

  • Added workaround for ReadOnly TestSteps not having ReadOnly properties

1.6.1

  • Fixed issue with files being used for image resolution

1.6.0

  • Added RunnerMocker program
  • Added PluginTypeSelector control
  • Fixed issue where not started sessions would shut down due to heartbeat timeout
  • Filtered ContextMenu on IconAnnotation to avoid unwanted entries
  • Added JSON accept header to all repository communication
  • Consider watchdog inactive if TerminationTimeout is set to under 1, by always returning 0 in InactiveSeconds
  • Added ItemType to ComponentSettingsList DTO

1.5.5 (Backport)

  • Fixed Python dependencies issue

1.5.4 (Backport)

  • Fixed issue with files being used for image resolution

1.5.3

  • Fixed heartbeats

1.5.2

  • Threw exception if UserToken can’t be created
  • Added context to exception message
  • Added image override repositories to resolver

1.5.1

  • Fixed “downgrade to same version” bug in UpdateRunner request

1.5.0

Added support for uploading Artifacts to KS8500 Added support for starting default session with an image overriding packages

  • Various bug fixes, refactoring, and performance optimizations

1.4.3

  • Fixed error where NatsCredentials was overwritten with null, breaking the KS8500 built-in runners auto-register
  • Always published lifetime started event

1.4.2

  • Added NATS credentials rotation on handshake and removed re-register on startup of Runner
  • Drained connection before close to ensure StoppedLifeTimeEvent is sent

1.4.1

  • Fixed duplicate NATS headers issue
  • Improved performance of GetSettings
  • Made auto-update improvements and removed Runner restart after update
  • Minor UX improvements
  • Switched to always use UserId as StartedBy information

1.4.0

Added local WebSocket listening on the NATS leaf node server Supported storage of base image, default settings, and enabled session creation based on TestPlan reference

  • Added ability to re-register
  • Set Cloud Drive Realm based on handshake
  • Added system account to query server name
  • Fixed issue with DirectoryPathControl
  • Fixed bug with installer making the Runner stay in Registered mode
  • Stopped and started the service in installer
  • Added more descriptive error to failed registration
  • License exception on adding ComponentSettings now produces an error log
  • Fixed the FailedToStart state error when running twice
  • Implemented ResolveImageDryRun
  • Ensured TestPlanChangedEventArgs is emitted always when TestPlan might have changed
  • Modified OpenTAP log messages format for better readability in Loki
  • Enhanced Docker file permissions
  • Added a default value for Capabilities metadata
  • Refactored Session Watchdog check

1.3.1

  • Fixed DirectoryPathControl serialization bug

1.3.0

  • Added --server argument to specify direct NATS URL
  • Added heartbeat support on MacOS
  • Button presses no longer block UI
  • Runner asks to exchange JWT for Repo Token for sessions
  • Bumped OpenTAP dependency to 9.21.1 to support User Tokens
  • Added DirectoryPathControl

1.2.3

  • Added TestPlanJson as run parameter
  • Created a FileWatcher to shut down runner at register/unregister

1.2.2

  • Added default run parameters

1.2.1

  • Added default parameters to RunTestPlan to support local Runner TestPlan runs saved to KS8500

1.2.0

Added support for remotely updating the Runner installation Persisted Runner system logs (Serilog) to disk at the same location as OpenTAP logs

  • Corrected Session TestPlanRunId value
  • Increased session startup timeout to 3 minutes
  • Added “TestPlanName” to Session object
  • Stopped publishing static metrics
  • Fixed parameterized Dialog verdict bug
  • Summed CPU & Memory usage of Runner, NATS, and Sessions
  • Added safeguards to parse partially corrupt logs

1.1.0

Implemented Runner live TestPlan execution updates Supported Hybrid (online/offline) mode

  • Supported DirectoryPathAttribute by introducing a DirectoryPathControl
  • Changed logs to have UTC tick timestamps
  • Changed parameter DateTime types to UTC
  • Various bug fixes and improvements